From ecad3ad2355c0a54229bd4413ac346df3de33c77 Mon Sep 17 00:00:00 2001 From: jean-pierre charras Date: Thu, 5 Nov 2015 17:28:31 +0100 Subject: [PATCH] Netlist generator: avoid changing the order of parts in libparts section each time libraries are reloaded. pic_programmer demo: very minor fix and update netlist. cached_container.cpp: more info when the message "Out of memory" is displayed. --- common/gal/opengl/cached_container.cpp | 23 +- demos/pic_programmer/pic_programmer.net | 999 +++++++++--------- demos/pic_programmer/pic_programmer.sch | 2 +- eeschema/netlist_exporters/netlist_exporter.h | 20 +- .../netlist_exporter_generic.cpp | 10 +- 5 files changed, 542 insertions(+), 512 deletions(-) diff --git a/common/gal/opengl/cached_container.cpp b/common/gal/opengl/cached_container.cpp index a3fde2d018..8cf351358c 100644 --- a/common/gal/opengl/cached_container.cpp +++ b/common/gal/opengl/cached_container.cpp @@ -308,11 +308,14 @@ bool CACHED_CONTAINER::defragment( VERTEX* aTarget ) if( aTarget == NULL ) { // No target was specified, so we have to reallocate our own space - aTarget = static_cast( malloc( m_currentSize * sizeof( VERTEX ) ) ); + int size = m_currentSize * sizeof( VERTEX ); + aTarget = static_cast( malloc( size ) ); if( aTarget == NULL ) { - DisplayError( NULL, wxT( "Run out of memory" ) ); + DisplayError( NULL, wxString::Format( + wxT( "CACHED_CONTAINER::defragment: Run out of memory (malloc %d bytes)" ), + size ) ); return false; } } @@ -432,11 +435,15 @@ bool CACHED_CONTAINER::resizeContainer( unsigned int aNewSize ) if( reservedSpace() > aNewSize ) return false; - newContainer = static_cast( malloc( aNewSize * sizeof( VERTEX ) ) ); + int size = aNewSize * sizeof( VERTEX ); + newContainer = static_cast( malloc( size ) ); if( newContainer == NULL ) { - DisplayError( NULL, wxT( "Run out of memory" ) ); + DisplayError( NULL, wxString::Format( + wxT( "CACHED_CONTAINER::resizeContainer:\n" + "Run out of memory (malloc %d bytes)" ), + size ) ); return false; } @@ -451,11 +458,15 @@ bool CACHED_CONTAINER::resizeContainer( unsigned int aNewSize ) else { // Enlarging container - newContainer = static_cast( realloc( m_vertices, aNewSize * sizeof( VERTEX ) ) ); + int size = aNewSize * sizeof( VERTEX ); + newContainer = static_cast( realloc( m_vertices, size ) ); if( newContainer == NULL ) { - DisplayError( NULL, wxT( "Run out of memory" ) ); + DisplayError( NULL, wxString::Format( + wxT( "CACHED_CONTAINER::resizeContainer:\n" + "Run out of memory (realloc from %d to %d bytes)" ), + m_currentSize * sizeof( VERTEX ), size ) ); return false; } diff --git a/demos/pic_programmer/pic_programmer.net b/demos/pic_programmer/pic_programmer.net index eab4d6c05d..2b62ba1f7b 100644 --- a/demos/pic_programmer/pic_programmer.net +++ b/demos/pic_programmer/pic_programmer.net @@ -1,127 +1,149 @@ (export (version D) (design (source F:/kicad-launchpad/testing/demos/pic_programmer/pic_programmer.sch) - (date "20/09/2014 09:31:58") - (tool "Eeschema (2014-09-16 BZR 5138)-product")) + (date "05/11/2015 17:22:30") + (tool "Eeschema (2015-11-05 BZR 6299)-product") + (sheet (number 1) (name /) (tstamps /) + (title_block + (title "JDM - COM84 PIC Programmer with 13V DC/DC converter") + (company KiCad) + (rev 2) + (date "05 jan 2014") + (source pic_programmer.sch) + (comment (number 1) (value "")) + (comment (number 2) (value "")) + (comment (number 3) (value "")) + (comment (number 4) (value "")))) + (sheet (number 2) (name /pic_sockets/) (tstamps /4804A5E2/) + (title_block + (title "JDM - COM84 PIC Programmer with 13V DC/DC converter") + (company KiCad) + (rev 3) + (date "Sun 22 Mar 2015") + (source pic_sockets.sch) + (comment (number 1) (value "")) + (comment (number 2) (value "")) + (comment (number 3) (value "")) + (comment (number 4) (value ""))))) (components (comp (ref C9) - (value 22OnF) + (value 220nF) (footprint discret:C1-1) - (libsource (lib device) (part C)) + (libsource (lib pic_programmer_schlib) (part C)) (sheetpath (names /) (tstamps /)) (tstamp 464AD280)) (comp (ref JP1) (value JUMPER) (footprint connect:GS2) - (libsource (lib device) (part JUMPER)) + (libsource (lib pic_programmer_schlib) (part JUMPER)) (sheetpath (names /) (tstamps /)) (tstamp 4639BAF8)) (comp (ref D11) (value BAT43) (footprint discret:D3) - (libsource (lib device) (part DIODESCH)) + (libsource (lib pic_programmer_schlib) (part DIODESCH)) (sheetpath (names /) (tstamps /)) (tstamp 4639BA28)) (comp (ref D12) (value YELLOW-LED) (footprint discret:LEDV) - (libsource (lib device) (part LED)) + (libsource (lib pic_programmer_schlib) (part LED)) (sheetpath (names /) (tstamps /)) (tstamp 4639B9EA)) (comp (ref R21) (value 470) (footprint discret:R4) - (libsource (lib device) (part R)) + (libsource (lib pic_programmer_schlib) (part R)) (sheetpath (names /) (tstamps /)) (tstamp 4639B9E9)) (comp (ref R20) (value 2.2K) (footprint discret:R4) - (libsource (lib device) (part R)) + (libsource (lib pic_programmer_schlib) (part R)) (sheetpath (names /) (tstamps /)) (tstamp 4639B9B3)) (comp (ref R19) (value 2.2K) (footprint discret:R4) - (libsource (lib device) (part R)) + (libsource (lib pic_programmer_schlib) (part R)) (sheetpath (names /) (tstamps /)) (tstamp 4639B9B0)) (comp (ref Q3) (value BC307) (footprint discret:TO92) - (libsource (lib device) (part PNP)) + (libsource (lib pic_programmer_schlib) (part PNP)) (sheetpath (names /) (tstamps /)) (tstamp 4639B996)) (comp (ref RV1) (value 1K) (footprint discret:RV2X4) - (libsource (lib device) (part POT)) + (libsource (lib pic_programmer_schlib) (part POT)) (sheetpath (names /) (tstamps /)) (tstamp 443D0101)) (comp (ref R18) (value 220) (footprint discret:R4) - (libsource (lib device) (part R)) + (libsource (lib pic_programmer_schlib) (part R)) (sheetpath (names /) (tstamps /)) (tstamp 44369638)) (comp (ref D10) (value SCHOTTKY) (footprint discret:D5) - (libsource (lib device) (part DIODESCH)) + (libsource (lib pic_programmer_schlib) (part DIODESCH)) (sheetpath (names /) (tstamps /)) (tstamp 442A6026)) (comp (ref R10) (value 5,1K) (footprint discret:R4) - (libsource (lib device) (part R)) + (libsource (lib pic_programmer_schlib) (part R)) (sheetpath (names /) (tstamps /)) (tstamp 442A5F83)) (comp (ref C4) (value 0) (footprint discret:C1-1) - (libsource (lib device) (part C)) + (libsource (lib pic_programmer_schlib) (part C)) (sheetpath (names /) (tstamps /)) (tstamp 442A5F61)) (comp (ref U4) (value LT1373) (footprint dip_sockets:DIP-8__300_ELL) - (libsource (lib pic_programmer-cache) (part LT1373)) + (libsource (lib pic_programmer_schlib) (part LT1373)) (sheetpath (names /) (tstamps /)) (tstamp 442A5E20)) (comp (ref R16) (value 62K) (footprint discret:R4) - (libsource (lib device) (part R)) + (libsource (lib pic_programmer_schlib) (part R)) (sheetpath (names /) (tstamps /)) (tstamp 442A58DC)) (comp (ref R15) (value 6.2K) (footprint discret:R4) - (libsource (lib device) (part R)) + (libsource (lib pic_programmer_schlib) (part R)) (sheetpath (names /) (tstamps /)) (tstamp 442A58D7)) (comp (ref C5) (value 10nF) (footprint discret:C1-1) - (libsource (lib device) (part C)) + (libsource (lib pic_programmer_schlib) (part C)) (sheetpath (names /) (tstamps /)) (tstamp 442A58B1)) (comp (ref C3) (value 22uF/25V) (footprint discret:CP8) - (libsource (lib device) (part CP)) + (libsource (lib pic_programmer_schlib) (part CP)) (sheetpath (names /) (tstamps /)) (tstamp 442A584C)) (comp (ref L1) (value 22uH) (footprint inductors:INDUCTOR_V) - (libsource (lib device) (part INDUCTOR)) + (libsource (lib pic_programmer_schlib) (part INDUCTOR)) (sheetpath (names /) (tstamps /)) (tstamp 442A57BE)) (comp (ref R17) (value 22K) (footprint discret:R4) - (libsource (lib device) (part R)) + (libsource (lib pic_programmer_schlib) (part R)) (sheetpath (names /) (tstamps /)) (tstamp 442A50BF)) (comp (ref D9) @@ -129,43 +151,43 @@ (footprint discret:LEDV) (fields (field (name Champ4) "GREEN LED")) - (libsource (lib device) (part LED)) + (libsource (lib pic_programmer_schlib) (part LED)) (sheetpath (names /) (tstamps /)) (tstamp 442A5084)) (comp (ref R14) (value 470) (footprint discret:R4) - (libsource (lib device) (part R)) + (libsource (lib pic_programmer_schlib) (part R)) (sheetpath (names /) (tstamps /)) (tstamp 442A5083)) (comp (ref C1) (value 100µF) (footprint discret:CP10) - (libsource (lib device) (part CP)) + (libsource (lib pic_programmer_schlib) (part CP)) (sheetpath (names /) (tstamps /)) (tstamp 442A5056)) (comp (ref U3) (value 7805) (footprint discret:LM78XX) - (libsource (lib pic_programmer-cache) (part 7805)) + (libsource (lib pic_programmer_schlib) (part 7805)) (sheetpath (names /) (tstamps /)) (tstamp 442A504A)) (comp (ref C2) (value 220uF) (footprint discret:CP10) - (libsource (lib device) (part CP)) + (libsource (lib pic_programmer_schlib) (part CP)) (sheetpath (names /) (tstamps /)) (tstamp 442A501D)) (comp (ref D1) (value 1N4004) (footprint discret:D5) - (libsource (lib device) (part DIODE)) + (libsource (lib pic_programmer_schlib) (part DIODE)) (sheetpath (names /) (tstamps /)) (tstamp 442A500B)) (comp (ref P1) (value CONN_2) (footprint connect:bornier2) - (libsource (lib conn) (part CONN_2)) + (libsource (lib pic_programmer_schlib) (part CONN_2)) (sheetpath (names /) (tstamps /)) (tstamp 442A4FE7)) (comp (ref D8) @@ -173,268 +195,221 @@ (footprint discret:LEDV) (fields (field (name Champ4) "Low Current Led")) - (libsource (lib device) (part LED)) + (libsource (lib pic_programmer_schlib) (part LED)) (sheetpath (names /) (tstamps /)) (tstamp 442A4F5D)) (comp (ref R9) (value 2.2K) (footprint discret:R4) - (libsource (lib device) (part R)) + (libsource (lib pic_programmer_schlib) (part R)) (sheetpath (names /) (tstamps /)) (tstamp 442A4F52)) (comp (ref Q2) (value BC307) (footprint discret:TO92) - (libsource (lib device) (part PNP)) + (libsource (lib pic_programmer_schlib) (part PNP)) (sheetpath (names /) (tstamps /)) (tstamp 442A4F30)) (comp (ref R7) (value 10K) (footprint discret:R4) - (libsource (lib device) (part R)) + (libsource (lib pic_programmer_schlib) (part R)) (sheetpath (names /) (tstamps /)) (tstamp 442A4F2A)) (comp (ref R11) (value 22K) (footprint discret:R4) - (libsource (lib device) (part R)) + (libsource (lib pic_programmer_schlib) (part R)) (sheetpath (names /) (tstamps /)) (tstamp 442A4F23)) (comp (ref Q1) (value BC237) (footprint discret:TO92) - (libsource (lib device) (part NPN)) + (libsource (lib pic_programmer_schlib) (part NPN)) (sheetpath (names /) (tstamps /)) (tstamp 442A4EB9)) (comp (ref R8) (value 1K) (footprint discret:R4) - (libsource (lib device) (part R)) + (libsource (lib pic_programmer_schlib) (part R)) (sheetpath (names /) (tstamps /)) (tstamp 442A4D92)) (comp (ref R13) (value 470) (footprint discret:R4) - (libsource (lib device) (part R)) + (libsource (lib pic_programmer_schlib) (part R)) (sheetpath (names /) (tstamps /)) (tstamp 442A4D8D)) (comp (ref R12) (value 470) (footprint discret:R4) - (libsource (lib device) (part R)) + (libsource (lib pic_programmer_schlib) (part R)) (sheetpath (names /) (tstamps /)) (tstamp 442A4D85)) (comp (ref U2) (value 74HC125) (footprint dip_sockets:DIP-14__300_ELL) - (libsource (lib 74xx) (part 74LS125)) + (libsource (lib pic_programmer_schlib) (part 74LS125)) (sheetpath (names /) (tstamps /)) (tstamp 442A4D6B)) (comp (ref D7) (value BAT43) (footprint discret:D3) - (libsource (lib device) (part DIODESCH)) + (libsource (lib pic_programmer_schlib) (part DIODESCH)) (sheetpath (names /) (tstamps /)) (tstamp 442A4D65)) (comp (ref D6) (value BAT43) (footprint discret:D3) - (libsource (lib device) (part DIODESCH)) + (libsource (lib pic_programmer_schlib) (part DIODESCH)) (sheetpath (names /) (tstamps /)) (tstamp 442A4D64)) (comp (ref R6) (value 10K) (footprint discret:R4) - (libsource (lib device) (part R)) + (libsource (lib pic_programmer_schlib) (part R)) (sheetpath (names /) (tstamps /)) (tstamp 442A4D63)) (comp (ref R5) (value 10K) (footprint discret:R4) - (libsource (lib device) (part R)) + (libsource (lib pic_programmer_schlib) (part R)) (sheetpath (names /) (tstamps /)) (tstamp 442A4D62)) (comp (ref D5) (value BAT43) (footprint discret:D3) - (libsource (lib device) (part DIODESCH)) + (libsource (lib pic_programmer_schlib) (part DIODESCH)) (sheetpath (names /) (tstamps /)) (tstamp 442A4D5D)) (comp (ref D4) (value BAT43) (footprint discret:D3) - (libsource (lib device) (part DIODESCH)) + (libsource (lib pic_programmer_schlib) (part DIODESCH)) (sheetpath (names /) (tstamps /)) (tstamp 442A4D5C)) (comp (ref R4) (value 10K) (footprint discret:R4) - (libsource (lib device) (part R)) + (libsource (lib pic_programmer_schlib) (part R)) (sheetpath (names /) (tstamps /)) (tstamp 442A4D5B)) (comp (ref R3) (value 10K) (footprint discret:R4) - (libsource (lib device) (part R)) + (libsource (lib pic_programmer_schlib) (part R)) (sheetpath (names /) (tstamps /)) (tstamp 442A4D5A)) (comp (ref D3) (value BAT43) (footprint discret:D3) - (libsource (lib device) (part DIODESCH)) + (libsource (lib pic_programmer_schlib) (part DIODESCH)) (sheetpath (names /) (tstamps /)) (tstamp 442A4D25)) (comp (ref D2) (value BAT43) (footprint discret:D3) - (libsource (lib device) (part DIODESCH)) + (libsource (lib pic_programmer_schlib) (part DIODESCH)) (sheetpath (names /) (tstamps /)) (tstamp 442A4D1B)) (comp (ref R2) (value 10K) (footprint discret:R4) - (libsource (lib device) (part R)) + (libsource (lib pic_programmer_schlib) (part R)) (sheetpath (names /) (tstamps /)) (tstamp 442A4CFB)) (comp (ref R1) (value 10K) (footprint discret:R4) - (libsource (lib device) (part R)) + (libsource (lib pic_programmer_schlib) (part R)) (sheetpath (names /) (tstamps /)) (tstamp 442A4CF4)) (comp (ref J1) (value DB9-FEMAL) (footprint connect:DB9FC) - (libsource (lib conn) (part DB9)) + (libsource (lib pic_programmer_schlib) (part DB9)) (sheetpath (names /) (tstamps /)) (tstamp 442A4C93)) (comp (ref P101) (value CONN_1) (footprint footprints:1pin-4) - (libsource (lib conn) (part CONN_1)) + (libsource (lib pic_programmer_schlib) (part CONN_1)) (sheetpath (names /) (tstamps /)) (tstamp 54020BEA)) (comp (ref P102) (value CONN_1) (footprint footprints:1pin-4) - (libsource (lib conn) (part CONN_1)) + (libsource (lib pic_programmer_schlib) (part CONN_1)) (sheetpath (names /) (tstamps /)) (tstamp 54020DA9)) (comp (ref P103) (value CONN_1) (footprint footprints:1pin-4) - (libsource (lib conn) (part CONN_1)) + (libsource (lib pic_programmer_schlib) (part CONN_1)) (sheetpath (names /) (tstamps /)) (tstamp 54020DC2)) (comp (ref P104) (value CONN_1) (footprint footprints:1pin-4) - (libsource (lib conn) (part CONN_1)) + (libsource (lib pic_programmer_schlib) (part CONN_1)) (sheetpath (names /) (tstamps /)) (tstamp 54020DE3)) (comp (ref P105) (value CONN_1) (footprint footprints:1pin-4) - (libsource (lib conn) (part CONN_1)) + (libsource (lib pic_programmer_schlib) (part CONN_1)) (sheetpath (names /) (tstamps /)) (tstamp 54020E5D)) (comp (ref P106) (value CONN_1) (footprint footprints:1pin-4) - (libsource (lib conn) (part CONN_1)) + (libsource (lib pic_programmer_schlib) (part CONN_1)) (sheetpath (names /) (tstamps /)) (tstamp 54020E76)) (comp (ref P2) (value SUPP28) (footprint dip_sockets:DIP-28__300_ELL) - (libsource (lib conn) (part SUPP28)) + (libsource (lib pic_programmer_schlib) (part SUPP28)) (sheetpath (names /pic_sockets/) (tstamps /4804A5E2/)) (tstamp 4436967E)) (comp (ref C7) (value 100nF) (footprint discret:C1-1) - (libsource (lib device) (part C)) + (libsource (lib pic_programmer_schlib) (part C)) (sheetpath (names /pic_sockets/) (tstamps /4804A5E2/)) (tstamp 442AA145)) (comp (ref P3) (value SUPP40) (footprint sockets:40tex-Ell600) - (libsource (lib conn) (part SUPP40)) + (libsource (lib pic_programmer_schlib) (part SUPP40)) (sheetpath (names /pic_sockets/) (tstamps /4804A5E2/)) (tstamp 442A88ED)) (comp (ref U1) (value 24Cxx) (footprint dip_sockets:DIP-8__300_ELL) - (libsource (lib pic_programmer-cache) (part 24C16)) + (libsource (lib pic_programmer_schlib) (part 24C16)) (sheetpath (names /pic_sockets/) (tstamps /4804A5E2/)) (tstamp 442A87F7)) (comp (ref U5) (value PIC_18_PINS) (footprint dip_sockets:DIP-18__300_ELL) - (libsource (lib pic_programmer-cache) (part PIC16F54)) + (libsource (lib pic_programmer_schlib) (part PIC16F54)) (sheetpath (names /pic_sockets/) (tstamps /4804A5E2/)) (tstamp 442A81A7)) (comp (ref U6) (value PIC_8_PINS) (footprint dip_sockets:DIP-8__300_ELL) - (libsource (lib pic_programmer-cache) (part PIC12C508A)) + (libsource (lib pic_programmer_schlib) (part PIC12C508A)) (sheetpath (names /pic_sockets/) (tstamps /4804A5E2/)) (tstamp 442A81A5)) (comp (ref C6) (value 100nF) (footprint discret:C1-1) - (libsource (lib device) (part C)) + (libsource (lib pic_programmer_schlib) (part C)) (sheetpath (names /pic_sockets/) (tstamps /4804A5E2/)) (tstamp 442AA12B))) (libparts - (libpart (lib device) (part C) - (description "Condensateur non polarise") - (footprints - (fp SM*) - (fp C?) - (fp C1-1)) - (fields - (field (name Reference) C) - (field (name Value) C)) - (pins - (pin (num 1) (name ~) (type passive)) - (pin (num 2) (name ~) (type passive)))) - (libpart (lib device) (part CP) - (aliases - (alias CAPAPOL)) - (description "Condensateur polarise") - (footprints - (fp CP*) - (fp SM*)) - (fields - (field (name Reference) C) - (field (name Value) CP)) - (pins - (pin (num 1) (name ~) (type passive)) - (pin (num 2) (name ~) (type passive)))) - (libpart (lib device) (part DIODE) - (description "Diode simple") - (footprints - (fp D?) - (fp S*)) - (fields - (field (name Reference) D) - (field (name Value) DIODE)) - (pins - (pin (num 1) (name A) (type passive)) - (pin (num 2) (name K) (type passive)))) - (libpart (lib device) (part DIODESCH) - (description "Diode schottky") - (footprints - (fp D?) - (fp S*)) - (fields - (field (name Reference) D) - (field (name Value) DIODESCH)) - (pins - (pin (num 1) (name A) (type passive)) - (pin (num 2) (name K) (type passive)))) - (libpart (lib pic_programmer-cache) (part 24C16) + (libpart (lib pic_programmer_schlib) (part 24C16) (aliases (alias 24C512)) (fields @@ -449,7 +424,26 @@ (pin (num 6) (name SCL) (type input)) (pin (num 7) (name WP) (type input)) (pin (num 8) (name VCC) (type power_in)))) - (libpart (lib pic_programmer-cache) (part 7805) + (libpart (lib pic_programmer_schlib) (part 74LS125) + (fields + (field (name Reference) U) + (field (name Value) 74LS125)) + (pins + (pin (num 1) (name E) (type input)) + (pin (num 2) (name D) (type input)) + (pin (num 3) (name O) (type 3state)) + (pin (num 4) (name E) (type input)) + (pin (num 5) (name D) (type input)) + (pin (num 6) (name O) (type 3state)) + (pin (num 7) (name GND) (type power_in)) + (pin (num 8) (name O) (type 3state)) + (pin (num 9) (name D) (type input)) + (pin (num 10) (name E) (type input)) + (pin (num 11) (name O) (type 3state)) + (pin (num 12) (name D) (type input)) + (pin (num 13) (name E) (type input)) + (pin (num 14) (name VCC) (type power_in)))) + (libpart (lib pic_programmer_schlib) (part 7805) (aliases (alias LM7805) (alias LM7812) @@ -461,7 +455,108 @@ (pin (num GND) (name GND) (type input)) (pin (num VI) (name VI) (type input)) (pin (num VO) (name VO) (type power_out)))) - (libpart (lib pic_programmer-cache) (part LT1372) + (libpart (lib pic_programmer_schlib) (part C) + (footprints + (fp SM*) + (fp C?) + (fp C1-1)) + (fields + (field (name Reference) C) + (field (name Value) C)) + (pins + (pin (num 1) (name ~) (type passive)) + (pin (num 2) (name ~) (type passive)))) + (libpart (lib pic_programmer_schlib) (part CONN_1) + (fields + (field (name Reference) P) + (field (name Value) CONN_1)) + (pins + (pin (num 1) (name 1) (type passive)))) + (libpart (lib pic_programmer_schlib) (part CONN_2) + (fields + (field (name Reference) P) + (field (name Value) CONN_2)) + (pins + (pin (num 1) (name P1) (type passive)) + (pin (num 2) (name PM) (type passive)))) + (libpart (lib pic_programmer_schlib) (part CP) + (aliases + (alias CAPAPOL)) + (footprints + (fp CP*) + (fp SM*)) + (fields + (field (name Reference) C) + (field (name Value) CP)) + (pins + (pin (num 1) (name ~) (type passive)) + (pin (num 2) (name ~) (type passive)))) + (libpart (lib pic_programmer_schlib) (part DB9) + (footprints + (fp DB9*)) + (fields + (field (name Reference) J) + (field (name Value) DB9)) + (pins + (pin (num 1) (name 1) (type passive)) + (pin (num 2) (name 2) (type passive)) + (pin (num 3) (name 3) (type passive)) + (pin (num 4) (name 4) (type passive)) + (pin (num 5) (name 5) (type passive)) + (pin (num 6) (name P6) (type passive)) + (pin (num 7) (name P7) (type passive)) + (pin (num 8) (name P8) (type passive)) + (pin (num 9) (name P9) (type passive)))) + (libpart (lib pic_programmer_schlib) (part DIODE) + (footprints + (fp D?) + (fp S*)) + (fields + (field (name Reference) D) + (field (name Value) DIODE)) + (pins + (pin (num 1) (name A) (type passive)) + (pin (num 2) (name K) (type passive)))) + (libpart (lib pic_programmer_schlib) (part DIODESCH) + (footprints + (fp D?) + (fp S*)) + (fields + (field (name Reference) D) + (field (name Value) DIODESCH)) + (pins + (pin (num 1) (name A) (type passive)) + (pin (num 2) (name K) (type passive)))) + (libpart (lib pic_programmer_schlib) (part INDUCTOR) + (fields + (field (name Reference) L) + (field (name Value) INDUCTOR)) + (pins + (pin (num 1) (name 1) (type passive)) + (pin (num 2) (name 2) (type passive)))) + (libpart (lib pic_programmer_schlib) (part JUMPER) + (fields + (field (name Reference) JP) + (field (name Value) JUMPER)) + (pins + (pin (num 1) (name 1) (type passive)) + (pin (num 2) (name 2) (type passive)))) + (libpart (lib pic_programmer_schlib) (part LED) + (footprints + (fp LED-3MM) + (fp LED-5MM) + (fp LED-10MM) + (fp LED-0603) + (fp LED-0805) + (fp LED-1206) + (fp LEDV)) + (fields + (field (name Reference) D) + (field (name Value) LED)) + (pins + (pin (num 1) (name A) (type passive)) + (pin (num 2) (name K) (type passive)))) + (libpart (lib pic_programmer_schlib) (part LT1372) (aliases (alias LT1373)) (fields @@ -476,7 +571,15 @@ (pin (num 6) (name GND_S) (type input)) (pin (num 7) (name GND) (type input)) (pin (num 8) (name Vsw) (type input)))) - (libpart (lib pic_programmer-cache) (part PIC12C508A) + (libpart (lib pic_programmer_schlib) (part NPN) + (fields + (field (name Reference) Q) + (field (name Value) NPN)) + (pins + (pin (num 1) (name E) (type passive)) + (pin (num 2) (name B) (type input)) + (pin (num 3) (name C) (type passive)))) + (libpart (lib pic_programmer_schlib) (part PIC12C508A) (aliases (alias PIC12C509A)) (fields @@ -491,7 +594,7 @@ (pin (num 6) (name GP1) (type input)) (pin (num 7) (name GP0) (type input)) (pin (num 8) (name VSS) (type power_in)))) - (libpart (lib pic_programmer-cache) (part PIC16F54) + (libpart (lib pic_programmer_schlib) (part PIC16F54) (fields (field (name Reference) U?) (field (name Value) PIC16F54)) @@ -514,73 +617,7 @@ (pin (num 16) (name OSC1/CLKI) (type input)) (pin (num 17) (name RA0) (type BiDi)) (pin (num 18) (name RA1) (type BiDi)))) - (libpart (lib conn) (part CONN_1) - (description "1 pin") - (fields - (field (name Reference) P) - (field (name Value) CONN_1)) - (pins - (pin (num 1) (name 1) (type passive)))) - (libpart (lib 74xx) (part 74LS125) - (description "Quad buffer 3 State out") - (fields - (field (name Reference) U) - (field (name Value) 74LS125)) - (pins - (pin (num 1) (name E) (type input)) - (pin (num 2) (name D) (type input)) - (pin (num 3) (name O) (type 3state)) - (pin (num 4) (name E) (type input)) - (pin (num 5) (name D) (type input)) - (pin (num 6) (name O) (type 3state)) - (pin (num 7) (name GND) (type power_in)) - (pin (num 8) (name O) (type 3state)) - (pin (num 9) (name D) (type input)) - (pin (num 10) (name E) (type input)) - (pin (num 11) (name O) (type 3state)) - (pin (num 12) (name D) (type input)) - (pin (num 13) (name E) (type input)) - (pin (num 14) (name VCC) (type power_in)))) - (libpart (lib device) (part INDUCTOR) - (fields - (field (name Reference) L) - (field (name Value) INDUCTOR)) - (pins - (pin (num 1) (name 1) (type passive)) - (pin (num 2) (name 2) (type passive)))) - (libpart (lib device) (part JUMPER) - (fields - (field (name Reference) JP) - (field (name Value) JUMPER)) - (pins - (pin (num 1) (name 1) (type passive)) - (pin (num 2) (name 2) (type passive)))) - (libpart (lib device) (part LED) - (footprints - (fp LED-3MM) - (fp LED-5MM) - (fp LED-10MM) - (fp LED-0603) - (fp LED-0805) - (fp LED-1206) - (fp LEDV)) - (fields - (field (name Reference) D) - (field (name Value) LED)) - (pins - (pin (num 1) (name A) (type passive)) - (pin (num 2) (name K) (type passive)))) - (libpart (lib device) (part NPN) - (docs transistors/bipolar/*.*) - (fields - (field (name Reference) Q) - (field (name Value) NPN)) - (pins - (pin (num 1) (name E) (type passive)) - (pin (num 2) (name B) (type input)) - (pin (num 3) (name C) (type passive)))) - (libpart (lib device) (part PNP) - (docs transistors/bipolar/*.*) + (libpart (lib pic_programmer_schlib) (part PNP) (fields (field (name Reference) Q) (field (name Value) PNP)) @@ -588,8 +625,7 @@ (pin (num 1) (name E) (type passive)) (pin (num 2) (name B) (type input)) (pin (num 3) (name C) (type passive)))) - (libpart (lib device) (part POT) - (description Potentionmetre) + (libpart (lib pic_programmer_schlib) (part POT) (fields (field (name Reference) RV) (field (name Value) POT)) @@ -597,8 +633,7 @@ (pin (num 1) (name 1) (type passive)) (pin (num 2) (name 2) (type passive)) (pin (num 3) (name 3) (type passive)))) - (libpart (lib device) (part R) - (description Resistance) + (libpart (lib pic_programmer_schlib) (part R) (footprints (fp R?) (fp SM0603) @@ -611,7 +646,7 @@ (pins (pin (num 1) (name ~) (type passive)) (pin (num 2) (name ~) (type passive)))) - (libpart (lib conn) (part SUPP28) + (libpart (lib pic_programmer_schlib) (part SUPP28) (fields (field (name Reference) J) (field (name Value) SUPP28)) @@ -644,7 +679,7 @@ (pin (num 26) (name 26) (type passive)) (pin (num 27) (name 27) (type passive)) (pin (num 28) (name 28) (type passive)))) - (libpart (lib conn) (part SUPP40) + (libpart (lib pic_programmer_schlib) (part SUPP40) (fields (field (name Reference) P) (field (name Value) SUPP40)) @@ -688,116 +723,95 @@ (pin (num 37) (name 37) (type passive)) (pin (num 38) (name 38) (type passive)) (pin (num 39) (name 39) (type passive)) - (pin (num 40) (name 40) (type passive)))) - (libpart (lib conn) (part CONN_2) - (description "Symbole general de connecteur") - (fields - (field (name Reference) P) - (field (name Value) CONN_2)) - (pins - (pin (num 1) (name P1) (type passive)) - (pin (num 2) (name PM) (type passive)))) - (libpart (lib conn) (part DB9) - (footprints - (fp DB9*)) - (fields - (field (name Reference) J) - (field (name Value) DB9)) - (pins - (pin (num 1) (name 1) (type passive)) - (pin (num 2) (name 2) (type passive)) - (pin (num 3) (name 3) (type passive)) - (pin (num 4) (name 4) (type passive)) - (pin (num 5) (name 5) (type passive)) - (pin (num 6) (name P6) (type passive)) - (pin (num 7) (name P7) (type passive)) - (pin (num 8) (name P8) (type passive)) - (pin (num 9) (name P9) (type passive))))) + (pin (num 40) (name 40) (type passive))))) (libraries - (library (logical device) - (uri f:\kicad\share\library\device.lib)) - (library (logical conn) - (uri f:\kicad\share\library\conn.lib)) - (library (logical pic_programmer-cache) - (uri F:\kicad-launchpad\testing\demos\pic_programmer\pic_programmer-cache.lib)) - (library (logical 74xx) - (uri f:\kicad\share\library\74xx.lib))) + (library (logical pic_programmer_schlib) + (uri libs\pic_programmer_schlib.lib))) (nets (net (code 1) (name GND) - (node (ref D3) (pin 1)) - (node (ref R15) (pin 2)) - (node (ref U4) (pin 7)) - (node (ref U2) (pin 4)) - (node (ref U2) (pin 7)) - (node (ref U3) (pin GND)) - (node (ref C1) (pin 2)) - (node (ref D12) (pin 2)) - (node (ref D9) (pin 2)) - (node (ref C4) (pin 2)) - (node (ref U4) (pin 6)) - (node (ref R2) (pin 2)) - (node (ref U2) (pin 10)) - (node (ref U2) (pin 13)) - (node (ref D5) (pin 1)) - (node (ref R4) (pin 2)) - (node (ref J1) (pin 5)) - (node (ref C5) (pin 2)) - (node (ref U2) (pin 1)) - (node (ref R6) (pin 2)) - (node (ref D7) (pin 1)) - (node (ref P2) (pin 19)) (node (ref P2) (pin 8)) + (node (ref U2) (pin 4)) + (node (ref J1) (pin 5)) + (node (ref R6) (pin 2)) + (node (ref D9) (pin 2)) + (node (ref U2) (pin 1)) + (node (ref C5) (pin 2)) + (node (ref R2) (pin 2)) (node (ref C7) (pin 2)) - (node (ref D8) (pin 2)) - (node (ref P1) (pin 1)) - (node (ref U1) (pin 3)) + (node (ref D3) (pin 1)) + (node (ref D5) (pin 1)) + (node (ref U2) (pin 10)) + (node (ref P3) (pin 8)) + (node (ref U6) (pin 8)) + (node (ref U1) (pin 4)) + (node (ref C6) (pin 2)) + (node (ref D7) (pin 1)) + (node (ref U2) (pin 13)) + (node (ref D12) (pin 2)) (node (ref P3) (pin 12)) (node (ref P3) (pin 31)) - (node (ref P3) (pin 8)) + (node (ref U2) (pin 7)) + (node (ref R4) (pin 2)) + (node (ref P1) (pin 1)) (node (ref R17) (pin 2)) - (node (ref C3) (pin 2)) - (node (ref Q1) (pin 1)) - (node (ref U1) (pin 2)) (node (ref U1) (pin 1)) - (node (ref U1) (pin 4)) - (node (ref C2) (pin 2)) + (node (ref C4) (pin 2)) (node (ref U5) (pin 5)) - (node (ref C6) (pin 2)) - (node (ref U6) (pin 8))) - (net (code 2) (name "Net-(C9-Pad2)") - (node (ref R11) (pin 2)) - (node (ref R7) (pin 2)) - (node (ref Q2) (pin 2)) - (node (ref C9) (pin 2))) - (net (code 3) (name VPP) + (node (ref U4) (pin 6)) + (node (ref D8) (pin 2)) + (node (ref Q1) (pin 1)) + (node (ref P2) (pin 19)) + (node (ref R15) (pin 2)) + (node (ref U1) (pin 3)) + (node (ref U1) (pin 2)) + (node (ref C2) (pin 2)) + (node (ref C3) (pin 2)) + (node (ref U4) (pin 7)) + (node (ref U3) (pin GND)) + (node (ref C1) (pin 2))) + (net (code 2) (name VPP) + (node (ref R7) (pin 1)) (node (ref R16) (pin 2)) (node (ref D10) (pin 2)) (node (ref C9) (pin 1)) - (node (ref R7) (pin 1)) - (node (ref C3) (pin 1)) - (node (ref Q2) (pin 1))) - (net (code 4) (name "Net-(D8-Pad1)") - (node (ref D8) (pin 1)) - (node (ref R9) (pin 2))) - (net (code 5) (name /pic_sockets/VPP-MCLR) - (node (ref U6) (pin 4)) + (node (ref Q2) (pin 1)) + (node (ref C3) (pin 1))) + (net (code 3) (name "Net-(D8-Pad1)") + (node (ref R9) (pin 2)) + (node (ref D8) (pin 1))) + (net (code 4) (name /pic_sockets/VPP-MCLR) (node (ref P3) (pin 1)) - (node (ref U5) (pin 4)) + (node (ref U6) (pin 4)) + (node (ref P2) (pin 1)) (node (ref R18) (pin 2)) - (node (ref P2) (pin 1))) - (net (code 6) (name "Net-(D1-Pad1)") - (node (ref P1) (pin 2)) - (node (ref D1) (pin 1))) - (net (code 7) (name "Net-(Q1-Pad2)") - (node (ref R8) (pin 2)) - (node (ref Q1) (pin 2))) - (net (code 8) (name /pic_sockets/CLOCK-RB6) - (node (ref U1) (pin 6)) + (node (ref U5) (pin 4))) + (net (code 5) (name /pic_sockets/CLOCK-RB6) (node (ref U5) (pin 12)) (node (ref P3) (pin 39)) - (node (ref R13) (pin 2)) + (node (ref U6) (pin 6)) + (node (ref U1) (pin 6)) (node (ref P2) (pin 27)) - (node (ref U6) (pin 6))) + (node (ref R13) (pin 2))) + (net (code 6) (name "Net-(Q1-Pad2)") + (node (ref Q1) (pin 2)) + (node (ref R8) (pin 2))) + (net (code 7) (name "Net-(D10-Pad1)") + (node (ref D10) (pin 1)) + (node (ref L1) (pin 1)) + (node (ref U4) (pin 8))) + (net (code 8) (name VCC) + (node (ref JP1) (pin 1)) + (node (ref D6) (pin 2)) + (node (ref D2) (pin 2)) + (node (ref R14) (pin 1)) + (node (ref C1) (pin 1)) + (node (ref U3) (pin VO)) + (node (ref U4) (pin 5)) + (node (ref L1) (pin 2)) + (node (ref Q3) (pin 1)) + (node (ref D4) (pin 2)) + (node (ref R20) (pin 1)) + (node (ref U2) (pin 14))) (net (code 9) (name "Net-(J1-Pad1)") (node (ref J1) (pin 1))) (net (code 10) (name "Net-(J1-Pad6)") @@ -806,71 +820,62 @@ (node (ref J1) (pin 2))) (net (code 12) (name "Net-(J1-Pad9)") (node (ref J1) (pin 9))) - (net (code 13) (name "Net-(D10-Pad1)") - (node (ref D10) (pin 1)) - (node (ref L1) (pin 1)) - (node (ref U4) (pin 8))) - (net (code 14) (name VCC) - (node (ref U2) (pin 14)) - (node (ref U3) (pin VO)) - (node (ref D2) (pin 2)) - (node (ref R14) (pin 1)) - (node (ref R20) (pin 1)) - (node (ref Q3) (pin 1)) - (node (ref C1) (pin 1)) - (node (ref U4) (pin 5)) - (node (ref D6) (pin 2)) - (node (ref L1) (pin 2)) - (node (ref D4) (pin 2)) - (node (ref JP1) (pin 1))) - (net (code 15) (name "Net-(C2-Pad1)") + (net (code 13) (name "Net-(D1-Pad1)") + (node (ref D1) (pin 1)) + (node (ref P1) (pin 2))) + (net (code 14) (name "Net-(C2-Pad1)") + (node (ref C2) (pin 1)) (node (ref D1) (pin 2)) - (node (ref U3) (pin VI)) - (node (ref C2) (pin 1))) - (net (code 16) (name "Net-(D9-Pad1)") - (node (ref D9) (pin 1)) - (node (ref R14) (pin 2))) - (net (code 17) (name /TXD) + (node (ref U3) (pin VI))) + (net (code 15) (name "Net-(D9-Pad1)") + (node (ref R14) (pin 2)) + (node (ref D9) (pin 1))) + (net (code 16) (name /TXD) (node (ref J1) (pin 3)) - (node (ref R2) (pin 1)) - (node (ref R1) (pin 1))) + (node (ref R1) (pin 1)) + (node (ref R2) (pin 1))) + (net (code 17) (name "Net-(R8-Pad1)") + (node (ref R8) (pin 1)) + (node (ref U2) (pin 3))) (net (code 18) (name "Net-(R12-Pad1)") (node (ref R12) (pin 1)) (node (ref U2) (pin 6))) - (net (code 19) (name "Net-(P106-Pad1)") - (node (ref P106) (pin 1))) - (net (code 20) (name "Net-(P105-Pad1)") - (node (ref P105) (pin 1))) - (net (code 21) (name "Net-(P104-Pad1)") - (node (ref P104) (pin 1))) - (net (code 22) (name "Net-(P103-Pad1)") - (node (ref P103) (pin 1))) - (net (code 23) (name "Net-(P102-Pad1)") + (net (code 19) (name "Net-(P102-Pad1)") (node (ref P102) (pin 1))) + (net (code 20) (name "Net-(P106-Pad1)") + (node (ref P106) (pin 1))) + (net (code 21) (name "Net-(P105-Pad1)") + (node (ref P105) (pin 1))) + (net (code 22) (name "Net-(P104-Pad1)") + (node (ref P104) (pin 1))) + (net (code 23) (name "Net-(P103-Pad1)") + (node (ref P103) (pin 1))) (net (code 24) (name "Net-(P101-Pad1)") (node (ref P101) (pin 1))) - (net (code 25) (name "Net-(R8-Pad1)") - (node (ref R8) (pin 1)) - (node (ref U2) (pin 3))) + (net (code 25) (name "Net-(C9-Pad2)") + (node (ref R11) (pin 2)) + (node (ref Q2) (pin 2)) + (node (ref R7) (pin 2)) + (node (ref C9) (pin 2))) (net (code 26) (name "Net-(R13-Pad1)") - (node (ref R13) (pin 1)) - (node (ref U2) (pin 8))) - (net (code 27) (name "Net-(D6-Pad1)") - (node (ref D7) (pin 2)) - (node (ref D6) (pin 1)) - (node (ref R5) (pin 2)) - (node (ref U2) (pin 9))) - (net (code 28) (name /pic_sockets/DATA-RB7) + (node (ref U2) (pin 8)) + (node (ref R13) (pin 1))) + (net (code 27) (name /pic_sockets/DATA-RB7) + (node (ref U6) (pin 7)) + (node (ref P3) (pin 40)) (node (ref U5) (pin 13)) (node (ref U1) (pin 5)) - (node (ref P2) (pin 28)) - (node (ref R12) (pin 2)) (node (ref U2) (pin 12)) - (node (ref P3) (pin 40)) - (node (ref U6) (pin 7))) + (node (ref R12) (pin 2)) + (node (ref P2) (pin 28))) + (net (code 28) (name "Net-(D6-Pad1)") + (node (ref R5) (pin 2)) + (node (ref U2) (pin 9)) + (node (ref D7) (pin 2)) + (node (ref D6) (pin 1))) (net (code 29) (name "Net-(RV1-Pad2)") - (node (ref RV1) (pin 2)) - (node (ref U4) (pin 2))) + (node (ref U4) (pin 2)) + (node (ref RV1) (pin 2))) (net (code 30) (name "Net-(R16-Pad1)") (node (ref RV1) (pin 3)) (node (ref R16) (pin 1))) @@ -878,17 +883,17 @@ (node (ref RV1) (pin 1)) (node (ref R15) (pin 1))) (net (code 32) (name /pic_sockets/VCC_PIC) - (node (ref U1) (pin 8)) - (node (ref U5) (pin 14)) - (node (ref P2) (pin 20)) - (node (ref C6) (pin 1)) - (node (ref U6) (pin 1)) - (node (ref P3) (pin 11)) - (node (ref P3) (pin 32)) - (node (ref Q3) (pin 3)) (node (ref R21) (pin 2)) - (node (ref C7) (pin 1)) - (node (ref JP1) (pin 2))) + (node (ref C6) (pin 1)) + (node (ref JP1) (pin 2)) + (node (ref P3) (pin 11)) + (node (ref U6) (pin 1)) + (node (ref P3) (pin 32)) + (node (ref U5) (pin 14)) + (node (ref Q3) (pin 3)) + (node (ref U1) (pin 8)) + (node (ref P2) (pin 20)) + (node (ref C7) (pin 1))) (net (code 33) (name "Net-(Q3-Pad2)") (node (ref Q3) (pin 2)) (node (ref R19) (pin 2)) @@ -897,188 +902,188 @@ (node (ref R21) (pin 1)) (node (ref D12) (pin 1))) (net (code 35) (name "Net-(D11-Pad1)") - (node (ref R19) (pin 1)) - (node (ref D11) (pin 1))) + (node (ref D11) (pin 1)) + (node (ref R19) (pin 1))) (net (code 36) (name "Net-(C4-Pad1)") - (node (ref R10) (pin 1)) + (node (ref U4) (pin 1)) (node (ref C4) (pin 1)) - (node (ref U4) (pin 1))) + (node (ref R10) (pin 1))) (net (code 37) (name "Net-(C5-Pad1)") - (node (ref R10) (pin 2)) - (node (ref C5) (pin 1))) + (node (ref C5) (pin 1)) + (node (ref R10) (pin 2))) (net (code 38) (name "Net-(U4-Pad3)") (node (ref U4) (pin 3))) (net (code 39) (name /PC-CLOCK-OUT) - (node (ref R6) (pin 1)) + (node (ref J1) (pin 7)) (node (ref R5) (pin 1)) - (node (ref J1) (pin 7))) + (node (ref R6) (pin 1))) (net (code 40) (name /CTS) (node (ref J1) (pin 8)) (node (ref U2) (pin 11))) (net (code 41) (name /DTR) - (node (ref R4) (pin 1)) + (node (ref J1) (pin 4)) (node (ref R3) (pin 1)) - (node (ref J1) (pin 4))) + (node (ref R4) (pin 1))) (net (code 42) (name "Net-(U4-Pad4)") (node (ref U4) (pin 4))) (net (code 43) (name "Net-(Q2-Pad3)") - (node (ref R18) (pin 1)) - (node (ref R17) (pin 1)) + (node (ref R9) (pin 1)) (node (ref Q2) (pin 3)) - (node (ref R9) (pin 1))) + (node (ref R18) (pin 1)) + (node (ref R17) (pin 1))) (net (code 44) (name "Net-(D11-Pad2)") + (node (ref D11) (pin 2)) (node (ref Q1) (pin 3)) - (node (ref R11) (pin 1)) - (node (ref D11) (pin 2))) + (node (ref R11) (pin 1))) (net (code 45) (name "Net-(D2-Pad1)") - (node (ref U2) (pin 2)) - (node (ref D3) (pin 2)) + (node (ref R1) (pin 2)) (node (ref D2) (pin 1)) - (node (ref R1) (pin 2))) + (node (ref U2) (pin 2)) + (node (ref D3) (pin 2))) (net (code 46) (name "Net-(D4-Pad1)") - (node (ref R3) (pin 2)) - (node (ref D5) (pin 2)) (node (ref U2) (pin 5)) + (node (ref D5) (pin 2)) + (node (ref R3) (pin 2)) (node (ref D4) (pin 1))) - (net (code 47) (name "Net-(P3-Pad17)") - (node (ref P3) (pin 17))) - (net (code 48) (name "Net-(P3-Pad37)") - (node (ref P3) (pin 37))) - (net (code 49) (name "Net-(P3-Pad27)") - (node (ref P3) (pin 27))) - (net (code 50) (name "Net-(P3-Pad19)") - (node (ref P3) (pin 19))) - (net (code 51) (name "Net-(P3-Pad18)") - (node (ref P3) (pin 18))) - (net (code 52) (name "Net-(P3-Pad28)") - (node (ref P3) (pin 28))) - (net (code 53) (name "Net-(P3-Pad38)") - (node (ref P3) (pin 38))) - (net (code 54) (name "Net-(P3-Pad24)") - (node (ref P3) (pin 24))) - (net (code 55) (name "Net-(P3-Pad36)") - (node (ref P3) (pin 36))) - (net (code 56) (name "Net-(P3-Pad26)") - (node (ref P3) (pin 26))) - (net (code 57) (name "Net-(P3-Pad16)") - (node (ref P3) (pin 16))) - (net (code 58) (name "Net-(P3-Pad35)") - (node (ref P3) (pin 35))) - (net (code 59) (name "Net-(P3-Pad25)") - (node (ref P3) (pin 25))) - (net (code 60) (name "Net-(P3-Pad15)") - (node (ref P3) (pin 15))) - (net (code 61) (name "Net-(P3-Pad34)") - (node (ref P3) (pin 34))) - (net (code 62) (name "Net-(P3-Pad29)") - (node (ref P3) (pin 29))) - (net (code 63) (name "Net-(U1-Pad7)") + (net (code 47) (name "Net-(U5-Pad9)") + (node (ref U5) (pin 9))) + (net (code 48) (name "Net-(U5-Pad18)") + (node (ref U5) (pin 18))) + (net (code 49) (name "Net-(U5-Pad17)") + (node (ref U5) (pin 17))) + (net (code 50) (name "Net-(U5-Pad15)") + (node (ref U5) (pin 15))) + (net (code 51) (name "Net-(U5-Pad16)") + (node (ref U5) (pin 16))) + (net (code 52) (name "Net-(U5-Pad11)") + (node (ref U5) (pin 11))) + (net (code 53) (name "Net-(U5-Pad10)") + (node (ref U5) (pin 10))) + (net (code 54) (name "Net-(U5-Pad2)") + (node (ref U5) (pin 2))) + (net (code 55) (name "Net-(U1-Pad7)") (node (ref U1) (pin 7))) - (net (code 64) (name "Net-(P3-Pad9)") - (node (ref P3) (pin 9))) - (net (code 65) (name "Net-(P3-Pad7)") - (node (ref P3) (pin 7))) - (net (code 66) (name "Net-(P3-Pad6)") - (node (ref P3) (pin 6))) - (net (code 67) (name "Net-(P3-Pad5)") - (node (ref P3) (pin 5))) - (net (code 68) (name "Net-(P3-Pad4)") - (node (ref P3) (pin 4))) - (net (code 69) (name "Net-(P3-Pad3)") - (node (ref P3) (pin 3))) - (net (code 70) (name "Net-(P3-Pad2)") - (node (ref P3) (pin 2))) - (net (code 71) (name "Net-(P3-Pad14)") + (net (code 56) (name "Net-(U5-Pad8)") + (node (ref U5) (pin 8))) + (net (code 57) (name "Net-(U5-Pad7)") + (node (ref U5) (pin 7))) + (net (code 58) (name "Net-(U5-Pad6)") + (node (ref U5) (pin 6))) + (net (code 59) (name "Net-(U5-Pad3)") + (node (ref U5) (pin 3))) + (net (code 60) (name "Net-(U5-Pad1)") + (node (ref U5) (pin 1))) + (net (code 61) (name "Net-(P3-Pad25)") + (node (ref P3) (pin 25))) + (net (code 62) (name "Net-(P3-Pad15)") + (node (ref P3) (pin 15))) + (net (code 63) (name "Net-(P3-Pad34)") + (node (ref P3) (pin 34))) + (net (code 64) (name "Net-(P3-Pad24)") + (node (ref P3) (pin 24))) + (net (code 65) (name "Net-(P3-Pad14)") (node (ref P3) (pin 14))) - (net (code 72) (name "Net-(P3-Pad10)") - (node (ref P3) (pin 10))) + (net (code 66) (name "Net-(P3-Pad33)") + (node (ref P3) (pin 33))) + (net (code 67) (name "Net-(P3-Pad23)") + (node (ref P3) (pin 23))) + (net (code 68) (name "Net-(P3-Pad13)") + (node (ref P3) (pin 13))) + (net (code 69) (name "Net-(P3-Pad35)") + (node (ref P3) (pin 35))) + (net (code 70) (name "Net-(P3-Pad22)") + (node (ref P3) (pin 22))) + (net (code 71) (name "Net-(P3-Pad21)") + (node (ref P3) (pin 21))) + (net (code 72) (name "Net-(P3-Pad30)") + (node (ref P3) (pin 30))) (net (code 73) (name "Net-(P3-Pad20)") (node (ref P3) (pin 20))) - (net (code 74) (name "Net-(P3-Pad30)") - (node (ref P3) (pin 30))) - (net (code 75) (name "Net-(P3-Pad21)") - (node (ref P3) (pin 21))) - (net (code 76) (name "Net-(P3-Pad22)") - (node (ref P3) (pin 22))) - (net (code 77) (name "Net-(P3-Pad13)") - (node (ref P3) (pin 13))) - (net (code 78) (name "Net-(P3-Pad23)") - (node (ref P3) (pin 23))) - (net (code 79) (name "Net-(P3-Pad33)") - (node (ref P3) (pin 33))) - (net (code 80) (name "Net-(U5-Pad18)") - (node (ref U5) (pin 18))) - (net (code 81) (name "Net-(U6-Pad5)") - (node (ref U6) (pin 5))) - (net (code 82) (name "Net-(U6-Pad3)") - (node (ref U6) (pin 3))) - (net (code 83) (name "Net-(U6-Pad2)") + (net (code 74) (name "Net-(P3-Pad38)") + (node (ref P3) (pin 38))) + (net (code 75) (name "Net-(P3-Pad29)") + (node (ref P3) (pin 29))) + (net (code 76) (name "Net-(P3-Pad19)") + (node (ref P3) (pin 19))) + (net (code 77) (name "Net-(P3-Pad28)") + (node (ref P3) (pin 28))) + (net (code 78) (name "Net-(P3-Pad18)") + (node (ref P3) (pin 18))) + (net (code 79) (name "Net-(P3-Pad37)") + (node (ref P3) (pin 37))) + (net (code 80) (name "Net-(P3-Pad27)") + (node (ref P3) (pin 27))) + (net (code 81) (name "Net-(P3-Pad17)") + (node (ref P3) (pin 17))) + (net (code 82) (name "Net-(P3-Pad36)") + (node (ref P3) (pin 36))) + (net (code 83) (name "Net-(P3-Pad26)") + (node (ref P3) (pin 26))) + (net (code 84) (name "Net-(P3-Pad16)") + (node (ref P3) (pin 16))) + (net (code 85) (name "Net-(U6-Pad2)") (node (ref U6) (pin 2))) - (net (code 84) (name "Net-(U5-Pad17)") - (node (ref U5) (pin 17))) - (net (code 85) (name "Net-(U5-Pad2)") - (node (ref U5) (pin 2))) - (net (code 86) (name "Net-(U5-Pad10)") - (node (ref U5) (pin 10))) - (net (code 87) (name "Net-(U5-Pad11)") - (node (ref U5) (pin 11))) - (net (code 88) (name "Net-(U5-Pad16)") - (node (ref U5) (pin 16))) - (net (code 89) (name "Net-(U5-Pad15)") - (node (ref U5) (pin 15))) - (net (code 90) (name "Net-(U5-Pad9)") - (node (ref U5) (pin 9))) - (net (code 91) (name "Net-(U5-Pad8)") - (node (ref U5) (pin 8))) - (net (code 92) (name "Net-(U5-Pad7)") - (node (ref U5) (pin 7))) - (net (code 93) (name "Net-(U5-Pad6)") - (node (ref U5) (pin 6))) - (net (code 94) (name "Net-(U5-Pad3)") - (node (ref U5) (pin 3))) - (net (code 95) (name "Net-(U5-Pad1)") - (node (ref U5) (pin 1))) - (net (code 96) (name "Net-(P2-Pad24)") + (net (code 86) (name "Net-(U6-Pad3)") + (node (ref U6) (pin 3))) + (net (code 87) (name "Net-(U6-Pad5)") + (node (ref U6) (pin 5))) + (net (code 88) (name "Net-(P2-Pad21)") + (node (ref P2) (pin 21))) + (net (code 89) (name "Net-(P2-Pad10)") + (node (ref P2) (pin 10))) + (net (code 90) (name "Net-(P2-Pad12)") + (node (ref P2) (pin 12))) + (net (code 91) (name "Net-(P2-Pad13)") + (node (ref P2) (pin 13))) + (net (code 92) (name "Net-(P2-Pad14)") + (node (ref P2) (pin 14))) + (net (code 93) (name "Net-(P2-Pad26)") + (node (ref P2) (pin 26))) + (net (code 94) (name "Net-(P2-Pad25)") + (node (ref P2) (pin 25))) + (net (code 95) (name "Net-(P2-Pad24)") (node (ref P2) (pin 24))) - (net (code 97) (name "Net-(P2-Pad11)") - (node (ref P2) (pin 11))) - (net (code 98) (name "Net-(P2-Pad15)") - (node (ref P2) (pin 15))) - (net (code 99) (name "Net-(P2-Pad16)") - (node (ref P2) (pin 16))) + (net (code 96) (name "Net-(P2-Pad23)") + (node (ref P2) (pin 23))) + (net (code 97) (name "Net-(P2-Pad22)") + (node (ref P2) (pin 22))) + (net (code 98) (name "Net-(P2-Pad9)") + (node (ref P2) (pin 9))) + (net (code 99) (name "Net-(P2-Pad18)") + (node (ref P2) (pin 18))) (net (code 100) (name "Net-(P2-Pad17)") (node (ref P2) (pin 17))) - (net (code 101) (name "Net-(P2-Pad18)") - (node (ref P2) (pin 18))) - (net (code 102) (name "Net-(P2-Pad21)") - (node (ref P2) (pin 21))) - (net (code 103) (name "Net-(P2-Pad22)") - (node (ref P2) (pin 22))) - (net (code 104) (name "Net-(P2-Pad23)") - (node (ref P2) (pin 23))) - (net (code 105) (name "Net-(P2-Pad25)") - (node (ref P2) (pin 25))) - (net (code 106) (name "Net-(P2-Pad26)") - (node (ref P2) (pin 26))) - (net (code 107) (name "Net-(P2-Pad14)") - (node (ref P2) (pin 14))) - (net (code 108) (name "Net-(P2-Pad13)") - (node (ref P2) (pin 13))) - (net (code 109) (name "Net-(P2-Pad12)") - (node (ref P2) (pin 12))) - (net (code 110) (name "Net-(P2-Pad10)") - (node (ref P2) (pin 10))) - (net (code 111) (name "Net-(P2-Pad9)") - (node (ref P2) (pin 9))) - (net (code 112) (name "Net-(P2-Pad7)") - (node (ref P2) (pin 7))) - (net (code 113) (name "Net-(P2-Pad6)") - (node (ref P2) (pin 6))) - (net (code 114) (name "Net-(P2-Pad5)") - (node (ref P2) (pin 5))) - (net (code 115) (name "Net-(P2-Pad4)") + (net (code 101) (name "Net-(P2-Pad16)") + (node (ref P2) (pin 16))) + (net (code 102) (name "Net-(P2-Pad15)") + (node (ref P2) (pin 15))) + (net (code 103) (name "Net-(P2-Pad11)") + (node (ref P2) (pin 11))) + (net (code 104) (name "Net-(P2-Pad4)") (node (ref P2) (pin 4))) - (net (code 116) (name "Net-(P2-Pad3)") + (net (code 105) (name "Net-(P2-Pad3)") (node (ref P2) (pin 3))) - (net (code 117) (name "Net-(P2-Pad2)") - (node (ref P2) (pin 2))))) \ No newline at end of file + (net (code 106) (name "Net-(P2-Pad2)") + (node (ref P2) (pin 2))) + (net (code 107) (name "Net-(P2-Pad5)") + (node (ref P2) (pin 5))) + (net (code 108) (name "Net-(P2-Pad6)") + (node (ref P2) (pin 6))) + (net (code 109) (name "Net-(P2-Pad7)") + (node (ref P2) (pin 7))) + (net (code 110) (name "Net-(P3-Pad10)") + (node (ref P3) (pin 10))) + (net (code 111) (name "Net-(P3-Pad9)") + (node (ref P3) (pin 9))) + (net (code 112) (name "Net-(P3-Pad7)") + (node (ref P3) (pin 7))) + (net (code 113) (name "Net-(P3-Pad6)") + (node (ref P3) (pin 6))) + (net (code 114) (name "Net-(P3-Pad5)") + (node (ref P3) (pin 5))) + (net (code 115) (name "Net-(P3-Pad4)") + (node (ref P3) (pin 4))) + (net (code 116) (name "Net-(P3-Pad3)") + (node (ref P3) (pin 3))) + (net (code 117) (name "Net-(P3-Pad2)") + (node (ref P3) (pin 2))))) \ No newline at end of file diff --git a/demos/pic_programmer/pic_programmer.sch b/demos/pic_programmer/pic_programmer.sch index 72ca4cc7e9..27d7d2f565 100644 --- a/demos/pic_programmer/pic_programmer.sch +++ b/demos/pic_programmer/pic_programmer.sch @@ -235,7 +235,7 @@ L C C9 U 1 1 464AD280 P 5700 1000 F 0 "C9" H 5750 1100 50 0000 L CNN -F 1 "22OnF" H 5750 900 50 0000 L CNN +F 1 "220nF" H 5750 900 50 0000 L CNN F 2 "discret:C1-1" H 5500 900 30 0000 C CNN F 3 "" H 5700 1000 60 0001 C CNN 1 5700 1000 diff --git a/eeschema/netlist_exporters/netlist_exporter.h b/eeschema/netlist_exporters/netlist_exporter.h index 898d2673ac..dc3ebb0c23 100644 --- a/eeschema/netlist_exporters/netlist_exporter.h +++ b/eeschema/netlist_exporters/netlist_exporter.h @@ -28,6 +28,7 @@ #include +#include #include #include #include @@ -65,6 +66,19 @@ public: } }; +/** + * Struct LIB_PART_LESS_THAN + * is used by std:set instantiation which uses LIB_PART name as its key. + */ +struct LIB_PART_LESS_THAN +{ + // a "less than" test on two LIB_PARTs (.m_name wxStrings) + bool operator()( LIB_PART* const& libpart1, LIB_PART* const& libpart2 ) const + { + // Use case specific GetName() wxString compare + return libpart1->GetName().Cmp( libpart2->GetName() ) < 0; + } +}; /** * Class NETLIST_EXPORTER @@ -86,10 +100,10 @@ protected: /// avoids processing a lib component more than once. UNIQUE_STRINGS m_ReferencesAlreadyFound; + /// unique library parts used. LIB_PART items are sorted by names + std::set m_LibParts; + // share a code generated std::set to reduce code volume - - std::set m_LibParts; ///< unique library parts used - std::set m_Libraries; ///< unique libraries used /** diff --git a/eeschema/netlist_exporters/netlist_exporter_generic.cpp b/eeschema/netlist_exporters/netlist_exporter_generic.cpp index 8ed292ba65..921e0fc1e4 100644 --- a/eeschema/netlist_exporters/netlist_exporter_generic.cpp +++ b/eeschema/netlist_exporters/netlist_exporter_generic.cpp @@ -308,14 +308,14 @@ XNODE* NETLIST_EXPORTER_GENERIC::makeLibParts() m_Libraries.clear(); - for( std::set::iterator it = m_LibParts.begin(); it!=m_LibParts.end(); ++it ) + for( std::set::iterator it = m_LibParts.begin(); it!=m_LibParts.end(); ++it ) { - LIB_PART* lcomp = (LIB_PART* ) *it; - PART_LIB* library = lcomp->GetLib(); + LIB_PART* lcomp = *it; + PART_LIB* library = lcomp->GetLib(); m_Libraries.insert( library ); // inserts component's library if unique - XNODE* xlibpart; + XNODE* xlibpart; xlibparts->AddChild( xlibpart = node( sLibpart ) ); xlibpart->AddAttribute( sLib, library->GetLogicalName() ); xlibpart->AddAttribute( sPart, lcomp->GetName() ); @@ -325,7 +325,7 @@ XNODE* NETLIST_EXPORTER_GENERIC::makeLibParts() wxArrayString aliases = lcomp->GetAliasNames( false ); if( aliases.GetCount() ) { - XNODE* xaliases = node( sAliases ); + XNODE* xaliases = node( sAliases ); xlibpart->AddChild( xaliases ); for( unsigned i=0; i