From 25b837798e0c007a8021533f9c20c5a05194c0d3 Mon Sep 17 00:00:00 2001 From: ole00 Date: Sat, 16 Mar 2019 10:53:19 +0000 Subject: [PATCH] project files --- .gitignore | 5 + afterburner.c | 909 ++++++++++++ afterburner.ino | 1510 ++++++++++++++++++++ compile.sh | 1 + gerbers/afterburner_fab_1_1.zip | Bin 0 -> 25084 bytes pcb/afterburner_etch.pcb | 1523 ++++++++++++++++++++ pcb/afterburner_etch_1200dpi_bot.png | Bin 0 -> 33482 bytes pcb/afterburner_etch_1200dpi_combined.png | Bin 0 -> 75642 bytes pcb/afterburner_etch_1200dpi_silk.png | Bin 0 -> 15669 bytes pcb/afterburner_fab.pcb | 1585 +++++++++++++++++++++ schem_gal16v8.png | Bin 0 -> 96638 bytes 11 files changed, 5533 insertions(+) create mode 100644 .gitignore create mode 100644 afterburner.c create mode 100644 afterburner.ino create mode 100755 compile.sh create mode 100644 gerbers/afterburner_fab_1_1.zip create mode 100644 pcb/afterburner_etch.pcb create mode 100644 pcb/afterburner_etch_1200dpi_bot.png create mode 100644 pcb/afterburner_etch_1200dpi_combined.png create mode 100644 pcb/afterburner_etch_1200dpi_silk.png create mode 100644 pcb/afterburner_fab.pcb create mode 100644 schem_gal16v8.png diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3c0f472 --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +*.jed +*.txt +*.*workspace +afterburner +misc diff --git a/afterburner.c b/afterburner.c new file mode 100644 index 0000000..37a319e --- /dev/null +++ b/afterburner.c @@ -0,0 +1,909 @@ +/* +(banner font: aciiart.eu) +_____________________________________________________________ +| _ __ _ _ \ +| / \ / _| |_ ___ _ _| |__ _ _ _ __ ___ ___ _ _ |\ +| / _ \| |_| '_/ _ \| '_/ '_ \| | | | '_/ _ \/ _ \| '_/ || +| / ___ \ _| |_| __/| | | |_) | |_| | | | | | | __/| | || +| /_/ \_\| \__\___||_| |____/\___,_|_| |_| |_|___||_| || +\_____________________________________________________________|| +'------------------------------------------------------------' + +Afterburner: GAL IC Programmer for Arduino by -= olin =- +http://molej.cz/index_aft.html + +Based on ATFblast 3.1 by Bruce Abbott +http://www.bhabbott.net.nz/atfblast.html + +Based on GALBLAST by Manfred Winterhoff +http://www.armory.com/%7Erstevew/Public/Pgmrs/GAL/_ClikMe1st.htm + +Supports: +* National GAL16V8 +* Lattice GAL16V8A, GAL16V8B, GAL16V8D +* Lattice GAL22V10B +* Atmel ATF16V8B, ATF22V10B, ATF22V10CQZ + +Requires: +* Arduino UNO with Afterburner sketch uploaded. +* simple programming circuit. + +Changelog: +* 2019.02.02 - initial version 0.1 + +This is the PC part that communicates with Arduino UNO by serial line. +To compile: gcc -g3 -O0 afterburner afterburner.c +*/ + + +#include +#include +#include +#include +#include +#include +#include + +#include + +#define VERSION "v.0.1" +#define DEFAULT_DEVICE_NAME "/dev/ttyUSB0" + +#define MAX_LINE 200 + +#define MAXFUSES 10000 +#define GALBUFSIZE 16384 + +typedef enum { + UNKNOWN, + GAL16V8, + GAL20V8, + GAL22V10, + ATF16V8B, + ATF22V10B, + ATF22V10C +} Galtype; + + +/* GAL info */ +static struct { + Galtype type; + unsigned char id0, id1; /* variant 1, variant 2 (eg. 16V8=0x00, 16V8A+=0x1A)*/ + char *name; /* pointer to chip name */ + int fuses; /* total number of fuses */ + int pins; /* number of pins on chip */ + int rows; /* number of fuse rows */ + int bits; /* number of fuses per row */ + int uesrow; /* UES row number */ + int uesfuse; /* first UES fuse number */ + int uesbytes; /* number of UES bytes */ + int eraserow; /* row adddeess for erase */ + int eraseallrow; /* row address for erase all */ + int pesrow; /* row address for PES read/write */ + int pesbytes; /* number of PES bytes */ + int cfgrow; /* row address of config bits */ + int cfgbits; /* number of config bits */ +} +galinfo[] = { + {UNKNOWN, 0x00, 0x00, "unknown", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0}, + {GAL16V8, 0x00, 0x1A, "GAL16V8", 2194, 20, 32, 64, 32, 2056, 8, 63, 54, 58, 8, 60, 82}, + {GAL20V8, 0x20, 0x3A, "GAL20V8", 2706, 24, 40, 64, 40, 2568, 8, 63, 59, 58, 8, 60, 82}, + {GAL22V10, 0x48, 0x49, "GAL22V10", 5892, 24, 44, 132, 44, 5828, 8, 61, 60, 58, 10, 16, 20}, + {ATF16V8B, 0x00, 0x00, "ATF16V8B", 2194, 20, 32, 64, 32, 2056, 8, 63, 54, 58, 8, 60, 82}, + {ATF22V10B, 0x00, 0x00, "ATF22V10B", 5892, 24, 44, 132, 44, 5828, 8, 61, 60, 58, 10, 16, 20}, + {ATF22V10C, 0x00, 0x00, "ATF22V10C", 5892, 24, 44, 132, 44, 5828, 8, 61, 60, 58, 10, 16, 20}, +}; + +char verbose = 0; +char* filename = 0; +char* deviceName = 0; + +int serialF = -1; +Galtype gal; +int security = 0; +unsigned short checksum; +char galbuffer[GALBUFSIZE]; +char fusemap[MAXFUSES]; + +char opRead = 0; +char opWrite = 0; +char opErase = 0; +char opInfo = 0; +char opVerify = 0; +char opTestVPP = 0; + + +static int waitForSerialPrompt(char* buf, int bufSize, int maxDelay); + + +static void printHelp() { + printf("Afterburner " VERSION " a GAL programming tool for Arduino based programmer\n"); + printf("more info: molej.cz/index_aft.html\n"); + printf("usage: afterburner command(s) [options]\n"); + printf("commands: ierwvs\n"); + printf(" i : read device info and programming voltage\n"); + printf(" r : read fuse map from the GAL chip and display it, -t option must be set\n"); + printf(" w : write fuse map, -f and -t options must be set\n"); + printf(" v : verify fuse map, -f and -t options must be set\n"); + printf(" e : erase the GAL chip, -t options must be set\n"); + printf(" s : sets VPP ON to check the programming voltage. Ensure the GAL is NOT inserted.\n"); + printf("options:\n"); + printf(" -v : verbose mode\n"); + printf(" -t : the GAL type. use GAL16V8 GAL20V8 GAL22V10 ATF16V8B ATF22V10B ATF22V10C\n"); + printf(" -f : JEDEC fuse map file\n"); + printf(" -d : name of the serial device. Default is: %s\n", DEFAULT_DEVICE_NAME); + printf(" serial params are: 38400, 8N1\n"); + printf("examples:\n"); + printf(" afterburner i : reads and prints the device info\n"); + printf(" afterburner r -t ATF16V8B : reads the fuse map from the GAL chip and displays it\n"); + printf(" afterburner wv -f fuses.jed -t ATF16V8B : reads fuse map from file and writes it to \n"); + printf(" the GAL chip. Does the fuse map verification at the end.\n"); + printf("hints:\n"); + printf(" - use the 'i' command first to check and set the right programming voltage (VPP)\n"); + printf(" of the chip. If the programing voltage is unknown use 12 V.\n"); + printf(" - ensure programmer (Arduino) is powered by a dedicated power supply, not just by.\n"); + printf(" the USB serial cable. Without proper power programming errors may occur.\n"); + +} + +static char checkArgs(int argc, char** argv) { + int i; + char* type = 0; + char* modes = 0; + + gal = UNKNOWN; + + for (i = 1; i < argc; i++) { + char* param = argv[i]; + if (strcmp("-t", param) == 0) { + i++; + type = argv[i]; + } else if (strcmp("-v", param) == 0) { + verbose = 1; + } else if (strcmp("-f", param) == 0) { + i++; + filename = argv[i]; + } else if (strcmp("-d", param) == 0) { + i++; + deviceName = argv[i]; + } else if (param[0] != '-') { + modes = param; + } + } + + i = 0; + while (modes != 0 && modes[i] != 0) { + switch (modes[i]) { + case 'r': + opRead = 1; + break; + case 'w': + opWrite = 1; + break; + case 'v': + opVerify = 1; + break; + case 'e': + opErase = 1; + break; + case 'i': + opInfo = 1; + break; + case 's': + opTestVPP = 1; + break; + + default: + printf("Error: unknown operation '%c' \n", modes[i]); + } + i++; + } + + if (opRead == 0 && opWrite == 0 && opErase == 0 && opInfo == 0 && opVerify == 0 && opTestVPP == 0) { + printHelp(); + printf("Error: no command specified.\n"); + return -1; + } + + if (0 == filename && (opWrite == 1 || opVerify == 1)) { + printf("Error: missing JED filename\n"); + return -1; + } + if (0 == type && (opWrite || opRead || opErase || opVerify)) { + printf("Error: missing GAL type. Use -t to specify.\n"); + return -1; + } else if (0 != type) { + if (strcmp("GAL16V8", type) == 0) { + gal = GAL16V8; + } + if (strcmp("GAL20V8", type) == 0) { + gal = GAL20V8; + } + if (strcmp("GAL22V10", type) == 0) { + gal = GAL22V10; + } + if (strcmp("ATF16V8B", type) == 0) { + gal = ATF16V8B; + } + if (strcmp("ATF22V10B", type) == 0) { + gal = ATF22V10B; + } + if (strcmp("ATF22V10C", type) == 0) { + gal = ATF22V10C; + } + + if (UNKNOWN == gal) { + printf("Error: unknow GAL type. Types: GAL16V8 GAL20V8 GAL22V10 ATF16V8B ATF22V10B ATF22V10C\n"); + return -1; + } + } + + return 0; +} + +static unsigned short checkSum(unsigned short n) { + unsigned short c, e, i; + unsigned long a; + + c = e = 0; + a = 0; + for (i = 0; i < n; i++) { + e++; + if (e == 9) { + e = 1; + a += c; + c = 0; + } + c >>= 1; + if (fusemap[i]) { + c += 0x80; + } + } + return (unsigned short)((c >> (8 - e)) + a); +} + +static int parseFuseMap(char *ptr) { + int i, n, type, checksumpos, address, pins, lastfuse; + int state = 0; // 0=outside JEDEC, 1=skipping comment or unknown, 2=read command + + security = 0; + checksum = 0; + checksumpos = 0; + pins = 0; + lastfuse = 0; + + for (n = 0; ptr[n]; n++) { + if (ptr[n] == '*') { + state = 2; + } else + switch (state) { + case 2: + if (!isspace(ptr[n])) + switch (ptr[n]) { + case 'L': + address = 0; + state = 3; + break; + case 'F': + state = 5; + break; + case 'G': + state = 13; + break; + case 'Q': + state = 7; + break; + case 'C': + checksumpos = n; + state = 14; + break; + default: + state = 1; + } + break; + case 3: + if (!isdigit(ptr[n])) { + return n; + } + address = ptr[n] - '0'; + state = 4; + break; + case 4: + if (isspace(ptr[n])) { + state = 6; + } else if (isdigit(ptr[n])) { + address = 10 * address + (ptr[n] - '0'); + } else { + return n; + } + break; + case 5: + if (isspace(ptr[n])) break; // ignored + if (ptr[n] == '0' || ptr[n] == '1') { + memset(fusemap, ptr[n] - '0', sizeof(fusemap)); + } else { + return n; + } + state = 1; + break; + case 6: + if (isspace(ptr[n])) break; // ignored + if (ptr[n] == '0' || ptr[n] == '1') { + fusemap[address++] = ptr[n] - '0'; + } else { + return n; + } + break; + case 7: + if (isspace(ptr[n])) break; // ignored + if (ptr[n] == 'P') { + pins = 0; + state = 8; + } else if (ptr[n] == 'F') { + lastfuse = 0; + state = 9; + } else { + state = 2; + } + break; + case 8: + if (isspace(ptr[n])) break; // ignored + if (!isdigit(ptr[n])) return n; + pins = ptr[n] - '0'; + state = 10; + break; + case 9: + if (isspace(ptr[n])) break; // ignored + if (!isdigit(ptr[n])) return n; + lastfuse = ptr[n] - '0'; + state = 11; + break; + case 10: + if (isdigit(ptr[n])) { + pins = 10 * pins + (ptr[n] - '0'); + } else if (isspace(ptr[n])) { + state = 12; + } else { + return n; + } + break; + case 11: + if (isdigit(ptr[n])) { + lastfuse = 10 * lastfuse + (ptr[n] - '0'); + } else if (isspace(ptr[n])) { + state = 12; + } else { + return n; + } + break; + case 12: + if (!isspace(ptr[n])) { + return n; + } + break; + case 13: + if (isspace(ptr[n])) break; // ignored + if (ptr[n] == '0' || ptr[n] == '1') { + security = ptr[n] - '0'; + } else { + return n; + } + state = 1; + break; + case 14: + if (isspace(ptr[n])) break; // ignored + if (isdigit(ptr[n])) { + checksum = ptr[n] - '0'; + } else if (toupper(ptr[n]) >= 'A' && toupper(ptr[n]) <= 'F') { + checksum = toupper(ptr[n]) - 'A' + 10; + } else return n; + state = 15; + break; + case 15: + if (isdigit(ptr[n])) { + checksum = 16 * checksum + ptr[n] - '0'; + } else if (toupper(ptr[n]) >= 'A' && toupper(ptr[n]) <= 'F') { + checksum = 16 * checksum + toupper(ptr[n]) - 'A' + 10; + } else if (isspace(ptr[n])) { + state = 2; + } else return n; + break; + } + } + + if (lastfuse || pins) { + int cs = checkSum(lastfuse); + if (checksum && checksum != cs) { + /* + if (message("Checksum given %04X calculated %04X",NULL,MB_OKCANCEL,checksum,CheckSum(lastfuse))) + { + return checksumpos; + } + */ + } + + for (type = 0, i = 1; i < sizeof(galinfo) / sizeof(galinfo[0]); i++) { + if ( + (lastfuse == 0 || + galinfo[i].fuses == lastfuse || + galinfo[i].uesfuse == lastfuse && galinfo[i].uesfuse + 8 * galinfo[i].uesbytes == galinfo[i].fuses) + && + (pins == 0 || + galinfo[i].pins == pins || + galinfo[i].pins == 24 && pins == 28) + ) { + if (gal == 0) { + type = i; + break; + } else if (!type) { + type = i; + } + } + } + } + return n; +} + +static char readJedec(void) { + FILE* f; + int size; + + f = fopen(filename, "r"); + if (f) { + size = fread(galbuffer, 1, GALBUFSIZE, f); + fclose(f); + galbuffer[size] = 0; + } else { + printf("Error: failed to open file: %s\n", filename); + return -1; + } + return 0; +} + +static int openSerial(void) { + char buf[512]; + char devName[16]; + int total; + int labelPos; + + + //open device name + snprintf(devName, 15, "%s", (deviceName == 0) ? DEFAULT_DEVICE_NAME : deviceName); + devName[15] = 0; + + if (verbose) { + printf("opening serial: %s\n", devName); + } + + serialF = open(devName, O_RDWR | O_NOCTTY | O_NONBLOCK); + if (serialF < 1) { + printf("Error: failed to open serial device: %s\n", devName); + return -2; + } + + //set the serial port parameters + { + struct termios serial; + + memset(&serial, 0, sizeof(struct termios)); + cfsetispeed(&serial, B38400); + cfsetospeed(&serial, B38400); + + serial.c_cflag |= CS8; // no parity, 1 stop bit + + if (0 != tcsetattr(serialF, TCSANOW, &serial)) { + printf("Error: failed to set serial parameters %i, %s\n", errno, strerror(errno)); + return -3; + } + } + + //ensure no leftover bytes exist on the serial line + tcdrain(serialF); + tcflush(serialF, TCIOFLUSH); //flush both queues + + // prod the programmer to output it's identification + sprintf(buf, "*\r"); + write(serialF, buf, 2); + + //read programmer's message + total = waitForSerialPrompt(buf, 512, 3000); + buf[total] = 0; + + //check we are communicating with Afterburner programmer + labelPos = strstr(buf, "AFTerburner v.") - buf; + + if (labelPos >= 0 && labelPos < 500 && buf[total - 3] == '>') { + //all OK + return 0; + } + if (verbose) { + printf("Output from programmer not recognised: %s\n", buf); + } + close(serialF); + serialF = 0; + return -4; +} + +static void closeSerial(void) { + if (0 == serialF) { + return; + } + close(serialF); + serialF = 0; +} + + +static int checkPromptExists(char* buf, int bufSize) { + int i; + for (i = 0; i < bufSize && buf[i] != 0; i++) { + if (buf[i] == '>') { + return i; + } + } + return -1; +} + +static char* stripPrompt(char* buf) { + int len; + int i; + if (buf == 0) { + return 0; + } + len = strlen(buf); + i = checkPromptExists(buf, len); + if (i >= 0) { + buf[i] = 0; + len = i; + } + + //strp rear new line characters + for (i = len - 1; i >= 0; i--) { + if (buf[i] != '\r' && buf[i] != '\n') { + break; + } else { + buf[i] = 0; + } + } + + //strip frontal new line characters + for (i = 0; buf[i] != 0; i++) { + if (buf[0] == '\r' || buf[0] == '\n') { + buf++; + } + } + return buf; +} + +static int waitForSerialPrompt(char* buf, int bufSize, int maxDelay) { + char* bufStart = buf; + int bufTotal = bufSize; + int bufPos = 0; + int readSize; + + memset(buf, 0, bufSize); + + while (maxDelay > 0) { + readSize = read(serialF, buf, bufSize); + if (readSize > 0) { + bufPos += readSize; + if (checkPromptExists(bufStart, bufTotal) >= 0) { + maxDelay = 0; //force exit + } else { + buf += readSize; + bufSize -= readSize; + } + } + if (maxDelay > 0) { + usleep(3 * 1000); + maxDelay -= 3; + } + } + return bufPos; +} + +static int sendLine(char* buf, int bufSize, int maxDelay) { + int total; + int writeSize; + char* obuf = buf; + + if (serialF == 0) { + return -1; + } + + if (buf == 0) { + return -1; + } + + total = strlen(buf); + // write the query into the modem's file + // file is opened non blocking so we have to ensure all contents is written + while (total > 0) { + writeSize = write(serialF, buf, total); + if (writeSize < 0) { + printf("ERROR: written: %i", writeSize); + return -4; + } + buf += writeSize; + total -= writeSize; + } + + total = waitForSerialPrompt(obuf, bufSize, (maxDelay < 0) ? 6 : maxDelay); + obuf[total] = 0; + obuf = stripPrompt(obuf); + if (verbose) { + printf("read: %i '%s'\n", total, obuf); + } + + return total; +} + +// Upload fusemap in byte format (as opposed to bit format used in JEDEC file). +static char upload() { + char fuseSet; + char buf[MAX_LINE]; + char line[64]; + unsigned short i, j, k, n; + + if (openSerial() != 0) { + return -1; + } + + // Start upload + sprintf(buf, "u\r"); + sendLine(buf, MAX_LINE, 20); + + //device type + sprintf(buf, "#t %i %s\r", (int) gal, galinfo[gal].name); + sendLine(buf, MAX_LINE, 300); + + //fuse map + buf[0] = 0; + fuseSet = 0; + for (i = k = 0; i < galinfo[gal].fuses;) { + unsigned char f = 0; + if (i % 32 == 0) { + if (i != 0) { + strcat(buf, "\r"); + //the buffer contains at least one fuse set to 1 + if (fuseSet) { + sendLine(buf, MAX_LINE, 100); + } + fuseSet = 0; + } + sprintf(buf, "#f %04i ", k); + } + + for (j = 0; j < 8 && i < galinfo[gal].fuses; j++, k++, i++) { + if (fusemap[i]) { + f |= (1 << j); + fuseSet = 1; + } + } + + sprintf(line, "%02X", f); + strcat(buf, line); + } + + // send last unfinished fuse line + if (k % 32) { + strcat(buf, "\r"); + sendLine(buf, MAX_LINE, 100); + } + + //checksum + if (verbose) { + printf("sending csum: %04X\n", checkSum(galinfo[gal].fuses)); + } + sprintf(buf, "#c %04X\r", checkSum(galinfo[gal].fuses)); + sendLine(buf, MAX_LINE, 300); + + //end of upload + sprintf(buf, "#e\r"); + sendLine(buf, MAX_LINE, 300); + + return 0; +} + +static char sendGenericCommand(const char* command, const char* errorText, int maxDelay, char printResult) { + char buf[MAX_LINE]; + int readSize; + + sprintf(buf, "%s", command); + readSize = sendLine(buf, MAX_LINE, maxDelay); + if (readSize < 0) { + if (verbose) { + printf("%s\n", errorText); + } + return -1; + } else { + char* response = stripPrompt(buf); + if (response[0] == 'E' && response[1] == 'R') { + printf("%s\n", response); + return -1; + } else if (printResult) { + printf("%s\n", response); + } + } + return 0; +} + +static char operationWriteOrVerify(char doWrite) { + char buf[MAX_LINE]; + int readSize; + + char result; + + if (readJedec()) { + return -1; + } + + result = parseFuseMap(galbuffer); + if (verbose) { + printf("parse result=%i\n", result); + } + result = upload(); + if (result) { + return result; + } + + // write command + if (doWrite) { + result = sendGenericCommand("w\r", "write failed ?", 4000, 0); + if (result) { + goto finish; + } + } + + // verify command + if (opVerify) { + result = sendGenericCommand("v\r", "verify failed ?", 4000, 0); + } +finish: + closeSerial(); + return result; +} + + +static char operationReadInfo(void) { + + char result; + + if (openSerial() != 0) { + return -1; + } + + if (verbose) { + printf("sending 'p' command...\n"); + } + result = sendGenericCommand("p\r", "info failed ?", 4000, 1); + + closeSerial(); + return result; +} + +// Test of programming voltage. Most chips require +12V to start prograaming. +// This test function turns ON the ENable pin so the Programming voltage is set. +// After 20 seconds the ENable pin is turned OFF. This gives you time to turn the +// pot on the MT3608 module and calibrate the right voltage for the GAL chip. +static char operationTestVpp(void) { + + char result; + + if (openSerial() != 0) { + return -1; + } + + if (verbose) { + printf("sending 't' command...\n"); + } + printf("Turn the Pot on the MT3608 module to check / set the VPP\n"); + //Voltage testing takes ~20 seconds + result = sendGenericCommand("t\r", "info failed ?", 22000, 1); + + closeSerial(); + return result; +} + +static char operationEraseGal(void) { + char buf[MAX_LINE]; + int readSize; + char result; + + if (openSerial() != 0) { + return -1; + } + + //Switch to upload mode to specify GAL + sprintf(buf, "u\r"); + sendLine(buf, MAX_LINE, 300); + + //set GAL type + sprintf(buf, "#t %i\r", (int) gal); + sendLine(buf, MAX_LINE, 300); + + //Exit upload mode (ensure the return texts are discarded by waiting 100 ms) + sprintf(buf, "#e\r"); + sendLine(buf, MAX_LINE, 100); + + result = sendGenericCommand("c\r", "erase failed ?", 4000, 0); + + closeSerial(); + return result; +} + +static char operationReadFuses(void) { + char* response; + char* buf = galbuffer; + int readSize; + + if (openSerial() != 0) { + return -1; + } + + //Switch to upload mode to specify GAL + sprintf(buf, "u\r"); + sendLine(buf, MAX_LINE, 100); + + //set GAL type + sprintf(buf, "#t %i\r", (int) gal); + sendLine(buf, MAX_LINE, 100); + + //Exit upload mode (ensure the texts are discarded by waiting 100 ms) + sprintf(buf, "#e\r"); + sendLine(buf, MAX_LINE, 1000); + + //READ_FUSE command + sprintf(buf, "r\r"); + readSize = sendLine(buf, GALBUFSIZE, 5000); + if (readSize < 0) { + return -1; + } + response = stripPrompt(buf); + printf("%s\n", response); + + closeSerial(); + + if (response[0] == 'E' && response[1] == 'R') { + return -1; + } + + return 0; +} + +int main(int argc, char** argv) { + char result = 0; + int i; + + result = checkArgs(argc, argv); + if (result) { + return result; + } + if (verbose) { + printf("Afterburner " VERSION " \n"); + } + + if (opErase) { + result = operationEraseGal(); + } + + if (0 == result) { + if (opWrite) { + // writing fuses and optionally verification + result = operationWriteOrVerify(1); + } else if (opInfo) { + result = operationReadInfo(); + } else if (opRead) { + result = operationReadFuses(); + } else if (opVerify) { + // verification without writing + result = operationWriteOrVerify(0); + } else if (opTestVPP) { + result = operationTestVpp(); + } + } + + if (verbose) { + printf("result=%i\n", (char)result); + } + return result; +} diff --git a/afterburner.ino b/afterburner.ino new file mode 100644 index 0000000..86cdbf7 --- /dev/null +++ b/afterburner.ino @@ -0,0 +1,1510 @@ + /* + (banner font: aciiart.eu) + _____________________________________________________________ + | _ __ _ _ \ + | / \ / _| |_ ___ _ _| |__ _ _ _ __ ___ ___ _ _ |\ + | / _ \| |_| '_/ _ \| '_/ '_ \| | | | '_/ _ \/ _ \| '_/ || + | / ___ \ _| |_| __/| | | |_) | |_| | | | | | | __/| | || + | /_/ \_\| \__\___||_| |____/\___,_|_| |_| |_|___||_| || + \_____________________________________________________________|| + '------------------------------------------------------------' + + Afterburner: GAL IC Programmer for Arduino by -= olin =- + + Based on ATFblast 3.1 by Bruce Abbott + http://www.bhabbott.net.nz/atfblast.html + + Based on GALBLAST by Manfred Winterhoff + http://www.armory.com/%7Erstevew/Public/Pgmrs/GAL/_ClikMe1st.htm + + Supports: + * National GAL16V8 + * Lattice GAL16V8A, GAL16V8B, GAL16V8D + * Lattice GAL22V10B + * Atmel ATF16V8B, ATF22V10B, ATF22V10CQZ + + Requires: + * afterburner PC program to upload JED fuse map, erase, read etc. + * simple programming circuit. See: http://molej.cz/index_aft.html + + Changelog: + * 2019.02.02 - initial version 0.1 + + + */ + + +#define VERSION "0.1" + + +//ARDUINO UNO pin mapping +// GAL PIN NAME | ARDUINO UNO PIN NUMBER + +//programing voltage control pin +#define PIN_VPP 11 +#define PIN_SDOUT 12 +#define PIN_STROBE 13 +#define PIN_PV 9 +#define PIN_SDIN 8 + + +#define PIN_RA0 10 +#define PIN_RA1 2 +#define PIN_RA2 3 +#define PIN_RA3 4 +#define PIN_RA4 5 +#define PIN_RA5 6 +#define PIN_SCLK 7 + + + + +#define COMMAND_NONE 0 +#define COMMAND_UNKNOWN 1 +#define COMMAND_IDENTIFY_PROGRAMMER '*' +#define COMMAND_HELP 'h' +#define COMMAND_UPLOAD 'u' +#define COMMAND_DEBUG 'd' +#define COMMAND_READ_PES 'p' +#define COMMAND_READ_FUSES 'r' +#define COMMAND_WRITE_FUSES 'w' +#define COMMAND_VERIFY_FUSES 'v' +#define COMMAND_ERASE_GAL 'c' +#define COMMAND_UTX '#' +#define COMMAND_ECHO 'e' +#define COMMAND_TEST_VOLTAGE 't' + + +#define READGAL 0 +#define VERIFYGAL 1 +#define READPES 2 +#define SCLKTEST 3 +#define WRITEGAL 4 +#define ERASEGAL 5 +#define ERASEALL 6 +#define BURNSECURITY 7 +#define WRITEPES 8 +#define VPPTEST 9 +#define INIT 100 + + +// contents of pes[3] +// Atmel PES is text string eg. 1B8V61F1 or 3Z01V22F1 +// ^ ^ +#define LATTICE 0xA1 +#define NATIONAL 0x8F +#define SGSTHOMSON 0x20 +#define ATMEL16 'V' +#define ATMEL22 '3' + +typedef enum { + UNKNOWN, + GAL16V8, + GAL20V8, + GAL22V10, + ATF16V8B, + ATF22V10B, + ATF22V10C +} GALTYPE; + + +// config bit numbers + +#define CFG_BASE_16 2048 +#define CFG_BASE_20 2560 +#define CFG_BASE_22 5808 + +// common CFG fuse address map for cfg16V8 and cfg20V8 +// the only difference is the starting address: 2048 for cfg16V8 and 2560 for cfg20V8 +// total size: 82 +static const unsigned char cfgV8[]= +{ + 80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111, + 0,1,2,3, + 145, + 72,73,74,75,76,77,78,79, + 144, + 4,5,6,7, + 112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143, +}; + +// common CFG fuse address map for cfg16V8AB and cfg20V8AB +// the only difference is the starting address: 2048 for cfg16V8AB and 2560 for cfg20V8AB +// total size: 82 +static const unsigned char cfgV8AB[]= +{ + 0,1,2,3, + 145, + 72,73,74,75, + 80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143, + 76,77,78,79, + 144, + 4,5,6,7, +}; + +// common CFG fuse address map for cfg22V10 +// starting address: 5808 +static const unsigned char cfgV10[]= +{ + 1,0,3,2,5,4,7,6,9,8,11,10,13,12,15,14,17,16,19,18, +}; + + +// UES user electronic signature +// PES programmer electronic signature (ATF = text string, others = Vendor/Vpp/timing) +// cfg configuration bits for OLMCs + +// GAL info +static struct +{ + GALTYPE type; + unsigned char id0,id1; /* variant 1, variant 2 (eg. 16V8=0x00, 16V8A+=0x1A)*/ + const char *name; /* pointer to chip name */ + short fuses; /* total number of fuses */ + char pins; /* number of pins on chip */ + char rows; /* number of fuse rows */ + unsigned char bits; /* number of fuses per row */ + char uesrow; /* UES row number */ + short uesfuse; /* first UES fuse number */ + char uesbytes; /* number of UES bytes */ + char eraserow; /* row adddeess for erase */ + char eraseallrow; /* row address for erase all */ + char pesrow; /* row address for PES read/write */ + char pesbytes; /* number of PES bytes */ + char cfgrow; /* row address of config bits */ + unsigned short cfgbase; /* base address of the config bit numbers */ + const unsigned char *cfg; /* pointer to config bit numbers */ + unsigned char cfgbits; /* number of config bits */ +} +galinfo[]= +{ +// + fuses + bits +uesbytes +pesrow +cfgbase +// | +pins | +uesrow | +eraserow| +pesbytes | +cfg +// +-- type + id0 + id1 +- name | | +rows | | +uesfuse | +eraseallrow +cfgrow | | + cfgbits +// | | | | | | | | | | | | | | | | | | | + {UNKNOWN, 0x00, 0x00, "unknown", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, NULL, 0}, + {GAL16V8, 0x00, 0x1A, "GAL16V8", 2194, 20, 32, 64, 32, 2056, 8, 63, 54, 58, 8, 60, CFG_BASE_16, cfgV8AB, sizeof(cfgV8AB)}, + {GAL20V8, 0x20, 0x3A, "GAL20V8", 2706, 24, 40, 64, 40, 2568, 8, 63, 59, 58, 8, 60, CFG_BASE_20, cfgV8AB, sizeof(cfgV8AB)}, + {GAL22V10, 0x48, 0x49, "GAL22V10", 5892, 24, 44, 132, 44, 5828, 8, 61, 60, 58, 10, 16, CFG_BASE_22, cfgV10, sizeof(cfgV10)}, + {ATF16V8B, 0x00, 0x00, "ATF16V8B", 2194, 20, 32, 64, 32, 2056, 8, 63, 54, 58, 8, 60, CFG_BASE_16, cfgV8AB, sizeof(cfgV8AB)}, + {ATF22V10B, 0x00, 0x00, "ATF22V10B",5892, 24, 44, 132, 44, 5828, 8, 61, 60, 58, 10, 16, CFG_BASE_22, cfgV10, sizeof(cfgV10)}, + {ATF22V10C, 0x00, 0x00, "ATF22V10C",5892, 24, 44, 132, 44, 5828, 8, 61, 60, 58, 10, 16, CFG_BASE_22, cfgV10, sizeof(cfgV10)}, +}; + +// MAXFUSES calculated as the biggest required space to hold the fuse bitmap + UES bitmap + CFG bitmap +// MAXFUSES = ((132 * 44 bits) / 8) + uesbytes + (20 / 8) +// 726 + 8 + 3 +#define MAXFUSES 737 + + +GALTYPE gal; //the gal device index pointing to galinfo +static short security = 0, erasetime = 0, progtime = 0, vpp = 0; + +char echoEnabled; +unsigned char pes[12]; +char line[64]; +char programName[32]; +short lineIndex; +char endOfLine; +char mapUploaded; +char isUploading; +unsigned char fusemap[MAXFUSES]; + + +static void setFuseBit(unsigned short bitPos); +static unsigned short checkSum(unsigned short n); +static char checkGalTypeViaPes(void); +static void turnOff(void); + +// print some help on the serial console +void printHelp(char full) { + Serial.println(F("AFTerburner v." VERSION)); + if (!full) { + Serial.println(F("type 'h' for help")); + return; + } + Serial.println(F("commands:")); + Serial.println(F(" h - print help")); + Serial.println(F(" e - toggle echo")); + Serial.println(F(" p - read & print PES")); + Serial.println(F(" r - read & print fuses")); + Serial.println(F(" u - upload fuses")); + Serial.println(F(" w - write uploaded fuses")); + Serial.println(F(" v - verify fuses")); + Serial.println(F(" c - erase chip")); + Serial.println(F(" t - test VPP")); +} + +// setup the Arduino board +void setup() { +// initialize serial: + Serial.begin(38400); + isUploading = 0; + endOfLine = 0; + gal = ATF16V8B; + echoEnabled = 0; + mapUploaded = 0; + + // Serial output from the GAL chip, input for Arduino + pinMode(PIN_SDOUT, INPUT); + // Serial input of the GAL chip, output from Arduino + pinMode(PIN_SDIN, OUTPUT); + + pinMode(PIN_STROBE, OUTPUT); + pinMode(PIN_PV, OUTPUT); + pinMode(PIN_RA0, OUTPUT); + pinMode(PIN_RA1, OUTPUT); + pinMode(PIN_RA2, OUTPUT); + pinMode(PIN_RA3, OUTPUT); + pinMode(PIN_RA4, OUTPUT); + pinMode(PIN_RA5, OUTPUT); + pinMode(PIN_SCLK, OUTPUT); + + pinMode(PIN_VPP, OUTPUT); + // Important - the output pins should be kept high. + // TurnOff function does that (keeps pin high). + turnOff(); + + printHelp(0); + Serial.println(">"); +} + + +// read from serial line and discard the data +void readGarbage() { + while (Serial.available() > 0) { + Serial.read(); + } +} + +// Reads input from the serial terminal and returns the command +// which is the first character of the entered text. + +char handleTerminalCommands() { + char c; + + while (Serial.available() > 0) { + c = Serial.read(); + line[lineIndex] = c; + if (c == '\n' || c == '\r') { + endOfLine = 1; + } + //echo input to output + else { + if (!isUploading && echoEnabled) { + Serial.print(c); + } + } + if (lineIndex >= 62) { + lineIndex = 0; + readGarbage(); + Serial.println(); + Serial.println("Error: line too long."); + } else { + lineIndex++; + } + } + if (endOfLine) { + c = COMMAND_NONE; + + //single letter command entered + if (lineIndex == 2) { + c = line[0]; + } else if (lineIndex > 2) { + c = line[0]; + if (!isUploading || c != '#') { + c = COMMAND_UNKNOWN; + } + } + if (!isUploading) { + Serial.println(); + line[lineIndex] = 0; + lineIndex = 0; + } + endOfLine = 0; + return c; + } + return COMMAND_NONE; +} + +// Parses decimal integer number typed as 4 digit. +// Returns the number value. +unsigned short parse4dec(char i) { + unsigned short v = (line[i++] - '0') * 1000; + v += (line[i++] - '0') * 100; + v += (line[i++] - '0') * 10; + v += line[i] - '0'; + return v; +} + +// Converts textual hex value 0-9, A-F to a number. +unsigned char toHex(char c) { + if (c >= '0' && c <= '9') return c - '0'; + if (c >= 'A' && c <= 'F') return c - 'A' + 10; + if (c >= 'a' && c <= 'f') return c - 'a' + 10; + return 0; +} + +// Parses hexdecimal integer number typed as 2 digit. +// Returns the number value. +unsigned short parse2hex(char i) { + if (line[i] == '\r' || line[i] == 0 || line[i] == ' ') { + return -1; + } + + unsigned short v = toHex(line[i++]) << 4; + return v + toHex(line[i]); +} + +// Parses hexdecimal integer number typed as 4 digit. +// Returns the number value. +unsigned short parse4hex(char i) { + if (line[i] == '\r' || line[i] == 0 || line[i] == ' ') { + return -1; + } + + unsigned short v = ((unsigned short)toHex(line[i++])) << 12; + v |= ((unsigned short)toHex(line[i++])) << 8; + v |= toHex(line[i++]) << 4; + return v + toHex(line[i]); +} + +// Parses a line fed by the serial connection. +// This hnadles a primitive upload protocol that +// expects a programatic data feed - not suitable +// for human interaction. +// Data: each command on its own line +// line starts with '#' character followed by a command +// and a space. Then a command specific data follow. +// Commands: +// t : gal type index to the GALTYPEE enum +// f : row of fuse-map data starting on fuse bit index +// c : checksum of the whole fuse map +// e : end ofthe upload transfer - returns to terminal + +void parseUploadLine() { + switch (line[1]) { + case 'e': { + Serial.println("upload finished"); + isUploading = 0; + } break; + + // gal type + case 't': { + short v = line[3] - '0'; + if (v > 0 && v <= (short)ATF22V10C) { + gal = (GALTYPE) v; + Serial.print(F("OK gal set: ")); + Serial.println((short) gal, DEC); + } else { + Serial.println(F("ER unknown gal index")); + } + } break; + + //fusemap data + case 'f': { + char i = 8; + char j; + unsigned short addr = parse4dec(3); + short v; + do { + v = parse2hex(i); + if (v >= 0) { + for (j = 0; j < 8; j++) { + // if fuse bit is set -> then change the fusemap + if (v & (1 << j)) { + setFuseBit(addr); + } + addr++; + } + i += 2; + } + } while (v >= 0); + + //any fuse being set is considered as uploaded fuse map + mapUploaded = 1; + + Serial.print(F("OK ")); + Serial.println((short) addr, DEC); + } break; + + //checksum + case 'c': { + unsigned short val = parse4hex(3); + unsigned short cs = checkSum(galinfo[gal].fuses); + if (cs == val) { + Serial.println(F("OK")); + } else { + Serial.print(F("ER checksum:")); + Serial.print(cs, HEX); + Serial.print(F(" expected:")); + Serial.println(val, HEX); + } + } break; + + default: Serial.println(F("ER unknown upload cmd")); + } + + lineIndex = 0; +} +// ********************************************************* + + +// set/reset individual pins of GAL +static void setVCC(char on) { + //no control for turning the voltage on of + //it is assumed the voltage is always on +} + +static void setVPP(char on) { + //programming voltage is controlled by VPP_PIN, + //but the programming voltage must be set manually by user turning a Pot + digitalWrite(PIN_VPP, on ? 1 : 0); + + //Serial.print(F("VPP set to:")); + //Serial.println( on ? "12V": "5V"); + delay(10); +} + + + +static void setSTB(char on) { + digitalWrite(PIN_STROBE, on ? 1:0); +} + +static void setPV(char on) { + digitalWrite(PIN_PV, on ? 1:0); +} + +static void setSDIN(char on) { + digitalWrite(PIN_SDIN, on ? 1:0); +} + +static void setSCLK(char on){ + digitalWrite(PIN_SCLK, on ? 1:0); +} + +// output row address (RA0-5) +static void setRow(char row) +{ + digitalWrite(PIN_RA0, (row & 0x1)); + digitalWrite(PIN_RA1, ((row & 0x2) ? 1:0)); + digitalWrite(PIN_RA2, ((row & 0x4) ? 1:0)); + digitalWrite(PIN_RA3, ((row & 0x8) ? 1:0)); + digitalWrite(PIN_RA4, ((row & 0x10) ? 1:0)); + digitalWrite(PIN_RA5, ((row & 0x20) ? 1:0)); +} + +// serial data out form the GAL chip -> received by Arduino +static char getSDOUT(void) +{ + return digitalRead(PIN_SDOUT) != 0; +} + +// GAL finish sequence +static void turnOff(void) +{ + delay(100); + setPV(0); // P/V- low + setRow(0x3F);// RA0-5 high + setSDIN(1); // SDIN high + setVPP(0); // Vpp off (+12V) + setPV(1); // P/V- high + delay(2); + setVCC(0); // turn off VCC (if controlled) + + +} + +// GAL init sequence +static void turnOn(char mode) { + + if ( + mode == WRITEGAL || + mode == ERASEGAL || + mode == ERASEALL || + mode == BURNSECURITY || + mode == WRITEPES || + mode == VPPTEST || + mode == READPES || + mode == READGAL + ) { + mode = 1; + } else { + mode = 0; + } + +// setVPP(mode); + setVPP(0); // VPP off + setPV(0); // P/V- low + setRow(0x3F); // RA0-5 high - erase sequence ? + //setRow(0); // RA0-5 low + setSDIN(1); // SDIN high + setSCLK(1); // SCLK high + setSTB(1); // STB high + setVCC(1); // turn on VCC (if controlled) + delay(100); + setSCLK(0); // SCLK low + setVPP(mode); + delay(20); +} + + +// clock and receive a bit in from GAL SDOUT +static char receiveBit(void) +{ + char b = getSDOUT(); + setSCLK(1); + setSCLK(0); + return b; +} + +// read n number of bits +static void discardBits(short n) +{ + while (n-- > 0) { + receiveBit(); + } +} + +// clock a bit and send it out to GAL SDIN +static void sendBit(char bitValue) +{ + setSDIN(bitValue); + setSCLK(1); + setSCLK(0); +} + +// send n number of bits to GAL +static void sendBits(short n, char bitValue) +{ + while (n-- > 0) { + sendBit(bitValue); + } +} + +// send row address bits to SDIN +// ATF22V10C MSb first, other 22V10 LSb first +static void sendAddress(unsigned char n, unsigned char row) +{ + switch (gal) { + case ATF22V10C: + while (n-- > 1) { + sendBit(row & 32); // clock in row number bits 5-1 + row <<= 1; + } + setSDIN(row & 32); // SDIN = row number bit 0 + break; + default: + while (n-- > 0) { + sendBit(row & 1); // clock in row number bits 0-5 + row >>= 1; + } + setSDIN(0); // SDIN = low + } +} + + +// pulse STB pin low for some milliseconds +static void strobe(unsigned short msec) +{ + setSTB(0); + delay(msec); + setSTB(1); +} + +// 16V8, 20V8 RA0-5 = row address, strobe. +// 22V10 RA0-5 = 0, send row address (6 bits), strobe. +static void strobeRow(char row) +{ + switch(gal) { + case GAL16V8: + case GAL20V8: + case ATF16V8B: + setRow(row); // set RA0-5 to row number + strobe(2); // pulse /STB for 2ms + break; + case GAL22V10: + case ATF22V10B: + case ATF22V10C: + setRow(0); // set RA0-5 low + sendAddress(6,row); // send row number (6 bits) + setSTB(0); + setSTB(1); // pulse /STB + setSDIN(0); // SDIN low + } +} + +// read PES: programmer electronic signature (ATF = text string, others = Vendor/Vpp/timing) +void readPes() { + unsigned short bitmask; + short byteIndex; + + turnOn(READPES); + + strobeRow(galinfo[gal].pesrow); + + + for(byteIndex = 0; byteIndex < galinfo[gal].pesbytes; byteIndex++) { + unsigned char value = 0; + + for (bitmask = 0x1; bitmask <= 0x80; bitmask <<= 1) { + if (receiveBit()) { + value |= bitmask; + } + } + pes[byteIndex] = value; + } + + turnOff(); + +} + +static unsigned char getDuration(unsigned char index) { + switch (index) { + case 0: return 1; + case 1: return 2; + case 2: return 5; + case 3: return 10; + case 4: return 20; + case 5: return 30; + case 6: return 40; + case 7: return 50; + case 8: return 60; + case 9: return 70; + case 10: return 80; + case 11: return 90; + case 12: return 100; + case 13: return 200; + default: return 0; + } +} + +void parsePes(char type) { + unsigned char algo; + + if (UNKNOWN == type) { + type = gal; + } + + switch (type) { + case ATF16V8B: + progtime = 10; + erasetime = 100; + vpp = 40; /* 12.0V */ + break; + + case ATF22V10B: + case ATF22V10C: + progtime = 10; + erasetime = 100; + vpp = 48; /* 12.0V */ + break; + default: + algo = pes[1] & 0x0F; + if (algo == 5) { + erasetime = (25 << ((pes[4] >> 2) &7)) / 2; + progtime = getDuration(((((unsigned short)pes[5] << 8)| pes[4]) >> 5) & 15); + vpp = 2 * ((pes[5] >> 1) & 31) + 20; + } + else switch(gal) { + case GAL16V8: + case GAL20V8: + erasetime=100; + switch(algo) { + case 0: + vpp = 63; // 15.75V + progtime = 100; + break; + case 1: + vpp = 63; // 15.75V + progtime = 80; + break; + case 2: + vpp = 66; // 16.5V + progtime = 10; + break; + case 3: + vpp = (pes[3] == NATIONAL) ? 60 : 58; // 15.0V or 14.5V + progtime = 40; + break; + case 4: + vpp = 56; // 14V + progtime = 100; + break; + } + break; + default: + erasetime = (pes[3] == NATIONAL) ? 50 : 100; + switch(algo) { + case 0: + vpp = 66; // 16.5V + progtime = 10; + break; + case 1: + vpp = 63; // 15.75V + progtime = 100; + break; + case 2: + vpp = (pes[3] == NATIONAL) ? 60 : 58; // 15.0V or 14.5V + progtime = 40; + break; + case 3: + vpp = 56; // 14V + progtime = 100; + break; + } + } + } +} + + +// print PES information +void printPes(char type) { + + Serial.print(F("PES info: ")); + //voltage + if (pes[3] == ATMEL16 || pes[3] == ATMEL22) { + //Serial.print(" "); + } else { + if (pes[1] & 0x10) { + Serial.print(F("3.3V ")); + } else { + Serial.print(F("5V ")); + } + } + + //manufacturer + switch (pes[3]) { + case LATTICE: Serial.print(F("Lattice ")); break; + case NATIONAL: Serial.print(F("National ")); break; + case SGSTHOMSON: Serial.print(F("ST Microsystems ")); break; + case ATMEL16: + case ATMEL22: Serial.print(F("Atmel ")); break; + default: Serial.print(F("Unknown GAL, ")); + } + + // GAL type + switch (type) { + case GAL16V8: Serial.print(F("GAL16V8 ")); break; + case GAL20V8: Serial.print(F("GAL20V8 ")); break; + case GAL22V10: Serial.print(F("GAL20V10 ")); break; + case ATF16V8B: Serial.print(F("ATF16V8B ")); break; + case ATF22V10B: Serial.print(F("ATF22V10B ")); break; + case ATF22V10C: Serial.print(F("ATF22V10C ")); break; + } + + //programming info + if (UNKNOWN != type) { + Serial.print(F(" VPP=")); + Serial.print(vpp >> 2, DEC); + Serial.print(F(".")); + Serial.print((vpp & 3) * 25, DEC); + Serial.print(F(" Timing: prog=")); + Serial.print(progtime, DEC); + Serial.print(F(" erase=")); + Serial.print(erasetime / 4, DEC); + } else { + Serial.print(F(" try VPP=10..14 in 1V steps")); + } + + Serial.println(); +} + +// sets a fuse bit on particular position +// expects that the fusemap was cleared (set to zero) beforehand +static void setFuseBit(unsigned short bitPos) { + fusemap[bitPos >> 3] |= (1 << (bitPos & 7)); +} + +// gets a fuse bit from specific fuse position +static char getFuseBit(unsigned short bitPos) { + return (fusemap[bitPos >> 3] & (1 << (bitPos & 7))) ? 1 : 0; +} + +// generic fuse-map reading, fuse-map bits are stored in fusemap array +static void readGalFuseMap(const unsigned char* cfgArray, char useDelay, char doDiscardBits) { + unsigned short cfgAddr = galinfo[gal].cfgbase; + unsigned short row, bit; + unsigned short addr; + + // read fuse rows + for(row = 0; row < galinfo[gal].rows; row++) { + strobeRow(row); + for(bit = 0; bit < galinfo[gal].bits; bit++) { + // check the received bit is 1 and if so then set the fuse map + if (receiveBit()) { + addr = galinfo[gal].rows; + addr *= bit; + addr += row; + setFuseBit(addr); + } + } + if (useDelay) { + delay(useDelay); + } + } + + // read UES + strobeRow(galinfo[gal].uesrow); + if (doDiscardBits) { + discardBits(doDiscardBits); + } + for(bit = 0; bit < 64; bit++) { + if (receiveBit()) { + addr = galinfo[gal].uesfuse; + addr += bit; + setFuseBit(addr); + } + } + if (useDelay) { + delay(useDelay); + } + + // read CFG + strobeRow(galinfo[gal].cfgrow); + for(bit = 0; bit < galinfo[gal].cfgbits; bit++) { + if (receiveBit()) { + setFuseBit(cfgAddr + cfgArray[bit]); + } + } +} + +// generic fuse-map verification, fuse map bits are compared against read bits +static unsigned short verifyGalFuseMap(const unsigned char* cfgArray, char useDelay, char doDiscardBits) { + unsigned short cfgAddr = galinfo[gal].cfgbase; + unsigned short row, bit; + unsigned short addr; + char fuseBit; // fuse bit received from GAL + char mapBit; // fuse bit stored in RAM + unsigned short errors = 0; + + // read fuse rows + for(row = 0; row < galinfo[gal].rows; row++) { + strobeRow(row); + for(bit = 0; bit < galinfo[gal].bits; bit++) { + addr = galinfo[gal].rows; + addr *= bit; + addr += row; + mapBit = getFuseBit(addr); + fuseBit = receiveBit(); + if (mapBit != fuseBit) { + errors++; + } + } + if (useDelay) { + delay(useDelay); + } + } + + // read UES + strobeRow(galinfo[gal].uesrow); + if (doDiscardBits) { + discardBits(doDiscardBits); + } + for(bit = 0; bit < 64; bit++) { + addr = galinfo[gal].uesfuse; + addr += bit; + mapBit = getFuseBit(addr); + fuseBit = receiveBit(); + if (mapBit != fuseBit) { + errors++; + } + } + if (useDelay) { + delay(useDelay); + } + + // read CFG + strobeRow(galinfo[gal].cfgrow); + for(bit = 0; bit < galinfo[gal].cfgbits; bit++) { + mapBit = getFuseBit(cfgAddr + cfgArray[bit]); + fuseBit = receiveBit(); + if (mapBit != fuseBit) { + errors++; + } + } + return errors; +} + + +// main fuse-map reading and verification function +// READING: reads fuse rows, UES, CFG from GAL and stores into fusemap bit array RAM. +// VERIFY: reads fuse rows, UES, CFG from GAL and compares with fusemap bit array in RAM. +static void readOrVerifyGal(char verify) +{ + unsigned short i; + unsigned char* cfgArray = (unsigned char*) cfgV8; + + //ensure fusemap is cleared before READ operation, keep it for VERIFY operation. + if (!verify) { + for (i = 0; i < MAXFUSES; i++) { + fusemap[i] = 0; + } + } + + turnOn(READGAL); + + switch(gal) + { + case GAL16V8: + case GAL20V8: + if (pes[2] == 0x1A || pes[2] == 0x3A) { + cfgArray = (unsigned char*) cfgV8AB; + } + //read without delay, no discard + if (verify) { + i = verifyGalFuseMap(cfgArray, 0, 0); + } else { + readGalFuseMap(cfgArray, 0, 0); + } + break; + + case ATF16V8B: + //read without delay, no discard + if (verify) { + i = verifyGalFuseMap(cfgV8, 0, 0); + } else { + readGalFuseMap(cfgV8, 0, 0); + } + break; + + case GAL22V10: + case ATF22V10B: + case ATF22V10C: + //read with delay 1 ms, discard 68 cfg bits on ATFxx + if (verify) { + i = verifyGalFuseMap(cfgV10, 1, (gal == GAL22V10) ? 0 : 68); + } else { + readGalFuseMap(cfgV10, 1, (gal == GAL22V10) ? 0 : 68); + } + break; + } + turnOff(); + + if (verify && i > 0) { + Serial.print(F("ER verify failed. Bit errors: ")); + Serial.println(i, DEC); + } +} + +// fuse-map writing function for V8 GAL chips +static void writeGalFuseMapV8(const unsigned char* cfgArray) { + unsigned short cfgAddr = galinfo[gal].cfgbase; + unsigned char row, rbit; + unsigned short addr; + + setPV(1); + // write fuse rows + for (row = 0; row < galinfo[gal].rows; row++) { + setRow(row); + for(rbit = 0; rbit < galinfo[gal].bits; rbit++) { + addr = galinfo[gal].rows; + addr *= rbit; + addr += row; + sendBit(getFuseBit(addr)); + } + strobe(progtime); + } + + // write UES + setRow(galinfo[gal].uesrow); + for (rbit = 0; rbit < 64; rbit++) { + addr = galinfo[gal].uesfuse; + addr += rbit; + sendBit(getFuseBit(addr)); + } + strobe(progtime); + + // write CFG + setRow(galinfo[gal].cfgrow); + for(rbit = 0; rbit < galinfo[gal].cfgbits; rbit++) { + sendBit(getFuseBit(cfgAddr + cfgArray[rbit])); + } + strobe(progtime); + setPV(0); +} + +// fuse-map writing function for V10 GAL chips +static void writeGalFuseMapV10(const unsigned char* cfgArray, char fillUesStart, char useSdin) { + unsigned short cfgAddr = galinfo[gal].cfgbase; + unsigned char row, bit; + unsigned short addr; + + setRow(0); //RA0-5 low + // write fuse rows + for (row = 0; row < galinfo[gal].rows; row++) { + for (bit = 0; bit < galinfo[gal].bits; bit++) { + addr = galinfo[gal].rows; + addr *= bit; + addr += row; + sendBit(getFuseBit(addr)); + } + sendAddress(6, row); + setPV(1); + strobe(progtime); + setPV(0); + } + + // write UES + if (fillUesStart) { + sendBits(68, 1); + } + for (bit = 0; bit < 64; bit++) { + addr = galinfo[gal].uesfuse; + addr += bit; + sendBit(getFuseBit(addr)); + } + if (!fillUesStart) { + sendBits(68, 1); + } + sendAddress(6, galinfo[gal].uesrow); + setPV(1); + strobe(progtime); + setPV(0); + + // write CFG + setRow(galinfo[gal].cfgrow); + for(bit = 0; bit < galinfo[gal].cfgbits - useSdin; bit++) { + sendBit(getFuseBit(cfgAddr + cfgArray[bit])); + } + if (useSdin) { + setSDIN(getFuseBit(cfgAddr + cfgArray[19])); + } + setPV(1); + strobe(progtime); + setPV(0); + + if (useSdin) { + // disable power-down feature (JEDEC bit #5892) + setRow(0); + sendAddress(6, 59); + setPV(1); + strobe(progtime); + setPV(0); + } + +} + +// main fuse-map writing function +static void writeGal() +{ + unsigned short i; + unsigned char* cfgArray = (unsigned char*) cfgV8; + + + turnOn(WRITEGAL); + + switch(gal) + { + case GAL16V8: + case GAL20V8: + if (pes[2] == 0x1A || pes[2] == 0x3A) { + cfgArray = (unsigned char*) cfgV8AB; + } + writeGalFuseMapV8(cfgArray); + break; + + case ATF16V8B: + writeGalFuseMapV8(cfgV8); + break; + + case GAL22V10: + case ATF22V10B: + case ATF22V10C: + writeGalFuseMapV10(cfgV10, (gal == GAL22V10) ? 0 : 1, (gal == ATF22V10C) ? 1 : 0); + break; + } + turnOff(); +} + +// erases fuse-map in the GAL +static void eraseGAL(void) +{ + turnOn(ERASEGAL); + + setPV(1); + setRow(galinfo[gal].eraserow); + if (gal == GAL16V8 || gal == ATF16V8B || gal==GAL20V8) { + sendBit(1); + } + strobe(erasetime); + setPV(0); + turnOff(); +} + + +static char checkGalTypeViaPes(void) +{ + char type = UNKNOWN; + + if (pes[7] == 'F' && pes[6]== '2' && pes[5]== '2' && pes[4]== 'V' && pes[3]== '1' && pes[2]=='0') { + if (pes[1] == 'B') { + type = ATF22V10B; + } else { + type = ATF22V10C; + } + } + else if (pes[6] == 'F' && pes[5] == '1' && pes[4]== '6' && pes[3] == 'V' && pes[2]=='8') { + type = ATF16V8B; + } + else if (pes[2] != 0x00 && pes[2] != 0xFF) { + for (type = (sizeof(galinfo) / sizeof(galinfo[0])) - 1; type; type--) { + if (pes[2] == galinfo[type].id0 || pes[2] == galinfo[type].id1) break; + } + } + + return type; +} + +// checks whether gal type corresponds to PES information on the IC +// note: PES must be read beforehand +static char testProperGAL(void) +{ + char type = checkGalTypeViaPes(); + + if (type == 0) { + //Unknown or illegal PES, + goto error; + } + else if (type != gal) { + //PES indicates a different GAL type than selected. Change to detected GAL type? + // gal = type; + goto error; + } + + return 1; + +error: + Serial.println(F("ER unknown or wrong GAL type (check Power ON)")); + return 0; +} + +// prints a hexadecimal number - 2 digits with a leading zero +static void printFormatedNumberHex2(unsigned char num) { + if (num < 16) { + Serial.print(F("0")); + } + Serial.print(num, HEX); +} + +// prints a hexadecimal number - 4 digits with a leading zero +static void printFormatedNumberHex4(unsigned short num) { + if (num < 0x10) { + Serial.print(F("000")); + } else + if (num < 0x100) { + Serial.print(F("00")); + } else + if (num < 0x1000) { + Serial.print(F("0")); + } + Serial.print(num, HEX); +} + +// prints a decimal number - 4 digits with a leading zero +static void printFormatedNumberDec4(unsigned short num) { + if (num < 1) { + Serial.print(F("0000")); + return; + } + + if (num < 10) { + Serial.print(F("000")); + } else + if (num < 100) { + Serial.print(F("00")); + } else + if (num < 1000) { + Serial.print(F("0")); + } + Serial.print(num, DEC); +} + +// adds a formated decimal number with a leading zero to a line buffer at position 'i' +static unsigned char addFormatedNumberDec4(unsigned short num, unsigned char i) { + char cnt = 3; + + while (cnt >= 0) { + line[i + cnt] = '0' + (num % 10); + num /= 10; + cnt--; + } + return i + 4; +} + +// calculates fuse-map checksum and returns it +static unsigned short checkSum(unsigned short n) +{ + unsigned short c, e, i; + unsigned long a; + + c = e= 0; + a = 0; + for (i = 0; i < n; i++) { + e++; + if (e == 9) { + e = 1; + a += c; + c = 0; + } + c >>= 1; + if (getFuseBit(i)) { + c += 0x80; + } + } + return (unsigned short)((c >> (8 - e)) + a); +} + + +// prints the contents of fuse-map array in the form of JEDEC text file +static void printJedec() +{ + unsigned short i, j, k, n; + unsigned char unused, start; + + Serial.print(F("JEDEC file for ")); + Serial.println(galinfo[gal].name); + Serial.print(F("*QP")); Serial.print(galinfo[gal].pins, DEC); + Serial.print(F("*QF")); Serial.print(galinfo[gal].fuses, DEC); + Serial.println(F("*QV0*F0*G0*X0*")); + + for( i = k = 0; i < galinfo[gal].bits; i++) { + unused = 1; + n = 0; + line[n++] = 'L'; + n = addFormatedNumberDec4(k, n); + line[n++] = ' '; + for(j= 0; j < galinfo[gal].rows; j++, k++) { + if (getFuseBit(k)) { + unused = 0; + line[n++] = '1'; + } else { + line[n++] = '0'; + } + } + line[n++] = '*'; + line[n++] = 0; + if (!unused) { + Serial.println(line); + } + } + + if( k < galinfo[gal].uesfuse) { + unused = 1; + n = 0; + line[n++] = 'L'; + n = addFormatedNumberDec4(k, n); + line[n++] = ' '; + + while(k < galinfo[gal].uesfuse) { + if (getFuseBit(k)) { + unused = 0; + line[n++] = '1'; + } else { + line[n++] = '0'; + } + k++; + } + line[n++] = '*'; + line[n++] = 0; + if (!unused) { + Serial.println(line); + } + } + line[0] = 0; + + + Serial.print(F("N UES")); + for (j = 0;j < galinfo[gal].uesbytes; j++) { + n = 0; + for (i = 0; i < 8; i++) { + if (getFuseBit(k + 8 * j + i)) { + if (gal == ATF22V10C) { + n |= 1 << (7 - i); // big-endian + } + else { + n |= 1 << i; // little-endian + } + } + } + Serial.print(F(" ")); + printFormatedNumberHex2(n); + } + Serial.println(F("*")); + + Serial.print(F("L")); + printFormatedNumberDec4(k); + Serial.print(F(" ")); + + for(j = 0; j < 8 * galinfo[gal].uesbytes; j++) { + if (getFuseBit(k++)) { + Serial.print(F("1")); + } else { + Serial.print(F("0")); + } + } + Serial.println(F("*")); + + + if (k < galinfo[gal].fuses) { + Serial.print(F("L")); + printFormatedNumberDec4(k); + Serial.print(F(" ")); + + while( k < galinfo[gal].fuses) { + if (getFuseBit(k++)) { + Serial.print(F("1")); + } else { + Serial.print(F("0")); + } + } + Serial.println(F("*")); + } + + Serial.print(F("N PES")); + for(i = 0; i < galinfo[gal].pesbytes; i++) { + Serial.print(F(" ")); + printFormatedNumberHex2(pes[i]); + } + Serial.println(F("*")); + Serial.print(F("C")); + printFormatedNumberHex4(checkSum(galinfo[gal].fuses)); + Serial.println(); + Serial.println(F("*")); +} + + +// helper print function to save RAM space +static void printNoFusesError() { + Serial.println(F("ER fuse map not uploaded")); +} + +static void testVoltage(int seconds) { + int i; + setVPP(1); + for (i = 0 ; i < seconds; i++) { + delay(1000); + } + setVPP(0); +} + +// Arduino main loop - where the magic happens :-) +void loop() { + + + // read a command from serial terminal or COMMAND_NONE if nothing is received from serial + char command = handleTerminalCommands(); + + // any unexpected input when uploading fuse map terminates the upload process + if (isUploading && command != COMMAND_UTX && command != COMMAND_NONE) { + Serial.println(F("ER upload aborted")); + isUploading = 0; + lineIndex = 0; + } + + // handle commands received from the serial terminal + switch (command) { + + // print some help + case COMMAND_HELP: { + printHelp(1); + } break; + + case COMMAND_IDENTIFY_PROGRAMMER : { + printHelp(0); + } break; + + // verify fuse-map bits and bits read from the GAL chip + case COMMAND_VERIFY_FUSES: { + if (mapUploaded) { + readPes(); + parsePes(UNKNOWN); + readOrVerifyGal(1); //just verify, do not overwrite fusemap + } else { + printNoFusesError(); + } + } break; + + // handle upload command - start the download of fuse-map + case COMMAND_UPLOAD: { + short i; + // clean fuses + for (i = 0; i < MAXFUSES; i++) { + fusemap[i] = 0; + } + isUploading = 1; + } break; + + // command of the upload protocol + case COMMAND_UTX : { + parseUploadLine(); + } break; + + // read and print the PES + case COMMAND_READ_PES : { + char type; + readPes(); + type = checkGalTypeViaPes(); + parsePes(type); + printPes(type); + } break; + + // read fuse-map from the GAL and print it in the JEDEC form + case COMMAND_READ_FUSES : { + readPes(); + parsePes(UNKNOWN); + if (testProperGAL()) { + readOrVerifyGal(0); //just read, no verification + printJedec(); + } + } break; + + // write current fuse-map to the GAL chip + case COMMAND_WRITE_FUSES : { + if (mapUploaded) { + readPes(); + parsePes(UNKNOWN); + if (testProperGAL()) { + writeGal(); + //TODO security + } + } else { + printNoFusesError(); + } + } break; + + // erases the fuse-map on the GAL chip + case COMMAND_ERASE_GAL: { + readPes(); + parsePes(UNKNOWN); + if (testProperGAL()) { + eraseGAL(); + } + } break; + + // toggles terminal echo + case COMMAND_ECHO : { + echoEnabled = 1 - echoEnabled; + } break; + + case COMMAND_TEST_VOLTAGE : { + testVoltage(20); + }break; + + default: { + if (command != COMMAND_NONE) { + Serial.print(F("ER Unknown command: ")); + Serial.println(line); + } + } + } + + // display prompt character - important for the PC program to check that Arduino + // finished the desired operation + if (command != COMMAND_NONE) { + Serial.println(F(">")); + } + + // and that's it! +} diff --git a/compile.sh b/compile.sh new file mode 100755 index 0000000..2033c68 --- /dev/null +++ b/compile.sh @@ -0,0 +1 @@ +gcc -g3 -O0 -o afterburner afterburner.c diff --git a/gerbers/afterburner_fab_1_1.zip b/gerbers/afterburner_fab_1_1.zip new file mode 100644 index 0000000000000000000000000000000000000000..bf82afaeb2782f4a7e79c552677bf02408c3a324 GIT binary patch literal 25084 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 literal 0 HcmV?d00001 diff --git a/pcb/afterburner_etch.pcb b/pcb/afterburner_etch.pcb new file mode 100644 index 0000000..d536d22 --- /dev/null +++ b/pcb/afterburner_etch.pcb @@ -0,0 +1,1523 @@ +# release: pcb 4.0.2 + +# To read pcb files, the pcb version (or the git source date) must be >= the file version +FileVersion[20091103] + +PCB["outline" 3700.00mil 3100.00mil] + +Grid[25.00mil 0.0000 0.0000 1] +PolyArea[200000000.000000] +Thermal[0.500000] +DRC[8.00mil 8.00mil 8.00mil 8.00mil 15.00mil 10.00mil] +Flags("showdrc,nameonpcb,clearnew,snappin") +Groups("1,s:2,c:3:4") +Styles["Signal,10.00mil,40.00mil,20.00mil,10.00mil:Power,25.00mil,40.00mil,20.00mil,10.00mil:Fat,40.00mil,40.00mil,20.00mil,10.00mil:Skinny,8.00mil,36.00mil,20.00mil,10.00mil"] + +Symbol[' ' 18.00mil] +( +) +Symbol['!' 12.00mil] +( + SymbolLine[0.0000 45.00mil 0.0000 50.00mil 8.00mil] + SymbolLine[0.0000 10.00mil 0.0000 35.00mil 8.00mil] +) +Symbol['"' 12.00mil] +( + SymbolLine[0.0000 10.00mil 0.0000 20.00mil 8.00mil] + SymbolLine[10.00mil 10.00mil 10.00mil 20.00mil 8.00mil] +) +Symbol['#' 12.00mil] +( + SymbolLine[0.0000 35.00mil 20.00mil 35.00mil 8.00mil] + SymbolLine[0.0000 25.00mil 20.00mil 25.00mil 8.00mil] + SymbolLine[15.00mil 20.00mil 15.00mil 40.00mil 8.00mil] + SymbolLine[5.00mil 20.00mil 5.00mil 40.00mil 8.00mil] +) +Symbol['$' 12.00mil] +( + SymbolLine[15.00mil 15.00mil 20.00mil 20.00mil 8.00mil] + SymbolLine[5.00mil 15.00mil 15.00mil 15.00mil 8.00mil] + SymbolLine[0.0000 20.00mil 5.00mil 15.00mil 8.00mil] + SymbolLine[0.0000 20.00mil 0.0000 25.00mil 8.00mil] + SymbolLine[0.0000 25.00mil 5.00mil 30.00mil 8.00mil] + SymbolLine[5.00mil 30.00mil 15.00mil 30.00mil 8.00mil] + SymbolLine[15.00mil 30.00mil 20.00mil 35.00mil 8.00mil] + SymbolLine[20.00mil 35.00mil 20.00mil 40.00mil 8.00mil] + SymbolLine[15.00mil 45.00mil 20.00mil 40.00mil 8.00mil] + SymbolLine[5.00mil 45.00mil 15.00mil 45.00mil 8.00mil] + SymbolLine[0.0000 40.00mil 5.00mil 45.00mil 8.00mil] + SymbolLine[10.00mil 10.00mil 10.00mil 50.00mil 8.00mil] +) +Symbol['%' 12.00mil] +( + SymbolLine[0.0000 15.00mil 0.0000 20.00mil 8.00mil] + SymbolLine[0.0000 15.00mil 5.00mil 10.00mil 8.00mil] + SymbolLine[5.00mil 10.00mil 10.00mil 10.00mil 8.00mil] + SymbolLine[10.00mil 10.00mil 15.00mil 15.00mil 8.00mil] + SymbolLine[15.00mil 15.00mil 15.00mil 20.00mil 8.00mil] + SymbolLine[10.00mil 25.00mil 15.00mil 20.00mil 8.00mil] + SymbolLine[5.00mil 25.00mil 10.00mil 25.00mil 8.00mil] + SymbolLine[0.0000 20.00mil 5.00mil 25.00mil 8.00mil] + SymbolLine[0.0000 50.00mil 40.00mil 10.00mil 8.00mil] + SymbolLine[35.00mil 50.00mil 40.00mil 45.00mil 8.00mil] + SymbolLine[40.00mil 40.00mil 40.00mil 45.00mil 8.00mil] + SymbolLine[35.00mil 35.00mil 40.00mil 40.00mil 8.00mil] + SymbolLine[30.00mil 35.00mil 35.00mil 35.00mil 8.00mil] + SymbolLine[25.00mil 40.00mil 30.00mil 35.00mil 8.00mil] + SymbolLine[25.00mil 40.00mil 25.00mil 45.00mil 8.00mil] + SymbolLine[25.00mil 45.00mil 30.00mil 50.00mil 8.00mil] + SymbolLine[30.00mil 50.00mil 35.00mil 50.00mil 8.00mil] +) +Symbol['&' 12.00mil] +( + SymbolLine[0.0000 45.00mil 5.00mil 50.00mil 8.00mil] + SymbolLine[0.0000 15.00mil 0.0000 25.00mil 8.00mil] + SymbolLine[0.0000 15.00mil 5.00mil 10.00mil 8.00mil] + SymbolLine[0.0000 35.00mil 15.00mil 20.00mil 8.00mil] + SymbolLine[5.00mil 50.00mil 10.00mil 50.00mil 8.00mil] + SymbolLine[10.00mil 50.00mil 20.00mil 40.00mil 8.00mil] + SymbolLine[0.0000 25.00mil 25.00mil 50.00mil 8.00mil] + SymbolLine[5.00mil 10.00mil 10.00mil 10.00mil 8.00mil] + SymbolLine[10.00mil 10.00mil 15.00mil 15.00mil 8.00mil] + SymbolLine[15.00mil 15.00mil 15.00mil 20.00mil 8.00mil] + SymbolLine[0.0000 35.00mil 0.0000 45.00mil 8.00mil] +) +Symbol[''' 12.00mil] +( + SymbolLine[0.0000 20.00mil 10.00mil 10.00mil 8.00mil] +) +Symbol['(' 12.00mil] +( + SymbolLine[0.0000 45.00mil 5.00mil 50.00mil 8.00mil] + SymbolLine[0.0000 15.00mil 5.00mil 10.00mil 8.00mil] + SymbolLine[0.0000 15.00mil 0.0000 45.00mil 8.00mil] +) +Symbol[')' 12.00mil] +( + SymbolLine[0.0000 10.00mil 5.00mil 15.00mil 8.00mil] + SymbolLine[5.00mil 15.00mil 5.00mil 45.00mil 8.00mil] + SymbolLine[0.0000 50.00mil 5.00mil 45.00mil 8.00mil] +) +Symbol['*' 12.00mil] +( + SymbolLine[0.0000 20.00mil 20.00mil 40.00mil 8.00mil] + SymbolLine[0.0000 40.00mil 20.00mil 20.00mil 8.00mil] + SymbolLine[0.0000 30.00mil 20.00mil 30.00mil 8.00mil] + SymbolLine[10.00mil 20.00mil 10.00mil 40.00mil 8.00mil] +) +Symbol['+' 12.00mil] +( + SymbolLine[0.0000 30.00mil 20.00mil 30.00mil 8.00mil] + SymbolLine[10.00mil 20.00mil 10.00mil 40.00mil 8.00mil] +) +Symbol[',' 12.00mil] +( + SymbolLine[0.0000 60.00mil 10.00mil 50.00mil 8.00mil] +) +Symbol['-' 12.00mil] +( + SymbolLine[0.0000 30.00mil 20.00mil 30.00mil 8.00mil] +) +Symbol['.' 12.00mil] +( + SymbolLine[0.0000 50.00mil 5.00mil 50.00mil 8.00mil] +) +Symbol['/' 12.00mil] +( + SymbolLine[0.0000 45.00mil 30.00mil 15.00mil 8.00mil] +) +Symbol['0' 12.00mil] +( + SymbolLine[0.0000 45.00mil 5.00mil 50.00mil 8.00mil] + SymbolLine[0.0000 15.00mil 0.0000 45.00mil 8.00mil] + SymbolLine[0.0000 15.00mil 5.00mil 10.00mil 8.00mil] + SymbolLine[5.00mil 10.00mil 15.00mil 10.00mil 8.00mil] + SymbolLine[15.00mil 10.00mil 20.00mil 15.00mil 8.00mil] + SymbolLine[20.00mil 15.00mil 20.00mil 45.00mil 8.00mil] + SymbolLine[15.00mil 50.00mil 20.00mil 45.00mil 8.00mil] + SymbolLine[5.00mil 50.00mil 15.00mil 50.00mil 8.00mil] + SymbolLine[0.0000 40.00mil 20.00mil 20.00mil 8.00mil] +) +Symbol['1' 12.00mil] +( + SymbolLine[5.00mil 50.00mil 15.00mil 50.00mil 8.00mil] + SymbolLine[10.00mil 10.00mil 10.00mil 50.00mil 8.00mil] + SymbolLine[0.0000 20.00mil 10.00mil 10.00mil 8.00mil] +) +Symbol['2' 12.00mil] +( + SymbolLine[0.0000 15.00mil 5.00mil 10.00mil 8.00mil] + SymbolLine[5.00mil 10.00mil 20.00mil 10.00mil 8.00mil] + SymbolLine[20.00mil 10.00mil 25.00mil 15.00mil 8.00mil] + SymbolLine[25.00mil 15.00mil 25.00mil 25.00mil 8.00mil] + SymbolLine[0.0000 50.00mil 25.00mil 25.00mil 8.00mil] + SymbolLine[0.0000 50.00mil 25.00mil 50.00mil 8.00mil] +) +Symbol['3' 12.00mil] +( + SymbolLine[0.0000 15.00mil 5.00mil 10.00mil 8.00mil] + SymbolLine[5.00mil 10.00mil 15.00mil 10.00mil 8.00mil] + SymbolLine[15.00mil 10.00mil 20.00mil 15.00mil 8.00mil] + SymbolLine[20.00mil 15.00mil 20.00mil 45.00mil 8.00mil] + SymbolLine[15.00mil 50.00mil 20.00mil 45.00mil 8.00mil] + SymbolLine[5.00mil 50.00mil 15.00mil 50.00mil 8.00mil] + SymbolLine[0.0000 45.00mil 5.00mil 50.00mil 8.00mil] + SymbolLine[5.00mil 30.00mil 20.00mil 30.00mil 8.00mil] +) +Symbol['4' 12.00mil] +( + SymbolLine[0.0000 30.00mil 20.00mil 10.00mil 8.00mil] + SymbolLine[0.0000 30.00mil 25.00mil 30.00mil 8.00mil] + SymbolLine[20.00mil 10.00mil 20.00mil 50.00mil 8.00mil] +) +Symbol['5' 12.00mil] +( + SymbolLine[0.0000 10.00mil 20.00mil 10.00mil 8.00mil] + SymbolLine[0.0000 10.00mil 0.0000 30.00mil 8.00mil] + SymbolLine[0.0000 30.00mil 5.00mil 25.00mil 8.00mil] + SymbolLine[5.00mil 25.00mil 15.00mil 25.00mil 8.00mil] + SymbolLine[15.00mil 25.00mil 20.00mil 30.00mil 8.00mil] + SymbolLine[20.00mil 30.00mil 20.00mil 45.00mil 8.00mil] + SymbolLine[15.00mil 50.00mil 20.00mil 45.00mil 8.00mil] + SymbolLine[5.00mil 50.00mil 15.00mil 50.00mil 8.00mil] + SymbolLine[0.0000 45.00mil 5.00mil 50.00mil 8.00mil] +) +Symbol['6' 12.00mil] +( + SymbolLine[15.00mil 10.00mil 20.00mil 15.00mil 8.00mil] + SymbolLine[5.00mil 10.00mil 15.00mil 10.00mil 8.00mil] + SymbolLine[0.0000 15.00mil 5.00mil 10.00mil 8.00mil] + SymbolLine[0.0000 15.00mil 0.0000 45.00mil 8.00mil] + SymbolLine[0.0000 45.00mil 5.00mil 50.00mil 8.00mil] + SymbolLine[15.00mil 30.00mil 20.00mil 35.00mil 8.00mil] + SymbolLine[0.0000 30.00mil 15.00mil 30.00mil 8.00mil] + SymbolLine[5.00mil 50.00mil 15.00mil 50.00mil 8.00mil] + SymbolLine[15.00mil 50.00mil 20.00mil 45.00mil 8.00mil] + SymbolLine[20.00mil 35.00mil 20.00mil 45.00mil 8.00mil] +) +Symbol['7' 12.00mil] +( + SymbolLine[0.0000 50.00mil 25.00mil 25.00mil 8.00mil] + SymbolLine[25.00mil 10.00mil 25.00mil 25.00mil 8.00mil] + SymbolLine[0.0000 10.00mil 25.00mil 10.00mil 8.00mil] +) +Symbol['8' 12.00mil] +( + SymbolLine[0.0000 45.00mil 5.00mil 50.00mil 8.00mil] + SymbolLine[0.0000 35.00mil 0.0000 45.00mil 8.00mil] + SymbolLine[0.0000 35.00mil 5.00mil 30.00mil 8.00mil] + SymbolLine[5.00mil 30.00mil 15.00mil 30.00mil 8.00mil] + SymbolLine[15.00mil 30.00mil 20.00mil 35.00mil 8.00mil] + SymbolLine[20.00mil 35.00mil 20.00mil 45.00mil 8.00mil] + SymbolLine[15.00mil 50.00mil 20.00mil 45.00mil 8.00mil] + SymbolLine[5.00mil 50.00mil 15.00mil 50.00mil 8.00mil] + SymbolLine[0.0000 25.00mil 5.00mil 30.00mil 8.00mil] + SymbolLine[0.0000 15.00mil 0.0000 25.00mil 8.00mil] + SymbolLine[0.0000 15.00mil 5.00mil 10.00mil 8.00mil] + SymbolLine[5.00mil 10.00mil 15.00mil 10.00mil 8.00mil] + SymbolLine[15.00mil 10.00mil 20.00mil 15.00mil 8.00mil] + SymbolLine[20.00mil 15.00mil 20.00mil 25.00mil 8.00mil] + SymbolLine[15.00mil 30.00mil 20.00mil 25.00mil 8.00mil] +) +Symbol['9' 12.00mil] +( + SymbolLine[0.0000 50.00mil 20.00mil 30.00mil 8.00mil] + SymbolLine[20.00mil 15.00mil 20.00mil 30.00mil 8.00mil] + SymbolLine[15.00mil 10.00mil 20.00mil 15.00mil 8.00mil] + SymbolLine[5.00mil 10.00mil 15.00mil 10.00mil 8.00mil] + SymbolLine[0.0000 15.00mil 5.00mil 10.00mil 8.00mil] + SymbolLine[0.0000 15.00mil 0.0000 25.00mil 8.00mil] + SymbolLine[0.0000 25.00mil 5.00mil 30.00mil 8.00mil] + SymbolLine[5.00mil 30.00mil 20.00mil 30.00mil 8.00mil] +) +Symbol[':' 12.00mil] +( + SymbolLine[0.0000 25.00mil 5.00mil 25.00mil 8.00mil] + SymbolLine[0.0000 35.00mil 5.00mil 35.00mil 8.00mil] +) +Symbol[';' 12.00mil] +( + SymbolLine[0.0000 50.00mil 10.00mil 40.00mil 8.00mil] + SymbolLine[10.00mil 25.00mil 10.00mil 30.00mil 8.00mil] +) +Symbol['<' 12.00mil] +( + SymbolLine[0.0000 30.00mil 10.00mil 20.00mil 8.00mil] + SymbolLine[0.0000 30.00mil 10.00mil 40.00mil 8.00mil] +) +Symbol['=' 12.00mil] +( + SymbolLine[0.0000 25.00mil 20.00mil 25.00mil 8.00mil] + SymbolLine[0.0000 35.00mil 20.00mil 35.00mil 8.00mil] +) +Symbol['>' 12.00mil] +( + SymbolLine[0.0000 20.00mil 10.00mil 30.00mil 8.00mil] + SymbolLine[0.0000 40.00mil 10.00mil 30.00mil 8.00mil] +) +Symbol['?' 12.00mil] +( + SymbolLine[10.00mil 30.00mil 10.00mil 35.00mil 8.00mil] + SymbolLine[10.00mil 45.00mil 10.00mil 50.00mil 8.00mil] + SymbolLine[0.0000 15.00mil 0.0000 20.00mil 8.00mil] + SymbolLine[0.0000 15.00mil 5.00mil 10.00mil 8.00mil] + SymbolLine[5.00mil 10.00mil 15.00mil 10.00mil 8.00mil] + SymbolLine[15.00mil 10.00mil 20.00mil 15.00mil 8.00mil] + SymbolLine[20.00mil 15.00mil 20.00mil 20.00mil 8.00mil] + SymbolLine[10.00mil 30.00mil 20.00mil 20.00mil 8.00mil] +) +Symbol['@' 12.00mil] +( + SymbolLine[0.0000 10.00mil 0.0000 40.00mil 8.00mil] + SymbolLine[0.0000 40.00mil 10.00mil 50.00mil 8.00mil] + SymbolLine[10.00mil 50.00mil 40.00mil 50.00mil 8.00mil] + SymbolLine[50.00mil 35.00mil 50.00mil 10.00mil 8.00mil] + SymbolLine[50.00mil 10.00mil 40.00mil 0.0000 8.00mil] + SymbolLine[40.00mil 0.0000 10.00mil 0.0000 8.00mil] + SymbolLine[10.00mil 0.0000 0.0000 10.00mil 8.00mil] + SymbolLine[15.00mil 20.00mil 15.00mil 30.00mil 8.00mil] + SymbolLine[15.00mil 30.00mil 20.00mil 35.00mil 8.00mil] + SymbolLine[20.00mil 35.00mil 30.00mil 35.00mil 8.00mil] + SymbolLine[30.00mil 35.00mil 35.00mil 30.00mil 8.00mil] + SymbolLine[35.00mil 30.00mil 40.00mil 35.00mil 8.00mil] + SymbolLine[35.00mil 30.00mil 35.00mil 15.00mil 8.00mil] + SymbolLine[35.00mil 20.00mil 30.00mil 15.00mil 8.00mil] + SymbolLine[20.00mil 15.00mil 30.00mil 15.00mil 8.00mil] + SymbolLine[20.00mil 15.00mil 15.00mil 20.00mil 8.00mil] + SymbolLine[40.00mil 35.00mil 50.00mil 35.00mil 8.00mil] +) +Symbol['A' 12.00mil] +( + SymbolLine[0.0000 15.00mil 0.0000 50.00mil 8.00mil] + SymbolLine[0.0000 15.00mil 5.00mil 10.00mil 8.00mil] + SymbolLine[5.00mil 10.00mil 20.00mil 10.00mil 8.00mil] + SymbolLine[20.00mil 10.00mil 25.00mil 15.00mil 8.00mil] + SymbolLine[25.00mil 15.00mil 25.00mil 50.00mil 8.00mil] + SymbolLine[0.0000 30.00mil 25.00mil 30.00mil 8.00mil] +) +Symbol['B' 12.00mil] +( + SymbolLine[0.0000 50.00mil 20.00mil 50.00mil 8.00mil] + SymbolLine[20.00mil 50.00mil 25.00mil 45.00mil 8.00mil] + SymbolLine[25.00mil 35.00mil 25.00mil 45.00mil 8.00mil] + SymbolLine[20.00mil 30.00mil 25.00mil 35.00mil 8.00mil] + SymbolLine[5.00mil 30.00mil 20.00mil 30.00mil 8.00mil] + SymbolLine[5.00mil 10.00mil 5.00mil 50.00mil 8.00mil] + SymbolLine[0.0000 10.00mil 20.00mil 10.00mil 8.00mil] + SymbolLine[20.00mil 10.00mil 25.00mil 15.00mil 8.00mil] + SymbolLine[25.00mil 15.00mil 25.00mil 25.00mil 8.00mil] + SymbolLine[20.00mil 30.00mil 25.00mil 25.00mil 8.00mil] +) +Symbol['C' 12.00mil] +( + SymbolLine[5.00mil 50.00mil 20.00mil 50.00mil 8.00mil] + SymbolLine[0.0000 45.00mil 5.00mil 50.00mil 8.00mil] + SymbolLine[0.0000 15.00mil 0.0000 45.00mil 8.00mil] + SymbolLine[0.0000 15.00mil 5.00mil 10.00mil 8.00mil] + SymbolLine[5.00mil 10.00mil 20.00mil 10.00mil 8.00mil] +) +Symbol['D' 12.00mil] +( + SymbolLine[5.00mil 10.00mil 5.00mil 50.00mil 8.00mil] + SymbolLine[20.00mil 10.00mil 25.00mil 15.00mil 8.00mil] + SymbolLine[25.00mil 15.00mil 25.00mil 45.00mil 8.00mil] + SymbolLine[20.00mil 50.00mil 25.00mil 45.00mil 8.00mil] + SymbolLine[0.0000 50.00mil 20.00mil 50.00mil 8.00mil] + SymbolLine[0.0000 10.00mil 20.00mil 10.00mil 8.00mil] +) +Symbol['E' 12.00mil] +( + SymbolLine[0.0000 30.00mil 15.00mil 30.00mil 8.00mil] + SymbolLine[0.0000 50.00mil 20.00mil 50.00mil 8.00mil] + SymbolLine[0.0000 10.00mil 0.0000 50.00mil 8.00mil] + SymbolLine[0.0000 10.00mil 20.00mil 10.00mil 8.00mil] +) +Symbol['F' 12.00mil] +( + SymbolLine[0.0000 10.00mil 0.0000 50.00mil 8.00mil] + SymbolLine[0.0000 10.00mil 20.00mil 10.00mil 8.00mil] + SymbolLine[0.0000 30.00mil 15.00mil 30.00mil 8.00mil] +) +Symbol['G' 12.00mil] +( + SymbolLine[20.00mil 10.00mil 25.00mil 15.00mil 8.00mil] + SymbolLine[5.00mil 10.00mil 20.00mil 10.00mil 8.00mil] + SymbolLine[0.0000 15.00mil 5.00mil 10.00mil 8.00mil] + SymbolLine[0.0000 15.00mil 0.0000 45.00mil 8.00mil] + SymbolLine[0.0000 45.00mil 5.00mil 50.00mil 8.00mil] + SymbolLine[5.00mil 50.00mil 20.00mil 50.00mil 8.00mil] + SymbolLine[20.00mil 50.00mil 25.00mil 45.00mil 8.00mil] + SymbolLine[25.00mil 35.00mil 25.00mil 45.00mil 8.00mil] + SymbolLine[20.00mil 30.00mil 25.00mil 35.00mil 8.00mil] + SymbolLine[10.00mil 30.00mil 20.00mil 30.00mil 8.00mil] +) +Symbol['H' 12.00mil] +( + SymbolLine[0.0000 10.00mil 0.0000 50.00mil 8.00mil] + SymbolLine[25.00mil 10.00mil 25.00mil 50.00mil 8.00mil] + SymbolLine[0.0000 30.00mil 25.00mil 30.00mil 8.00mil] +) +Symbol['I' 12.00mil] +( + SymbolLine[0.0000 10.00mil 10.00mil 10.00mil 8.00mil] + SymbolLine[5.00mil 10.00mil 5.00mil 50.00mil 8.00mil] + SymbolLine[0.0000 50.00mil 10.00mil 50.00mil 8.00mil] +) +Symbol['J' 12.00mil] +( + SymbolLine[0.0000 10.00mil 15.00mil 10.00mil 8.00mil] + SymbolLine[15.00mil 10.00mil 15.00mil 45.00mil 8.00mil] + SymbolLine[10.00mil 50.00mil 15.00mil 45.00mil 8.00mil] + SymbolLine[5.00mil 50.00mil 10.00mil 50.00mil 8.00mil] + SymbolLine[0.0000 45.00mil 5.00mil 50.00mil 8.00mil] +) +Symbol['K' 12.00mil] +( + SymbolLine[0.0000 10.00mil 0.0000 50.00mil 8.00mil] + SymbolLine[0.0000 30.00mil 20.00mil 10.00mil 8.00mil] + SymbolLine[0.0000 30.00mil 20.00mil 50.00mil 8.00mil] +) +Symbol['L' 12.00mil] +( + SymbolLine[0.0000 10.00mil 0.0000 50.00mil 8.00mil] + SymbolLine[0.0000 50.00mil 20.00mil 50.00mil 8.00mil] +) +Symbol['M' 12.00mil] +( + SymbolLine[0.0000 10.00mil 0.0000 50.00mil 8.00mil] + SymbolLine[0.0000 10.00mil 15.00mil 25.00mil 8.00mil] + SymbolLine[15.00mil 25.00mil 30.00mil 10.00mil 8.00mil] + SymbolLine[30.00mil 10.00mil 30.00mil 50.00mil 8.00mil] +) +Symbol['N' 12.00mil] +( + SymbolLine[0.0000 10.00mil 0.0000 50.00mil 8.00mil] + SymbolLine[0.0000 10.00mil 0.0000 15.00mil 8.00mil] + SymbolLine[0.0000 15.00mil 25.00mil 40.00mil 8.00mil] + SymbolLine[25.00mil 10.00mil 25.00mil 50.00mil 8.00mil] +) +Symbol['O' 12.00mil] +( + SymbolLine[0.0000 15.00mil 0.0000 45.00mil 8.00mil] + SymbolLine[0.0000 15.00mil 5.00mil 10.00mil 8.00mil] + SymbolLine[5.00mil 10.00mil 15.00mil 10.00mil 8.00mil] + SymbolLine[15.00mil 10.00mil 20.00mil 15.00mil 8.00mil] + SymbolLine[20.00mil 15.00mil 20.00mil 45.00mil 8.00mil] + SymbolLine[15.00mil 50.00mil 20.00mil 45.00mil 8.00mil] + SymbolLine[5.00mil 50.00mil 15.00mil 50.00mil 8.00mil] + SymbolLine[0.0000 45.00mil 5.00mil 50.00mil 8.00mil] +) +Symbol['P' 12.00mil] +( + SymbolLine[5.00mil 10.00mil 5.00mil 50.00mil 8.00mil] + SymbolLine[0.0000 10.00mil 20.00mil 10.00mil 8.00mil] + SymbolLine[20.00mil 10.00mil 25.00mil 15.00mil 8.00mil] + SymbolLine[25.00mil 15.00mil 25.00mil 25.00mil 8.00mil] + SymbolLine[20.00mil 30.00mil 25.00mil 25.00mil 8.00mil] + SymbolLine[5.00mil 30.00mil 20.00mil 30.00mil 8.00mil] +) +Symbol['Q' 12.00mil] +( + SymbolLine[0.0000 15.00mil 0.0000 45.00mil 8.00mil] + SymbolLine[0.0000 15.00mil 5.00mil 10.00mil 8.00mil] + SymbolLine[5.00mil 10.00mil 15.00mil 10.00mil 8.00mil] + SymbolLine[15.00mil 10.00mil 20.00mil 15.00mil 8.00mil] + SymbolLine[20.00mil 15.00mil 20.00mil 45.00mil 8.00mil] + SymbolLine[15.00mil 50.00mil 20.00mil 45.00mil 8.00mil] + SymbolLine[5.00mil 50.00mil 15.00mil 50.00mil 8.00mil] + SymbolLine[0.0000 45.00mil 5.00mil 50.00mil 8.00mil] + SymbolLine[10.00mil 40.00mil 20.00mil 50.00mil 8.00mil] +) +Symbol['R' 12.00mil] +( + SymbolLine[0.0000 10.00mil 20.00mil 10.00mil 8.00mil] + SymbolLine[20.00mil 10.00mil 25.00mil 15.00mil 8.00mil] + SymbolLine[25.00mil 15.00mil 25.00mil 25.00mil 8.00mil] + SymbolLine[20.00mil 30.00mil 25.00mil 25.00mil 8.00mil] + SymbolLine[5.00mil 30.00mil 20.00mil 30.00mil 8.00mil] + SymbolLine[5.00mil 10.00mil 5.00mil 50.00mil 8.00mil] + SymbolLine[5.00mil 30.00mil 25.00mil 50.00mil 8.00mil] +) +Symbol['S' 12.00mil] +( + SymbolLine[20.00mil 10.00mil 25.00mil 15.00mil 8.00mil] + SymbolLine[5.00mil 10.00mil 20.00mil 10.00mil 8.00mil] + SymbolLine[0.0000 15.00mil 5.00mil 10.00mil 8.00mil] + SymbolLine[0.0000 15.00mil 0.0000 25.00mil 8.00mil] + SymbolLine[0.0000 25.00mil 5.00mil 30.00mil 8.00mil] + SymbolLine[5.00mil 30.00mil 20.00mil 30.00mil 8.00mil] + SymbolLine[20.00mil 30.00mil 25.00mil 35.00mil 8.00mil] + SymbolLine[25.00mil 35.00mil 25.00mil 45.00mil 8.00mil] + SymbolLine[20.00mil 50.00mil 25.00mil 45.00mil 8.00mil] + SymbolLine[5.00mil 50.00mil 20.00mil 50.00mil 8.00mil] + SymbolLine[0.0000 45.00mil 5.00mil 50.00mil 8.00mil] +) +Symbol['T' 12.00mil] +( + SymbolLine[0.0000 10.00mil 20.00mil 10.00mil 8.00mil] + SymbolLine[10.00mil 10.00mil 10.00mil 50.00mil 8.00mil] +) +Symbol['U' 12.00mil] +( + SymbolLine[0.0000 10.00mil 0.0000 45.00mil 8.00mil] + SymbolLine[0.0000 45.00mil 5.00mil 50.00mil 8.00mil] + SymbolLine[5.00mil 50.00mil 15.00mil 50.00mil 8.00mil] + SymbolLine[15.00mil 50.00mil 20.00mil 45.00mil 8.00mil] + SymbolLine[20.00mil 10.00mil 20.00mil 45.00mil 8.00mil] +) +Symbol['V' 12.00mil] +( + SymbolLine[0.0000 10.00mil 0.0000 40.00mil 8.00mil] + SymbolLine[0.0000 40.00mil 10.00mil 50.00mil 8.00mil] + SymbolLine[10.00mil 50.00mil 20.00mil 40.00mil 8.00mil] + SymbolLine[20.00mil 10.00mil 20.00mil 40.00mil 8.00mil] +) +Symbol['W' 12.00mil] +( + SymbolLine[0.0000 10.00mil 0.0000 50.00mil 8.00mil] + SymbolLine[0.0000 50.00mil 15.00mil 35.00mil 8.00mil] + SymbolLine[15.00mil 35.00mil 30.00mil 50.00mil 8.00mil] + SymbolLine[30.00mil 10.00mil 30.00mil 50.00mil 8.00mil] +) +Symbol['X' 12.00mil] +( + SymbolLine[0.0000 10.00mil 0.0000 15.00mil 8.00mil] + SymbolLine[0.0000 15.00mil 25.00mil 40.00mil 8.00mil] + SymbolLine[25.00mil 40.00mil 25.00mil 50.00mil 8.00mil] + SymbolLine[0.0000 40.00mil 0.0000 50.00mil 8.00mil] + SymbolLine[0.0000 40.00mil 25.00mil 15.00mil 8.00mil] + SymbolLine[25.00mil 10.00mil 25.00mil 15.00mil 8.00mil] +) +Symbol['Y' 12.00mil] +( + SymbolLine[0.0000 10.00mil 0.0000 15.00mil 8.00mil] + SymbolLine[0.0000 15.00mil 10.00mil 25.00mil 8.00mil] + SymbolLine[10.00mil 25.00mil 20.00mil 15.00mil 8.00mil] + SymbolLine[20.00mil 10.00mil 20.00mil 15.00mil 8.00mil] + SymbolLine[10.00mil 25.00mil 10.00mil 50.00mil 8.00mil] +) +Symbol['Z' 12.00mil] +( + SymbolLine[0.0000 10.00mil 25.00mil 10.00mil 8.00mil] + SymbolLine[25.00mil 10.00mil 25.00mil 15.00mil 8.00mil] + SymbolLine[0.0000 40.00mil 25.00mil 15.00mil 8.00mil] + SymbolLine[0.0000 40.00mil 0.0000 50.00mil 8.00mil] + SymbolLine[0.0000 50.00mil 25.00mil 50.00mil 8.00mil] +) +Symbol['[' 12.00mil] +( + SymbolLine[0.0000 10.00mil 5.00mil 10.00mil 8.00mil] + SymbolLine[0.0000 10.00mil 0.0000 50.00mil 8.00mil] + SymbolLine[0.0000 50.00mil 5.00mil 50.00mil 8.00mil] +) +Symbol['\' 12.00mil] +( + SymbolLine[0.0000 15.00mil 30.00mil 45.00mil 8.00mil] +) +Symbol[']' 12.00mil] +( + SymbolLine[0.0000 10.00mil 5.00mil 10.00mil 8.00mil] + SymbolLine[5.00mil 10.00mil 5.00mil 50.00mil 8.00mil] + SymbolLine[0.0000 50.00mil 5.00mil 50.00mil 8.00mil] +) +Symbol['^' 12.00mil] +( + SymbolLine[0.0000 15.00mil 5.00mil 10.00mil 8.00mil] + SymbolLine[5.00mil 10.00mil 10.00mil 15.00mil 8.00mil] +) +Symbol['_' 12.00mil] +( + SymbolLine[0.0000 50.00mil 20.00mil 50.00mil 8.00mil] +) +Symbol['a' 12.00mil] +( + SymbolLine[15.00mil 30.00mil 20.00mil 35.00mil 8.00mil] + SymbolLine[5.00mil 30.00mil 15.00mil 30.00mil 8.00mil] + SymbolLine[0.0000 35.00mil 5.00mil 30.00mil 8.00mil] + SymbolLine[0.0000 35.00mil 0.0000 45.00mil 8.00mil] + SymbolLine[0.0000 45.00mil 5.00mil 50.00mil 8.00mil] + SymbolLine[20.00mil 30.00mil 20.00mil 45.00mil 8.00mil] + SymbolLine[20.00mil 45.00mil 25.00mil 50.00mil 8.00mil] + SymbolLine[5.00mil 50.00mil 15.00mil 50.00mil 8.00mil] + SymbolLine[15.00mil 50.00mil 20.00mil 45.00mil 8.00mil] +) +Symbol['b' 12.00mil] +( + SymbolLine[0.0000 10.00mil 0.0000 50.00mil 8.00mil] + SymbolLine[0.0000 45.00mil 5.00mil 50.00mil 8.00mil] + SymbolLine[5.00mil 50.00mil 15.00mil 50.00mil 8.00mil] + SymbolLine[15.00mil 50.00mil 20.00mil 45.00mil 8.00mil] + SymbolLine[20.00mil 35.00mil 20.00mil 45.00mil 8.00mil] + SymbolLine[15.00mil 30.00mil 20.00mil 35.00mil 8.00mil] + SymbolLine[5.00mil 30.00mil 15.00mil 30.00mil 8.00mil] + SymbolLine[0.0000 35.00mil 5.00mil 30.00mil 8.00mil] +) +Symbol['c' 12.00mil] +( + SymbolLine[5.00mil 30.00mil 20.00mil 30.00mil 8.00mil] + SymbolLine[0.0000 35.00mil 5.00mil 30.00mil 8.00mil] + SymbolLine[0.0000 35.00mil 0.0000 45.00mil 8.00mil] + SymbolLine[0.0000 45.00mil 5.00mil 50.00mil 8.00mil] + SymbolLine[5.00mil 50.00mil 20.00mil 50.00mil 8.00mil] +) +Symbol['d' 12.00mil] +( + SymbolLine[20.00mil 10.00mil 20.00mil 50.00mil 8.00mil] + SymbolLine[15.00mil 50.00mil 20.00mil 45.00mil 8.00mil] + SymbolLine[5.00mil 50.00mil 15.00mil 50.00mil 8.00mil] + SymbolLine[0.0000 45.00mil 5.00mil 50.00mil 8.00mil] + SymbolLine[0.0000 35.00mil 0.0000 45.00mil 8.00mil] + SymbolLine[0.0000 35.00mil 5.00mil 30.00mil 8.00mil] + SymbolLine[5.00mil 30.00mil 15.00mil 30.00mil 8.00mil] + SymbolLine[15.00mil 30.00mil 20.00mil 35.00mil 8.00mil] +) +Symbol['e' 12.00mil] +( + SymbolLine[5.00mil 50.00mil 20.00mil 50.00mil 8.00mil] + SymbolLine[0.0000 45.00mil 5.00mil 50.00mil 8.00mil] + SymbolLine[0.0000 35.00mil 0.0000 45.00mil 8.00mil] + SymbolLine[0.0000 35.00mil 5.00mil 30.00mil 8.00mil] + SymbolLine[5.00mil 30.00mil 15.00mil 30.00mil 8.00mil] + SymbolLine[15.00mil 30.00mil 20.00mil 35.00mil 8.00mil] + SymbolLine[0.0000 40.00mil 20.00mil 40.00mil 8.00mil] + SymbolLine[20.00mil 40.00mil 20.00mil 35.00mil 8.00mil] +) +Symbol['f' 10.00mil] +( + SymbolLine[5.00mil 15.00mil 5.00mil 50.00mil 8.00mil] + SymbolLine[5.00mil 15.00mil 10.00mil 10.00mil 8.00mil] + SymbolLine[10.00mil 10.00mil 15.00mil 10.00mil 8.00mil] + SymbolLine[0.0000 30.00mil 10.00mil 30.00mil 8.00mil] +) +Symbol['g' 12.00mil] +( + SymbolLine[15.00mil 30.00mil 20.00mil 35.00mil 8.00mil] + SymbolLine[5.00mil 30.00mil 15.00mil 30.00mil 8.00mil] + SymbolLine[0.0000 35.00mil 5.00mil 30.00mil 8.00mil] + SymbolLine[0.0000 35.00mil 0.0000 45.00mil 8.00mil] + SymbolLine[0.0000 45.00mil 5.00mil 50.00mil 8.00mil] + SymbolLine[5.00mil 50.00mil 15.00mil 50.00mil 8.00mil] + SymbolLine[15.00mil 50.00mil 20.00mil 45.00mil 8.00mil] + SymbolLine[0.0000 60.00mil 5.00mil 65.00mil 8.00mil] + SymbolLine[5.00mil 65.00mil 15.00mil 65.00mil 8.00mil] + SymbolLine[15.00mil 65.00mil 20.00mil 60.00mil 8.00mil] + SymbolLine[20.00mil 30.00mil 20.00mil 60.00mil 8.00mil] +) +Symbol['h' 12.00mil] +( + SymbolLine[0.0000 10.00mil 0.0000 50.00mil 8.00mil] + SymbolLine[0.0000 35.00mil 5.00mil 30.00mil 8.00mil] + SymbolLine[5.00mil 30.00mil 15.00mil 30.00mil 8.00mil] + SymbolLine[15.00mil 30.00mil 20.00mil 35.00mil 8.00mil] + SymbolLine[20.00mil 35.00mil 20.00mil 50.00mil 8.00mil] +) +Symbol['i' 10.00mil] +( + SymbolLine[0.0000 20.00mil 0.0000 25.00mil 8.00mil] + SymbolLine[0.0000 35.00mil 0.0000 50.00mil 8.00mil] +) +Symbol['j' 10.00mil] +( + SymbolLine[5.00mil 20.00mil 5.00mil 25.00mil 8.00mil] + SymbolLine[5.00mil 35.00mil 5.00mil 60.00mil 8.00mil] + SymbolLine[0.0000 65.00mil 5.00mil 60.00mil 8.00mil] +) +Symbol['k' 12.00mil] +( + SymbolLine[0.0000 10.00mil 0.0000 50.00mil 8.00mil] + SymbolLine[0.0000 35.00mil 15.00mil 50.00mil 8.00mil] + SymbolLine[0.0000 35.00mil 10.00mil 25.00mil 8.00mil] +) +Symbol['l' 10.00mil] +( + SymbolLine[0.0000 10.00mil 0.0000 45.00mil 8.00mil] + SymbolLine[0.0000 45.00mil 5.00mil 50.00mil 8.00mil] +) +Symbol['m' 12.00mil] +( + SymbolLine[5.00mil 35.00mil 5.00mil 50.00mil 8.00mil] + SymbolLine[5.00mil 35.00mil 10.00mil 30.00mil 8.00mil] + SymbolLine[10.00mil 30.00mil 15.00mil 30.00mil 8.00mil] + SymbolLine[15.00mil 30.00mil 20.00mil 35.00mil 8.00mil] + SymbolLine[20.00mil 35.00mil 20.00mil 50.00mil 8.00mil] + SymbolLine[20.00mil 35.00mil 25.00mil 30.00mil 8.00mil] + SymbolLine[25.00mil 30.00mil 30.00mil 30.00mil 8.00mil] + SymbolLine[30.00mil 30.00mil 35.00mil 35.00mil 8.00mil] + SymbolLine[35.00mil 35.00mil 35.00mil 50.00mil 8.00mil] + SymbolLine[0.0000 30.00mil 5.00mil 35.00mil 8.00mil] +) +Symbol['n' 12.00mil] +( + SymbolLine[5.00mil 35.00mil 5.00mil 50.00mil 8.00mil] + SymbolLine[5.00mil 35.00mil 10.00mil 30.00mil 8.00mil] + SymbolLine[10.00mil 30.00mil 15.00mil 30.00mil 8.00mil] + SymbolLine[15.00mil 30.00mil 20.00mil 35.00mil 8.00mil] + SymbolLine[20.00mil 35.00mil 20.00mil 50.00mil 8.00mil] + SymbolLine[0.0000 30.00mil 5.00mil 35.00mil 8.00mil] +) +Symbol['o' 12.00mil] +( + SymbolLine[0.0000 35.00mil 0.0000 45.00mil 8.00mil] + SymbolLine[0.0000 35.00mil 5.00mil 30.00mil 8.00mil] + SymbolLine[5.00mil 30.00mil 15.00mil 30.00mil 8.00mil] + SymbolLine[15.00mil 30.00mil 20.00mil 35.00mil 8.00mil] + SymbolLine[20.00mil 35.00mil 20.00mil 45.00mil 8.00mil] + SymbolLine[15.00mil 50.00mil 20.00mil 45.00mil 8.00mil] + SymbolLine[5.00mil 50.00mil 15.00mil 50.00mil 8.00mil] + SymbolLine[0.0000 45.00mil 5.00mil 50.00mil 8.00mil] +) +Symbol['p' 12.00mil] +( + SymbolLine[5.00mil 35.00mil 5.00mil 65.00mil 8.00mil] + SymbolLine[0.0000 30.00mil 5.00mil 35.00mil 8.00mil] + SymbolLine[5.00mil 35.00mil 10.00mil 30.00mil 8.00mil] + SymbolLine[10.00mil 30.00mil 20.00mil 30.00mil 8.00mil] + SymbolLine[20.00mil 30.00mil 25.00mil 35.00mil 8.00mil] + SymbolLine[25.00mil 35.00mil 25.00mil 45.00mil 8.00mil] + SymbolLine[20.00mil 50.00mil 25.00mil 45.00mil 8.00mil] + SymbolLine[10.00mil 50.00mil 20.00mil 50.00mil 8.00mil] + SymbolLine[5.00mil 45.00mil 10.00mil 50.00mil 8.00mil] +) +Symbol['q' 12.00mil] +( + SymbolLine[20.00mil 35.00mil 20.00mil 65.00mil 8.00mil] + SymbolLine[15.00mil 30.00mil 20.00mil 35.00mil 8.00mil] + SymbolLine[5.00mil 30.00mil 15.00mil 30.00mil 8.00mil] + SymbolLine[0.0000 35.00mil 5.00mil 30.00mil 8.00mil] + SymbolLine[0.0000 35.00mil 0.0000 45.00mil 8.00mil] + SymbolLine[0.0000 45.00mil 5.00mil 50.00mil 8.00mil] + SymbolLine[5.00mil 50.00mil 15.00mil 50.00mil 8.00mil] + SymbolLine[15.00mil 50.00mil 20.00mil 45.00mil 8.00mil] +) +Symbol['r' 12.00mil] +( + SymbolLine[5.00mil 35.00mil 5.00mil 50.00mil 8.00mil] + SymbolLine[5.00mil 35.00mil 10.00mil 30.00mil 8.00mil] + SymbolLine[10.00mil 30.00mil 20.00mil 30.00mil 8.00mil] + SymbolLine[0.0000 30.00mil 5.00mil 35.00mil 8.00mil] +) +Symbol['s' 12.00mil] +( + SymbolLine[5.00mil 50.00mil 20.00mil 50.00mil 8.00mil] + SymbolLine[20.00mil 50.00mil 25.00mil 45.00mil 8.00mil] + SymbolLine[20.00mil 40.00mil 25.00mil 45.00mil 8.00mil] + SymbolLine[5.00mil 40.00mil 20.00mil 40.00mil 8.00mil] + SymbolLine[0.0000 35.00mil 5.00mil 40.00mil 8.00mil] + SymbolLine[0.0000 35.00mil 5.00mil 30.00mil 8.00mil] + SymbolLine[5.00mil 30.00mil 20.00mil 30.00mil 8.00mil] + SymbolLine[20.00mil 30.00mil 25.00mil 35.00mil 8.00mil] + SymbolLine[0.0000 45.00mil 5.00mil 50.00mil 8.00mil] +) +Symbol['t' 10.00mil] +( + SymbolLine[5.00mil 10.00mil 5.00mil 45.00mil 8.00mil] + SymbolLine[5.00mil 45.00mil 10.00mil 50.00mil 8.00mil] + SymbolLine[0.0000 25.00mil 10.00mil 25.00mil 8.00mil] +) +Symbol['u' 12.00mil] +( + SymbolLine[0.0000 30.00mil 0.0000 45.00mil 8.00mil] + SymbolLine[0.0000 45.00mil 5.00mil 50.00mil 8.00mil] + SymbolLine[5.00mil 50.00mil 15.00mil 50.00mil 8.00mil] + SymbolLine[15.00mil 50.00mil 20.00mil 45.00mil 8.00mil] + SymbolLine[20.00mil 30.00mil 20.00mil 45.00mil 8.00mil] +) +Symbol['v' 12.00mil] +( + SymbolLine[0.0000 30.00mil 0.0000 40.00mil 8.00mil] + SymbolLine[0.0000 40.00mil 10.00mil 50.00mil 8.00mil] + SymbolLine[10.00mil 50.00mil 20.00mil 40.00mil 8.00mil] + SymbolLine[20.00mil 30.00mil 20.00mil 40.00mil 8.00mil] +) +Symbol['w' 12.00mil] +( + SymbolLine[0.0000 30.00mil 0.0000 45.00mil 8.00mil] + SymbolLine[0.0000 45.00mil 5.00mil 50.00mil 8.00mil] + SymbolLine[5.00mil 50.00mil 10.00mil 50.00mil 8.00mil] + SymbolLine[10.00mil 50.00mil 15.00mil 45.00mil 8.00mil] + SymbolLine[15.00mil 30.00mil 15.00mil 45.00mil 8.00mil] + SymbolLine[15.00mil 45.00mil 20.00mil 50.00mil 8.00mil] + SymbolLine[20.00mil 50.00mil 25.00mil 50.00mil 8.00mil] + SymbolLine[25.00mil 50.00mil 30.00mil 45.00mil 8.00mil] + SymbolLine[30.00mil 30.00mil 30.00mil 45.00mil 8.00mil] +) +Symbol['x' 12.00mil] +( + SymbolLine[0.0000 30.00mil 20.00mil 50.00mil 8.00mil] + SymbolLine[0.0000 50.00mil 20.00mil 30.00mil 8.00mil] +) +Symbol['y' 12.00mil] +( + SymbolLine[0.0000 30.00mil 0.0000 45.00mil 8.00mil] + SymbolLine[0.0000 45.00mil 5.00mil 50.00mil 8.00mil] + SymbolLine[20.00mil 30.00mil 20.00mil 60.00mil 8.00mil] + SymbolLine[15.00mil 65.00mil 20.00mil 60.00mil 8.00mil] + SymbolLine[5.00mil 65.00mil 15.00mil 65.00mil 8.00mil] + SymbolLine[0.0000 60.00mil 5.00mil 65.00mil 8.00mil] + SymbolLine[5.00mil 50.00mil 15.00mil 50.00mil 8.00mil] + SymbolLine[15.00mil 50.00mil 20.00mil 45.00mil 8.00mil] +) +Symbol['z' 12.00mil] +( + SymbolLine[0.0000 30.00mil 20.00mil 30.00mil 8.00mil] + SymbolLine[0.0000 50.00mil 20.00mil 30.00mil 8.00mil] + SymbolLine[0.0000 50.00mil 20.00mil 50.00mil 8.00mil] +) +Symbol['{' 12.00mil] +( + SymbolLine[5.00mil 15.00mil 10.00mil 10.00mil 8.00mil] + SymbolLine[5.00mil 15.00mil 5.00mil 25.00mil 8.00mil] + SymbolLine[0.0000 30.00mil 5.00mil 25.00mil 8.00mil] + SymbolLine[0.0000 30.00mil 5.00mil 35.00mil 8.00mil] + SymbolLine[5.00mil 35.00mil 5.00mil 45.00mil 8.00mil] + SymbolLine[5.00mil 45.00mil 10.00mil 50.00mil 8.00mil] +) +Symbol['|' 12.00mil] +( + SymbolLine[0.0000 10.00mil 0.0000 50.00mil 8.00mil] +) +Symbol['}' 12.00mil] +( + SymbolLine[0.0000 10.00mil 5.00mil 15.00mil 8.00mil] + SymbolLine[5.00mil 15.00mil 5.00mil 25.00mil 8.00mil] + SymbolLine[5.00mil 25.00mil 10.00mil 30.00mil 8.00mil] + SymbolLine[5.00mil 35.00mil 10.00mil 30.00mil 8.00mil] + SymbolLine[5.00mil 35.00mil 5.00mil 45.00mil 8.00mil] + SymbolLine[0.0000 50.00mil 5.00mil 45.00mil 8.00mil] +) +Symbol['~' 12.00mil] +( + SymbolLine[0.0000 35.00mil 5.00mil 30.00mil 8.00mil] + SymbolLine[5.00mil 30.00mil 10.00mil 30.00mil 8.00mil] + SymbolLine[10.00mil 30.00mil 15.00mil 35.00mil 8.00mil] + SymbolLine[15.00mil 35.00mil 20.00mil 35.00mil 8.00mil] + SymbolLine[20.00mil 35.00mil 25.00mil 30.00mil 8.00mil] +) +Attribute("PCB::grid::unit" "mil") +Attribute("PCB::grid::size" "25.00mil") + +Element["" "" "" "" 2900.00mil 850.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 28.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2800.00mil 850.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 28.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2700.00mil 850.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 28.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2600.00mil 850.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 28.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2500.00mil 850.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 28.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2400.00mil 850.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 28.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2300.00mil 850.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 28.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2200.00mil 850.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 28.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2100.00mil 850.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 28.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2000.00mil 850.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 28.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2900.00mil 1150.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 28.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2800.00mil 1150.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 28.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2700.00mil 1150.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 28.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2600.00mil 1150.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 28.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2500.00mil 1150.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 28.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2400.00mil 1150.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 28.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2300.00mil 1150.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 28.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2200.00mil 1150.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 28.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2100.00mil 1150.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 28.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2000.00mil 1150.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 28.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2950.00mil 1900.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 28.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2950.00mil 2170.00mil 10.00mil 50.00mil 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 28.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 1750.00mil 1900.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 28.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 1750.00mil 2170.00mil -50.00mil 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 28.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2650.00mil 2400.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 28.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2500.00mil 1775.00mil -75.00mil 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 28.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 3125.00mil 1775.00mil 0.0000 50.00mil 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 28.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2975.00mil 1500.00mil 0.0000 50.00mil 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 28.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2825.00mil 1425.00mil -50.00mil 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 28.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2150.00mil 2480.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 28.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 1950.00mil 2480.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 28.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2050.00mil 2480.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 28.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2950.00mil 2480.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 28.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2850.00mil 2480.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 28.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2750.00mil 2480.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 28.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2950.00mil 600.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 28.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2850.00mil 600.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 28.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2750.00mil 600.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 28.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2650.00mil 600.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 28.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2550.00mil 600.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 28.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2450.00mil 600.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 28.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2350.00mil 600.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 28.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2250.00mil 600.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 28.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2090.00mil 590.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 28.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 1990.00mil 590.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 28.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 1890.00mil 590.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 28.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 1790.00mil 590.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 28.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 1690.00mil 590.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 28.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 1590.00mil 590.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 28.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 1525.00mil 1425.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 28.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 1525.00mil 1525.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 28.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2550.00mil 1600.00mil 0.0000 150.00mil 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 28.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2750.00mil 1600.00mil -50.00mil 50.00mil 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 28.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2650.00mil 1600.00mil 0.0000 50.00mil 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 28.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 1850.00mil 1500.00mil 50.00mil 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 28.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 1750.00mil 1500.00mil 75.00mil 50.00mil 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 28.00mil "1" "1" ""] + + ) + +Element["" "Standard SMT resistor, capacitor etc" "" "1206" 2025.00mil 1500.00mil -31.50mil 31.50mil 1 100 ""] +( + Pad[-11.81mil 59.05mil 11.81mil 59.05mil 51.18mil 20.00mil 57.18mil "1" "1" "square"] + Pad[-11.81mil -59.05mil 11.81mil -59.05mil 51.18mil 20.00mil 57.18mil "2" "2" "square"] + ElementLine [-37.40mil -23.62mil -37.40mil 23.62mil 8.00mil] + ElementLine [37.40mil -23.62mil 37.40mil 23.62mil 8.00mil] + + ) + +Element["" "Standard SMT resistor, capacitor etc" "" "1206" 2125.00mil 1500.00mil -31.50mil 31.50mil 1 100 ""] +( + Pad[-11.81mil 59.05mil 11.81mil 59.05mil 51.18mil 20.00mil 57.18mil "1" "1" "square"] + Pad[-11.81mil -59.05mil 11.81mil -59.05mil 51.18mil 20.00mil 57.18mil "2" "2" "square"] + ElementLine [-37.40mil -23.62mil -37.40mil 23.62mil 8.00mil] + ElementLine [37.40mil -23.62mil 37.40mil 23.62mil 8.00mil] + + ) + +Element["" "Standard SMT resistor, capacitor etc" "" "1206" 2225.00mil 1500.00mil -31.50mil 31.50mil 1 100 ""] +( + Pad[-11.81mil 59.05mil 11.81mil 59.05mil 51.18mil 20.00mil 57.18mil "1" "1" "square"] + Pad[-11.81mil -59.05mil 11.81mil -59.05mil 51.18mil 20.00mil 57.18mil "2" "2" "square"] + ElementLine [-37.40mil -23.62mil -37.40mil 23.62mil 8.00mil] + ElementLine [37.40mil -23.62mil 37.40mil 23.62mil 8.00mil] + + ) + +Element["" "Standard SMT resistor, capacitor etc" "" "1206" 2325.00mil 1500.00mil -31.50mil 31.50mil 1 100 ""] +( + Pad[-11.81mil 59.05mil 11.81mil 59.05mil 51.18mil 20.00mil 57.18mil "1" "1" "square"] + Pad[-11.81mil -59.05mil 11.81mil -59.05mil 51.18mil 20.00mil 57.18mil "2" "2" "square"] + ElementLine [-37.40mil -23.62mil -37.40mil 23.62mil 8.00mil] + ElementLine [37.40mil -23.62mil 37.40mil 23.62mil 8.00mil] + + ) + +Element["" "Standard SMT resistor, capacitor etc" "" "1206" 2425.00mil 1500.00mil -31.50mil 31.50mil 1 100 ""] +( + Pad[-11.81mil 59.05mil 11.81mil 59.05mil 51.18mil 20.00mil 57.18mil "1" "1" "square"] + Pad[-11.81mil -59.05mil 11.81mil -59.05mil 51.18mil 20.00mil 57.18mil "2" "2" "square"] + ElementLine [-37.40mil -23.62mil -37.40mil 23.62mil 8.00mil] + ElementLine [37.40mil -23.62mil 37.40mil 23.62mil 8.00mil] + + ) + +Element["" "Standard SMT resistor, capacitor etc" "" "1206" 2600.00mil 1425.00mil -31.50mil 31.50mil 1 100 ""] +( + Pad[-11.81mil 59.05mil 11.81mil 59.05mil 51.18mil 20.00mil 57.18mil "1" "1" "square"] + Pad[-11.81mil -59.05mil 11.81mil -59.05mil 51.18mil 20.00mil 57.18mil "2" "2" "square"] + ElementLine [-37.40mil -23.62mil -37.40mil 23.62mil 8.00mil] + ElementLine [37.40mil -23.62mil 37.40mil 23.62mil 8.00mil] + + ) + +Element["" "" "" "" 1650.00mil 1050.00mil 0.0000 -75.00mil 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 28.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 1425.00mil 1050.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 28.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 1575.00mil 825.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 28.00mil "1" "1" ""] + + ) +Layer(1 "top" "copper") +( +) +Layer(2 "bottom" "copper") +( + Line[2750.00mil 675.00mil 2700.00mil 725.00mil 20.00mil 20.00mil "clearline"] + Line[2700.00mil 725.00mil 2700.00mil 850.00mil 20.00mil 20.00mil "clearline"] + Line[2650.00mil 600.00mil 2650.00mil 675.00mil 20.00mil 20.00mil "clearline"] + Line[2650.00mil 675.00mil 2600.00mil 725.00mil 20.00mil 20.00mil "clearline"] + Line[2600.00mil 725.00mil 2600.00mil 850.00mil 20.00mil 20.00mil "clearline"] + Line[2550.00mil 600.00mil 2550.00mil 675.00mil 20.00mil 20.00mil "clearline"] + Line[2550.00mil 675.00mil 2500.00mil 725.00mil 20.00mil 20.00mil "clearline"] + Line[2500.00mil 725.00mil 2500.00mil 850.00mil 20.00mil 20.00mil "clearline"] + Line[2450.00mil 600.00mil 2450.00mil 675.00mil 20.00mil 20.00mil "clearline"] + Line[2450.00mil 675.00mil 2400.00mil 725.00mil 20.00mil 20.00mil "clearline"] + Line[2400.00mil 725.00mil 2400.00mil 850.00mil 20.00mil 20.00mil "clearline"] + Line[2350.00mil 600.00mil 2350.00mil 675.00mil 20.00mil 20.00mil "clearline"] + Line[2350.00mil 675.00mil 2300.00mil 725.00mil 20.00mil 20.00mil "clearline"] + Line[2300.00mil 725.00mil 2300.00mil 850.00mil 20.00mil 20.00mil "clearline"] + Line[2250.00mil 600.00mil 2250.00mil 675.00mil 20.00mil 20.00mil "clearline"] + Line[2250.00mil 675.00mil 2200.00mil 725.00mil 20.00mil 20.00mil "clearline"] + Line[2200.00mil 725.00mil 2200.00mil 850.00mil 20.00mil 20.00mil "clearline"] + Line[2090.00mil 600.00mil 2090.00mil 790.00mil 20.00mil 20.00mil "clearline"] + Line[1925.00mil 750.00mil 2000.00mil 675.00mil 20.00mil 20.00mil "clearline"] + Line[2000.00mil 675.00mil 2000.00mil 610.00mil 20.00mil 20.00mil "clearline"] + Line[1850.00mil 950.00mil 1850.00mil 650.00mil 20.00mil 20.00mil "clearline"] + Line[1500.00mil 1150.00mil 1500.00mil 775.00mil 20.00mil 20.00mil "clearline"] + Line[1500.00mil 775.00mil 1675.00mil 600.00mil 20.00mil 20.00mil "clearline"] + Line[2800.00mil 1150.00mil 2800.00mil 1075.00mil 20.00mil 20.00mil "clearline"] + Line[2800.00mil 1075.00mil 2725.00mil 1000.00mil 20.00mil 20.00mil "clearline"] + Line[2725.00mil 1000.00mil 2000.00mil 1000.00mil 20.00mil 20.00mil "clearline"] + Line[2000.00mil 1000.00mil 1925.00mil 925.00mil 20.00mil 20.00mil "clearline"] + Line[1925.00mil 925.00mil 1925.00mil 750.00mil 20.00mil 20.00mil "clearline"] + Line[2000.00mil 850.00mil 2000.00mil 900.00mil 40.00mil 20.00mil "clearline"] + Line[2000.00mil 900.00mil 2025.00mil 925.00mil 40.00mil 20.00mil "clearline"] + Line[2875.00mil 925.00mil 2925.00mil 925.00mil 40.00mil 20.00mil "clearline"] + Line[2900.00mil 925.00mil 2900.00mil 850.00mil 40.00mil 20.00mil "clearline"] + Line[2700.00mil 1150.00mil 2700.00mil 1100.00mil 20.00mil 20.00mil "clearline"] + Line[2700.00mil 1100.00mil 2675.00mil 1075.00mil 20.00mil 20.00mil "clearline"] + Line[2675.00mil 1075.00mil 1975.00mil 1075.00mil 20.00mil 20.00mil "clearline"] + Line[1975.00mil 1075.00mil 1850.00mil 950.00mil 20.00mil 20.00mil "clearline"] + Line[1650.00mil 1150.00mil 2000.00mil 1150.00mil 20.00mil 20.00mil "clearline"] + Line[2100.00mil 1150.00mil 2000.00mil 1250.00mil 20.00mil 20.00mil "clearline"] + Line[2000.00mil 1250.00mil 1600.00mil 1250.00mil 20.00mil 20.00mil "clearline"] + Line[1600.00mil 1250.00mil 1500.00mil 1150.00mil 20.00mil 20.00mil "clearline"] + Line[2100.00mil 850.00mil 2100.00mil 800.00mil 20.00mil 20.00mil "clearline"] + Line[2100.00mil 800.00mil 2090.00mil 790.00mil 20.00mil 20.00mil "clearline"] + Line[2140.00mil 2480.00mil 2450.00mil 2170.00mil 40.00mil 20.00mil "clearline"] + Line[2450.00mil 2170.00mil 2950.00mil 2170.00mil 40.00mil 20.00mil "clearline"] + Line[2750.00mil 1675.00mil 1950.00mil 2480.00mil 40.00mil 20.00mil "clearline"] + Line[2850.00mil 1675.00mil 2950.00mil 1775.00mil 40.00mil 20.00mil "clearline"] + Line[2850.00mil 1550.00mil 2850.00mil 1675.00mil 40.00mil 20.00mil "clearline"] + Line[2950.00mil 2170.00mil 3050.00mil 2070.00mil 40.00mil 20.00mil "clearline"] + Line[3050.00mil 2070.00mil 3050.00mil 1050.00mil 40.00mil 20.00mil "clearline"] + Line[3050.00mil 1050.00mil 2900.00mil 900.00mil 40.00mil 20.00mil "clearline"] + Line[2650.00mil 2400.00mil 2500.00mil 2400.00mil 40.00mil 20.00mil "clearline"] + Line[2500.00mil 2400.00mil 2350.00mil 2550.00mil 20.00mil 20.00mil "clearline"] + Line[2350.00mil 2550.00mil 1625.00mil 2550.00mil 20.00mil 20.00mil "clearline"] + Line[1625.00mil 2550.00mil 1425.00mil 2350.00mil 20.00mil 20.00mil "clearline"] + Line[2025.00mil 925.00mil 2875.00mil 925.00mil 40.00mil 20.00mil "clearline"] + Line[1750.00mil 1900.00mil 1875.00mil 1775.00mil 20.00mil 20.00mil "clearline"] + Line[1875.00mil 1775.00mil 2500.00mil 1775.00mil 20.00mil 20.00mil "clearline"] + Line[3125.00mil 1775.00mil 3125.00mil 950.00mil 20.00mil 20.00mil "clearline"] + Line[3125.00mil 950.00mil 2950.00mil 775.00mil 20.00mil 20.00mil "clearline"] + Line[2950.00mil 775.00mil 2825.00mil 775.00mil 20.00mil 20.00mil "clearline"] + Line[2825.00mil 775.00mil 2800.00mil 800.00mil 20.00mil 20.00mil "clearline"] + Line[2800.00mil 800.00mil 2800.00mil 850.00mil 20.00mil 20.00mil "clearline"] + Line[2750.00mil 1675.00mil 2750.00mil 1600.00mil 40.00mil 20.00mil "clearline"] + Line[2900.00mil 1350.00mil 2900.00mil 1150.00mil 40.00mil 20.00mil "clearline"] + Line[2425.00mil 1575.00mil 2375.00mil 1625.00mil 20.00mil 20.00mil "clearline"] + Line[2300.00mil 1150.00mil 2125.00mil 1325.00mil 20.00mil 20.00mil "clearline"] + Line[2200.00mil 1150.00mil 2025.00mil 1325.00mil 20.00mil 20.00mil "clearline"] + Line[1730.00mil 2150.00mil 1625.00mil 2070.00mil 20.00mil 20.00mil "clearline"] + Line[1425.00mil 2350.00mil 1425.00mil 1050.00mil 20.00mil 20.00mil "clearline"] + Line[2750.00mil 600.00mil 2750.00mil 675.00mil 20.00mil 20.00mil "clearline"] + Line[1625.00mil 1500.00mil 1750.00mil 1500.00mil 20.00mil 20.00mil "clearline"] + Line[1600.00mil 2300.00mil 1750.00mil 2300.00mil 20.00mil 20.00mil "clearline"] + Line[1750.00mil 2300.00mil 1825.00mil 2225.00mil 20.00mil 20.00mil "clearline"] + Line[1825.00mil 2225.00mil 1825.00mil 2075.00mil 20.00mil 20.00mil "clearline"] + Line[1825.00mil 2075.00mil 1750.00mil 2000.00mil 20.00mil 20.00mil "clearline"] + Line[1750.00mil 2000.00mil 1750.00mil 1900.00mil 20.00mil 20.00mil "clearline"] + Line[1525.00mil 1525.00mil 1525.00mil 2225.00mil 20.00mil 20.00mil "clearline"] + Line[1525.00mil 2225.00mil 1600.00mil 2300.00mil 20.00mil 20.00mil "clearline"] + Line[2850.00mil 1550.00mil 2775.00mil 1475.00mil 40.00mil 20.00mil "clearline"] + Line[2975.00mil 1500.00mil 3050.00mil 1500.00mil 40.00mil 20.00mil "clearline"] + Line[2650.00mil 1600.00mil 2900.00mil 1350.00mil 40.00mil 20.00mil "clearline"] + Line[1775.00mil 600.00mil 1775.00mil 925.00mil 20.00mil 20.00mil "clearline"] + Line[1850.00mil 650.00mil 1850.00mil 630.00mil 20.00mil 20.00mil "clearline"] + Line[1850.00mil 630.00mil 1890.00mil 590.00mil 20.00mil 20.00mil "clearline"] + Line[2950.00mil 1775.00mil 2950.00mil 1900.00mil 40.00mil 20.00mil "clearline"] + Line[1850.00mil 1500.00mil 2575.00mil 1500.00mil 20.00mil 20.00mil "clearline"] + Line[1625.00mil 1625.00mil 2375.00mil 1625.00mil 20.00mil 20.00mil "clearline"] + Line[2775.00mil 1375.00mil 2837.50mil 1437.50mil 20.00mil 20.00mil "clearline"] + Line[2625.00mil 1375.00mil 2775.00mil 1375.00mil 20.00mil 20.00mil "clearline"] + Line[2400.00mil 1150.00mil 2225.00mil 1325.00mil 20.00mil 20.00mil "clearline"] + Line[2500.00mil 1150.00mil 2325.00mil 1325.00mil 20.00mil 20.00mil "clearline"] + Line[2600.00mil 1150.00mil 2425.00mil 1325.00mil 20.00mil 20.00mil "clearline"] + Line[2425.00mil 1325.00mil 2425.00mil 1425.00mil 20.00mil 20.00mil "clearline"] + Line[2325.00mil 1325.00mil 2325.00mil 1425.00mil 20.00mil 20.00mil "clearline"] + Line[2225.00mil 1325.00mil 2225.00mil 1425.00mil 20.00mil 20.00mil "clearline"] + Line[2125.00mil 1325.00mil 2125.00mil 1425.00mil 20.00mil 20.00mil "clearline"] + Line[2025.00mil 1325.00mil 2025.00mil 1425.00mil 20.00mil 20.00mil "clearline"] + Line[2325.00mil 1575.00mil 2325.00mil 1625.00mil 20.00mil 20.00mil "clearline"] + Line[2225.00mil 1575.00mil 2225.00mil 1625.00mil 20.00mil 20.00mil "clearline"] + Line[2125.00mil 1575.00mil 2125.00mil 1625.00mil 20.00mil 20.00mil "clearline"] + Line[2025.00mil 1575.00mil 2025.00mil 1625.00mil 20.00mil 20.00mil "clearline"] + Line[1575.00mil 1075.00mil 1650.00mil 1150.00mil 20.00mil 20.00mil "clearline"] + Line[1575.00mil 825.00mil 1575.00mil 1075.00mil 20.00mil 20.00mil "clearline"] + Line[1775.00mil 925.00mil 1650.00mil 1050.00mil 20.00mil 20.00mil "clearline"] + Line[1625.00mil 2075.00mil 1625.00mil 1500.00mil 20.00mil 20.00mil "clearline"] + Line[1625.00mil 1500.00mil 1550.00mil 1425.00mil 20.00mil 20.00mil "clearline"] + Text[41.2830mm 35.3774mm 0 104 "GND" "clearline"] + Text[1450.00mil 1700.00mil 1 104 "VPP" "clearline"] +) +Layer(3 "info" "copper") +( + Text[2920.00mil 2430.00mil 1 100 "AIN5" ""] + Text[1720.00mil 2430.00mil 1 100 "RST" ""] + Text[1820.00mil 2430.00mil 1 100 "3.3V" ""] + Text[1920.00mil 2430.00mil 1 100 "5V" ""] + Text[2020.00mil 2430.00mil 1 100 "GND" ""] + Text[2120.00mil 2430.00mil 1 100 "GND" ""] + Text[2220.00mil 2430.00mil 1 100 "VIN" ""] + Text[2420.00mil 2430.00mil 1 100 "AIN0" ""] + Text[2520.00mil 2430.00mil 1 100 "AIN1" ""] + Text[2620.00mil 2430.00mil 1 100 "AIN2" ""] + Text[2720.00mil 2430.00mil 1 100 "AIN3" ""] + Text[2820.00mil 2430.00mil 1 100 "AIN4" ""] + Text[1360.00mil 500.00mil 1 100 "AREF" ""] + Text[1560.00mil 460.00mil 1 100 "D13" ""] + Text[1660.00mil 460.00mil 1 100 "D12" ""] + Text[1760.00mil 460.00mil 1 100 "D11" ""] + Text[1860.00mil 460.00mil 1 100 "D10" ""] + Text[1460.00mil 470.00mil 1 100 "GND" ""] + Text[1960.00mil 430.00mil 1 100 "D9" ""] + Text[2060.00mil 430.00mil 1 100 "D8" ""] + Text[2320.00mil 430.00mil 1 100 "D6" ""] + Text[2420.00mil 430.00mil 1 100 "D5" ""] + Text[2520.00mil 430.00mil 1 100 "D4" ""] + Text[2620.00mil 430.00mil 1 100 "D3" ""] + Text[2720.00mil 430.00mil 1 100 "D2" ""] + Text[2220.00mil 430.00mil 1 100 "D7" ""] + Text[2920.00mil 430.00mil 1 100 "D0" ""] + Text[2820.00mil 430.00mil 1 100 "D1" ""] + Text[2820.00mil 550.00mil 1 100 "(TX)" ""] + Text[2920.00mil 550.00mil 1 100 "(RX)" ""] +) +Layer(4 "outline" "outline") +( + Line[1350.00mil 2600.00mil 3250.00mil 2600.00mil 10.00mil 20.00mil ""] + Line[1350.00mil 500.00mil 3250.00mil 500.00mil 10.00mil 20.00mil ""] + Line[1350.00mil 500.00mil 1350.00mil 2600.00mil 10.00mil 20.00mil ""] + Line[3250.00mil 2600.00mil 3250.00mil 500.00mil 10.00mil 20.00mil ""] +) +Layer(5 "bottom silk" "silk") +( +) +Layer(6 "top silk" "silk") +( + Line[1700.00mil 700.00mil 1700.00mil 1300.00mil 10.00mil 20.00mil "clearline"] + Line[1700.00mil 1300.00mil 3200.00mil 1300.00mil 10.00mil 20.00mil "clearline"] + Line[3200.00mil 1300.00mil 3200.00mil 700.00mil 10.00mil 20.00mil "clearline"] + Line[1700.00mil 695.00mil 3200.00mil 695.00mil 10.00mil 20.00mil "clearline"] + Line[3100.00mil 1700.00mil 3100.00mil 2370.00mil 10.00mil 20.00mil "clearline"] + Line[1600.00mil 1700.00mil 1600.00mil 2370.00mil 10.00mil 20.00mil "clearline"] + Line[3100.00mil 1700.00mil 1600.00mil 1700.00mil 10.00mil 20.00mil "clearline"] + Line[1600.00mil 2370.00mil 3100.00mil 2370.00mil 10.00mil 20.00mil "clearline"] + Line[2550.00mil 1775.00mil 3075.00mil 1775.00mil 10.00mil 20.00mil "clearline"] + Line[2950.00mil 1950.00mil 2950.00mil 2000.00mil 10.00mil 20.00mil "clearline"] + Line[2950.00mil 2000.00mil 3000.00mil 2000.00mil 10.00mil 20.00mil "clearline"] + Line[3000.00mil 2000.00mil 2900.00mil 2000.00mil 10.00mil 20.00mil "clearline"] + Line[2950.00mil 2100.00mil 2950.00mil 2050.00mil 10.00mil 20.00mil "clearline"] + Line[2950.00mil 2050.00mil 3000.00mil 2050.00mil 10.00mil 20.00mil "clearline"] + Line[3000.00mil 2050.00mil 2900.00mil 2050.00mil 10.00mil 20.00mil "clearline"] + Line[2750.00mil 1550.00mil 2550.00mil 1550.00mil 10.00mil 20.00mil "clearline"] + Line[2750.00mil 1650.00mil 2550.00mil 1650.00mil 10.00mil 20.00mil "clearline"] + Line[1475.00mil 1050.00mil 1600.00mil 1050.00mil 10.00mil 20.00mil "clearline"] + Line[1575.00mil 775.00mil 1575.00mil 650.00mil 10.00mil 20.00mil "clearline"] + Arc[73.8114mm 37.1101mm 125.00mil 125.00mil 10.00mil 20.00mil -90 -90 "clearline"] + Arc[73.8114mm 37.1101mm 125.00mil 125.00mil 10.00mil 20.00mil 180 -90 "clearline"] + Arc[73.8114mm 37.1101mm 125.00mil 125.00mil 10.00mil 20.00mil 90 -90 "clearline"] + Arc[73.8114mm 37.1101mm 125.00mil 125.00mil 10.00mil 20.00mil 0 -90 "clearline"] + Arc[3200.00mil 1000.00mil 50.00mil 50.00mil 10.00mil 20.00mil -90 90 "clearline"] + Arc[3200.00mil 1000.00mil 50.00mil 50.00mil 10.00mil 20.00mil 0 90 "clearline"] + Text[2675.00mil 1400.00mil 0 104 "R2" "clearline"] + Text[75.7164mm 35.9671mm 0 104 "-" "clearline"] + Text[2150.00mil 1350.00mil 0 104 "R1 x 5" "clearline"] + Text[2750.00mil 1875.00mil 0 104 "VIN+" "clearline"] + Text[2750.00mil 2200.00mil 0 104 "VIN-" "clearline"] + Text[1850.00mil 1875.00mil 0 104 "VOUT+" "clearline"] + Text[1850.00mil 2175.00mil 0 104 "VOUT-" "clearline"] + Text[2925.00mil 1375.00mil 0 104 "C1" "clearline"] + Text[2800.00mil 2000.00mil 0 104 "C2" "clearline"] + Text[2500.00mil 2275.00mil 0 104 "VPP_EN" "clearline"] + Text[2100.00mil 2000.00mil 0 126 "MT3608 module" "clearline"] + Text[1725.00mil 1575.00mil 0 126 "LED" "clearline"] + Text[2225.00mil 925.00mil 0 126 "ZIF Socket 20 pin" "clearline"] + Text[71.9064mm 36.7291mm 0 104 "+" "clearline"] + Polygon("clearpoly") + ( + [1810.00mil 1475.00mil] [1810.00mil 1525.00mil] [1785.00mil 1500.00mil] + ) +) +NetList() +( + Net("unnamed_net1" "(unknown)") + ( + Connect("J4-2") + ) + Net("unnamed_net2" "(unknown)") + ( + Connect("J4-4") + ) + Net("unnamed_net3" "(unknown)") + ( + Connect("J4-6") + ) + Net("unnamed_net4" "(unknown)") + ( + Connect("J4-1") + ) + Net("unnamed_net5" "(unknown)") + ( + Connect("J4-3") + ) + Net("unnamed_net6" "(unknown)") + ( + Connect("J4-5") + ) + Net("unnamed_net7" "(unknown)") + ( + Connect("J2-2") + ) + Net("unnamed_net8" "(unknown)") + ( + Connect("J2-4") + ) + Net("unnamed_net9" "(unknown)") + ( + Connect("J2-6") + ) + Net("unnamed_net10" "(unknown)") + ( + Connect("J2-1") + ) + Net("unnamed_net11" "(unknown)") + ( + Connect("J2-3") + ) + Net("unnamed_net12" "(unknown)") + ( + Connect("J2-5") + ) + Net("unnamed_net13" "(unknown)") + ( + Connect("J3-2") + ) + Net("unnamed_net14" "(unknown)") + ( + Connect("J3-4") + ) + Net("unnamed_net15" "(unknown)") + ( + Connect("J3-6") + ) + Net("unnamed_net16" "(unknown)") + ( + Connect("J3-8") + ) + Net("unnamed_net17" "(unknown)") + ( + Connect("J3-1") + ) + Net("unnamed_net18" "(unknown)") + ( + Connect("J3-3") + ) + Net("unnamed_net19" "(unknown)") + ( + Connect("J3-5") + ) + Net("unnamed_net20" "(unknown)") + ( + Connect("J3-7") + ) + Net("unnamed_net21" "(unknown)") + ( + Connect("J1-2") + ) + Net("unnamed_net22" "(unknown)") + ( + Connect("J1-4") + ) + Net("unnamed_net23" "(unknown)") + ( + Connect("J1-6") + ) + Net("unnamed_net24" "(unknown)") + ( + Connect("J1-8") + ) + Net("unnamed_net25" "(unknown)") + ( + Connect("J1-1") + ) + Net("unnamed_net26" "(unknown)") + ( + Connect("J1-3") + ) + Net("unnamed_net27" "(unknown)") + ( + Connect("J1-5") + ) + Net("unnamed_net28" "(unknown)") + ( + Connect("J1-7") + ) +) diff --git a/pcb/afterburner_etch_1200dpi_bot.png b/pcb/afterburner_etch_1200dpi_bot.png new file mode 100644 index 0000000000000000000000000000000000000000..4da2d76879c62073832c4d6d34262681416229db GIT binary patch literal 33482 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 AApigX literal 0 HcmV?d00001 diff --git a/pcb/afterburner_etch_1200dpi_silk.png b/pcb/afterburner_etch_1200dpi_silk.png new file mode 100644 index 0000000000000000000000000000000000000000..06317b59d9b48805e66d1d4cda634dcbc6b04b02 GIT binary patch literal 15669 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 the file version +FileVersion[20091103] + +PCB["outline" 3700.00mil 3100.00mil] + +Grid[5.00mil 0.0000 0.0000 1] +PolyArea[200000000.000000] +Thermal[0.500000] +DRC[8.00mil 8.00mil 8.00mil 8.00mil 15.00mil 10.00mil] +Flags("showdrc,nameonpcb,newfullpoly,snappin") +Groups("1,c:2,s:3:4") +Styles["Signal,10.00mil,40.00mil,20.00mil,10.00mil:Power,25.00mil,40.00mil,20.00mil,10.00mil:Fat,40.00mil,40.00mil,20.00mil,10.00mil:Skinny,8.00mil,36.00mil,20.00mil,10.00mil"] + +Symbol[' ' 18.00mil] +( +) +Symbol['!' 12.00mil] +( + SymbolLine[0.0000 45.00mil 0.0000 50.00mil 8.00mil] + SymbolLine[0.0000 10.00mil 0.0000 35.00mil 8.00mil] +) +Symbol['"' 12.00mil] +( + SymbolLine[0.0000 10.00mil 0.0000 20.00mil 8.00mil] + SymbolLine[10.00mil 10.00mil 10.00mil 20.00mil 8.00mil] +) +Symbol['#' 12.00mil] +( + SymbolLine[0.0000 35.00mil 20.00mil 35.00mil 8.00mil] + SymbolLine[0.0000 25.00mil 20.00mil 25.00mil 8.00mil] + SymbolLine[15.00mil 20.00mil 15.00mil 40.00mil 8.00mil] + SymbolLine[5.00mil 20.00mil 5.00mil 40.00mil 8.00mil] +) +Symbol['$' 12.00mil] +( + SymbolLine[15.00mil 15.00mil 20.00mil 20.00mil 8.00mil] + SymbolLine[5.00mil 15.00mil 15.00mil 15.00mil 8.00mil] + SymbolLine[0.0000 20.00mil 5.00mil 15.00mil 8.00mil] + SymbolLine[0.0000 20.00mil 0.0000 25.00mil 8.00mil] + SymbolLine[0.0000 25.00mil 5.00mil 30.00mil 8.00mil] + SymbolLine[5.00mil 30.00mil 15.00mil 30.00mil 8.00mil] + SymbolLine[15.00mil 30.00mil 20.00mil 35.00mil 8.00mil] + SymbolLine[20.00mil 35.00mil 20.00mil 40.00mil 8.00mil] + SymbolLine[15.00mil 45.00mil 20.00mil 40.00mil 8.00mil] + SymbolLine[5.00mil 45.00mil 15.00mil 45.00mil 8.00mil] + SymbolLine[0.0000 40.00mil 5.00mil 45.00mil 8.00mil] + SymbolLine[10.00mil 10.00mil 10.00mil 50.00mil 8.00mil] +) +Symbol['%' 12.00mil] +( + SymbolLine[0.0000 15.00mil 0.0000 20.00mil 8.00mil] + SymbolLine[0.0000 15.00mil 5.00mil 10.00mil 8.00mil] + SymbolLine[5.00mil 10.00mil 10.00mil 10.00mil 8.00mil] + SymbolLine[10.00mil 10.00mil 15.00mil 15.00mil 8.00mil] + SymbolLine[15.00mil 15.00mil 15.00mil 20.00mil 8.00mil] + SymbolLine[10.00mil 25.00mil 15.00mil 20.00mil 8.00mil] + SymbolLine[5.00mil 25.00mil 10.00mil 25.00mil 8.00mil] + SymbolLine[0.0000 20.00mil 5.00mil 25.00mil 8.00mil] + SymbolLine[0.0000 50.00mil 40.00mil 10.00mil 8.00mil] + SymbolLine[35.00mil 50.00mil 40.00mil 45.00mil 8.00mil] + SymbolLine[40.00mil 40.00mil 40.00mil 45.00mil 8.00mil] + SymbolLine[35.00mil 35.00mil 40.00mil 40.00mil 8.00mil] + SymbolLine[30.00mil 35.00mil 35.00mil 35.00mil 8.00mil] + SymbolLine[25.00mil 40.00mil 30.00mil 35.00mil 8.00mil] + SymbolLine[25.00mil 40.00mil 25.00mil 45.00mil 8.00mil] + SymbolLine[25.00mil 45.00mil 30.00mil 50.00mil 8.00mil] + SymbolLine[30.00mil 50.00mil 35.00mil 50.00mil 8.00mil] +) +Symbol['&' 12.00mil] +( + SymbolLine[0.0000 45.00mil 5.00mil 50.00mil 8.00mil] + SymbolLine[0.0000 15.00mil 0.0000 25.00mil 8.00mil] + SymbolLine[0.0000 15.00mil 5.00mil 10.00mil 8.00mil] + SymbolLine[0.0000 35.00mil 15.00mil 20.00mil 8.00mil] + SymbolLine[5.00mil 50.00mil 10.00mil 50.00mil 8.00mil] + SymbolLine[10.00mil 50.00mil 20.00mil 40.00mil 8.00mil] + SymbolLine[0.0000 25.00mil 25.00mil 50.00mil 8.00mil] + SymbolLine[5.00mil 10.00mil 10.00mil 10.00mil 8.00mil] + SymbolLine[10.00mil 10.00mil 15.00mil 15.00mil 8.00mil] + SymbolLine[15.00mil 15.00mil 15.00mil 20.00mil 8.00mil] + SymbolLine[0.0000 35.00mil 0.0000 45.00mil 8.00mil] +) +Symbol[''' 12.00mil] +( + SymbolLine[0.0000 20.00mil 10.00mil 10.00mil 8.00mil] +) +Symbol['(' 12.00mil] +( + SymbolLine[0.0000 45.00mil 5.00mil 50.00mil 8.00mil] + SymbolLine[0.0000 15.00mil 5.00mil 10.00mil 8.00mil] + SymbolLine[0.0000 15.00mil 0.0000 45.00mil 8.00mil] +) +Symbol[')' 12.00mil] +( + SymbolLine[0.0000 10.00mil 5.00mil 15.00mil 8.00mil] + SymbolLine[5.00mil 15.00mil 5.00mil 45.00mil 8.00mil] + SymbolLine[0.0000 50.00mil 5.00mil 45.00mil 8.00mil] +) +Symbol['*' 12.00mil] +( + SymbolLine[0.0000 20.00mil 20.00mil 40.00mil 8.00mil] + SymbolLine[0.0000 40.00mil 20.00mil 20.00mil 8.00mil] + SymbolLine[0.0000 30.00mil 20.00mil 30.00mil 8.00mil] + SymbolLine[10.00mil 20.00mil 10.00mil 40.00mil 8.00mil] +) +Symbol['+' 12.00mil] +( + SymbolLine[0.0000 30.00mil 20.00mil 30.00mil 8.00mil] + SymbolLine[10.00mil 20.00mil 10.00mil 40.00mil 8.00mil] +) +Symbol[',' 12.00mil] +( + SymbolLine[0.0000 60.00mil 10.00mil 50.00mil 8.00mil] +) +Symbol['-' 12.00mil] +( + SymbolLine[0.0000 30.00mil 20.00mil 30.00mil 8.00mil] +) +Symbol['.' 12.00mil] +( + SymbolLine[0.0000 50.00mil 5.00mil 50.00mil 8.00mil] +) +Symbol['/' 12.00mil] +( + SymbolLine[0.0000 45.00mil 30.00mil 15.00mil 8.00mil] +) +Symbol['0' 12.00mil] +( + SymbolLine[0.0000 45.00mil 5.00mil 50.00mil 8.00mil] + SymbolLine[0.0000 15.00mil 0.0000 45.00mil 8.00mil] + SymbolLine[0.0000 15.00mil 5.00mil 10.00mil 8.00mil] + SymbolLine[5.00mil 10.00mil 15.00mil 10.00mil 8.00mil] + SymbolLine[15.00mil 10.00mil 20.00mil 15.00mil 8.00mil] + SymbolLine[20.00mil 15.00mil 20.00mil 45.00mil 8.00mil] + SymbolLine[15.00mil 50.00mil 20.00mil 45.00mil 8.00mil] + SymbolLine[5.00mil 50.00mil 15.00mil 50.00mil 8.00mil] + SymbolLine[0.0000 40.00mil 20.00mil 20.00mil 8.00mil] +) +Symbol['1' 12.00mil] +( + SymbolLine[5.00mil 50.00mil 15.00mil 50.00mil 8.00mil] + SymbolLine[10.00mil 10.00mil 10.00mil 50.00mil 8.00mil] + SymbolLine[0.0000 20.00mil 10.00mil 10.00mil 8.00mil] +) +Symbol['2' 12.00mil] +( + SymbolLine[0.0000 15.00mil 5.00mil 10.00mil 8.00mil] + SymbolLine[5.00mil 10.00mil 20.00mil 10.00mil 8.00mil] + SymbolLine[20.00mil 10.00mil 25.00mil 15.00mil 8.00mil] + SymbolLine[25.00mil 15.00mil 25.00mil 25.00mil 8.00mil] + SymbolLine[0.0000 50.00mil 25.00mil 25.00mil 8.00mil] + SymbolLine[0.0000 50.00mil 25.00mil 50.00mil 8.00mil] +) +Symbol['3' 12.00mil] +( + SymbolLine[0.0000 15.00mil 5.00mil 10.00mil 8.00mil] + SymbolLine[5.00mil 10.00mil 15.00mil 10.00mil 8.00mil] + SymbolLine[15.00mil 10.00mil 20.00mil 15.00mil 8.00mil] + SymbolLine[20.00mil 15.00mil 20.00mil 45.00mil 8.00mil] + SymbolLine[15.00mil 50.00mil 20.00mil 45.00mil 8.00mil] + SymbolLine[5.00mil 50.00mil 15.00mil 50.00mil 8.00mil] + SymbolLine[0.0000 45.00mil 5.00mil 50.00mil 8.00mil] + SymbolLine[5.00mil 30.00mil 20.00mil 30.00mil 8.00mil] +) +Symbol['4' 12.00mil] +( + SymbolLine[0.0000 30.00mil 20.00mil 10.00mil 8.00mil] + SymbolLine[0.0000 30.00mil 25.00mil 30.00mil 8.00mil] + SymbolLine[20.00mil 10.00mil 20.00mil 50.00mil 8.00mil] +) +Symbol['5' 12.00mil] +( + SymbolLine[0.0000 10.00mil 20.00mil 10.00mil 8.00mil] + SymbolLine[0.0000 10.00mil 0.0000 30.00mil 8.00mil] + SymbolLine[0.0000 30.00mil 5.00mil 25.00mil 8.00mil] + SymbolLine[5.00mil 25.00mil 15.00mil 25.00mil 8.00mil] + SymbolLine[15.00mil 25.00mil 20.00mil 30.00mil 8.00mil] + SymbolLine[20.00mil 30.00mil 20.00mil 45.00mil 8.00mil] + SymbolLine[15.00mil 50.00mil 20.00mil 45.00mil 8.00mil] + SymbolLine[5.00mil 50.00mil 15.00mil 50.00mil 8.00mil] + SymbolLine[0.0000 45.00mil 5.00mil 50.00mil 8.00mil] +) +Symbol['6' 12.00mil] +( + SymbolLine[15.00mil 10.00mil 20.00mil 15.00mil 8.00mil] + SymbolLine[5.00mil 10.00mil 15.00mil 10.00mil 8.00mil] + SymbolLine[0.0000 15.00mil 5.00mil 10.00mil 8.00mil] + SymbolLine[0.0000 15.00mil 0.0000 45.00mil 8.00mil] + SymbolLine[0.0000 45.00mil 5.00mil 50.00mil 8.00mil] + SymbolLine[15.00mil 30.00mil 20.00mil 35.00mil 8.00mil] + SymbolLine[0.0000 30.00mil 15.00mil 30.00mil 8.00mil] + SymbolLine[5.00mil 50.00mil 15.00mil 50.00mil 8.00mil] + SymbolLine[15.00mil 50.00mil 20.00mil 45.00mil 8.00mil] + SymbolLine[20.00mil 35.00mil 20.00mil 45.00mil 8.00mil] +) +Symbol['7' 12.00mil] +( + SymbolLine[0.0000 50.00mil 25.00mil 25.00mil 8.00mil] + SymbolLine[25.00mil 10.00mil 25.00mil 25.00mil 8.00mil] + SymbolLine[0.0000 10.00mil 25.00mil 10.00mil 8.00mil] +) +Symbol['8' 12.00mil] +( + SymbolLine[0.0000 45.00mil 5.00mil 50.00mil 8.00mil] + SymbolLine[0.0000 35.00mil 0.0000 45.00mil 8.00mil] + SymbolLine[0.0000 35.00mil 5.00mil 30.00mil 8.00mil] + SymbolLine[5.00mil 30.00mil 15.00mil 30.00mil 8.00mil] + SymbolLine[15.00mil 30.00mil 20.00mil 35.00mil 8.00mil] + SymbolLine[20.00mil 35.00mil 20.00mil 45.00mil 8.00mil] + SymbolLine[15.00mil 50.00mil 20.00mil 45.00mil 8.00mil] + SymbolLine[5.00mil 50.00mil 15.00mil 50.00mil 8.00mil] + SymbolLine[0.0000 25.00mil 5.00mil 30.00mil 8.00mil] + SymbolLine[0.0000 15.00mil 0.0000 25.00mil 8.00mil] + SymbolLine[0.0000 15.00mil 5.00mil 10.00mil 8.00mil] + SymbolLine[5.00mil 10.00mil 15.00mil 10.00mil 8.00mil] + SymbolLine[15.00mil 10.00mil 20.00mil 15.00mil 8.00mil] + SymbolLine[20.00mil 15.00mil 20.00mil 25.00mil 8.00mil] + SymbolLine[15.00mil 30.00mil 20.00mil 25.00mil 8.00mil] +) +Symbol['9' 12.00mil] +( + SymbolLine[0.0000 50.00mil 20.00mil 30.00mil 8.00mil] + SymbolLine[20.00mil 15.00mil 20.00mil 30.00mil 8.00mil] + SymbolLine[15.00mil 10.00mil 20.00mil 15.00mil 8.00mil] + SymbolLine[5.00mil 10.00mil 15.00mil 10.00mil 8.00mil] + SymbolLine[0.0000 15.00mil 5.00mil 10.00mil 8.00mil] + SymbolLine[0.0000 15.00mil 0.0000 25.00mil 8.00mil] + SymbolLine[0.0000 25.00mil 5.00mil 30.00mil 8.00mil] + SymbolLine[5.00mil 30.00mil 20.00mil 30.00mil 8.00mil] +) +Symbol[':' 12.00mil] +( + SymbolLine[0.0000 25.00mil 5.00mil 25.00mil 8.00mil] + SymbolLine[0.0000 35.00mil 5.00mil 35.00mil 8.00mil] +) +Symbol[';' 12.00mil] +( + SymbolLine[0.0000 50.00mil 10.00mil 40.00mil 8.00mil] + SymbolLine[10.00mil 25.00mil 10.00mil 30.00mil 8.00mil] +) +Symbol['<' 12.00mil] +( + SymbolLine[0.0000 30.00mil 10.00mil 20.00mil 8.00mil] + SymbolLine[0.0000 30.00mil 10.00mil 40.00mil 8.00mil] +) +Symbol['=' 12.00mil] +( + SymbolLine[0.0000 25.00mil 20.00mil 25.00mil 8.00mil] + SymbolLine[0.0000 35.00mil 20.00mil 35.00mil 8.00mil] +) +Symbol['>' 12.00mil] +( + SymbolLine[0.0000 20.00mil 10.00mil 30.00mil 8.00mil] + SymbolLine[0.0000 40.00mil 10.00mil 30.00mil 8.00mil] +) +Symbol['?' 12.00mil] +( + SymbolLine[10.00mil 30.00mil 10.00mil 35.00mil 8.00mil] + SymbolLine[10.00mil 45.00mil 10.00mil 50.00mil 8.00mil] + SymbolLine[0.0000 15.00mil 0.0000 20.00mil 8.00mil] + SymbolLine[0.0000 15.00mil 5.00mil 10.00mil 8.00mil] + SymbolLine[5.00mil 10.00mil 15.00mil 10.00mil 8.00mil] + SymbolLine[15.00mil 10.00mil 20.00mil 15.00mil 8.00mil] + SymbolLine[20.00mil 15.00mil 20.00mil 20.00mil 8.00mil] + SymbolLine[10.00mil 30.00mil 20.00mil 20.00mil 8.00mil] +) +Symbol['@' 12.00mil] +( + SymbolLine[0.0000 10.00mil 0.0000 40.00mil 8.00mil] + SymbolLine[0.0000 40.00mil 10.00mil 50.00mil 8.00mil] + SymbolLine[10.00mil 50.00mil 40.00mil 50.00mil 8.00mil] + SymbolLine[50.00mil 35.00mil 50.00mil 10.00mil 8.00mil] + SymbolLine[50.00mil 10.00mil 40.00mil 0.0000 8.00mil] + SymbolLine[40.00mil 0.0000 10.00mil 0.0000 8.00mil] + SymbolLine[10.00mil 0.0000 0.0000 10.00mil 8.00mil] + SymbolLine[15.00mil 20.00mil 15.00mil 30.00mil 8.00mil] + SymbolLine[15.00mil 30.00mil 20.00mil 35.00mil 8.00mil] + SymbolLine[20.00mil 35.00mil 30.00mil 35.00mil 8.00mil] + SymbolLine[30.00mil 35.00mil 35.00mil 30.00mil 8.00mil] + SymbolLine[35.00mil 30.00mil 40.00mil 35.00mil 8.00mil] + SymbolLine[35.00mil 30.00mil 35.00mil 15.00mil 8.00mil] + SymbolLine[35.00mil 20.00mil 30.00mil 15.00mil 8.00mil] + SymbolLine[20.00mil 15.00mil 30.00mil 15.00mil 8.00mil] + SymbolLine[20.00mil 15.00mil 15.00mil 20.00mil 8.00mil] + SymbolLine[40.00mil 35.00mil 50.00mil 35.00mil 8.00mil] +) +Symbol['A' 12.00mil] +( + SymbolLine[0.0000 15.00mil 0.0000 50.00mil 8.00mil] + SymbolLine[0.0000 15.00mil 5.00mil 10.00mil 8.00mil] + SymbolLine[5.00mil 10.00mil 20.00mil 10.00mil 8.00mil] + SymbolLine[20.00mil 10.00mil 25.00mil 15.00mil 8.00mil] + SymbolLine[25.00mil 15.00mil 25.00mil 50.00mil 8.00mil] + SymbolLine[0.0000 30.00mil 25.00mil 30.00mil 8.00mil] +) +Symbol['B' 12.00mil] +( + SymbolLine[0.0000 50.00mil 20.00mil 50.00mil 8.00mil] + SymbolLine[20.00mil 50.00mil 25.00mil 45.00mil 8.00mil] + SymbolLine[25.00mil 35.00mil 25.00mil 45.00mil 8.00mil] + SymbolLine[20.00mil 30.00mil 25.00mil 35.00mil 8.00mil] + SymbolLine[5.00mil 30.00mil 20.00mil 30.00mil 8.00mil] + SymbolLine[5.00mil 10.00mil 5.00mil 50.00mil 8.00mil] + SymbolLine[0.0000 10.00mil 20.00mil 10.00mil 8.00mil] + SymbolLine[20.00mil 10.00mil 25.00mil 15.00mil 8.00mil] + SymbolLine[25.00mil 15.00mil 25.00mil 25.00mil 8.00mil] + SymbolLine[20.00mil 30.00mil 25.00mil 25.00mil 8.00mil] +) +Symbol['C' 12.00mil] +( + SymbolLine[5.00mil 50.00mil 20.00mil 50.00mil 8.00mil] + SymbolLine[0.0000 45.00mil 5.00mil 50.00mil 8.00mil] + SymbolLine[0.0000 15.00mil 0.0000 45.00mil 8.00mil] + SymbolLine[0.0000 15.00mil 5.00mil 10.00mil 8.00mil] + SymbolLine[5.00mil 10.00mil 20.00mil 10.00mil 8.00mil] +) +Symbol['D' 12.00mil] +( + SymbolLine[5.00mil 10.00mil 5.00mil 50.00mil 8.00mil] + SymbolLine[20.00mil 10.00mil 25.00mil 15.00mil 8.00mil] + SymbolLine[25.00mil 15.00mil 25.00mil 45.00mil 8.00mil] + SymbolLine[20.00mil 50.00mil 25.00mil 45.00mil 8.00mil] + SymbolLine[0.0000 50.00mil 20.00mil 50.00mil 8.00mil] + SymbolLine[0.0000 10.00mil 20.00mil 10.00mil 8.00mil] +) +Symbol['E' 12.00mil] +( + SymbolLine[0.0000 30.00mil 15.00mil 30.00mil 8.00mil] + SymbolLine[0.0000 50.00mil 20.00mil 50.00mil 8.00mil] + SymbolLine[0.0000 10.00mil 0.0000 50.00mil 8.00mil] + SymbolLine[0.0000 10.00mil 20.00mil 10.00mil 8.00mil] +) +Symbol['F' 12.00mil] +( + SymbolLine[0.0000 10.00mil 0.0000 50.00mil 8.00mil] + SymbolLine[0.0000 10.00mil 20.00mil 10.00mil 8.00mil] + SymbolLine[0.0000 30.00mil 15.00mil 30.00mil 8.00mil] +) +Symbol['G' 12.00mil] +( + SymbolLine[20.00mil 10.00mil 25.00mil 15.00mil 8.00mil] + SymbolLine[5.00mil 10.00mil 20.00mil 10.00mil 8.00mil] + SymbolLine[0.0000 15.00mil 5.00mil 10.00mil 8.00mil] + SymbolLine[0.0000 15.00mil 0.0000 45.00mil 8.00mil] + SymbolLine[0.0000 45.00mil 5.00mil 50.00mil 8.00mil] + SymbolLine[5.00mil 50.00mil 20.00mil 50.00mil 8.00mil] + SymbolLine[20.00mil 50.00mil 25.00mil 45.00mil 8.00mil] + SymbolLine[25.00mil 35.00mil 25.00mil 45.00mil 8.00mil] + SymbolLine[20.00mil 30.00mil 25.00mil 35.00mil 8.00mil] + SymbolLine[10.00mil 30.00mil 20.00mil 30.00mil 8.00mil] +) +Symbol['H' 12.00mil] +( + SymbolLine[0.0000 10.00mil 0.0000 50.00mil 8.00mil] + SymbolLine[25.00mil 10.00mil 25.00mil 50.00mil 8.00mil] + SymbolLine[0.0000 30.00mil 25.00mil 30.00mil 8.00mil] +) +Symbol['I' 12.00mil] +( + SymbolLine[0.0000 10.00mil 10.00mil 10.00mil 8.00mil] + SymbolLine[5.00mil 10.00mil 5.00mil 50.00mil 8.00mil] + SymbolLine[0.0000 50.00mil 10.00mil 50.00mil 8.00mil] +) +Symbol['J' 12.00mil] +( + SymbolLine[0.0000 10.00mil 15.00mil 10.00mil 8.00mil] + SymbolLine[15.00mil 10.00mil 15.00mil 45.00mil 8.00mil] + SymbolLine[10.00mil 50.00mil 15.00mil 45.00mil 8.00mil] + SymbolLine[5.00mil 50.00mil 10.00mil 50.00mil 8.00mil] + SymbolLine[0.0000 45.00mil 5.00mil 50.00mil 8.00mil] +) +Symbol['K' 12.00mil] +( + SymbolLine[0.0000 10.00mil 0.0000 50.00mil 8.00mil] + SymbolLine[0.0000 30.00mil 20.00mil 10.00mil 8.00mil] + SymbolLine[0.0000 30.00mil 20.00mil 50.00mil 8.00mil] +) +Symbol['L' 12.00mil] +( + SymbolLine[0.0000 10.00mil 0.0000 50.00mil 8.00mil] + SymbolLine[0.0000 50.00mil 20.00mil 50.00mil 8.00mil] +) +Symbol['M' 12.00mil] +( + SymbolLine[0.0000 10.00mil 0.0000 50.00mil 8.00mil] + SymbolLine[0.0000 10.00mil 15.00mil 25.00mil 8.00mil] + SymbolLine[15.00mil 25.00mil 30.00mil 10.00mil 8.00mil] + SymbolLine[30.00mil 10.00mil 30.00mil 50.00mil 8.00mil] +) +Symbol['N' 12.00mil] +( + SymbolLine[0.0000 10.00mil 0.0000 50.00mil 8.00mil] + SymbolLine[0.0000 10.00mil 0.0000 15.00mil 8.00mil] + SymbolLine[0.0000 15.00mil 25.00mil 40.00mil 8.00mil] + SymbolLine[25.00mil 10.00mil 25.00mil 50.00mil 8.00mil] +) +Symbol['O' 12.00mil] +( + SymbolLine[0.0000 15.00mil 0.0000 45.00mil 8.00mil] + SymbolLine[0.0000 15.00mil 5.00mil 10.00mil 8.00mil] + SymbolLine[5.00mil 10.00mil 15.00mil 10.00mil 8.00mil] + SymbolLine[15.00mil 10.00mil 20.00mil 15.00mil 8.00mil] + SymbolLine[20.00mil 15.00mil 20.00mil 45.00mil 8.00mil] + SymbolLine[15.00mil 50.00mil 20.00mil 45.00mil 8.00mil] + SymbolLine[5.00mil 50.00mil 15.00mil 50.00mil 8.00mil] + SymbolLine[0.0000 45.00mil 5.00mil 50.00mil 8.00mil] +) +Symbol['P' 12.00mil] +( + SymbolLine[5.00mil 10.00mil 5.00mil 50.00mil 8.00mil] + SymbolLine[0.0000 10.00mil 20.00mil 10.00mil 8.00mil] + SymbolLine[20.00mil 10.00mil 25.00mil 15.00mil 8.00mil] + SymbolLine[25.00mil 15.00mil 25.00mil 25.00mil 8.00mil] + SymbolLine[20.00mil 30.00mil 25.00mil 25.00mil 8.00mil] + SymbolLine[5.00mil 30.00mil 20.00mil 30.00mil 8.00mil] +) +Symbol['Q' 12.00mil] +( + SymbolLine[0.0000 15.00mil 0.0000 45.00mil 8.00mil] + SymbolLine[0.0000 15.00mil 5.00mil 10.00mil 8.00mil] + SymbolLine[5.00mil 10.00mil 15.00mil 10.00mil 8.00mil] + SymbolLine[15.00mil 10.00mil 20.00mil 15.00mil 8.00mil] + SymbolLine[20.00mil 15.00mil 20.00mil 45.00mil 8.00mil] + SymbolLine[15.00mil 50.00mil 20.00mil 45.00mil 8.00mil] + SymbolLine[5.00mil 50.00mil 15.00mil 50.00mil 8.00mil] + SymbolLine[0.0000 45.00mil 5.00mil 50.00mil 8.00mil] + SymbolLine[10.00mil 40.00mil 20.00mil 50.00mil 8.00mil] +) +Symbol['R' 12.00mil] +( + SymbolLine[0.0000 10.00mil 20.00mil 10.00mil 8.00mil] + SymbolLine[20.00mil 10.00mil 25.00mil 15.00mil 8.00mil] + SymbolLine[25.00mil 15.00mil 25.00mil 25.00mil 8.00mil] + SymbolLine[20.00mil 30.00mil 25.00mil 25.00mil 8.00mil] + SymbolLine[5.00mil 30.00mil 20.00mil 30.00mil 8.00mil] + SymbolLine[5.00mil 10.00mil 5.00mil 50.00mil 8.00mil] + SymbolLine[5.00mil 30.00mil 25.00mil 50.00mil 8.00mil] +) +Symbol['S' 12.00mil] +( + SymbolLine[20.00mil 10.00mil 25.00mil 15.00mil 8.00mil] + SymbolLine[5.00mil 10.00mil 20.00mil 10.00mil 8.00mil] + SymbolLine[0.0000 15.00mil 5.00mil 10.00mil 8.00mil] + SymbolLine[0.0000 15.00mil 0.0000 25.00mil 8.00mil] + SymbolLine[0.0000 25.00mil 5.00mil 30.00mil 8.00mil] + SymbolLine[5.00mil 30.00mil 20.00mil 30.00mil 8.00mil] + SymbolLine[20.00mil 30.00mil 25.00mil 35.00mil 8.00mil] + SymbolLine[25.00mil 35.00mil 25.00mil 45.00mil 8.00mil] + SymbolLine[20.00mil 50.00mil 25.00mil 45.00mil 8.00mil] + SymbolLine[5.00mil 50.00mil 20.00mil 50.00mil 8.00mil] + SymbolLine[0.0000 45.00mil 5.00mil 50.00mil 8.00mil] +) +Symbol['T' 12.00mil] +( + SymbolLine[0.0000 10.00mil 20.00mil 10.00mil 8.00mil] + SymbolLine[10.00mil 10.00mil 10.00mil 50.00mil 8.00mil] +) +Symbol['U' 12.00mil] +( + SymbolLine[0.0000 10.00mil 0.0000 45.00mil 8.00mil] + SymbolLine[0.0000 45.00mil 5.00mil 50.00mil 8.00mil] + SymbolLine[5.00mil 50.00mil 15.00mil 50.00mil 8.00mil] + SymbolLine[15.00mil 50.00mil 20.00mil 45.00mil 8.00mil] + SymbolLine[20.00mil 10.00mil 20.00mil 45.00mil 8.00mil] +) +Symbol['V' 12.00mil] +( + SymbolLine[0.0000 10.00mil 0.0000 40.00mil 8.00mil] + SymbolLine[0.0000 40.00mil 10.00mil 50.00mil 8.00mil] + SymbolLine[10.00mil 50.00mil 20.00mil 40.00mil 8.00mil] + SymbolLine[20.00mil 10.00mil 20.00mil 40.00mil 8.00mil] +) +Symbol['W' 12.00mil] +( + SymbolLine[0.0000 10.00mil 0.0000 50.00mil 8.00mil] + SymbolLine[0.0000 50.00mil 15.00mil 35.00mil 8.00mil] + SymbolLine[15.00mil 35.00mil 30.00mil 50.00mil 8.00mil] + SymbolLine[30.00mil 10.00mil 30.00mil 50.00mil 8.00mil] +) +Symbol['X' 12.00mil] +( + SymbolLine[0.0000 10.00mil 0.0000 15.00mil 8.00mil] + SymbolLine[0.0000 15.00mil 25.00mil 40.00mil 8.00mil] + SymbolLine[25.00mil 40.00mil 25.00mil 50.00mil 8.00mil] + SymbolLine[0.0000 40.00mil 0.0000 50.00mil 8.00mil] + SymbolLine[0.0000 40.00mil 25.00mil 15.00mil 8.00mil] + SymbolLine[25.00mil 10.00mil 25.00mil 15.00mil 8.00mil] +) +Symbol['Y' 12.00mil] +( + SymbolLine[0.0000 10.00mil 0.0000 15.00mil 8.00mil] + SymbolLine[0.0000 15.00mil 10.00mil 25.00mil 8.00mil] + SymbolLine[10.00mil 25.00mil 20.00mil 15.00mil 8.00mil] + SymbolLine[20.00mil 10.00mil 20.00mil 15.00mil 8.00mil] + SymbolLine[10.00mil 25.00mil 10.00mil 50.00mil 8.00mil] +) +Symbol['Z' 12.00mil] +( + SymbolLine[0.0000 10.00mil 25.00mil 10.00mil 8.00mil] + SymbolLine[25.00mil 10.00mil 25.00mil 15.00mil 8.00mil] + SymbolLine[0.0000 40.00mil 25.00mil 15.00mil 8.00mil] + SymbolLine[0.0000 40.00mil 0.0000 50.00mil 8.00mil] + SymbolLine[0.0000 50.00mil 25.00mil 50.00mil 8.00mil] +) +Symbol['[' 12.00mil] +( + SymbolLine[0.0000 10.00mil 5.00mil 10.00mil 8.00mil] + SymbolLine[0.0000 10.00mil 0.0000 50.00mil 8.00mil] + SymbolLine[0.0000 50.00mil 5.00mil 50.00mil 8.00mil] +) +Symbol['\' 12.00mil] +( + SymbolLine[0.0000 15.00mil 30.00mil 45.00mil 8.00mil] +) +Symbol[']' 12.00mil] +( + SymbolLine[0.0000 10.00mil 5.00mil 10.00mil 8.00mil] + SymbolLine[5.00mil 10.00mil 5.00mil 50.00mil 8.00mil] + SymbolLine[0.0000 50.00mil 5.00mil 50.00mil 8.00mil] +) +Symbol['^' 12.00mil] +( + SymbolLine[0.0000 15.00mil 5.00mil 10.00mil 8.00mil] + SymbolLine[5.00mil 10.00mil 10.00mil 15.00mil 8.00mil] +) +Symbol['_' 12.00mil] +( + SymbolLine[0.0000 50.00mil 20.00mil 50.00mil 8.00mil] +) +Symbol['a' 12.00mil] +( + SymbolLine[15.00mil 30.00mil 20.00mil 35.00mil 8.00mil] + SymbolLine[5.00mil 30.00mil 15.00mil 30.00mil 8.00mil] + SymbolLine[0.0000 35.00mil 5.00mil 30.00mil 8.00mil] + SymbolLine[0.0000 35.00mil 0.0000 45.00mil 8.00mil] + SymbolLine[0.0000 45.00mil 5.00mil 50.00mil 8.00mil] + SymbolLine[20.00mil 30.00mil 20.00mil 45.00mil 8.00mil] + SymbolLine[20.00mil 45.00mil 25.00mil 50.00mil 8.00mil] + SymbolLine[5.00mil 50.00mil 15.00mil 50.00mil 8.00mil] + SymbolLine[15.00mil 50.00mil 20.00mil 45.00mil 8.00mil] +) +Symbol['b' 12.00mil] +( + SymbolLine[0.0000 10.00mil 0.0000 50.00mil 8.00mil] + SymbolLine[0.0000 45.00mil 5.00mil 50.00mil 8.00mil] + SymbolLine[5.00mil 50.00mil 15.00mil 50.00mil 8.00mil] + SymbolLine[15.00mil 50.00mil 20.00mil 45.00mil 8.00mil] + SymbolLine[20.00mil 35.00mil 20.00mil 45.00mil 8.00mil] + SymbolLine[15.00mil 30.00mil 20.00mil 35.00mil 8.00mil] + SymbolLine[5.00mil 30.00mil 15.00mil 30.00mil 8.00mil] + SymbolLine[0.0000 35.00mil 5.00mil 30.00mil 8.00mil] +) +Symbol['c' 12.00mil] +( + SymbolLine[5.00mil 30.00mil 20.00mil 30.00mil 8.00mil] + SymbolLine[0.0000 35.00mil 5.00mil 30.00mil 8.00mil] + SymbolLine[0.0000 35.00mil 0.0000 45.00mil 8.00mil] + SymbolLine[0.0000 45.00mil 5.00mil 50.00mil 8.00mil] + SymbolLine[5.00mil 50.00mil 20.00mil 50.00mil 8.00mil] +) +Symbol['d' 12.00mil] +( + SymbolLine[20.00mil 10.00mil 20.00mil 50.00mil 8.00mil] + SymbolLine[15.00mil 50.00mil 20.00mil 45.00mil 8.00mil] + SymbolLine[5.00mil 50.00mil 15.00mil 50.00mil 8.00mil] + SymbolLine[0.0000 45.00mil 5.00mil 50.00mil 8.00mil] + SymbolLine[0.0000 35.00mil 0.0000 45.00mil 8.00mil] + SymbolLine[0.0000 35.00mil 5.00mil 30.00mil 8.00mil] + SymbolLine[5.00mil 30.00mil 15.00mil 30.00mil 8.00mil] + SymbolLine[15.00mil 30.00mil 20.00mil 35.00mil 8.00mil] +) +Symbol['e' 12.00mil] +( + SymbolLine[5.00mil 50.00mil 20.00mil 50.00mil 8.00mil] + SymbolLine[0.0000 45.00mil 5.00mil 50.00mil 8.00mil] + SymbolLine[0.0000 35.00mil 0.0000 45.00mil 8.00mil] + SymbolLine[0.0000 35.00mil 5.00mil 30.00mil 8.00mil] + SymbolLine[5.00mil 30.00mil 15.00mil 30.00mil 8.00mil] + SymbolLine[15.00mil 30.00mil 20.00mil 35.00mil 8.00mil] + SymbolLine[0.0000 40.00mil 20.00mil 40.00mil 8.00mil] + SymbolLine[20.00mil 40.00mil 20.00mil 35.00mil 8.00mil] +) +Symbol['f' 10.00mil] +( + SymbolLine[5.00mil 15.00mil 5.00mil 50.00mil 8.00mil] + SymbolLine[5.00mil 15.00mil 10.00mil 10.00mil 8.00mil] + SymbolLine[10.00mil 10.00mil 15.00mil 10.00mil 8.00mil] + SymbolLine[0.0000 30.00mil 10.00mil 30.00mil 8.00mil] +) +Symbol['g' 12.00mil] +( + SymbolLine[15.00mil 30.00mil 20.00mil 35.00mil 8.00mil] + SymbolLine[5.00mil 30.00mil 15.00mil 30.00mil 8.00mil] + SymbolLine[0.0000 35.00mil 5.00mil 30.00mil 8.00mil] + SymbolLine[0.0000 35.00mil 0.0000 45.00mil 8.00mil] + SymbolLine[0.0000 45.00mil 5.00mil 50.00mil 8.00mil] + SymbolLine[5.00mil 50.00mil 15.00mil 50.00mil 8.00mil] + SymbolLine[15.00mil 50.00mil 20.00mil 45.00mil 8.00mil] + SymbolLine[0.0000 60.00mil 5.00mil 65.00mil 8.00mil] + SymbolLine[5.00mil 65.00mil 15.00mil 65.00mil 8.00mil] + SymbolLine[15.00mil 65.00mil 20.00mil 60.00mil 8.00mil] + SymbolLine[20.00mil 30.00mil 20.00mil 60.00mil 8.00mil] +) +Symbol['h' 12.00mil] +( + SymbolLine[0.0000 10.00mil 0.0000 50.00mil 8.00mil] + SymbolLine[0.0000 35.00mil 5.00mil 30.00mil 8.00mil] + SymbolLine[5.00mil 30.00mil 15.00mil 30.00mil 8.00mil] + SymbolLine[15.00mil 30.00mil 20.00mil 35.00mil 8.00mil] + SymbolLine[20.00mil 35.00mil 20.00mil 50.00mil 8.00mil] +) +Symbol['i' 10.00mil] +( + SymbolLine[0.0000 20.00mil 0.0000 25.00mil 8.00mil] + SymbolLine[0.0000 35.00mil 0.0000 50.00mil 8.00mil] +) +Symbol['j' 10.00mil] +( + SymbolLine[5.00mil 20.00mil 5.00mil 25.00mil 8.00mil] + SymbolLine[5.00mil 35.00mil 5.00mil 60.00mil 8.00mil] + SymbolLine[0.0000 65.00mil 5.00mil 60.00mil 8.00mil] +) +Symbol['k' 12.00mil] +( + SymbolLine[0.0000 10.00mil 0.0000 50.00mil 8.00mil] + SymbolLine[0.0000 35.00mil 15.00mil 50.00mil 8.00mil] + SymbolLine[0.0000 35.00mil 10.00mil 25.00mil 8.00mil] +) +Symbol['l' 10.00mil] +( + SymbolLine[0.0000 10.00mil 0.0000 45.00mil 8.00mil] + SymbolLine[0.0000 45.00mil 5.00mil 50.00mil 8.00mil] +) +Symbol['m' 12.00mil] +( + SymbolLine[5.00mil 35.00mil 5.00mil 50.00mil 8.00mil] + SymbolLine[5.00mil 35.00mil 10.00mil 30.00mil 8.00mil] + SymbolLine[10.00mil 30.00mil 15.00mil 30.00mil 8.00mil] + SymbolLine[15.00mil 30.00mil 20.00mil 35.00mil 8.00mil] + SymbolLine[20.00mil 35.00mil 20.00mil 50.00mil 8.00mil] + SymbolLine[20.00mil 35.00mil 25.00mil 30.00mil 8.00mil] + SymbolLine[25.00mil 30.00mil 30.00mil 30.00mil 8.00mil] + SymbolLine[30.00mil 30.00mil 35.00mil 35.00mil 8.00mil] + SymbolLine[35.00mil 35.00mil 35.00mil 50.00mil 8.00mil] + SymbolLine[0.0000 30.00mil 5.00mil 35.00mil 8.00mil] +) +Symbol['n' 12.00mil] +( + SymbolLine[5.00mil 35.00mil 5.00mil 50.00mil 8.00mil] + SymbolLine[5.00mil 35.00mil 10.00mil 30.00mil 8.00mil] + SymbolLine[10.00mil 30.00mil 15.00mil 30.00mil 8.00mil] + SymbolLine[15.00mil 30.00mil 20.00mil 35.00mil 8.00mil] + SymbolLine[20.00mil 35.00mil 20.00mil 50.00mil 8.00mil] + SymbolLine[0.0000 30.00mil 5.00mil 35.00mil 8.00mil] +) +Symbol['o' 12.00mil] +( + SymbolLine[0.0000 35.00mil 0.0000 45.00mil 8.00mil] + SymbolLine[0.0000 35.00mil 5.00mil 30.00mil 8.00mil] + SymbolLine[5.00mil 30.00mil 15.00mil 30.00mil 8.00mil] + SymbolLine[15.00mil 30.00mil 20.00mil 35.00mil 8.00mil] + SymbolLine[20.00mil 35.00mil 20.00mil 45.00mil 8.00mil] + SymbolLine[15.00mil 50.00mil 20.00mil 45.00mil 8.00mil] + SymbolLine[5.00mil 50.00mil 15.00mil 50.00mil 8.00mil] + SymbolLine[0.0000 45.00mil 5.00mil 50.00mil 8.00mil] +) +Symbol['p' 12.00mil] +( + SymbolLine[5.00mil 35.00mil 5.00mil 65.00mil 8.00mil] + SymbolLine[0.0000 30.00mil 5.00mil 35.00mil 8.00mil] + SymbolLine[5.00mil 35.00mil 10.00mil 30.00mil 8.00mil] + SymbolLine[10.00mil 30.00mil 20.00mil 30.00mil 8.00mil] + SymbolLine[20.00mil 30.00mil 25.00mil 35.00mil 8.00mil] + SymbolLine[25.00mil 35.00mil 25.00mil 45.00mil 8.00mil] + SymbolLine[20.00mil 50.00mil 25.00mil 45.00mil 8.00mil] + SymbolLine[10.00mil 50.00mil 20.00mil 50.00mil 8.00mil] + SymbolLine[5.00mil 45.00mil 10.00mil 50.00mil 8.00mil] +) +Symbol['q' 12.00mil] +( + SymbolLine[20.00mil 35.00mil 20.00mil 65.00mil 8.00mil] + SymbolLine[15.00mil 30.00mil 20.00mil 35.00mil 8.00mil] + SymbolLine[5.00mil 30.00mil 15.00mil 30.00mil 8.00mil] + SymbolLine[0.0000 35.00mil 5.00mil 30.00mil 8.00mil] + SymbolLine[0.0000 35.00mil 0.0000 45.00mil 8.00mil] + SymbolLine[0.0000 45.00mil 5.00mil 50.00mil 8.00mil] + SymbolLine[5.00mil 50.00mil 15.00mil 50.00mil 8.00mil] + SymbolLine[15.00mil 50.00mil 20.00mil 45.00mil 8.00mil] +) +Symbol['r' 12.00mil] +( + SymbolLine[5.00mil 35.00mil 5.00mil 50.00mil 8.00mil] + SymbolLine[5.00mil 35.00mil 10.00mil 30.00mil 8.00mil] + SymbolLine[10.00mil 30.00mil 20.00mil 30.00mil 8.00mil] + SymbolLine[0.0000 30.00mil 5.00mil 35.00mil 8.00mil] +) +Symbol['s' 12.00mil] +( + SymbolLine[5.00mil 50.00mil 20.00mil 50.00mil 8.00mil] + SymbolLine[20.00mil 50.00mil 25.00mil 45.00mil 8.00mil] + SymbolLine[20.00mil 40.00mil 25.00mil 45.00mil 8.00mil] + SymbolLine[5.00mil 40.00mil 20.00mil 40.00mil 8.00mil] + SymbolLine[0.0000 35.00mil 5.00mil 40.00mil 8.00mil] + SymbolLine[0.0000 35.00mil 5.00mil 30.00mil 8.00mil] + SymbolLine[5.00mil 30.00mil 20.00mil 30.00mil 8.00mil] + SymbolLine[20.00mil 30.00mil 25.00mil 35.00mil 8.00mil] + SymbolLine[0.0000 45.00mil 5.00mil 50.00mil 8.00mil] +) +Symbol['t' 10.00mil] +( + SymbolLine[5.00mil 10.00mil 5.00mil 45.00mil 8.00mil] + SymbolLine[5.00mil 45.00mil 10.00mil 50.00mil 8.00mil] + SymbolLine[0.0000 25.00mil 10.00mil 25.00mil 8.00mil] +) +Symbol['u' 12.00mil] +( + SymbolLine[0.0000 30.00mil 0.0000 45.00mil 8.00mil] + SymbolLine[0.0000 45.00mil 5.00mil 50.00mil 8.00mil] + SymbolLine[5.00mil 50.00mil 15.00mil 50.00mil 8.00mil] + SymbolLine[15.00mil 50.00mil 20.00mil 45.00mil 8.00mil] + SymbolLine[20.00mil 30.00mil 20.00mil 45.00mil 8.00mil] +) +Symbol['v' 12.00mil] +( + SymbolLine[0.0000 30.00mil 0.0000 40.00mil 8.00mil] + SymbolLine[0.0000 40.00mil 10.00mil 50.00mil 8.00mil] + SymbolLine[10.00mil 50.00mil 20.00mil 40.00mil 8.00mil] + SymbolLine[20.00mil 30.00mil 20.00mil 40.00mil 8.00mil] +) +Symbol['w' 12.00mil] +( + SymbolLine[0.0000 30.00mil 0.0000 45.00mil 8.00mil] + SymbolLine[0.0000 45.00mil 5.00mil 50.00mil 8.00mil] + SymbolLine[5.00mil 50.00mil 10.00mil 50.00mil 8.00mil] + SymbolLine[10.00mil 50.00mil 15.00mil 45.00mil 8.00mil] + SymbolLine[15.00mil 30.00mil 15.00mil 45.00mil 8.00mil] + SymbolLine[15.00mil 45.00mil 20.00mil 50.00mil 8.00mil] + SymbolLine[20.00mil 50.00mil 25.00mil 50.00mil 8.00mil] + SymbolLine[25.00mil 50.00mil 30.00mil 45.00mil 8.00mil] + SymbolLine[30.00mil 30.00mil 30.00mil 45.00mil 8.00mil] +) +Symbol['x' 12.00mil] +( + SymbolLine[0.0000 30.00mil 20.00mil 50.00mil 8.00mil] + SymbolLine[0.0000 50.00mil 20.00mil 30.00mil 8.00mil] +) +Symbol['y' 12.00mil] +( + SymbolLine[0.0000 30.00mil 0.0000 45.00mil 8.00mil] + SymbolLine[0.0000 45.00mil 5.00mil 50.00mil 8.00mil] + SymbolLine[20.00mil 30.00mil 20.00mil 60.00mil 8.00mil] + SymbolLine[15.00mil 65.00mil 20.00mil 60.00mil 8.00mil] + SymbolLine[5.00mil 65.00mil 15.00mil 65.00mil 8.00mil] + SymbolLine[0.0000 60.00mil 5.00mil 65.00mil 8.00mil] + SymbolLine[5.00mil 50.00mil 15.00mil 50.00mil 8.00mil] + SymbolLine[15.00mil 50.00mil 20.00mil 45.00mil 8.00mil] +) +Symbol['z' 12.00mil] +( + SymbolLine[0.0000 30.00mil 20.00mil 30.00mil 8.00mil] + SymbolLine[0.0000 50.00mil 20.00mil 30.00mil 8.00mil] + SymbolLine[0.0000 50.00mil 20.00mil 50.00mil 8.00mil] +) +Symbol['{' 12.00mil] +( + SymbolLine[5.00mil 15.00mil 10.00mil 10.00mil 8.00mil] + SymbolLine[5.00mil 15.00mil 5.00mil 25.00mil 8.00mil] + SymbolLine[0.0000 30.00mil 5.00mil 25.00mil 8.00mil] + SymbolLine[0.0000 30.00mil 5.00mil 35.00mil 8.00mil] + SymbolLine[5.00mil 35.00mil 5.00mil 45.00mil 8.00mil] + SymbolLine[5.00mil 45.00mil 10.00mil 50.00mil 8.00mil] +) +Symbol['|' 12.00mil] +( + SymbolLine[0.0000 10.00mil 0.0000 50.00mil 8.00mil] +) +Symbol['}' 12.00mil] +( + SymbolLine[0.0000 10.00mil 5.00mil 15.00mil 8.00mil] + SymbolLine[5.00mil 15.00mil 5.00mil 25.00mil 8.00mil] + SymbolLine[5.00mil 25.00mil 10.00mil 30.00mil 8.00mil] + SymbolLine[5.00mil 35.00mil 10.00mil 30.00mil 8.00mil] + SymbolLine[5.00mil 35.00mil 5.00mil 45.00mil 8.00mil] + SymbolLine[0.0000 50.00mil 5.00mil 45.00mil 8.00mil] +) +Symbol['~' 12.00mil] +( + SymbolLine[0.0000 35.00mil 5.00mil 30.00mil 8.00mil] + SymbolLine[5.00mil 30.00mil 10.00mil 30.00mil 8.00mil] + SymbolLine[10.00mil 30.00mil 15.00mil 35.00mil 8.00mil] + SymbolLine[15.00mil 35.00mil 20.00mil 35.00mil 8.00mil] + SymbolLine[20.00mil 35.00mil 25.00mil 30.00mil 8.00mil] +) +Attribute("PCB::grid::unit" "mil") +Attribute("PCB::grid::size" "5.00mil") +Via[2550.00mil 1775.00mil 40.00mil 20.00mil 0.0000 20.00mil "" ""] +Via[3125.00mil 1725.00mil 40.00mil 20.00mil 0.0000 20.00mil "" ""] +Via[1790.00mil 1090.00mil 40.00mil 20.00mil 0.0000 20.00mil "" ""] +Via[1665.00mil 1215.00mil 40.00mil 20.00mil 0.0000 20.00mil "" ""] + +Element["" "" "" "" 2900.00mil 850.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 34.00mil "1" "1" "square"] + + ) + +Element["" "" "" "" 2800.00mil 850.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 34.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2700.00mil 850.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 34.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2600.00mil 850.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 34.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2500.00mil 850.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 34.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2400.00mil 850.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 34.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2300.00mil 850.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 34.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2200.00mil 850.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 34.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2100.00mil 850.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 34.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2000.00mil 850.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 34.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2900.00mil 1150.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 34.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2800.00mil 1150.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 34.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2700.00mil 1150.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 34.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2600.00mil 1150.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 34.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2500.00mil 1150.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 34.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2400.00mil 1150.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 34.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2300.00mil 1150.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 34.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2200.00mil 1150.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 34.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2100.00mil 1150.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 34.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2000.00mil 1150.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 34.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2950.00mil 1900.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 34.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2950.00mil 2170.00mil 10.00mil 50.00mil 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 34.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 1740.00mil 1900.00mil -70.00mil -30.00mil 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 34.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 1740.00mil 2170.00mil -50.00mil 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 34.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2650.00mil 2400.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 34.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2950.00mil 1500.00mil 0.0000 50.00mil 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 34.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2825.00mil 1425.00mil -50.00mil 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 34.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2150.00mil 2480.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 34.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 1950.00mil 2480.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 34.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2050.00mil 2480.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 34.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2950.00mil 2480.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 34.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2850.00mil 2480.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 34.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2750.00mil 2480.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 34.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2575.00mil 1350.00mil 50.00mil 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 34.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2375.00mil 1650.00mil 100.00mil 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 34.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2950.00mil 600.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 34.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2850.00mil 600.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 34.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2750.00mil 600.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 34.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2650.00mil 600.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 34.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2550.00mil 600.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 34.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2450.00mil 600.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 34.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2350.00mil 600.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 34.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2250.00mil 600.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 34.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2090.00mil 590.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 34.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 1990.00mil 590.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 34.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 1890.00mil 590.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 34.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 1790.00mil 590.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 34.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 1690.00mil 590.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 34.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 1590.00mil 590.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 34.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 1575.00mil 1425.00mil 50.00mil 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 34.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 1675.00mil 1525.00mil 50.00mil 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 34.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 1575.00mil 1525.00mil 0.0000 50.00mil 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 34.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 1575.00mil 1325.00mil 50.00mil 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 34.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2450.00mil 1350.00mil 25.00mil 50.00mil 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 34.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2350.00mil 1350.00mil 0.0000 50.00mil 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 34.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2250.00mil 1350.00mil -25.00mil 50.00mil 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 34.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2150.00mil 1350.00mil -75.00mil 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 34.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2050.00mil 1350.00mil 0.0000 50.00mil 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 34.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2250.00mil 1650.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 34.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2150.00mil 1650.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 34.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2050.00mil 1650.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 34.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 1950.00mil 1650.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 34.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 1850.00mil 1650.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 34.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2550.00mil 1600.00mil 0.0000 150.00mil 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 34.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2750.00mil 1600.00mil -50.00mil 50.00mil 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 34.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2650.00mil 1600.00mil 0.0000 50.00mil 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 34.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 1800.00mil 1425.00mil 50.00mil 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 34.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 1800.00mil 1525.00mil 75.00mil 50.00mil 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 34.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 1300.00mil 1160.00mil 0.0000 150.00mil 0 100 ""] +( + Pin[0.0000 0.0000 110.00mil 10.00mil 110.00mil 110.00mil "h1" "" ""] + + ) + +Element["" "" "" "" 1300.00mil 2200.00mil -75.00mil 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 110.00mil 10.00mil 110.00mil 110.00mil "" "" ""] + + ) + +Element["onsolder" "" "" "" 2587.50mil 2400.00mil 0.0000 0.0000 1 100 "onsolder"] +( + Pad[0.0000 0.0000 25.00mil 0.0000 25.00mil 10.00mil 40.00mil "" "1" "onsolder,square"] + + ) + +Element["" "" "" "" 3025.00mil 1650.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 28.00mil "1" "1" ""] + + ) + +Element["" "" "" "" 2900.00mil 1650.00mil 0.0000 0.0000 0 100 ""] +( + Pin[0.0000 0.0000 60.00mil 30.00mil 66.00mil 28.00mil "1" "1" ""] + + ) +Layer(1 "top" "copper") +( + Line[2550.00mil 1775.00mil 3075.00mil 1775.00mil 20.00mil 20.00mil "clearline"] + Line[3125.00mil 1725.00mil 3075.00mil 1775.00mil 20.00mil 20.00mil "clearline"] + Line[1590.00mil 745.00mil 2000.00mil 1150.00mil 20.00mil 20.00mil "clearline"] + Line[1790.00mil 1090.00mil 1665.00mil 1215.00mil 20.00mil 20.00mil "clearline"] + Line[1590.00mil 605.00mil 1590.00mil 745.00mil 20.00mil 20.00mil "clearline"] +) +Layer(2 "bottom" "copper") +( + Line[2750.00mil 675.00mil 2700.00mil 725.00mil 20.00mil 20.00mil "clearline"] + Line[2700.00mil 725.00mil 2700.00mil 850.00mil 20.00mil 20.00mil "clearline"] + Line[2650.00mil 600.00mil 2650.00mil 675.00mil 20.00mil 20.00mil "clearline"] + Line[2650.00mil 675.00mil 2600.00mil 725.00mil 20.00mil 20.00mil "clearline"] + Line[2600.00mil 725.00mil 2600.00mil 850.00mil 20.00mil 20.00mil "clearline"] + Line[2550.00mil 600.00mil 2550.00mil 675.00mil 20.00mil 20.00mil "clearline"] + Line[2550.00mil 675.00mil 2500.00mil 725.00mil 20.00mil 20.00mil "clearline"] + Line[2500.00mil 725.00mil 2500.00mil 850.00mil 20.00mil 20.00mil "clearline"] + Line[2450.00mil 600.00mil 2450.00mil 675.00mil 20.00mil 20.00mil "clearline"] + Line[2450.00mil 675.00mil 2400.00mil 725.00mil 20.00mil 20.00mil "clearline"] + Line[2400.00mil 725.00mil 2400.00mil 850.00mil 20.00mil 20.00mil "clearline"] + Line[2350.00mil 600.00mil 2350.00mil 675.00mil 20.00mil 20.00mil "clearline"] + Line[2350.00mil 675.00mil 2300.00mil 725.00mil 20.00mil 20.00mil "clearline"] + Line[2300.00mil 725.00mil 2300.00mil 850.00mil 20.00mil 20.00mil "clearline"] + Line[2250.00mil 600.00mil 2250.00mil 675.00mil 20.00mil 20.00mil "clearline"] + Line[2250.00mil 675.00mil 2200.00mil 725.00mil 20.00mil 20.00mil "clearline"] + Line[2200.00mil 725.00mil 2200.00mil 850.00mil 20.00mil 20.00mil "clearline"] + Line[2090.00mil 600.00mil 2090.00mil 790.00mil 20.00mil 20.00mil "clearline"] + Line[1925.00mil 750.00mil 2000.00mil 675.00mil 20.00mil 20.00mil "clearline"] + Line[2000.00mil 675.00mil 2000.00mil 610.00mil 20.00mil 20.00mil "clearline"] + Line[1850.00mil 950.00mil 1850.00mil 650.00mil 20.00mil 20.00mil "clearline"] + Line[1725.00mil 1150.00mil 1725.00mil 635.00mil 20.00mil 20.00mil "clearline"] + Line[1725.00mil 635.00mil 1690.00mil 600.00mil 20.00mil 20.00mil "clearline"] + Line[2800.00mil 1150.00mil 2800.00mil 1075.00mil 20.00mil 20.00mil "clearline"] + Line[2800.00mil 1075.00mil 2725.00mil 1000.00mil 20.00mil 20.00mil "clearline"] + Line[2725.00mil 1000.00mil 2000.00mil 1000.00mil 20.00mil 20.00mil "clearline"] + Line[2000.00mil 1000.00mil 1925.00mil 925.00mil 20.00mil 20.00mil "clearline"] + Line[1925.00mil 925.00mil 1925.00mil 750.00mil 20.00mil 20.00mil "clearline"] + Line[2000.00mil 850.00mil 2000.00mil 900.00mil 40.00mil 20.00mil "clearline"] + Line[2000.00mil 900.00mil 2025.00mil 925.00mil 40.00mil 20.00mil "clearline"] + Line[2875.00mil 925.00mil 2925.00mil 925.00mil 40.00mil 20.00mil "clearline"] + Line[2900.00mil 925.00mil 2900.00mil 850.00mil 40.00mil 20.00mil "clearline"] + Line[2700.00mil 1150.00mil 2700.00mil 1100.00mil 20.00mil 20.00mil "clearline"] + Line[2700.00mil 1100.00mil 2675.00mil 1075.00mil 20.00mil 20.00mil "clearline"] + Line[2675.00mil 1075.00mil 1975.00mil 1075.00mil 20.00mil 20.00mil "clearline"] + Line[1975.00mil 1075.00mil 1850.00mil 950.00mil 20.00mil 20.00mil "clearline"] + Line[2100.00mil 1150.00mil 2100.00mil 1200.00mil 20.00mil 20.00mil "clearline"] + Line[2100.00mil 1200.00mil 2050.00mil 1250.00mil 20.00mil 20.00mil "clearline"] + Line[2050.00mil 1250.00mil 1825.00mil 1250.00mil 20.00mil 20.00mil "clearline"] + Line[1825.00mil 1250.00mil 1725.00mil 1150.00mil 20.00mil 20.00mil "clearline"] + Line[2100.00mil 850.00mil 2100.00mil 800.00mil 20.00mil 20.00mil "clearline"] + Line[2100.00mil 800.00mil 2090.00mil 790.00mil 20.00mil 20.00mil "clearline"] + Line[2140.00mil 2480.00mil 2450.00mil 2170.00mil 40.00mil 20.00mil "clearline"] + Line[2450.00mil 2170.00mil 2950.00mil 2170.00mil 40.00mil 20.00mil "clearline"] + Line[2500.00mil 1925.00mil 1950.00mil 2480.00mil 40.00mil 20.00mil "clearline"] + Line[2500.00mil 1925.00mil 2625.00mil 1925.00mil 40.00mil 20.00mil "clearline"] + Line[2950.00mil 1900.00mil 2950.00mil 1800.00mil 40.00mil 20.00mil "clearline"] + Line[2950.00mil 2170.00mil 3050.00mil 2070.00mil 40.00mil 20.00mil "clearline"] + Line[3050.00mil 2070.00mil 3050.00mil 1050.00mil 40.00mil 20.00mil "clearline"] + Line[3050.00mil 1050.00mil 2900.00mil 900.00mil 40.00mil 20.00mil "clearline"] + Line[2650.00mil 2400.00mil 2500.00mil 2400.00mil 20.00mil 20.00mil "clearline"] + Line[2500.00mil 2400.00mil 2350.00mil 2550.00mil 20.00mil 20.00mil "clearline"] + Line[2350.00mil 2550.00mil 1625.00mil 2550.00mil 20.00mil 20.00mil "clearline"] + Line[1625.00mil 2550.00mil 1425.00mil 2350.00mil 20.00mil 20.00mil "clearline"] + Line[2025.00mil 925.00mil 2875.00mil 925.00mil 40.00mil 20.00mil "clearline"] + Line[1750.00mil 1900.00mil 1875.00mil 1775.00mil 20.00mil 20.00mil "clearline"] + Line[1875.00mil 1775.00mil 2550.00mil 1775.00mil 20.00mil 20.00mil "clearline"] + Line[3125.00mil 950.00mil 2950.00mil 775.00mil 20.00mil 20.00mil "clearline"] + Line[2950.00mil 775.00mil 2825.00mil 775.00mil 20.00mil 20.00mil "clearline"] + Line[2825.00mil 775.00mil 2800.00mil 800.00mil 20.00mil 20.00mil "clearline"] + Line[2800.00mil 800.00mil 2800.00mil 850.00mil 20.00mil 20.00mil "clearline"] + Line[2625.00mil 1925.00mil 2750.00mil 1800.00mil 40.00mil 20.00mil "clearline"] + Line[2900.00mil 1350.00mil 2900.00mil 1150.00mil 40.00mil 20.00mil "clearline"] + Line[2600.00mil 1150.00mil 2450.00mil 1350.00mil 20.00mil 20.00mil "clearline"] + Line[2500.00mil 1150.00mil 2350.00mil 1350.00mil 20.00mil 20.00mil "clearline"] + Line[2400.00mil 1150.00mil 2250.00mil 1350.00mil 20.00mil 20.00mil "clearline"] + Line[2300.00mil 1150.00mil 2150.00mil 1350.00mil 20.00mil 20.00mil "clearline"] + Line[2200.00mil 1150.00mil 2050.00mil 1350.00mil 20.00mil 20.00mil "clearline"] + Line[1730.00mil 2150.00mil 1665.00mil 2100.00mil 20.00mil 20.00mil "clearline"] + Line[1665.00mil 2100.00mil 1665.00mil 1525.00mil 20.00mil 20.00mil "clearline"] + Line[1675.00mil 1650.00mil 1900.00mil 1650.00mil 20.00mil 20.00mil "clearline"] + Line[1900.00mil 1425.00mil 2050.00mil 1575.00mil 20.00mil 20.00mil "clearline"] + Line[2050.00mil 1575.00mil 2300.00mil 1575.00mil 20.00mil 20.00mil "clearline"] + Line[2300.00mil 1575.00mil 2375.00mil 1650.00mil 20.00mil 20.00mil "clearline"] + Line[1425.00mil 2350.00mil 1425.00mil 1325.00mil 20.00mil 20.00mil "clearline"] + Line[1425.00mil 1325.00mil 1535.00mil 1215.00mil 20.00mil 20.00mil "clearline"] + Line[2750.00mil 600.00mil 2750.00mil 675.00mil 20.00mil 20.00mil "clearline"] + Line[1675.00mil 1525.00mil 1675.00mil 1425.00mil 20.00mil 20.00mil "clearline"] + Line[1675.00mil 1525.00mil 1800.00mil 1525.00mil 20.00mil 20.00mil "clearline"] + Line[1650.00mil 2300.00mil 1750.00mil 2300.00mil 20.00mil 20.00mil "clearline"] + Line[1750.00mil 2300.00mil 1825.00mil 2225.00mil 20.00mil 20.00mil "clearline"] + Line[1825.00mil 2225.00mil 1825.00mil 2075.00mil 20.00mil 20.00mil "clearline"] + Line[1825.00mil 2075.00mil 1740.00mil 1990.00mil 20.00mil 20.00mil "clearline"] + Line[1740.00mil 1990.00mil 1740.00mil 1910.00mil 20.00mil 20.00mil "clearline"] + Line[1575.00mil 1425.00mil 1575.00mil 2225.00mil 20.00mil 20.00mil "clearline"] + Line[1575.00mil 2225.00mil 1650.00mil 2300.00mil 20.00mil 20.00mil "clearline"] + Line[2750.00mil 1800.00mil 2750.00mil 1600.00mil 40.00mil 20.00mil "clearline"] + Line[2950.00mil 1500.00mil 3050.00mil 1500.00mil 40.00mil 20.00mil "clearline"] + Line[2250.00mil 1650.00mil 1850.00mil 1650.00mil 20.00mil 20.00mil "clearline"] + Line[2650.00mil 1600.00mil 2900.00mil 1350.00mil 40.00mil 20.00mil "clearline"] + Line[1825.00mil 1425.00mil 1900.00mil 1425.00mil 20.00mil 20.00mil "clearline"] + Line[1790.00mil 585.00mil 1790.00mil 900.00mil 20.00mil 20.00mil "clearline"] + Line[1790.00mil 900.00mil 1790.00mil 1090.00mil 20.00mil 20.00mil "clearline"] + Line[1850.00mil 650.00mil 1850.00mil 630.00mil 20.00mil 20.00mil "clearline"] + Line[1850.00mil 630.00mil 1890.00mil 590.00mil 20.00mil 20.00mil "clearline"] + Line[2575.00mil 1350.00mil 2737.50mil 1512.50mil 20.00mil 20.00mil "clearline"] + Line[2525.00mil 2125.00mil 2525.00mil 2225.00mil 25.00mil 20.00mil ""] + Line[2950.00mil 1050.00mil 3050.00mil 950.00mil 25.00mil 20.00mil ""] + Line[1625.00mil 1775.00mil 1750.00mil 1775.00mil 25.00mil 20.00mil ""] + Line[3000.00mil 1350.00mil 3050.00mil 1350.00mil 25.00mil 20.00mil ""] + Line[3000.00mil 1825.00mil 3100.00mil 1825.00mil 25.00mil 20.00mil ""] + Line[1650.00mil 2025.00mil 1700.00mil 2025.00mil 25.00mil 20.00mil ""] + Line[3125.00mil 1725.00mil 3125.00mil 950.00mil 20.00mil 20.00mil "clearline"] + Line[2875.00mil 1575.00mil 2775.00mil 1475.00mil 40.00mil 20.00mil "clearline"] + Line[2875.00mil 1725.00mil 2875.00mil 1575.00mil 40.00mil 20.00mil "clearline"] + Line[2950.00mil 1800.00mil 2875.00mil 1725.00mil 40.00mil 20.00mil "clearline"] + Line[1675.00mil 1425.00mil 1575.00mil 1325.00mil 20.00mil 20.00mil "clearline"] + Line[1535.00mil 1215.00mil 1665.00mil 1215.00mil 20.00mil 20.00mil "clearline"] + Polygon("clearpoly,fullpoly") + ( + [1075.00mil 550.00mil] [1125.00mil 500.00mil] [3200.00mil 500.00mil] [3250.00mil 550.00mil] [3250.00mil 2550.00mil] + [3200.00mil 2600.00mil] [1125.00mil 2600.00mil] [1075.00mil 2550.00mil] + ) +) +Layer(3 "info" "copper") +( + Text[2920.00mil 2430.00mil 1 100 "AIN5" ""] + Text[1720.00mil 2430.00mil 1 100 "RST" ""] + Text[1820.00mil 2430.00mil 1 100 "3.3V" ""] + Text[1920.00mil 2430.00mil 1 100 "5V" ""] + Text[2020.00mil 2430.00mil 1 100 "GND" ""] + Text[2120.00mil 2430.00mil 1 100 "GND" ""] + Text[2220.00mil 2430.00mil 1 100 "VIN" ""] + Text[2420.00mil 2430.00mil 1 100 "AIN0" ""] + Text[2520.00mil 2430.00mil 1 100 "AIN1" ""] + Text[2620.00mil 2430.00mil 1 100 "AIN2" ""] + Text[2720.00mil 2430.00mil 1 100 "AIN3" ""] + Text[2820.00mil 2430.00mil 1 100 "AIN4" ""] + Text[1360.00mil 500.00mil 1 100 "AREF" ""] + Text[1560.00mil 460.00mil 1 100 "D13" ""] + Text[1660.00mil 460.00mil 1 100 "D12" ""] + Text[1760.00mil 460.00mil 1 100 "D11" ""] + Text[1860.00mil 460.00mil 1 100 "D10" ""] + Text[1460.00mil 470.00mil 1 100 "GND" ""] + Text[1960.00mil 430.00mil 1 100 "D9" ""] + Text[2060.00mil 430.00mil 1 100 "D8" ""] + Text[2320.00mil 430.00mil 1 100 "D6" ""] + Text[2420.00mil 430.00mil 1 100 "D5" ""] + Text[2520.00mil 430.00mil 1 100 "D4" ""] + Text[2620.00mil 430.00mil 1 100 "D3" ""] + Text[2720.00mil 430.00mil 1 100 "D2" ""] + Text[2220.00mil 430.00mil 1 100 "D7" ""] + Text[2920.00mil 430.00mil 1 100 "D0" ""] + Text[2820.00mil 430.00mil 1 100 "D1" ""] + Text[2820.00mil 550.00mil 1 100 "(TX)" ""] + Text[2920.00mil 550.00mil 1 100 "(RX)" ""] +) +Layer(4 "outline" "outline") +( + Line[1125.00mil 2600.00mil 3200.00mil 2600.00mil 10.00mil 20.00mil ""] + Line[1125.00mil 500.00mil 3200.00mil 500.00mil 10.00mil 20.00mil ""] + Line[1075.00mil 550.00mil 1075.00mil 2550.00mil 10.00mil 20.00mil ""] + Line[3250.00mil 2550.00mil 3250.00mil 550.00mil 10.00mil 20.00mil ""] + Line[1075.00mil 550.00mil 1125.00mil 500.00mil 10.00mil 20.00mil "clearline"] + Line[1125.00mil 2600.00mil 1075.00mil 2550.00mil 10.00mil 20.00mil "clearline"] + Line[3250.00mil 2550.00mil 3200.00mil 2600.00mil 10.00mil 20.00mil "clearline"] + Line[3200.00mil 500.00mil 3250.00mil 550.00mil 10.00mil 20.00mil "clearline"] +) +Layer(5 "bottom silk" "silk") +( +) +Layer(6 "top silk" "silk") +( + Line[1700.00mil 700.00mil 1700.00mil 1300.00mil 10.00mil 20.00mil "clearline"] + Line[1700.00mil 1300.00mil 3200.00mil 1300.00mil 10.00mil 20.00mil "clearline"] + Line[3200.00mil 1300.00mil 3200.00mil 755.00mil 10.00mil 20.00mil "clearline"] + Line[1700.00mil 695.00mil 3225.00mil 695.00mil 10.00mil 20.00mil "clearline"] + Line[3100.00mil 1700.00mil 3100.00mil 2370.00mil 10.00mil 20.00mil "clearline"] + Line[1600.00mil 1700.00mil 1600.00mil 2370.00mil 10.00mil 20.00mil "clearline"] + Line[3100.00mil 1700.00mil 1600.00mil 1700.00mil 10.00mil 20.00mil "clearline"] + Line[1600.00mil 2370.00mil 3100.00mil 2370.00mil 10.00mil 20.00mil "clearline"] + Line[2275.00mil 1600.00mil 2400.00mil 1425.00mil 10.00mil 20.00mil "clearline"] + Line[1900.00mil 1575.00mil 2025.00mil 1400.00mil 10.00mil 20.00mil "clearline"] + Line[2550.00mil 1400.00mil 2400.00mil 1600.00mil 10.00mil 20.00mil "clearline"] + Line[2750.00mil 1550.00mil 2550.00mil 1550.00mil 10.00mil 20.00mil "clearline"] + Line[2750.00mil 1650.00mil 2550.00mil 1650.00mil 10.00mil 20.00mil "clearline"] + Line[2650.00mil 2350.00mil 2650.00mil 2275.00mil 10.00mil 20.00mil ""] + Line[2650.00mil 2275.00mil 2625.00mil 2300.00mil 10.00mil 20.00mil ""] + Line[2650.00mil 2275.00mil 2675.00mil 2300.00mil 10.00mil 20.00mil ""] + Line[3025.00mil 695.00mil 3025.00mil 750.00mil 10.00mil 20.00mil ""] + Line[3025.00mil 750.00mil 3225.00mil 750.00mil 10.00mil 20.00mil ""] + Line[3225.00mil 750.00mil 3225.00mil 695.00mil 10.00mil 20.00mil ""] + Line[2950.00mil 1625.00mil 2950.00mil 1675.00mil 10.00mil 20.00mil "clearline"] + Line[2950.00mil 1650.00mil 2925.00mil 1650.00mil 10.00mil 20.00mil "clearline"] + Line[2975.00mil 1675.00mil 2975.00mil 1625.00mil 10.00mil 20.00mil "clearline"] + Line[3000.00mil 1650.00mil 2975.00mil 1650.00mil 10.00mil 20.00mil "clearline"] + Arc[73.1764mm 37.1101mm 125.00mil 125.00mil 10.00mil 20.00mil -90 -90 "clearline"] + Arc[73.1764mm 37.1101mm 125.00mil 125.00mil 10.00mil 20.00mil 180 -90 "clearline"] + Arc[73.1764mm 37.1101mm 125.00mil 125.00mil 10.00mil 20.00mil 90 -90 "clearline"] + Arc[73.1764mm 37.1101mm 125.00mil 125.00mil 10.00mil 20.00mil 0 -90 "clearline"] + Arc[3200.00mil 1000.00mil 25.00mil 25.00mil 10.00mil 20.00mil -90 90 ""] + Arc[3200.00mil 1000.00mil 25.00mil 25.00mil 10.00mil 20.00mil 0 90 ""] + Text[2075.00mil 1450.00mil 0 104 "R1 x 5" "clearline"] + Text[2625.00mil 1350.00mil 0 104 "R2" "clearline"] + Text[1650.00mil 1675.00mil 1 104 "GND" "clearline"] + Text[1550.00mil 1675.00mil 1 104 "VPP" "clearline"] + Text[73.8114mm 38.5071mm 0 104 "-" "clearline"] + Text[72.5414mm 34.1891mm 0 104 "+" "clearline"] + Text[2825.00mil 1475.00mil 0 104 "C1" "clearline"] + Text[3075.00mil 1600.00mil 0 104 "C2" "clearline"] + Text[1150.00mil 675.00mil 0 148 "Afterburner" "clearline"] + Text[1145.00mil 675.00mil 0 148 "Afterburner" "clearline"] + Text[1275.00mil 775.00mil 0 126 "v. 1.1" "clearline"] + Text[1850.00mil 1375.00mil 0 104 "LED" "clearline"] + Text[1925.00mil 1975.00mil 0 104 "MT3608 module" "clearline"] + Text[1275.00mil 875.00mil 0 104 "layout" "clearline"] + Text[1225.00mil 950.00mil 0 104 "-= olin =-" "clearline"] + Text[1670.00mil 1780.00mil 0 104 "VOUT +" "clearline"] + Text[2760.00mil 1820.00mil 0 104 "VIN +" "clearline"] + Text[1690.00mil 2230.00mil 0 104 "VOUT -" "clearline"] + Text[2880.00mil 2240.00mil 0 104 "VIN -" "clearline"] + Text[2350.00mil 2150.00mil 0 104 "To the EN pin" "clearline"] + Text[2350.00mil 2225.00mil 0 104 "on the IC" "clearline"] + Text[2125.00mil 950.00mil 0 104 "ZIF socket 20 pin" "clearline"] + Text[2525.00mil 1475.00mil 0 104 "OFF" "clearline"] + Text[2675.00mil 1475.00mil 0 104 "ON" "clearline"] + Polygon("clearpoly") + ( + [1775.00mil 1460.00mil] [1830.00mil 1460.00mil] [1800.00mil 1490.00mil] [1770.00mil 1460.00mil] + ) +) +NetList() +( + Net("unnamed_net1" "(unknown)") + ( + Connect("J4-2") + ) + Net("unnamed_net2" "(unknown)") + ( + Connect("J4-4") + ) + Net("unnamed_net3" "(unknown)") + ( + Connect("J4-6") + ) + Net("unnamed_net4" "(unknown)") + ( + Connect("J4-1") + ) + Net("unnamed_net5" "(unknown)") + ( + Connect("J4-3") + ) + Net("unnamed_net6" "(unknown)") + ( + Connect("J4-5") + ) + Net("unnamed_net7" "(unknown)") + ( + Connect("J2-2") + ) + Net("unnamed_net8" "(unknown)") + ( + Connect("J2-4") + ) + Net("unnamed_net9" "(unknown)") + ( + Connect("J2-6") + ) + Net("unnamed_net10" "(unknown)") + ( + Connect("J2-1") + ) + Net("unnamed_net11" "(unknown)") + ( + Connect("J2-3") + ) + Net("unnamed_net12" "(unknown)") + ( + Connect("J2-5") + ) + Net("unnamed_net13" "(unknown)") + ( + Connect("J3-2") + ) + Net("unnamed_net14" "(unknown)") + ( + Connect("J3-4") + ) + Net("unnamed_net15" "(unknown)") + ( + Connect("J3-6") + ) + Net("unnamed_net16" "(unknown)") + ( + Connect("J3-8") + ) + Net("unnamed_net17" "(unknown)") + ( + Connect("J3-1") + ) + Net("unnamed_net18" "(unknown)") + ( + Connect("J3-3") + ) + Net("unnamed_net19" "(unknown)") + ( + Connect("J3-5") + ) + Net("unnamed_net20" "(unknown)") + ( + Connect("J3-7") + ) + Net("unnamed_net21" "(unknown)") + ( + Connect("J1-2") + ) + Net("unnamed_net22" "(unknown)") + ( + Connect("J1-4") + ) + Net("unnamed_net23" "(unknown)") + ( + Connect("J1-6") + ) + Net("unnamed_net24" "(unknown)") + ( + Connect("J1-8") + ) + Net("unnamed_net25" "(unknown)") + ( + Connect("J1-1") + ) + Net("unnamed_net26" "(unknown)") + ( + Connect("J1-3") + ) + Net("unnamed_net27" "(unknown)") + ( + Connect("J1-5") + ) + Net("unnamed_net28" "(unknown)") + ( + Connect("J1-7") + ) +) diff --git a/schem_gal16v8.png b/schem_gal16v8.png new file mode 100644 index 0000000000000000000000000000000000000000..7b754f94ce33c1512634a8247f15dab10ed7d1fd GIT binary patch literal 96638 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μY)ZB>(P?!3n+iwWBCB>Qj{y`F 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 ssh9&JZ&cTZ>;X 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 literal 0 HcmV?d00001