Commit a71823b4 authored by Brian Sidebotham's avatar Brian Sidebotham

* Missing changes

parents 64bae1cf dda896d5
...@@ -26,6 +26,19 @@ set( CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/CMakeModules ) ...@@ -26,6 +26,19 @@ set( CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/CMakeModules )
#option( USE_KIWAY_DLLS "Build the major modules as KIFACE DLLs or DSOs, will soon be the norm." ON ) #option( USE_KIWAY_DLLS "Build the major modules as KIFACE DLLs or DSOs, will soon be the norm." ON )
set( USE_KIWAY_DLLS true ) # this is now mandatory, the code is the same anyways, the old code is gone. set( USE_KIWAY_DLLS true ) # this is now mandatory, the code is the same anyways, the old code is gone.
# The desire is to migrate designs *away from* case independence, and to create designs which use
# literally (case specific) interpreted component names. But for backwards compatibility,
# you may turn OFF this option if you really must. (Remember that with KiCad using text
# data files, typically you would be better off simply doctoring those files into
# a case literal state with a text editor and move forward into the brave new
# world of case specificity. Also, BOM generators may not work properly when you
# have this option turned OFF, the xml export's referential integrity is broken
# on library part name. Hence the default is ON now, as of 29-Jan-2014.
option( KICAD_KEEPCASE
"ON= case specific string matching on component names, OFF= match names as if they were spelt using uppercase."
ON
)
option( USE_WX_GRAPHICS_CONTEXT option( USE_WX_GRAPHICS_CONTEXT
"Use wxGraphicsContext for rendering ( default OFF). Warning, this is experimental" ) "Use wxGraphicsContext for rendering ( default OFF). Warning, this is experimental" )
...@@ -231,6 +244,10 @@ if( CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang" ) ...@@ -231,6 +244,10 @@ if( CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang" )
endif( CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang" ) endif( CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang" )
if( KICAD_KEEPCASE )
add_definitions( -DKICAD_KEEPCASE )
endif()
if( USE_WX_OVERLAY OR APPLE ) if( USE_WX_OVERLAY OR APPLE )
add_definitions( -DUSE_WX_OVERLAY ) add_definitions( -DUSE_WX_OVERLAY )
endif() endif()
......
...@@ -177,10 +177,10 @@ ENDDEF ...@@ -177,10 +177,10 @@ ENDDEF
# 74LS245 # 74LS245
# #
DEF 74LS245 U 0 10 Y Y 1 F N DEF 74LS245 U 0 10 Y Y 1 F N
F0 "U" 100 575 60 H V L BNN F0 "U" 100 575 50 H V L BNN
F1 "74LS245" 50 -575 60 H V L TNN F1 "74LS245" 50 -575 50 H V L TNN
F2 "" 0 0 60 H V C CNN F2 "" 50 -650 30 H V L CNN
F3 "" 0 0 60 H V C CNN F3 "" 100 575 30 H V C CNN
ALIAS 74HC245 ALIAS 74HC245
DRAW DRAW
X GND 10 0 -550 0 U 60 60 0 0 W N X GND 10 0 -550 0 U 60 60 0 0 W N
...@@ -358,7 +358,7 @@ DEF C C 0 10 N Y 1 F N ...@@ -358,7 +358,7 @@ DEF C C 0 10 N Y 1 F N
F0 "C" 0 100 40 H V L CNN F0 "C" 0 100 40 H V L CNN
F1 "C" 6 -85 40 H V L CNN F1 "C" 6 -85 40 H V L CNN
F2 "" 38 -150 30 H V C CNN F2 "" 38 -150 30 H V C CNN
F3 "" 0 0 60 H V C CNN F3 "" 0 100 30 H V C CNN
$FPLIST $FPLIST
SM* SM*
C? C?
...@@ -406,7 +406,7 @@ DEF CP C 0 10 N N 1 F N ...@@ -406,7 +406,7 @@ DEF CP C 0 10 N N 1 F N
F0 "C" 50 100 40 H V L CNN F0 "C" 50 100 40 H V L CNN
F1 "CP" 50 -100 40 H V L CNN F1 "CP" 50 -100 40 H V L CNN
F2 "" 100 -150 30 H V C CNN F2 "" 100 -150 30 H V C CNN
F3 "" 0 0 300 H V C CNN F3 "" 50 100 30 H V C CNN
ALIAS CAPAPOL ALIAS CAPAPOL
$FPLIST $FPLIST
CP* CP*
......
Cmp-Mod V01 Created by CvPcb (2013-08-20 BZR 4294)-product date = 21/08/2013 18:12:43 Cmp-Mod V01 Created by Cvpcb (2014-09-16 BZR 5138)-product date = 20/09/2014 09:12:59
BeginCmp BeginCmp
TimeStamp = /322D3011; TimeStamp = /322D3011;
...@@ -11,56 +11,56 @@ BeginCmp ...@@ -11,56 +11,56 @@ BeginCmp
TimeStamp = /32307DE2; TimeStamp = /32307DE2;
Reference = C1; Reference = C1;
ValeurCmp = 47uF; ValeurCmp = 47uF;
IdModule = CP6; IdModule = discret:CP6;
EndCmp EndCmp
BeginCmp BeginCmp
TimeStamp = /32307ECF; TimeStamp = /32307ECF;
Reference = C2; Reference = C2;
ValeurCmp = 47pF; ValeurCmp = 47pF;
IdModule = C1; IdModule = discret:C1;
EndCmp EndCmp
BeginCmp BeginCmp
TimeStamp = /32307ED4; TimeStamp = /32307ED4;
Reference = C3; Reference = C3;
ValeurCmp = 47pF; ValeurCmp = 47pF;
IdModule = C1; IdModule = discret:C1;
EndCmp EndCmp
BeginCmp BeginCmp
TimeStamp = /32307DCF; TimeStamp = /32307DCF;
Reference = C4; Reference = C4;
ValeurCmp = 47uF; ValeurCmp = 47uF;
IdModule = CP6; IdModule = discret:CP6;
EndCmp EndCmp
BeginCmp BeginCmp
TimeStamp = /32307DCA; TimeStamp = /32307DCA;
Reference = C5; Reference = C5;
ValeurCmp = 47uF; ValeurCmp = 47uF;
IdModule = CP6; IdModule = discret:CP6;
EndCmp EndCmp
BeginCmp BeginCmp
TimeStamp = /32307DC0; TimeStamp = /32307DC0;
Reference = C6; Reference = C6;
ValeurCmp = 47uF; ValeurCmp = 47uF;
IdModule = CP6; IdModule = discret:CP6;
EndCmp EndCmp
BeginCmp BeginCmp
TimeStamp = /322D32AC; TimeStamp = /322D32AC;
Reference = D1; Reference = D1;
ValeurCmp = LED; ValeurCmp = LED;
IdModule = LEDV; IdModule = discret:LEDV;
EndCmp EndCmp
BeginCmp BeginCmp
TimeStamp = /322D32BE; TimeStamp = /322D32BE;
Reference = D2; Reference = D2;
ValeurCmp = LED; ValeurCmp = LED;
IdModule = LEDV; IdModule = discret:LEDV;
EndCmp EndCmp
BeginCmp BeginCmp
...@@ -74,84 +74,84 @@ BeginCmp ...@@ -74,84 +74,84 @@ BeginCmp
TimeStamp = /3256759C; TimeStamp = /3256759C;
Reference = P1; Reference = P1;
ValeurCmp = DB25FEMELLE; ValeurCmp = DB25FEMELLE;
IdModule = DB25FC; IdModule = connect:DB25FC;
EndCmp EndCmp
BeginCmp BeginCmp
TimeStamp = /32307EA1; TimeStamp = /32307EA1;
Reference = R1; Reference = R1;
ValeurCmp = 100K; ValeurCmp = 100K;
IdModule = R3; IdModule = discret:R3;
EndCmp EndCmp
BeginCmp BeginCmp
TimeStamp = /32307EAA; TimeStamp = /32307EAA;
Reference = R2; Reference = R2;
ValeurCmp = 1K; ValeurCmp = 1K;
IdModule = R3; IdModule = discret:R3;
EndCmp EndCmp
BeginCmp BeginCmp
TimeStamp = /324002E6; TimeStamp = /324002E6;
Reference = R3; Reference = R3;
ValeurCmp = 10K; ValeurCmp = 10K;
IdModule = R3; IdModule = discret:R3;
EndCmp EndCmp
BeginCmp BeginCmp
TimeStamp = /322D3295; TimeStamp = /322D3295;
Reference = R4; Reference = R4;
ValeurCmp = 330; ValeurCmp = 330;
IdModule = R3; IdModule = discret:R3;
EndCmp EndCmp
BeginCmp BeginCmp
TimeStamp = /322D32A0; TimeStamp = /322D32A0;
Reference = R5; Reference = R5;
ValeurCmp = 330; ValeurCmp = 330;
IdModule = R3; IdModule = discret:R3;
EndCmp EndCmp
BeginCmp BeginCmp
TimeStamp = /325679C1; TimeStamp = /325679C1;
Reference = RR1; Reference = RR1;
ValeurCmp = 9x1K; ValeurCmp = 9x1K;
IdModule = r_pack9; IdModule = discret:r_pack9;
EndCmp EndCmp
BeginCmp BeginCmp
TimeStamp = /322D31F4; TimeStamp = /322D31F4;
Reference = U1; Reference = U1;
ValeurCmp = 74LS245; ValeurCmp = 74LS245;
IdModule = DIP-20__300; IdModule = dip_sockets:DIP-20__300;
EndCmp EndCmp
BeginCmp BeginCmp
TimeStamp = /322D35B4; TimeStamp = /322D35B4;
Reference = U2; Reference = U2;
ValeurCmp = 74LS688; ValeurCmp = 74LS688;
IdModule = DIP-20__300; IdModule = dip_sockets:DIP-20__300;
EndCmp EndCmp
BeginCmp BeginCmp
TimeStamp = /4A087146; TimeStamp = /4A087146;
Reference = U3; Reference = U3;
ValeurCmp = 74LS541; ValeurCmp = 74LS541;
IdModule = DIP-20__300; IdModule = dip_sockets:DIP-20__300;
EndCmp EndCmp
BeginCmp BeginCmp
TimeStamp = /3240023F; TimeStamp = /3240023F;
Reference = U5; Reference = U5;
ValeurCmp = 628128; ValeurCmp = 628128;
IdModule = DIP-32__600; IdModule = dip_sockets:DIP-32__600;
EndCmp EndCmp
BeginCmp BeginCmp
TimeStamp = /322D321C; TimeStamp = /322D321C;
Reference = U8; Reference = U8;
ValeurCmp = EP600; ValeurCmp = EP600;
IdModule = DIP-24__300; IdModule = dip_sockets:DIP-24__300;
EndCmp EndCmp
BeginCmp BeginCmp
...@@ -165,7 +165,7 @@ BeginCmp ...@@ -165,7 +165,7 @@ BeginCmp
TimeStamp = /32307EC0; TimeStamp = /32307EC0;
Reference = X1; Reference = X1;
ValeurCmp = 8MHz; ValeurCmp = 8MHz;
IdModule = HC-18UH; IdModule = discret:HC-18UH;
EndCmp EndCmp
EndListe EndListe
This source diff could not be displayed because it is too large. You can view the blob instead.
(export (version D) (export (version D)
(design (design
(source F:/kicad/share/demos/interf_u/interf_u.sch) (source F:/kicad-launchpad/testing/demos/interf_u/interf_u.sch)
(date "21/08/2013 18:14:13") (date "20/09/2014 09:13:50")
(tool "eeschema (2013-08-20 BZR 4294)-product")) (tool "Eeschema (2014-09-16 BZR 5138)-product"))
(components (components
(comp (ref U3) (comp (ref U3)
(value 74LS541) (value 74LS541)
(footprint DIP-20__300) (footprint dip_sockets:DIP-20__300)
(libsource (lib 74xx) (part 74LS541)) (libsource (lib 74xx) (part 74LS541))
(sheetpath (names /) (tstamps /)) (sheetpath (names /) (tstamps /))
(tstamp 4A087146)) (tstamp 4A087146))
...@@ -18,85 +18,85 @@ ...@@ -18,85 +18,85 @@
(tstamp 32568D1E)) (tstamp 32568D1E))
(comp (ref RR1) (comp (ref RR1)
(value 9x1K) (value 9x1K)
(footprint r_pack9) (footprint discret:r_pack9)
(libsource (lib device) (part RR9)) (libsource (lib device) (part RR9))
(sheetpath (names /) (tstamps /)) (sheetpath (names /) (tstamps /))
(tstamp 325679C1)) (tstamp 325679C1))
(comp (ref P1) (comp (ref P1)
(value DB25FEMELLE) (value DB25FEMELLE)
(footprint DB25FC) (footprint connect:DB25FC)
(libsource (lib conn) (part DB25)) (libsource (lib conn) (part DB25))
(sheetpath (names /) (tstamps /)) (sheetpath (names /) (tstamps /))
(tstamp 3256759C)) (tstamp 3256759C))
(comp (ref R3) (comp (ref R3)
(value 10K) (value 10K)
(footprint R3) (footprint discret:R3)
(libsource (lib device) (part R)) (libsource (lib device) (part R))
(sheetpath (names /) (tstamps /)) (sheetpath (names /) (tstamps /))
(tstamp 324002E6)) (tstamp 324002E6))
(comp (ref U5) (comp (ref U5)
(value 628128) (value 628128)
(footprint DIP-32__600) (footprint dip_sockets:DIP-32__600)
(libsource (lib memory) (part 628128)) (libsource (lib memory) (part 628128))
(sheetpath (names /) (tstamps /)) (sheetpath (names /) (tstamps /))
(tstamp 3240023F)) (tstamp 3240023F))
(comp (ref C3) (comp (ref C3)
(value 47pF) (value 47pF)
(footprint C1) (footprint discret:C1)
(libsource (lib device) (part C)) (libsource (lib device) (part C))
(sheetpath (names /) (tstamps /)) (sheetpath (names /) (tstamps /))
(tstamp 32307ED4)) (tstamp 32307ED4))
(comp (ref C2) (comp (ref C2)
(value 47pF) (value 47pF)
(footprint C1) (footprint discret:C1)
(libsource (lib device) (part C)) (libsource (lib device) (part C))
(sheetpath (names /) (tstamps /)) (sheetpath (names /) (tstamps /))
(tstamp 32307ECF)) (tstamp 32307ECF))
(comp (ref X1) (comp (ref X1)
(value 8MHz) (value 8MHz)
(footprint HC-18UH) (footprint discret:HC-18UH)
(libsource (lib device) (part CRYSTAL)) (libsource (lib device) (part CRYSTAL))
(sheetpath (names /) (tstamps /)) (sheetpath (names /) (tstamps /))
(tstamp 32307EC0)) (tstamp 32307EC0))
(comp (ref R2) (comp (ref R2)
(value 1K) (value 1K)
(footprint R3) (footprint discret:R3)
(libsource (lib device) (part R)) (libsource (lib device) (part R))
(sheetpath (names /) (tstamps /)) (sheetpath (names /) (tstamps /))
(tstamp 32307EAA)) (tstamp 32307EAA))
(comp (ref R1) (comp (ref R1)
(value 100K) (value 100K)
(footprint R3) (footprint discret:R3)
(libsource (lib device) (part R)) (libsource (lib device) (part R))
(sheetpath (names /) (tstamps /)) (sheetpath (names /) (tstamps /))
(tstamp 32307EA1)) (tstamp 32307EA1))
(comp (ref C1) (comp (ref C1)
(value 47uF) (value 47uF)
(footprint CP6) (footprint discret:CP6)
(libsource (lib device) (part CP)) (libsource (lib device) (part CP))
(sheetpath (names /) (tstamps /)) (sheetpath (names /) (tstamps /))
(tstamp 32307DE2)) (tstamp 32307DE2))
(comp (ref C4) (comp (ref C4)
(value 47uF) (value 47uF)
(footprint CP6) (footprint discret:CP6)
(libsource (lib device) (part CP)) (libsource (lib device) (part CP))
(sheetpath (names /) (tstamps /)) (sheetpath (names /) (tstamps /))
(tstamp 32307DCF)) (tstamp 32307DCF))
(comp (ref C5) (comp (ref C5)
(value 47uF) (value 47uF)
(footprint CP6) (footprint discret:CP6)
(libsource (lib device) (part CP)) (libsource (lib device) (part CP))
(sheetpath (names /) (tstamps /)) (sheetpath (names /) (tstamps /))
(tstamp 32307DCA)) (tstamp 32307DCA))
(comp (ref C6) (comp (ref C6)
(value 47uF) (value 47uF)
(footprint CP6) (footprint discret:CP6)
(libsource (lib device) (part CP)) (libsource (lib device) (part CP))
(sheetpath (names /) (tstamps /)) (sheetpath (names /) (tstamps /))
(tstamp 32307DC0)) (tstamp 32307DC0))
(comp (ref U2) (comp (ref U2)
(value 74LS688) (value 74LS688)
(footprint DIP-20__300) (footprint dip_sockets:DIP-20__300)
(libsource (lib 74xx) (part 74LS688)) (libsource (lib 74xx) (part 74LS688))
(sheetpath (names /) (tstamps /)) (sheetpath (names /) (tstamps /))
(tstamp 322D35B4)) (tstamp 322D35B4))
...@@ -111,37 +111,37 @@ ...@@ -111,37 +111,37 @@
(tstamp 322D32FA)) (tstamp 322D32FA))
(comp (ref D2) (comp (ref D2)
(value LED) (value LED)
(footprint LEDV) (footprint discret:LEDV)
(libsource (lib device) (part LED)) (libsource (lib device) (part LED))
(sheetpath (names /) (tstamps /)) (sheetpath (names /) (tstamps /))
(tstamp 322D32BE)) (tstamp 322D32BE))
(comp (ref D1) (comp (ref D1)
(value LED) (value LED)
(footprint LEDV) (footprint discret:LEDV)
(libsource (lib device) (part LED)) (libsource (lib device) (part LED))
(sheetpath (names /) (tstamps /)) (sheetpath (names /) (tstamps /))
(tstamp 322D32AC)) (tstamp 322D32AC))
(comp (ref R5) (comp (ref R5)
(value 330) (value 330)
(footprint R3) (footprint discret:R3)
(libsource (lib device) (part R)) (libsource (lib device) (part R))
(sheetpath (names /) (tstamps /)) (sheetpath (names /) (tstamps /))
(tstamp 322D32A0)) (tstamp 322D32A0))
(comp (ref R4) (comp (ref R4)
(value 330) (value 330)
(footprint R3) (footprint discret:R3)
(libsource (lib device) (part R)) (libsource (lib device) (part R))
(sheetpath (names /) (tstamps /)) (sheetpath (names /) (tstamps /))
(tstamp 322D3295)) (tstamp 322D3295))
(comp (ref U8) (comp (ref U8)
(value EP600) (value EP600)
(footprint DIP-24__300) (footprint dip_sockets:DIP-24__300)
(libsource (lib special) (part EP600)) (libsource (lib special) (part EP600))
(sheetpath (names /) (tstamps /)) (sheetpath (names /) (tstamps /))
(tstamp 322D321C)) (tstamp 322D321C))
(comp (ref U1) (comp (ref U1)
(value 74LS245) (value 74LS245)
(footprint DIP-20__300) (footprint dip_sockets:DIP-20__300)
(libsource (lib 74xx) (part 74LS245)) (libsource (lib 74xx) (part 74LS245))
(sheetpath (names /) (tstamps /)) (sheetpath (names /) (tstamps /))
(tstamp 322D31F4)) (tstamp 322D31F4))
...@@ -165,6 +165,8 @@ ...@@ -165,6 +165,8 @@
(pin (num 1) (name ~) (type passive)) (pin (num 1) (name ~) (type passive))
(pin (num 2) (name ~) (type passive)))) (pin (num 2) (name ~) (type passive))))
(libpart (lib device) (part CP) (libpart (lib device) (part CP)
(aliases
(alias CAPAPOL))
(description "Condensateur polarise") (description "Condensateur polarise")
(footprints (footprints
(fp CP*) (fp CP*)
...@@ -349,6 +351,8 @@ ...@@ -349,6 +351,8 @@
(pin (num 24) (name P24) (type passive)) (pin (num 24) (name P24) (type passive))
(pin (num 25) (name P25) (type passive)))) (pin (num 25) (name P25) (type passive))))
(libpart (lib 74xx) (part 74LS245) (libpart (lib 74xx) (part 74LS245)
(aliases
(alias 74HC245))
(description "Octal BUS Transceivers, 3 State out") (description "Octal BUS Transceivers, 3 State out")
(fields (fields
(field (name Reference) U) (field (name Reference) U)
...@@ -464,6 +468,8 @@ ...@@ -464,6 +468,8 @@
(pin (num 31) (name A15) (type input)) (pin (num 31) (name A15) (type input))
(pin (num 32) (name VCC) (type power_in)))) (pin (num 32) (name VCC) (type power_in))))
(libpart (lib xilinx) (part 4003APG120) (libpart (lib xilinx) (part 4003APG120)
(aliases
(alias 4003PG120))
(fields (fields
(field (name Reference) U) (field (name Reference) U)
(field (name Value) 4003APG120) (field (name Value) 4003APG120)
...@@ -617,45 +623,45 @@ ...@@ -617,45 +623,45 @@
(pin (num 24) (name VCC) (type input))))) (pin (num 24) (name VCC) (type input)))))
(libraries (libraries
(library (logical device) (library (logical device)
(uri F:\kicad\share\library\device.lib)) (uri f:\kicad\share\library\device.lib))
(library (logical conn) (library (logical conn)
(uri F:\kicad\share\library\conn.lib)) (uri f:\kicad\share\library\conn.lib))
(library (logical 74xx) (library (logical 74xx)
(uri F:\kicad\share\library\74xx.lib)) (uri f:\kicad\share\library\74xx.lib))
(library (logical memory) (library (logical memory)
(uri F:\kicad\share\library\memory.lib)) (uri f:\kicad\share\library\memory.lib))
(library (logical xilinx) (library (logical xilinx)
(uri F:\kicad\share\library\xilinx.lib)) (uri f:\kicad\share\library\xilinx.lib))
(library (logical special) (library (logical special)
(uri F:\kicad\share\library\special.lib))) (uri f:\kicad\share\library\special.lib)))
(nets (nets
(net (code 1) (name "") (net (code 1) (name "Net-(BUS1-Pad28)")
(node (ref BUS1) (pin 28))) (node (ref BUS1) (pin 28)))
(net (code 2) (name "") (net (code 2) (name "Net-(BUS1-Pad27)")
(node (ref BUS1) (pin 27))) (node (ref BUS1) (pin 27)))
(net (code 3) (name "") (net (code 3) (name "Net-(BUS1-Pad26)")
(node (ref BUS1) (pin 26))) (node (ref BUS1) (pin 26)))
(net (code 4) (name "") (net (code 4) (name "Net-(BUS1-Pad25)")
(node (ref BUS1) (pin 25))) (node (ref BUS1) (pin 25)))
(net (code 5) (name "") (net (code 5) (name "Net-(BUS1-Pad24)")
(node (ref BUS1) (pin 24))) (node (ref BUS1) (pin 24)))
(net (code 6) (name "") (net (code 6) (name "Net-(BUS1-Pad23)")
(node (ref BUS1) (pin 23))) (node (ref BUS1) (pin 23)))
(net (code 7) (name "") (net (code 7) (name "Net-(BUS1-Pad22)")
(node (ref BUS1) (pin 22))) (node (ref BUS1) (pin 22)))
(net (code 8) (name "") (net (code 8) (name "Net-(BUS1-Pad21)")
(node (ref BUS1) (pin 21))) (node (ref BUS1) (pin 21)))
(net (code 9) (name "") (net (code 9) (name "Net-(BUS1-Pad20)")
(node (ref BUS1) (pin 20))) (node (ref BUS1) (pin 20)))
(net (code 10) (name "") (net (code 10) (name "Net-(BUS1-Pad19)")
(node (ref BUS1) (pin 19))) (node (ref BUS1) (pin 19)))
(net (code 11) (name "") (net (code 11) (name "Net-(BUS1-Pad18)")
(node (ref BUS1) (pin 18))) (node (ref BUS1) (pin 18)))
(net (code 12) (name "") (net (code 12) (name "Net-(BUS1-Pad17)")
(node (ref BUS1) (pin 17))) (node (ref BUS1) (pin 17)))
(net (code 13) (name "") (net (code 13) (name "Net-(BUS1-Pad16)")
(node (ref BUS1) (pin 16))) (node (ref BUS1) (pin 16)))
(net (code 14) (name "") (net (code 14) (name "Net-(BUS1-Pad15)")
(node (ref BUS1) (pin 15))) (node (ref BUS1) (pin 15)))
(net (code 15) (name /PC-RST) (net (code 15) (name /PC-RST)
(node (ref BUS1) (pin 2)) (node (ref BUS1) (pin 2))
...@@ -667,7 +673,7 @@ ...@@ -667,7 +673,7 @@
(net (code 17) (name /PC-IOW) (net (code 17) (name /PC-IOW)
(node (ref U3) (pin 6)) (node (ref U3) (pin 6))
(node (ref BUS1) (pin 13))) (node (ref BUS1) (pin 13)))
(net (code 18) (name "") (net (code 18) (name "Net-(BUS1-Pad12)")
(node (ref BUS1) (pin 12))) (node (ref BUS1) (pin 12)))
(net (code 19) (name /PC-A1) (net (code 19) (name /PC-A1)
(node (ref BUS1) (pin 61)) (node (ref BUS1) (pin 61))
...@@ -748,61 +754,61 @@ ...@@ -748,61 +754,61 @@
(node (ref U9) (pin N10)) (node (ref U9) (pin N10))
(node (ref BUS1) (pin 42)) (node (ref BUS1) (pin 42))
(node (ref U2) (pin 1))) (node (ref U2) (pin 1)))
(net (code 24) (name "") (net (code 24) (name "Net-(BUS1-Pad43)")
(node (ref BUS1) (pin 43))) (node (ref BUS1) (pin 43)))
(net (code 25) (name "") (net (code 25) (name "Net-(BUS1-Pad11)")
(node (ref BUS1) (pin 11))) (node (ref BUS1) (pin 11)))
(net (code 26) (name "") (net (code 26) (name "Net-(BUS1-Pad10)")
(node (ref BUS1) (pin 10))) (node (ref BUS1) (pin 10)))
(net (code 27) (name "") (net (code 27) (name "Net-(BUS1-Pad9)")
(node (ref BUS1) (pin 9))) (node (ref BUS1) (pin 9)))
(net (code 28) (name "") (net (code 28) (name "Net-(BUS1-Pad8)")
(node (ref BUS1) (pin 8))) (node (ref BUS1) (pin 8)))
(net (code 29) (name "") (net (code 29) (name "Net-(BUS1-Pad7)")
(node (ref BUS1) (pin 7))) (node (ref BUS1) (pin 7)))
(net (code 30) (name "") (net (code 30) (name "Net-(BUS1-Pad6)")
(node (ref BUS1) (pin 6))) (node (ref BUS1) (pin 6)))
(net (code 31) (name "") (net (code 31) (name "Net-(BUS1-Pad5)")
(node (ref BUS1) (pin 5))) (node (ref BUS1) (pin 5)))
(net (code 32) (name "") (net (code 32) (name "Net-(BUS1-Pad4)")
(node (ref BUS1) (pin 4))) (node (ref BUS1) (pin 4)))
(net (code 33) (name "") (net (code 33) (name "Net-(BUS1-Pad50)")
(node (ref BUS1) (pin 50))) (node (ref BUS1) (pin 50)))
(net (code 34) (name "") (net (code 34) (name "Net-(BUS1-Pad49)")
(node (ref BUS1) (pin 49))) (node (ref BUS1) (pin 49)))
(net (code 35) (name "") (net (code 35) (name "Net-(BUS1-Pad48)")
(node (ref BUS1) (pin 48))) (node (ref BUS1) (pin 48)))
(net (code 36) (name "") (net (code 36) (name "Net-(BUS1-Pad47)")
(node (ref BUS1) (pin 47))) (node (ref BUS1) (pin 47)))
(net (code 37) (name "") (net (code 37) (name "Net-(BUS1-Pad46)")
(node (ref BUS1) (pin 46))) (node (ref BUS1) (pin 46)))
(net (code 38) (name "") (net (code 38) (name "Net-(BUS1-Pad45)")
(node (ref BUS1) (pin 45))) (node (ref BUS1) (pin 45)))
(net (code 39) (name "") (net (code 39) (name "Net-(BUS1-Pad44)")
(node (ref BUS1) (pin 44))) (node (ref BUS1) (pin 44)))
(net (code 40) (name "") (net (code 40) (name "Net-(BUS1-Pad41)")
(node (ref BUS1) (pin 41))) (node (ref BUS1) (pin 41)))
(net (code 41) (name "") (net (code 41) (name "Net-(BUS1-Pad32)")
(node (ref BUS1) (pin 32))) (node (ref BUS1) (pin 32)))
(net (code 42) (name "") (net (code 42) (name "Net-(BUS1-Pad30)")
(node (ref BUS1) (pin 30))) (node (ref BUS1) (pin 30)))
(net (code 43) (name "") (net (code 43) (name "Net-(U9-PadB5)")
(node (ref U9) (pin B5))) (node (ref U9) (pin B5)))
(net (code 44) (name "") (net (code 44) (name "Net-(U9-PadA3)")
(node (ref U9) (pin A3))) (node (ref U9) (pin A3)))
(net (code 45) (name "") (net (code 45) (name "Net-(U9-PadB4)")
(node (ref U9) (pin B4))) (node (ref U9) (pin B4)))
(net (code 46) (name "") (net (code 46) (name "Net-(U9-PadC5)")
(node (ref U9) (pin C5))) (node (ref U9) (pin C5)))
(net (code 47) (name "") (net (code 47) (name "Net-(U9-PadA2)")
(node (ref U9) (pin A2))) (node (ref U9) (pin A2)))
(net (code 48) (name "") (net (code 48) (name "Net-(U9-PadA1)")
(node (ref U9) (pin A1))) (node (ref U9) (pin A1)))
(net (code 49) (name "") (net (code 49) (name "Net-(U9-PadB1)")
(node (ref U9) (pin B1))) (node (ref U9) (pin B1)))
(net (code 50) (name "") (net (code 50) (name "Net-(U9-PadE3)")
(node (ref U9) (pin E3))) (node (ref U9) (pin E3)))
(net (code 51) (name "") (net (code 51) (name "Net-(U9-PadE2)")
(node (ref U9) (pin E2))) (node (ref U9) (pin E2)))
(net (code 52) (name /MA8) (net (code 52) (name /MA8)
(node (ref U9) (pin G1)) (node (ref U9) (pin G1))
...@@ -822,16 +828,16 @@ ...@@ -822,16 +828,16 @@
(net (code 57) (name /MD3) (net (code 57) (name /MD3)
(node (ref U5) (pin 17)) (node (ref U5) (pin 17))
(node (ref U9) (pin A6))) (node (ref U9) (pin A6)))
(net (code 58) (name "") (net (code 58) (name "Net-(U8-Pad10)")
(node (ref U8) (pin 10))) (node (ref U8) (pin 10)))
(net (code 59) (name "") (net (code 59) (name "Net-(U8-Pad9)")
(node (ref U8) (pin 9))) (node (ref U8) (pin 9)))
(net (code 60) (name "") (net (code 60) (name "Net-(U8-Pad8)")
(node (ref U8) (pin 8))) (node (ref U8) (pin 8)))
(net (code 61) (name /RSTL) (net (code 61) (name /RSTL)
(node (ref U3) (pin 12)) (node (ref U3) (pin 12))
(node (ref U8) (pin 11))) (node (ref U8) (pin 11)))
(net (code 62) (name "") (net (code 62) (name "Net-(U3-Pad11)")
(node (ref U3) (pin 11))) (node (ref U3) (pin 11)))
(net (code 63) (name /MA16) (net (code 63) (name /MA16)
(node (ref U9) (pin C8)) (node (ref U9) (pin C8))
...@@ -860,7 +866,7 @@ ...@@ -860,7 +866,7 @@
(net (code 71) (name /MD6) (net (code 71) (name /MD6)
(node (ref U9) (pin A9)) (node (ref U9) (pin A9))
(node (ref U5) (pin 20))) (node (ref U5) (pin 20)))
(net (code 72) (name "") (net (code 72) (name "Net-(R3-Pad1)")
(node (ref R3) (pin 1)) (node (ref R3) (pin 1))
(node (ref U5) (pin 30))) (node (ref U5) (pin 30)))
(net (code 73) (name /MD7) (net (code 73) (name /MD7)
...@@ -954,10 +960,10 @@ ...@@ -954,10 +960,10 @@
(net (code 102) (name /D1) (net (code 102) (name /D1)
(node (ref U1) (pin 17)) (node (ref U1) (pin 17))
(node (ref U9) (pin N8))) (node (ref U9) (pin N8)))
(net (code 103) (name "") (net (code 103) (name "Net-(D2-Pad1)")
(node (ref D2) (pin 1)) (node (ref D2) (pin 1))
(node (ref R5) (pin 1))) (node (ref R5) (pin 1)))
(net (code 104) (name "") (net (code 104) (name "Net-(U9-PadB13)")
(node (ref U9) (pin B13))) (node (ref U9) (pin B13)))
(net (code 105) (name /LED2) (net (code 105) (name /LED2)
(node (ref R5) (pin 2)) (node (ref R5) (pin 2))
...@@ -966,19 +972,19 @@ ...@@ -966,19 +972,19 @@
(node (ref U8) (pin 21)) (node (ref U8) (pin 21))
(node (ref U9) (pin N2)) (node (ref U9) (pin N2))
(node (ref U1) (pin 18))) (node (ref U1) (pin 18)))
(net (code 107) (name "") (net (code 107) (name "Net-(D1-Pad1)")
(node (ref D1) (pin 1)) (node (ref D1) (pin 1))
(node (ref R4) (pin 1))) (node (ref R4) (pin 1)))
(net (code 108) (name "") (net (code 108) (name "Net-(U3-Pad18)")
(node (ref U3) (pin 18)) (node (ref U3) (pin 18))
(node (ref U8) (pin 3))) (node (ref U8) (pin 3)))
(net (code 109) (name "") (net (code 109) (name "Net-(U3-Pad17)")
(node (ref U3) (pin 17)) (node (ref U3) (pin 17))
(node (ref U8) (pin 4))) (node (ref U8) (pin 4)))
(net (code 110) (name "") (net (code 110) (name "Net-(U3-Pad16)")
(node (ref U3) (pin 16)) (node (ref U3) (pin 16))
(node (ref U8) (pin 5))) (node (ref U8) (pin 5)))
(net (code 111) (name "") (net (code 111) (name "Net-(U3-Pad15)")
(node (ref U3) (pin 15)) (node (ref U3) (pin 15))
(node (ref U8) (pin 6))) (node (ref U8) (pin 6)))
(net (code 112) (name /PC-WR) (net (code 112) (name /PC-WR)
...@@ -1027,62 +1033,62 @@ ...@@ -1027,62 +1033,62 @@
(net (code 123) (name /LED1) (net (code 123) (name /LED1)
(node (ref U9) (pin M3)) (node (ref U9) (pin M3))
(node (ref R4) (pin 2))) (node (ref R4) (pin 2)))
(net (code 124) (name "") (net (code 124) (name "Net-(U9-PadM2)")
(node (ref U9) (pin M2))) (node (ref U9) (pin M2)))
(net (code 125) (name /MA2) (net (code 125) (name /MA2)
(node (ref U9) (pin D3)) (node (ref U9) (pin D3))
(node (ref U5) (pin 10))) (node (ref U5) (pin 10)))
(net (code 126) (name "") (net (code 126) (name "Net-(U9-PadJ3)")
(node (ref U9) (pin J3))) (node (ref U9) (pin J3)))
(net (code 127) (name "") (net (code 127) (name "Net-(U9-PadN3)")
(node (ref U9) (pin N3))) (node (ref U9) (pin N3)))
(net (code 128) (name /CLKLCA) (net (code 128) (name /CLKLCA)
(node (ref U8) (pin 16)) (node (ref U8) (pin 16))
(node (ref U9) (pin L4)) (node (ref U9) (pin L4))
(node (ref U9) (pin M4))) (node (ref U9) (pin M4)))
(net (code 129) (name "") (net (code 129) (name "Net-(U9-PadL5)")
(node (ref U9) (pin L5))) (node (ref U9) (pin L5)))
(net (code 130) (name "") (net (code 130) (name "Net-(U9-PadN5)")
(node (ref U9) (pin N5))) (node (ref U9) (pin N5)))
(net (code 131) (name /MATCHL) (net (code 131) (name /MATCHL)
(node (ref U2) (pin 19)) (node (ref U2) (pin 19))
(node (ref U8) (pin 2))) (node (ref U8) (pin 2)))
(net (code 132) (name "") (net (code 132) (name "Net-(U9-PadM1)")
(node (ref U9) (pin M1))) (node (ref U9) (pin M1)))
(net (code 133) (name "") (net (code 133) (name "Net-(U9-PadN1)")
(node (ref U9) (pin N1))) (node (ref U9) (pin N1)))
(net (code 134) (name /MA1) (net (code 134) (name /MA1)
(node (ref U5) (pin 11)) (node (ref U5) (pin 11))
(node (ref U9) (pin B2))) (node (ref U9) (pin B2)))
(net (code 135) (name "") (net (code 135) (name "Net-(U9-PadE11)")
(node (ref U9) (pin E11))) (node (ref U9) (pin E11)))
(net (code 136) (name "") (net (code 136) (name "Net-(U9-PadJ11)")
(node (ref U9) (pin J11))) (node (ref U9) (pin J11)))
(net (code 137) (name /DONE) (net (code 137) (name /DONE)
(node (ref U8) (pin 20)) (node (ref U8) (pin 20))
(node (ref U9) (pin L11))) (node (ref U9) (pin L11)))
(net (code 138) (name "") (net (code 138) (name "Net-(U9-PadK12)")
(node (ref U9) (pin K12))) (node (ref U9) (pin K12)))
(net (code 139) (name /PROG-) (net (code 139) (name /PROG-)
(node (ref U8) (pin 19)) (node (ref U8) (pin 19))
(node (ref U9) (pin M12))) (node (ref U9) (pin M12)))
(net (code 140) (name "") (net (code 140) (name "Net-(U9-PadN12)")
(node (ref U9) (pin N12))) (node (ref U9) (pin N12)))
(net (code 141) (name "") (net (code 141) (name "Net-(U9-PadL6)")
(node (ref U9) (pin L6))) (node (ref U9) (pin L6)))
(net (code 142) (name "") (net (code 142) (name "Net-(U9-PadL9)")
(node (ref U9) (pin L9))) (node (ref U9) (pin L9)))
(net (code 143) (name "") (net (code 143) (name "Net-(U9-PadB10)")
(node (ref U9) (pin B10))) (node (ref U9) (pin B10)))
(net (code 144) (name /WR_REG) (net (code 144) (name /WR_REG)
(node (ref U8) (pin 13)) (node (ref U8) (pin 13))
(node (ref U8) (pin 15))) (node (ref U8) (pin 15)))
(net (code 145) (name "") (net (code 145) (name "Net-(C2-Pad1)")
(node (ref X1) (pin 1)) (node (ref X1) (pin 1))
(node (ref C2) (pin 1)) (node (ref C2) (pin 1))
(node (ref R1) (pin 2)) (node (ref R1) (pin 2))
(node (ref U9) (pin L1))) (node (ref U9) (pin L1)))
(net (code 146) (name "") (net (code 146) (name "Net-(C3-Pad1)")
(node (ref X1) (pin 2)) (node (ref X1) (pin 2))
(node (ref R1) (pin 1)) (node (ref R1) (pin 1))
(node (ref C3) (pin 1)) (node (ref C3) (pin 1))
...@@ -1111,7 +1117,7 @@ ...@@ -1111,7 +1117,7 @@
(net (code 154) (name /8MH-OUT) (net (code 154) (name /8MH-OUT)
(node (ref R2) (pin 1)) (node (ref R2) (pin 1))
(node (ref U9) (pin K1))) (node (ref U9) (pin K1)))
(net (code 155) (name "") (net (code 155) (name "Net-(RR1-Pad10)")
(node (ref RR1) (pin 10))) (node (ref RR1) (pin 10)))
(net (code 156) (name /STROBE) (net (code 156) (name /STROBE)
(node (ref P1) (pin 1)) (node (ref P1) (pin 1))
......
update=07/08/2013 15:44:03 update=20/09/2014 09:14:18
version=1 version=1
last_client=pcbnew last_client=kicad
[common] [common]
NetDir= NetDir=
[general] [general]
...@@ -40,7 +40,7 @@ LibName12=image ...@@ -40,7 +40,7 @@ LibName12=image
version=1 version=1
PageLayoutDescrFile=pagelayout_logo.kicad_wks PageLayoutDescrFile=pagelayout_logo.kicad_wks
LastNetListRead=interf_u.net LastNetListRead=interf_u.net
UseCmpFile=1 UseCmpFile=0
PadDrill=0.89916 PadDrill=0.89916
PadDrillOvalY=0.89916 PadDrillOvalY=0.89916
PadSizeH=1.397 PadSizeH=1.397
...@@ -56,14 +56,3 @@ SolderMaskMinWidth=0 ...@@ -56,14 +56,3 @@ SolderMaskMinWidth=0
DrawSegmentWidth=0.381 DrawSegmentWidth=0.381
BoardOutlineThickness=0.127 BoardOutlineThickness=0.127
ModuleOutlineThickness=0.381 ModuleOutlineThickness=0.381
[pcbnew/libraries]
LibDir=
LibName1=connect
LibName2=discret
LibName3=led
LibName4=sockets
LibName5=dip_sockets
LibName6=pin_array
LibName7=divers
LibName8=libcms
LibName9=display
...@@ -1181,7 +1181,7 @@ BF FD 96 77 9E 38 7E F1 EC E1 55 E2 AF 2F E0 1B 5F F9 FC FE BD 4F B9 56 EB C9 C9 ...@@ -1181,7 +1181,7 @@ BF FD 96 77 9E 38 7E F1 EC E1 55 E2 AF 2F E0 1B 5F F9 FC FE BD 4F B9 56 EB C9 C9
29 65 D5 9A 89 35 EB 37 F6 E3 02 4F 95 57 89 BF 1E 63 D9 CA D5 CB 7E 65 BC F3 FF E1 D5 7A 1F CE 29 65 D5 9A 89 35 EB 37 F6 E3 02 4F 95 57 89 BF 1E 63 D9 CA D5 CB 7E 65 BC F3 FF E1 D5 7A 1F CE
A2 94 8E 79 E6 79 49 E6 FD 75 9E B9 C4 BC BF CE 33 97 98 F7 D7 79 E6 12 F3 FE 3A CF 5C E2 E7 E2 A2 94 8E 79 E6 79 49 E6 FD 75 9E B9 C4 BC BF CE 33 97 98 F7 D7 79 E6 12 F3 FE 3A CF 5C E2 E7 E2
03 93 93 93 FD BA 8E 79 E6 39 19 8E FB EB DC 15 0B E6 F9 D5 61 7E 3F 30 CF 5C 62 DE 5F E7 99 4B 03 93 93 93 FD BA 8E 79 E6 39 19 8E FB EB DC 15 0B E6 F9 D5 61 7E 3F 30 CF 5C 62 DE 5F E7 99 4B
FC 1F 94 BD 62 D3 EE A5 8B 6B 00 00 00 00 49 45 4E 44 AE 42 60 82 10 FC 1F 94 BD 62 D3 EE A5 8B 6B 00 00 00 00 49 45 4E 44 AE 42 60 82 41
EndData EndData
$EndBitmap $EndBitmap
Wire Bus Line Wire Bus Line
...@@ -1683,7 +1683,7 @@ Connection ~ 1200 7600 ...@@ -1683,7 +1683,7 @@ Connection ~ 1200 7600
Wire Wire Line Wire Wire Line
3900 6900 3350 6900 3900 6900 3350 6900
Wire Wire Line Wire Wire Line
3350 6800 3350 6900 3350 6900 3350 6800
Wire Wire Line Wire Wire Line
3350 6800 2450 6800 3350 6800 2450 6800
Wire Wire Line Wire Wire Line
...@@ -1703,9 +1703,9 @@ Wire Wire Line ...@@ -1703,9 +1703,9 @@ Wire Wire Line
Wire Wire Line Wire Wire Line
2500 7000 2500 6900 2500 7000 2500 6900
Wire Wire Line Wire Wire Line
3050 6900 2500 6900 2500 6900 3050 6900
Wire Wire Line Wire Wire Line
3050 7950 3050 6900 3050 6900 3050 7950
Wire Wire Line Wire Wire Line
3900 7600 3400 7600 3900 7600 3400 7600
Wire Wire Line Wire Wire Line
...@@ -1773,9 +1773,9 @@ Wire Bus Line ...@@ -1773,9 +1773,9 @@ Wire Bus Line
Wire Bus Line Wire Bus Line
3750 3450 3750 5350 3750 3450 3750 5350
Wire Bus Line Wire Bus Line
3300 5350 3750 5350 3750 5350 3300 5350
Wire Bus Line Wire Bus Line
3300 6650 3300 5350 3300 5350 3300 6650
Wire Bus Line Wire Bus Line
3900 3700 3900 2450 3900 3700 3900 2450
Wire Wire Line Wire Wire Line
...@@ -1794,7 +1794,7 @@ U 1 1 4A087146 ...@@ -1794,7 +1794,7 @@ U 1 1 4A087146
P 5250 1950 P 5250 1950
F 0 "U3" H 5250 2525 60 0000 C BNN F 0 "U3" H 5250 2525 60 0000 C BNN
F 1 "74LS541" H 5250 1375 60 0000 C TNN F 1 "74LS541" H 5250 1375 60 0000 C TNN
F 2 "DIP-20__300" H 5250 1250 60 0000 C CNN F 2 "dip_sockets:DIP-20__300" H 5250 1250 60 0000 C CNN
F 3 "" H 5250 1950 60 0001 C CNN F 3 "" H 5250 1950 60 0001 C CNN
1 5250 1950 1 5250 1950
1 0 0 -1 1 0 0 -1
...@@ -2074,7 +2074,7 @@ U 1 1 325679C1 ...@@ -2074,7 +2074,7 @@ U 1 1 325679C1
P 2750 8300 P 2750 8300
F 0 "RR1" V 2800 8300 70 0000 C CNN F 0 "RR1" V 2800 8300 70 0000 C CNN
F 1 "9x1K" V 2770 8630 70 0000 C CNN F 1 "9x1K" V 2770 8630 70 0000 C CNN
F 2 "r_pack9" V 2900 8350 60 0000 C CNN F 2 "discret:r_pack9" V 2900 8350 60 0000 C CNN
F 3 "" H 2750 8300 60 0001 C CNN F 3 "" H 2750 8300 60 0001 C CNN
1 2750 8300 1 2750 8300
0 1 1 0 0 1 1 0
...@@ -2130,7 +2130,7 @@ U 1 1 3256759C ...@@ -2130,7 +2130,7 @@ U 1 1 3256759C
P 15200 7200 P 15200 7200
F 0 "P1" H 15250 8550 70 0000 C CNN F 0 "P1" H 15250 8550 70 0000 C CNN
F 1 "DB25FEMELLE" H 15150 5850 70 0000 C CNN F 1 "DB25FEMELLE" H 15150 5850 70 0000 C CNN
F 2 "DB25FC" H 15150 5750 60 0000 C CNN F 2 "connect:DB25FC" H 15150 5750 60 0000 C CNN
F 3 "" H 15200 7200 60 0001 C CNN F 3 "" H 15200 7200 60 0001 C CNN
1 15200 7200 1 15200 7200
1 0 0 -1 1 0 0 -1
...@@ -2333,7 +2333,7 @@ U 1 1 324002E6 ...@@ -2333,7 +2333,7 @@ U 1 1 324002E6
P 6350 9900 P 6350 9900
F 0 "R3" V 6430 9900 50 0000 C CNN F 0 "R3" V 6430 9900 50 0000 C CNN
F 1 "10K" V 6350 9900 50 0000 C CNN F 1 "10K" V 6350 9900 50 0000 C CNN
F 2 "R3" V 6250 9900 60 0000 C CNN F 2 "discret:R3" V 6250 9900 60 0000 C CNN
F 3 "" H 6350 9900 60 0001 C CNN F 3 "" H 6350 9900 60 0001 C CNN
1 6350 9900 1 6350 9900
0 1 1 0 0 1 1 0
...@@ -2384,7 +2384,7 @@ U 1 1 3240023F ...@@ -2384,7 +2384,7 @@ U 1 1 3240023F
P 7700 9050 P 7700 9050
F 0 "U5" H 7750 10200 70 0000 C CNN F 0 "U5" H 7750 10200 70 0000 C CNN
F 1 "628128" H 7700 7900 70 0000 C CNN F 1 "628128" H 7700 7900 70 0000 C CNN
F 2 "DIP-32__600" H 7700 7800 60 0000 C CNN F 2 "dip_sockets:DIP-32__600" H 7700 7800 60 0000 C CNN
F 3 "" H 7700 9050 60 0001 C CNN F 3 "" H 7700 9050 60 0001 C CNN
1 7700 9050 1 7700 9050
1 0 0 -1 1 0 0 -1
...@@ -2627,7 +2627,7 @@ U 1 1 32307ED4 ...@@ -2627,7 +2627,7 @@ U 1 1 32307ED4
P 14350 4600 P 14350 4600
F 0 "C3" V 14450 4750 50 0000 C CNN F 0 "C3" V 14450 4750 50 0000 C CNN
F 1 "47pF" V 14450 4450 50 0000 C CNN F 1 "47pF" V 14450 4450 50 0000 C CNN
F 2 "C1" H 14550 4600 60 0000 C CNN F 2 "discret:C1" H 14550 4600 60 0000 C CNN
F 3 "" H 14350 4600 60 0001 C CNN F 3 "" H 14350 4600 60 0001 C CNN
1 14350 4600 1 14350 4600
1 0 0 -1 1 0 0 -1
...@@ -2638,7 +2638,7 @@ U 1 1 32307ECF ...@@ -2638,7 +2638,7 @@ U 1 1 32307ECF
P 13550 4600 P 13550 4600
F 0 "C2" V 13650 4750 50 0000 C CNN F 0 "C2" V 13650 4750 50 0000 C CNN
F 1 "47pF" V 13650 4450 50 0000 C CNN F 1 "47pF" V 13650 4450 50 0000 C CNN
F 2 "C1" H 13350 4600 60 0000 C CNN F 2 "discret:C1" H 13350 4600 60 0000 C CNN
F 3 "" H 13550 4600 60 0001 C CNN F 3 "" H 13550 4600 60 0001 C CNN
1 13550 4600 1 13550 4600
1 0 0 -1 1 0 0 -1
...@@ -2649,7 +2649,7 @@ U 1 1 32307EC0 ...@@ -2649,7 +2649,7 @@ U 1 1 32307EC0
P 13950 4150 P 13950 4150
F 0 "X1" H 13950 4350 70 0000 C CNN F 0 "X1" H 13950 4350 70 0000 C CNN
F 1 "8MHz" H 13950 3950 70 0000 C CNN F 1 "8MHz" H 13950 3950 70 0000 C CNN
F 2 "HC-18UH" H 13950 3850 60 0000 C CNN F 2 "discret:HC-18UH" H 13950 3850 60 0000 C CNN
F 3 "" H 13950 4150 60 0001 C CNN F 3 "" H 13950 4150 60 0001 C CNN
1 13950 4150 1 13950 4150
1 0 0 -1 1 0 0 -1
...@@ -2660,7 +2660,7 @@ U 1 1 32307EAA ...@@ -2660,7 +2660,7 @@ U 1 1 32307EAA
P 14900 3700 P 14900 3700
F 0 "R2" V 14980 3700 50 0000 C CNN F 0 "R2" V 14980 3700 50 0000 C CNN
F 1 "1K" V 14900 3700 50 0000 C CNN F 1 "1K" V 14900 3700 50 0000 C CNN
F 2 "R3" V 14800 3700 60 0000 C CNN F 2 "discret:R3" V 14800 3700 60 0000 C CNN
F 3 "" H 14900 3700 60 0001 C CNN F 3 "" H 14900 3700 60 0001 C CNN
1 14900 3700 1 14900 3700
0 1 1 0 0 1 1 0
...@@ -2671,7 +2671,7 @@ U 1 1 32307EA1 ...@@ -2671,7 +2671,7 @@ U 1 1 32307EA1
P 13950 3700 P 13950 3700
F 0 "R1" V 14030 3700 50 0000 C CNN F 0 "R1" V 14030 3700 50 0000 C CNN
F 1 "100K" V 13950 3700 50 0000 C CNN F 1 "100K" V 13950 3700 50 0000 C CNN
F 2 "R3" V 13850 3700 60 0000 C CNN F 2 "discret:R3" V 13850 3700 60 0000 C CNN
F 3 "" H 13950 3700 60 0001 C CNN F 3 "" H 13950 3700 60 0001 C CNN
1 13950 3700 1 13950 3700
0 1 1 0 0 1 1 0
...@@ -2682,7 +2682,7 @@ U 1 1 32307DE2 ...@@ -2682,7 +2682,7 @@ U 1 1 32307DE2
P 4450 9100 P 4450 9100
F 0 "C1" H 4500 9200 50 0000 L CNN F 0 "C1" H 4500 9200 50 0000 L CNN
F 1 "47uF" H 4500 9000 50 0000 L CNN F 1 "47uF" H 4500 9000 50 0000 L CNN
F 2 "CP6" H 4650 9100 60 0000 C CNN F 2 "discret:CP6" H 4650 9100 60 0000 C CNN
F 3 "" H 4450 9100 60 0001 C CNN F 3 "" H 4450 9100 60 0001 C CNN
1 4450 9100 1 4450 9100
1 0 0 -1 1 0 0 -1
...@@ -2693,7 +2693,7 @@ U 1 1 32307DCF ...@@ -2693,7 +2693,7 @@ U 1 1 32307DCF
P 3800 9100 P 3800 9100
F 0 "C4" H 3850 9200 50 0000 L CNN F 0 "C4" H 3850 9200 50 0000 L CNN
F 1 "47uF" H 3850 9000 50 0000 L CNN F 1 "47uF" H 3850 9000 50 0000 L CNN
F 2 "CP6" H 4000 9100 60 0000 C CNN F 2 "discret:CP6" H 4000 9100 60 0000 C CNN
F 3 "" H 3800 9100 60 0001 C CNN F 3 "" H 3800 9100 60 0001 C CNN
1 3800 9100 1 3800 9100
1 0 0 -1 1 0 0 -1
...@@ -2704,7 +2704,7 @@ U 1 1 32307DCA ...@@ -2704,7 +2704,7 @@ U 1 1 32307DCA
P 3250 9100 P 3250 9100
F 0 "C5" H 3300 9200 50 0000 L CNN F 0 "C5" H 3300 9200 50 0000 L CNN
F 1 "47uF" H 3300 9000 50 0000 L CNN F 1 "47uF" H 3300 9000 50 0000 L CNN
F 2 "CP6" H 3450 9100 60 0000 C CNN F 2 "discret:CP6" H 3450 9100 60 0000 C CNN
F 3 "" H 3250 9100 60 0001 C CNN F 3 "" H 3250 9100 60 0001 C CNN
1 3250 9100 1 3250 9100
1 0 0 -1 1 0 0 -1
...@@ -2715,7 +2715,7 @@ U 1 1 32307DC0 ...@@ -2715,7 +2715,7 @@ U 1 1 32307DC0
P 2600 9100 P 2600 9100
F 0 "C6" H 2650 9200 50 0000 L CNN F 0 "C6" H 2650 9200 50 0000 L CNN
F 1 "47uF" H 2650 9000 50 0000 L CNN F 1 "47uF" H 2650 9000 50 0000 L CNN
F 2 "CP6" H 2800 9100 60 0000 C CNN F 2 "discret:CP6" H 2800 9100 60 0000 C CNN
F 3 "" H 2600 9100 60 0001 C CNN F 3 "" H 2600 9100 60 0001 C CNN
1 2600 9100 1 2600 9100
1 0 0 -1 1 0 0 -1
...@@ -2742,7 +2742,7 @@ U 1 1 322D35B4 ...@@ -2742,7 +2742,7 @@ U 1 1 322D35B4
P 4600 6900 P 4600 6900
F 0 "U2" H 4600 7850 60 0000 C CNN F 0 "U2" H 4600 7850 60 0000 C CNN
F 1 "74LS688" H 4600 5950 60 0000 C CIB F 1 "74LS688" H 4600 5950 60 0000 C CIB
F 2 "DIP-20__300" H 4600 5850 60 0000 C CNB F 2 "dip_sockets:DIP-20__300" H 4600 5850 60 0000 C CNB
F 3 "" H 4600 6900 60 0001 C CNN F 3 "" H 4600 6900 60 0001 C CNN
1 4600 6900 1 4600 6900
1 0 0 -1 1 0 0 -1
...@@ -2766,7 +2766,7 @@ U 1 1 322D32BE ...@@ -2766,7 +2766,7 @@ U 1 1 322D32BE
P 14250 2000 P 14250 2000
F 0 "D2" H 14250 2100 50 0000 C CNN F 0 "D2" H 14250 2100 50 0000 C CNN
F 1 "LED" H 14250 1900 50 0000 C CNN F 1 "LED" H 14250 1900 50 0000 C CNN
F 2 "LEDV" V 14250 2250 60 0000 C CNN F 2 "discret:LEDV" V 14250 2250 60 0000 C CNN
F 3 "" H 14250 2000 60 0001 C CNN F 3 "" H 14250 2000 60 0001 C CNN
1 14250 2000 1 14250 2000
0 1 1 0 0 1 1 0
...@@ -2777,7 +2777,7 @@ U 1 1 322D32AC ...@@ -2777,7 +2777,7 @@ U 1 1 322D32AC
P 14650 1550 P 14650 1550
F 0 "D1" H 14650 1650 50 0000 C CNN F 0 "D1" H 14650 1650 50 0000 C CNN
F 1 "LED" H 14650 1450 50 0000 C CNN F 1 "LED" H 14650 1450 50 0000 C CNN
F 2 "LEDV" V 14650 1800 60 0000 C CNN F 2 "discret:LEDV" V 14650 1800 60 0000 C CNN
F 3 "" H 14650 1550 60 0001 C CNN F 3 "" H 14650 1550 60 0001 C CNN
1 14650 1550 1 14650 1550
0 1 1 0 0 1 1 0
...@@ -2788,7 +2788,7 @@ U 1 1 322D32A0 ...@@ -2788,7 +2788,7 @@ U 1 1 322D32A0
P 13700 1500 P 13700 1500
F 0 "R5" V 13780 1500 50 0000 C CNN F 0 "R5" V 13780 1500 50 0000 C CNN
F 1 "330" V 13700 1500 50 0000 C CNN F 1 "330" V 13700 1500 50 0000 C CNN
F 2 "R3" V 13730 1680 30 0000 C CNN F 2 "discret:R3" V 13730 1680 30 0000 C CNN
F 3 "" H 13700 1500 60 0001 C CNN F 3 "" H 13700 1500 60 0001 C CNN
1 13700 1500 1 13700 1500
0 1 1 0 0 1 1 0
...@@ -2799,7 +2799,7 @@ U 1 1 322D3295 ...@@ -2799,7 +2799,7 @@ U 1 1 322D3295
P 13700 1050 P 13700 1050
F 0 "R4" V 13780 1050 50 0000 C CNN F 0 "R4" V 13780 1050 50 0000 C CNN
F 1 "330" V 13700 1050 50 0000 C CNN F 1 "330" V 13700 1050 50 0000 C CNN
F 2 "R3" V 13850 1050 60 0000 C CNN F 2 "discret:R3" V 13850 1050 60 0000 C CNN
F 3 "" H 13700 1050 60 0001 C CNN F 3 "" H 13700 1050 60 0001 C CNN
1 13700 1050 1 13700 1050
0 1 1 0 0 1 1 0
...@@ -2810,7 +2810,7 @@ U 1 1 322D321C ...@@ -2810,7 +2810,7 @@ U 1 1 322D321C
P 7650 1800 P 7650 1800
F 0 "U8" H 7650 1900 70 0000 C CNN F 0 "U8" H 7650 1900 70 0000 C CNN
F 1 "EP600" H 7650 850 70 0000 C CNN F 1 "EP600" H 7650 850 70 0000 C CNN
F 2 "DIP-24__300" H 7700 750 60 0000 C CNN F 2 "dip_sockets:DIP-24__300" H 7700 750 60 0000 C CNN
F 3 "" H 7650 1800 60 0001 C CNN F 3 "" H 7650 1800 60 0001 C CNN
1 7650 1800 1 7650 1800
1 0 0 -1 1 0 0 -1
...@@ -2821,7 +2821,7 @@ U 1 1 322D31F4 ...@@ -2821,7 +2821,7 @@ U 1 1 322D31F4
P 5200 3600 P 5200 3600
F 0 "U1" H 5300 4175 60 0000 L BNN F 0 "U1" H 5300 4175 60 0000 L BNN
F 1 "74LS245" H 5250 3025 60 0000 L TNN F 1 "74LS245" H 5250 3025 60 0000 L TNN
F 2 "DIP-20__300" H 5400 2900 60 0000 C CNN F 2 "dip_sockets:DIP-20__300" H 5400 2900 60 0000 C CNN
F 3 "" H 5200 3600 60 0001 C CNN F 3 "" H 5200 3600 60 0001 C CNN
1 5200 3600 1 5200 3600
1 0 0 -1 1 0 0 -1
......
(fp_lib_table (fp_lib_table
(lib (name footprints)(type KiCad)(uri ${KIPRJMOD}/libs/footprints.pretty)(options "")(descr "project specific")) (lib (name footprints)(type KiCad)(uri ${KIPRJMOD}/libs/pic_programmer_fp.pretty)(options "")(descr "project specific"))
(lib (name sockets)(type KiCad)(uri ${KISYSMOD}/Sockets.pretty)(options "")(descr ""))
) )
(module textool_40 (layer F.Cu) (tedit 5401B510)
(descr "Module Dil 40 pins, pads elliptiques, e=600 mils")
(tags DIL)
(fp_text reference P3 (at -19.05 -3.81) (layer F.SilkS)
(effects (font (size 1.778 1.143) (thickness 0.3048)))
)
(fp_text value textool_40 (at 0 2.54) (layer F.SilkS)
(effects (font (size 1.778 1.778) (thickness 0.3048)))
)
(fp_line (start -26.67 -1.27) (end -25.4 -1.27) (layer F.SilkS) (width 0.381))
(fp_line (start -25.4 -1.27) (end -25.4 1.27) (layer F.SilkS) (width 0.381))
(fp_line (start -25.4 1.27) (end -26.67 1.27) (layer F.SilkS) (width 0.381))
(fp_line (start -26.67 -6.35) (end 26.67 -6.35) (layer F.SilkS) (width 0.381))
(fp_line (start 26.67 -6.35) (end 26.67 6.35) (layer F.SilkS) (width 0.381))
(fp_line (start 26.67 6.35) (end -26.67 6.35) (layer F.SilkS) (width 0.381))
(fp_line (start -26.67 6.35) (end -26.67 -6.35) (layer F.SilkS) (width 0.381))
(pad 1 thru_hole rect (at -24.13 7.62) (size 1.5748 2.286) (drill 0.8128) (layers *.Cu *.Mask F.SilkS))
(pad 2 thru_hole oval (at -21.59 7.62) (size 1.5748 2.286) (drill 0.8128) (layers *.Cu *.Mask F.SilkS))
(pad 3 thru_hole oval (at -19.05 7.62) (size 1.5748 2.286) (drill 0.8128) (layers *.Cu *.Mask F.SilkS))
(pad 4 thru_hole oval (at -16.51 7.62) (size 1.5748 2.286) (drill 0.8128) (layers *.Cu *.Mask F.SilkS))
(pad 5 thru_hole oval (at -13.97 7.62) (size 1.5748 2.286) (drill 0.8128) (layers *.Cu *.Mask F.SilkS))
(pad 6 thru_hole oval (at -11.43 7.62) (size 1.5748 2.286) (drill 0.8128) (layers *.Cu *.Mask F.SilkS))
(pad 7 thru_hole oval (at -8.89 7.62) (size 1.5748 2.286) (drill 0.8128) (layers *.Cu *.Mask F.SilkS))
(pad 8 thru_hole oval (at -6.35 7.62) (size 1.5748 2.286) (drill 0.8128) (layers *.Cu *.Mask F.SilkS))
(pad 9 thru_hole oval (at -3.81 7.62) (size 1.5748 2.286) (drill 0.8128) (layers *.Cu *.Mask F.SilkS))
(pad 10 thru_hole oval (at -1.27 7.62) (size 1.5748 2.286) (drill 0.8128) (layers *.Cu *.Mask F.SilkS))
(pad 11 thru_hole oval (at 1.27 7.62) (size 1.5748 2.286) (drill 0.8128) (layers *.Cu *.Mask F.SilkS))
(pad 12 thru_hole oval (at 3.81 7.62) (size 1.5748 2.286) (drill 0.8128) (layers *.Cu *.Mask F.SilkS))
(pad 13 thru_hole oval (at 6.35 7.62) (size 1.5748 2.286) (drill 0.8128) (layers *.Cu *.Mask F.SilkS))
(pad 14 thru_hole oval (at 8.89 7.62) (size 1.5748 2.286) (drill 0.8128) (layers *.Cu *.Mask F.SilkS))
(pad 15 thru_hole oval (at 11.43 7.62) (size 1.5748 2.286) (drill 0.8128) (layers *.Cu *.Mask F.SilkS))
(pad 16 thru_hole oval (at 13.97 7.62) (size 1.5748 2.286) (drill 0.8128) (layers *.Cu *.Mask F.SilkS))
(pad 17 thru_hole oval (at 16.51 7.62) (size 1.5748 2.286) (drill 0.8128) (layers *.Cu *.Mask F.SilkS))
(pad 18 thru_hole oval (at 19.05 7.62) (size 1.5748 2.286) (drill 0.8128) (layers *.Cu *.Mask F.SilkS))
(pad 19 thru_hole oval (at 21.59 7.62) (size 1.5748 2.286) (drill 0.8128) (layers *.Cu *.Mask F.SilkS))
(pad 20 thru_hole oval (at 24.13 7.62) (size 1.5748 2.286) (drill 0.8128) (layers *.Cu *.Mask F.SilkS))
(pad 21 thru_hole oval (at 24.13 -7.62) (size 1.5748 2.286) (drill 0.8128) (layers *.Cu *.Mask F.SilkS))
(pad 22 thru_hole oval (at 21.59 -7.62) (size 1.5748 2.286) (drill 0.8128) (layers *.Cu *.Mask F.SilkS))
(pad 23 thru_hole oval (at 19.05 -7.62) (size 1.5748 2.286) (drill 0.8128) (layers *.Cu *.Mask F.SilkS))
(pad 24 thru_hole oval (at 16.51 -7.62) (size 1.5748 2.286) (drill 0.8128) (layers *.Cu *.Mask F.SilkS))
(pad 25 thru_hole oval (at 13.97 -7.62) (size 1.5748 2.286) (drill 0.8128) (layers *.Cu *.Mask F.SilkS))
(pad 26 thru_hole oval (at 11.43 -7.62) (size 1.5748 2.286) (drill 0.8128) (layers *.Cu *.Mask F.SilkS))
(pad 27 thru_hole oval (at 8.89 -7.62) (size 1.5748 2.286) (drill 0.8128) (layers *.Cu *.Mask F.SilkS))
(pad 28 thru_hole oval (at 6.35 -7.62) (size 1.5748 2.286) (drill 0.8128) (layers *.Cu *.Mask F.SilkS))
(pad 29 thru_hole oval (at 3.81 -7.62) (size 1.5748 2.286) (drill 0.8128) (layers *.Cu *.Mask F.SilkS))
(pad 30 thru_hole oval (at 1.27 -7.62) (size 1.5748 2.286) (drill 0.8128) (layers *.Cu *.Mask F.SilkS))
(pad 31 thru_hole oval (at -1.27 -7.62) (size 1.5748 2.286) (drill 0.8128) (layers *.Cu *.Mask F.SilkS))
(pad 32 thru_hole oval (at -3.81 -7.62) (size 1.5748 2.286) (drill 0.8128) (layers *.Cu *.Mask F.SilkS))
(pad 33 thru_hole oval (at -6.35 -7.62) (size 1.5748 2.286) (drill 0.8128) (layers *.Cu *.Mask F.SilkS))
(pad 34 thru_hole oval (at -8.89 -7.62) (size 1.5748 2.286) (drill 0.8128) (layers *.Cu *.Mask F.SilkS))
(pad 35 thru_hole oval (at -11.43 -7.62) (size 1.5748 2.286) (drill 0.8128) (layers *.Cu *.Mask F.SilkS))
(pad 36 thru_hole oval (at -13.97 -7.62) (size 1.5748 2.286) (drill 0.8128) (layers *.Cu *.Mask F.SilkS))
(pad 37 thru_hole oval (at -16.51 -7.62) (size 1.5748 2.286) (drill 0.8128) (layers *.Cu *.Mask F.SilkS))
(pad 38 thru_hole oval (at -19.05 -7.62) (size 1.5748 2.286) (drill 0.8128) (layers *.Cu *.Mask F.SilkS))
(pad 39 thru_hole oval (at -21.59 -7.62) (size 1.5748 2.286) (drill 0.8128) (layers *.Cu *.Mask F.SilkS))
(pad 40 thru_hole oval (at -24.13 -7.62) (size 1.5748 2.286) (drill 0.8128) (layers *.Cu *.Mask F.SilkS))
(model dil/textool_40.wrl
(at (xyz 0 0 0))
(scale (xyz 1 1 1))
(rotate (xyz 0 0 0))
)
)
Cmp-Mod V01 Created by Cvpcb (2014-08-26 BZR 5101)-product date = 01/09/2014 11:21:38 Cmp-Mod V01 Created by Cvpcb (2014-09-16 BZR 5138)-product date = 20/09/2014 09:54:11
BeginCmp BeginCmp
TimeStamp = /442A5056; TimeStamp = /442A5056;
...@@ -179,7 +179,7 @@ BeginCmp ...@@ -179,7 +179,7 @@ BeginCmp
TimeStamp = /4804A5E2/442A88ED; TimeStamp = /4804A5E2/442A88ED;
Reference = P3; Reference = P3;
ValeurCmp = SUPP40; ValeurCmp = SUPP40;
IdModule = footprints:textool_40; IdModule = sockets:40tex-Ell600;
EndCmp EndCmp
BeginCmp BeginCmp
......
This source diff could not be displayed because it is too large. You can view the blob instead.
(export (version D) (export (version D)
(design (design
(source F:/kicad-launchpad/testing/demos/pic_programmer/pic_programmer.sch) (source F:/kicad-launchpad/testing/demos/pic_programmer/pic_programmer.sch)
(date "01/09/2014 11:22:27") (date "20/09/2014 09:31:58")
(tool "Eeschema (2014-08-26 BZR 5101)-product")) (tool "Eeschema (2014-09-16 BZR 5138)-product"))
(components (components
(comp (ref C9) (comp (ref C9)
(value 22OnF) (value 22OnF)
...@@ -358,7 +358,7 @@ ...@@ -358,7 +358,7 @@
(tstamp 442AA145)) (tstamp 442AA145))
(comp (ref P3) (comp (ref P3)
(value SUPP40) (value SUPP40)
(footprint footprints:textool_40) (footprint sockets:40tex-Ell600)
(libsource (lib conn) (part SUPP40)) (libsource (lib conn) (part SUPP40))
(sheetpath (names /pic_sockets/) (tstamps /4804A5E2/)) (sheetpath (names /pic_sockets/) (tstamps /4804A5E2/))
(tstamp 442A88ED)) (tstamp 442A88ED))
...@@ -434,6 +434,113 @@ ...@@ -434,6 +434,113 @@
(pins (pins
(pin (num 1) (name A) (type passive)) (pin (num 1) (name A) (type passive))
(pin (num 2) (name K) (type passive)))) (pin (num 2) (name K) (type passive))))
(libpart (lib pic_programmer-cache) (part 24C16)
(aliases
(alias 24C512))
(fields
(field (name Reference) U)
(field (name Value) 24C16))
(pins
(pin (num 1) (name A0) (type input))
(pin (num 2) (name A1) (type input))
(pin (num 3) (name A2) (type input))
(pin (num 4) (name GND) (type power_in))
(pin (num 5) (name SDA) (type BiDi))
(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)
(aliases
(alias LM7805)
(alias LM7812)
(alias 78L05))
(fields
(field (name Reference) U)
(field (name Value) 7805))
(pins
(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)
(aliases
(alias LT1373))
(fields
(field (name Reference) U)
(field (name Value) LT1372))
(pins
(pin (num 1) (name Vc) (type input))
(pin (num 2) (name FB+) (type input))
(pin (num 3) (name FB-) (type passive))
(pin (num 4) (name S/S) (type passive))
(pin (num 5) (name Vin) (type power_in))
(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)
(aliases
(alias PIC12C509A))
(fields
(field (name Reference) U)
(field (name Value) PIC12C508A))
(pins
(pin (num 1) (name VDD) (type power_in))
(pin (num 2) (name GP5/OSC1) (type input))
(pin (num 3) (name GP4/OSC2) (type input))
(pin (num 4) (name GP3/MCLR) (type input))
(pin (num 5) (name GP2) (type input))
(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)
(fields
(field (name Reference) U?)
(field (name Value) PIC16F54))
(pins
(pin (num 1) (name RA2) (type BiDi))
(pin (num 2) (name RA3) (type BiDi))
(pin (num 3) (name T0ckl) (type output))
(pin (num 4) (name MCLR) (type input))
(pin (num 5) (name VSS) (type power_in))
(pin (num 6) (name RB0) (type BiDi))
(pin (num 7) (name RB1) (type BiDi))
(pin (num 8) (name RB2) (type BiDi))
(pin (num 9) (name RB3) (type BiDi))
(pin (num 10) (name RB4) (type BiDi))
(pin (num 11) (name RB5) (type BiDi))
(pin (num 12) (name ICSPC/RB6) (type BiDi))
(pin (num 13) (name ICSPD/RB7) (type BiDi))
(pin (num 14) (name VDD) (type power_in))
(pin (num 15) (name OSC2/CLKO) (type output))
(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) (libpart (lib device) (part INDUCTOR)
(fields (fields
(field (name Reference) L) (field (name Reference) L)
...@@ -504,57 +611,6 @@ ...@@ -504,57 +611,6 @@
(pins (pins
(pin (num 1) (name ~) (type passive)) (pin (num 1) (name ~) (type passive))
(pin (num 2) (name ~) (type passive)))) (pin (num 2) (name ~) (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 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 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))))
(libpart (lib conn) (part SUPP28) (libpart (lib conn) (part SUPP28)
(fields (fields
(field (name Reference) J) (field (name Reference) J)
...@@ -633,95 +689,39 @@ ...@@ -633,95 +689,39 @@
(pin (num 38) (name 38) (type passive)) (pin (num 38) (name 38) (type passive))
(pin (num 39) (name 39) (type passive)) (pin (num 39) (name 39) (type passive))
(pin (num 40) (name 40) (type passive)))) (pin (num 40) (name 40) (type passive))))
(libpart (lib pic_programmer-cache) (part 24C16) (libpart (lib conn) (part CONN_2)
(aliases (description "Symbole general de connecteur")
(alias 24C512))
(fields
(field (name Reference) U)
(field (name Value) 24C16))
(pins
(pin (num 1) (name A0) (type input))
(pin (num 2) (name A1) (type input))
(pin (num 3) (name A2) (type input))
(pin (num 4) (name GND) (type power_in))
(pin (num 5) (name SDA) (type BiDi))
(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)
(aliases
(alias LM7805)
(alias LM7812)
(alias 78L05))
(fields
(field (name Reference) U)
(field (name Value) 7805))
(pins
(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)
(aliases
(alias LT1373))
(fields
(field (name Reference) U)
(field (name Value) LT1372))
(pins
(pin (num 1) (name Vc) (type input))
(pin (num 2) (name FB+) (type input))
(pin (num 3) (name FB-) (type passive))
(pin (num 4) (name S/S) (type passive))
(pin (num 5) (name Vin) (type power_in))
(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)
(aliases
(alias PIC12C509A))
(fields (fields
(field (name Reference) U) (field (name Reference) P)
(field (name Value) PIC12C508A)) (field (name Value) CONN_2))
(pins (pins
(pin (num 1) (name VDD) (type power_in)) (pin (num 1) (name P1) (type passive))
(pin (num 2) (name GP5/OSC1) (type input)) (pin (num 2) (name PM) (type passive))))
(pin (num 3) (name GP4/OSC2) (type input)) (libpart (lib conn) (part DB9)
(pin (num 4) (name GP3/MCLR) (type input)) (footprints
(pin (num 5) (name GP2) (type input)) (fp DB9*))
(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)
(fields (fields
(field (name Reference) U?) (field (name Reference) J)
(field (name Value) PIC16F54)) (field (name Value) DB9))
(pins (pins
(pin (num 1) (name RA2) (type BiDi)) (pin (num 1) (name 1) (type passive))
(pin (num 2) (name RA3) (type BiDi)) (pin (num 2) (name 2) (type passive))
(pin (num 3) (name T0ckl) (type output)) (pin (num 3) (name 3) (type passive))
(pin (num 4) (name MCLR) (type input)) (pin (num 4) (name 4) (type passive))
(pin (num 5) (name VSS) (type power_in)) (pin (num 5) (name 5) (type passive))
(pin (num 6) (name RB0) (type BiDi)) (pin (num 6) (name P6) (type passive))
(pin (num 7) (name RB1) (type BiDi)) (pin (num 7) (name P7) (type passive))
(pin (num 8) (name RB2) (type BiDi)) (pin (num 8) (name P8) (type passive))
(pin (num 9) (name RB3) (type BiDi)) (pin (num 9) (name P9) (type passive)))))
(pin (num 10) (name RB4) (type BiDi))
(pin (num 11) (name RB5) (type BiDi))
(pin (num 12) (name ICSPC/RB6) (type BiDi))
(pin (num 13) (name ICSPD/RB7) (type BiDi))
(pin (num 14) (name VDD) (type power_in))
(pin (num 15) (name OSC2/CLKO) (type output))
(pin (num 16) (name OSC1/CLKI) (type input))
(pin (num 17) (name RA0) (type BiDi))
(pin (num 18) (name RA1) (type BiDi)))))
(libraries (libraries
(library (logical device) (library (logical device)
(uri f:\kicad\share\library\device.lib)) (uri f:\kicad\share\library\device.lib))
(library (logical 74xx)
(uri f:\kicad\share\library\74xx.lib))
(library (logical conn) (library (logical conn)
(uri f:\kicad\share\library\conn.lib)) (uri f:\kicad\share\library\conn.lib))
(library (logical pic_programmer-cache) (library (logical pic_programmer-cache)
(uri F:\kicad-launchpad\testing\demos\pic_programmer\pic_programmer-cache.lib))) (uri F:\kicad-launchpad\testing\demos\pic_programmer\pic_programmer-cache.lib))
(library (logical 74xx)
(uri f:\kicad\share\library\74xx.lib)))
(nets (nets
(net (code 1) (name GND) (net (code 1) (name GND)
(node (ref D3) (pin 1)) (node (ref D3) (pin 1))
......
update=31/08/2014 15:16:56 update=20/09/2014 09:29:07
last_client=kicad last_client=kicad
[common] [common]
NetDir= NetDir=
...@@ -7,34 +7,6 @@ version=1 ...@@ -7,34 +7,6 @@ version=1
NetIExt=net NetIExt=net
[cvpcb/libraries] [cvpcb/libraries]
EquName1=devcms EquName1=devcms
[pcbnew]
version=1
PageLayoutDescrFile=
LastNetListRead=
UseCmpFile=1
PadDrill=0.8128
PadDrillOvalY=0.8128
PadSizeH=1.5748
PadSizeV=2.794
PcbTextSizeV=1.5
PcbTextSizeH=1.5
PcbTextThickness=0.3048
ModuleTextSizeV=1
ModuleTextSizeH=1
ModuleTextSizeThickness=0.2
SolderMaskClearance=0.09999999999999999
SolderMaskMinWidth=0
DrawSegmentWidth=0.4
BoardOutlineThickness=0.2
ModuleOutlineThickness=0.2
[pcbnew/libraries]
LibDir=
LibName1=dip_sockets
LibName2=sockets
LibName3=connect
LibName4=discret
LibName5=pin_array
LibName6=divers
[general] [general]
version=1 version=1
[eeschema] [eeschema]
...@@ -46,3 +18,23 @@ LibName2=device ...@@ -46,3 +18,23 @@ LibName2=device
LibName3=74xx LibName3=74xx
LibName4=conn LibName4=conn
LibName5=xilinx LibName5=xilinx
[pcbnew]
version=1
PageLayoutDescrFile=
LastNetListRead=pic_programmer.net
UseCmpFile=0
PadDrill=0.8128
PadDrillOvalY=0.8128
PadSizeH=1.5748
PadSizeV=2.794
PcbTextSizeV=2.032
PcbTextSizeH=1.524
PcbTextThickness=0.3048
ModuleTextSizeV=1.524
ModuleTextSizeH=1.524
ModuleTextSizeThickness=0.3048
SolderMaskClearance=0.09999999999999999
SolderMaskMinWidth=0
DrawSegmentWidth=0.381
BoardOutlineThickness=0.381
ModuleOutlineThickness=0.381
...@@ -272,7 +272,7 @@ U 1 1 4639BA28 ...@@ -272,7 +272,7 @@ U 1 1 4639BA28
P 7150 2900 P 7150 2900
F 0 "D11" H 7150 3000 40 0000 C CNN F 0 "D11" H 7150 3000 40 0000 C CNN
F 1 "BAT43" H 7150 2800 40 0000 C CNN F 1 "BAT43" H 7150 2800 40 0000 C CNN
F 2 "discret:D3" H 7150 3050 60 0000 C CNN F 2 "discret:D3" H 7150 3050 30 0000 C CNN
F 3 "" H 7150 2900 60 0001 C CNN F 3 "" H 7150 2900 60 0001 C CNN
1 7150 2900 1 7150 2900
-1 0 0 1 -1 0 0 1
...@@ -373,7 +373,7 @@ U 1 1 443D0101 ...@@ -373,7 +373,7 @@ U 1 1 443D0101
P 9600 5900 P 9600 5900
F 0 "RV1" H 9600 5800 50 0000 C CNN F 0 "RV1" H 9600 5800 50 0000 C CNN
F 1 "1K" H 9600 5900 50 0000 C CNN F 1 "1K" H 9600 5900 50 0000 C CNN
F 2 "discret:RV2X4" H 9600 5900 60 0000 C CNN F 2 "discret:RV2X4" H 9600 5750 30 0000 C CNN
F 3 "" H 9600 5900 60 0001 C CNN F 3 "" H 9600 5900 60 0001 C CNN
1 9600 5900 1 9600 5900
0 -1 -1 0 0 -1 -1 0
...@@ -455,7 +455,7 @@ U 1 1 442A5F83 ...@@ -455,7 +455,7 @@ U 1 1 442A5F83
P 8350 6100 P 8350 6100
F 0 "R10" V 8430 6100 50 0000 C CNN F 0 "R10" V 8430 6100 50 0000 C CNN
F 1 "5,1K" V 8350 6100 50 0000 C CNN F 1 "5,1K" V 8350 6100 50 0000 C CNN
F 2 "discret:R4" H 8350 6100 60 0000 C CNN F 2 "discret:R4" V 8250 6100 30 0000 C CNN
F 3 "" H 8350 6100 60 0001 C CNN F 3 "" H 8350 6100 60 0001 C CNN
1 8350 6100 1 8350 6100
0 -1 -1 0 0 -1 -1 0
...@@ -501,7 +501,7 @@ U 1 1 442A58DC ...@@ -501,7 +501,7 @@ U 1 1 442A58DC
P 10000 5650 P 10000 5650
F 0 "R16" V 10080 5650 50 0000 C CNN F 0 "R16" V 10080 5650 50 0000 C CNN
F 1 "62K" V 10000 5650 50 0000 C CNN F 1 "62K" V 10000 5650 50 0000 C CNN
F 2 "discret:R4" H 10000 5650 60 0000 C CNN F 2 "discret:R4" V 9929 5647 30 0000 C CNN
F 3 "" H 10000 5650 60 0001 C CNN F 3 "" H 10000 5650 60 0001 C CNN
1 10000 5650 1 10000 5650
0 -1 -1 0 0 -1 -1 0
...@@ -512,7 +512,7 @@ U 1 1 442A58D7 ...@@ -512,7 +512,7 @@ U 1 1 442A58D7
P 10000 6150 P 10000 6150
F 0 "R15" V 10080 6150 50 0000 C CNN F 0 "R15" V 10080 6150 50 0000 C CNN
F 1 "6.2K" V 10000 6150 50 0000 C CNN F 1 "6.2K" V 10000 6150 50 0000 C CNN
F 2 "discret:R4" H 10000 6150 60 0000 C CNN F 2 "discret:R4" V 9922 6141 30 0000 C CNN
F 3 "" H 10000 6150 60 0001 C CNN F 3 "" H 10000 6150 60 0001 C CNN
1 10000 6150 1 10000 6150
0 -1 -1 0 0 -1 -1 0
...@@ -682,7 +682,7 @@ U 1 1 442A5084 ...@@ -682,7 +682,7 @@ U 1 1 442A5084
P 4150 6950 P 4150 6950
F 0 "D9" H 4150 7050 50 0000 C CNN F 0 "D9" H 4150 7050 50 0000 C CNN
F 1 "GREEN-LED" H 4150 6850 50 0000 C CNN F 1 "GREEN-LED" H 4150 6850 50 0000 C CNN
F 2 "discret:LEDV" H 4150 7200 60 0000 C CNN F 2 "discret:LEDV" H 4150 7200 30 0000 C CNN
F 3 "" H 4150 6950 60 0001 C CNN F 3 "" H 4150 6950 60 0001 C CNN
F 4 "GREEN LED" H 4200 7100 40 0000 C CNN "Champ4" F 4 "GREEN LED" H 4200 7100 40 0000 C CNN "Champ4"
1 4150 6950 1 4150 6950
...@@ -694,7 +694,7 @@ U 1 1 442A5083 ...@@ -694,7 +694,7 @@ U 1 1 442A5083
P 3850 6650 P 3850 6650
F 0 "R14" V 3930 6650 50 0000 C CNN F 0 "R14" V 3930 6650 50 0000 C CNN
F 1 "470" V 3850 6650 50 0000 C CNN F 1 "470" V 3850 6650 50 0000 C CNN
F 2 "discret:R4" H 3850 6650 60 0000 C CNN F 2 "discret:R4" V 3765 6645 30 0000 C CNN
F 3 "" H 3850 6650 60 0001 C CNN F 3 "" H 3850 6650 60 0001 C CNN
1 3850 6650 1 3850 6650
0 -1 -1 0 0 -1 -1 0
...@@ -716,7 +716,7 @@ U 1 1 442A5056 ...@@ -716,7 +716,7 @@ U 1 1 442A5056
P 3200 6900 P 3200 6900
F 0 "C1" H 3250 7000 50 0000 L CNN F 0 "C1" H 3250 7000 50 0000 L CNN
F 1 "100µF" H 3250 6800 50 0000 L CNN F 1 "100µF" H 3250 6800 50 0000 L CNN
F 2 "discret:CP10" H 3500 6750 60 0000 C CNN F 2 "discret:CP10" H 3500 6750 30 0000 C CNN
F 3 "" H 3200 6900 60 0001 C CNN F 3 "" H 3200 6900 60 0001 C CNN
1 3200 6900 1 3200 6900
1 0 0 -1 1 0 0 -1
...@@ -782,7 +782,7 @@ U 1 1 442A500B ...@@ -782,7 +782,7 @@ U 1 1 442A500B
P 1650 6650 P 1650 6650
F 0 "D1" H 1650 6750 40 0000 C CNN F 0 "D1" H 1650 6750 40 0000 C CNN
F 1 "1N4004" H 1650 6550 40 0000 C CNN F 1 "1N4004" H 1650 6550 40 0000 C CNN
F 2 "discret:D5" H 1700 6850 60 0000 C CNN F 2 "discret:D5" H 1646 6800 30 0000 C CNN
F 3 "" H 1650 6650 60 0001 C CNN F 3 "" H 1650 6650 60 0001 C CNN
1 1650 6650 1 1650 6650
1 0 0 -1 1 0 0 -1
...@@ -962,7 +962,7 @@ U 1 1 442A4D92 ...@@ -962,7 +962,7 @@ U 1 1 442A4D92
P 4700 1700 P 4700 1700
F 0 "R8" V 4780 1700 50 0000 C CNN F 0 "R8" V 4780 1700 50 0000 C CNN
F 1 "1K" V 4700 1700 50 0000 C CNN F 1 "1K" V 4700 1700 50 0000 C CNN
F 2 "discret:R4" V 4850 1700 60 0000 C CNN F 2 "discret:R4" V 4850 1700 30 0000 C CNN
F 3 "" H 4700 1700 60 0001 C CNN F 3 "" H 4700 1700 60 0001 C CNN
1 4700 1700 1 4700 1700
0 -1 -1 0 0 -1 -1 0
...@@ -973,7 +973,7 @@ U 1 1 442A4D8D ...@@ -973,7 +973,7 @@ U 1 1 442A4D8D
P 5100 5100 P 5100 5100
F 0 "R13" V 5180 5100 50 0000 C CNN F 0 "R13" V 5180 5100 50 0000 C CNN
F 1 "470" V 5100 5100 50 0000 C CNN F 1 "470" V 5100 5100 50 0000 C CNN
F 2 "discret:R4" V 5250 5100 60 0000 C CNN F 2 "discret:R4" V 5250 5100 30 0000 C CNN
F 3 "" H 5100 5100 60 0001 C CNN F 3 "" H 5100 5100 60 0001 C CNN
1 5100 5100 1 5100 5100
0 -1 -1 0 0 -1 -1 0
...@@ -1050,7 +1050,7 @@ U 1 1 442A4D65 ...@@ -1050,7 +1050,7 @@ U 1 1 442A4D65
P 3850 5400 P 3850 5400
F 0 "D7" H 3850 5500 40 0000 C CNN F 0 "D7" H 3850 5500 40 0000 C CNN
F 1 "BAT43" H 3850 5300 40 0000 C CNN F 1 "BAT43" H 3850 5300 40 0000 C CNN
F 2 "discret:D3" H 3850 5250 60 0000 C CNN F 2 "discret:D3" H 3850 5250 30 0000 C CNN
F 3 "" H 3850 5400 60 0001 C CNN F 3 "" H 3850 5400 60 0001 C CNN
1 3850 5400 1 3850 5400
0 -1 -1 0 0 -1 -1 0
...@@ -1072,7 +1072,7 @@ U 1 1 442A4D63 ...@@ -1072,7 +1072,7 @@ U 1 1 442A4D63
P 3200 5400 P 3200 5400
F 0 "R6" V 3280 5400 50 0000 C CNN F 0 "R6" V 3280 5400 50 0000 C CNN
F 1 "10K" V 3200 5400 50 0000 C CNN F 1 "10K" V 3200 5400 50 0000 C CNN
F 2 "discret:R4" V 3100 5400 60 0000 C CNN F 2 "discret:R4" V 3100 5400 30 0000 C CNN
F 3 "" H 3200 5400 60 0001 C CNN F 3 "" H 3200 5400 60 0001 C CNN
1 3200 5400 1 3200 5400
1 0 0 -1 1 0 0 -1
...@@ -1083,7 +1083,7 @@ U 1 1 442A4D62 ...@@ -1083,7 +1083,7 @@ U 1 1 442A4D62
P 3500 5100 P 3500 5100
F 0 "R5" V 3580 5100 50 0000 C CNN F 0 "R5" V 3580 5100 50 0000 C CNN
F 1 "10K" V 3500 5100 50 0000 C CNN F 1 "10K" V 3500 5100 50 0000 C CNN
F 2 "discret:R4" H 3500 5100 60 0000 C CNN F 2 "discret:R4" V 3420 5088 30 0000 C CNN
F 3 "" H 3500 5100 60 0001 C CNN F 3 "" H 3500 5100 60 0001 C CNN
1 3500 5100 1 3500 5100
0 -1 -1 0 0 -1 -1 0
...@@ -1226,7 +1226,7 @@ U 1 1 442A4D25 ...@@ -1226,7 +1226,7 @@ U 1 1 442A4D25
P 3450 2000 P 3450 2000
F 0 "D3" H 3450 2100 40 0000 C CNN F 0 "D3" H 3450 2100 40 0000 C CNN
F 1 "BAT43" H 3450 1900 40 0000 C CNN F 1 "BAT43" H 3450 1900 40 0000 C CNN
F 2 "discret:D3" H 3450 1850 60 0000 C CNN F 2 "discret:D3" H 3450 1850 30 0000 C CNN
F 3 "" H 3450 2000 60 0001 C CNN F 3 "" H 3450 2000 60 0001 C CNN
1 3450 2000 1 3450 2000
0 -1 -1 0 0 -1 -1 0
...@@ -1237,7 +1237,7 @@ U 1 1 442A4D1B ...@@ -1237,7 +1237,7 @@ U 1 1 442A4D1B
P 3450 1450 P 3450 1450
F 0 "D2" H 3450 1550 40 0000 C CNN F 0 "D2" H 3450 1550 40 0000 C CNN
F 1 "BAT43" H 3450 1350 40 0000 C CNN F 1 "BAT43" H 3450 1350 40 0000 C CNN
F 2 "discret:D3" H 3500 1300 60 0000 C CNN F 2 "discret:D3" H 3500 1300 30 0000 C CNN
F 3 "" H 3450 1450 60 0001 C CNN F 3 "" H 3450 1450 60 0001 C CNN
1 3450 1450 1 3450 1450
0 -1 -1 0 0 -1 -1 0
...@@ -1289,68 +1289,78 @@ $EndComp ...@@ -1289,68 +1289,78 @@ $EndComp
$Comp $Comp
L CONN_1 P101 L CONN_1 P101
U 1 1 54020BEA U 1 1 54020BEA
P 6400 6850 P 6400 6800
F 0 "P101" H 6480 6850 40 0000 L CNN F 0 "P101" H 6480 6800 40 0000 L CNN
F 1 "CONN_1" H 6400 6905 30 0001 C CNN F 1 "CONN_1" H 6400 6855 30 0001 C CNN
F 2 "footprints:1pin-4" H 6400 6850 60 0001 C CNN F 2 "footprints:1pin-4" H 6400 6800 60 0001 C CNN
F 3 "" H 6400 6850 60 0000 C CNN F 3 "" H 6400 6800 60 0000 C CNN
1 6400 6850 1 6400 6800
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
$Comp $Comp
L CONN_1 P102 L CONN_1 P102
U 1 1 54020DA9 U 1 1 54020DA9
P 6400 7000 P 6400 6950
F 0 "P102" H 6480 7000 40 0000 L CNN F 0 "P102" H 6480 6950 40 0000 L CNN
F 1 "CONN_1" H 6400 7055 30 0001 C CNN F 1 "CONN_1" H 6400 7005 30 0001 C CNN
F 2 "footprints:1pin-4" H 6400 7000 60 0001 C CNN F 2 "footprints:1pin-4" H 6400 6950 60 0001 C CNN
F 3 "" H 6400 7000 60 0000 C CNN F 3 "" H 6400 6950 60 0000 C CNN
1 6400 7000 1 6400 6950
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
$Comp $Comp
L CONN_1 P103 L CONN_1 P103
U 1 1 54020DC2 U 1 1 54020DC2
P 6400 7150 P 6400 7100
F 0 "P103" H 6480 7150 40 0000 L CNN F 0 "P103" H 6480 7100 40 0000 L CNN
F 1 "CONN_1" H 6400 7205 30 0001 C CNN F 1 "CONN_1" H 6400 7155 30 0001 C CNN
F 2 "footprints:1pin-4" H 6400 7150 60 0001 C CNN F 2 "footprints:1pin-4" H 6400 7100 60 0001 C CNN
F 3 "" H 6400 7150 60 0000 C CNN F 3 "" H 6400 7100 60 0000 C CNN
1 6400 7150 1 6400 7100
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
$Comp $Comp
L CONN_1 P104 L CONN_1 P104
U 1 1 54020DE3 U 1 1 54020DE3
P 6400 7300 P 6400 7250
F 0 "P104" H 6480 7300 40 0000 L CNN F 0 "P104" H 6480 7250 40 0000 L CNN
F 1 "CONN_1" H 6400 7355 30 0001 C CNN F 1 "CONN_1" H 6400 7305 30 0001 C CNN
F 2 "footprints:1pin-4" H 6400 7300 60 0001 C CNN F 2 "footprints:1pin-4" H 6400 7250 60 0001 C CNN
F 3 "" H 6400 7300 60 0000 C CNN F 3 "" H 6400 7250 60 0000 C CNN
1 6400 7300 1 6400 7250
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
$Comp $Comp
L CONN_1 P105 L CONN_1 P105
U 1 1 54020E5D U 1 1 54020E5D
P 6400 7450 P 6400 7400
F 0 "P105" H 6480 7450 40 0000 L CNN F 0 "P105" H 6480 7400 40 0000 L CNN
F 1 "CONN_1" H 6400 7505 30 0001 C CNN F 1 "CONN_1" H 6400 7455 30 0001 C CNN
F 2 "footprints:1pin-4" H 6400 7450 60 0001 C CNN F 2 "footprints:1pin-4" H 6400 7400 60 0001 C CNN
F 3 "" H 6400 7450 60 0000 C CNN F 3 "" H 6400 7400 60 0000 C CNN
1 6400 7450 1 6400 7400
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
$Comp $Comp
L CONN_1 P106 L CONN_1 P106
U 1 1 54020E76 U 1 1 54020E76
P 6400 7600 P 6400 7550
F 0 "P106" H 6480 7600 40 0000 L CNN F 0 "P106" H 6480 7550 40 0000 L CNN
F 1 "CONN_1" H 6400 7655 30 0001 C CNN F 1 "CONN_1" H 6400 7605 30 0001 C CNN
F 2 "footprints:1pin-4" H 6400 7600 60 0001 C CNN F 2 "footprints:1pin-4" H 6400 7550 60 0001 C CNN
F 3 "" H 6400 7600 60 0000 C CNN F 3 "" H 6400 7550 60 0000 C CNN
1 6400 7600 1 6400 7550
1 0 0 -1 1 0 0 -1
$EndComp $EndComp
Connection ~ 8650 3200 Connection ~ 8650 3200
Wire Notes Line
5850 6700 6800 6700
Wire Notes Line
6800 6700 6800 7750
Wire Notes Line
6800 7750 5850 7750
Wire Notes Line
5850 7750 5850 6700
Text Notes 6050 7700 0 40 Italic 0
Mounting holes
$EndSCHEMATC $EndSCHEMATC
...@@ -252,7 +252,7 @@ U 1 1 442A88ED ...@@ -252,7 +252,7 @@ U 1 1 442A88ED
P 9050 5100 P 9050 5100
F 0 "P3" H 9100 6200 70 0000 C CNN F 0 "P3" H 9100 6200 70 0000 C CNN
F 1 "SUPP40" H 8900 4000 70 0000 C CNN F 1 "SUPP40" H 8900 4000 70 0000 C CNN
F 2 "footprints:textool_40" H 9100 3900 60 0000 C CNN F 2 "sockets:40tex-Ell600" H 9100 3900 60 0000 C CNN
F 3 "" H 9050 5100 60 0001 C CNN F 3 "" H 9050 5100 60 0001 C CNN
1 9050 5100 1 9050 5100
1 0 0 -1 1 0 0 -1
......
...@@ -46,11 +46,11 @@ class LIB_FIELD; ...@@ -46,11 +46,11 @@ class LIB_FIELD;
/// Compiler controlled string compare function, either case independent or not: /// Compiler controlled string compare function, either case independent or not:
inline int Cmp_KEEPCASE( const wxString& aString1, const wxString& aString2 ) inline int Cmp_KEEPCASE( const wxString& aString1, const wxString& aString2 )
{ {
#if 1 #ifdef KICAD_KEEPCASE
// case specificity: // case specificity, the normal behavior:
return aString1.Cmp( aString2 ); return aString1.Cmp( aString2 );
#else #else
// case independence (no more in use) // case independence (only for guys who want that: not recommended)
return aString1.CmpNoCase( aString2 ); return aString1.CmpNoCase( aString2 );
#endif #endif
} }
......
...@@ -902,7 +902,8 @@ LIB_ALIAS* PART_LIBS::FindLibraryEntry( const wxString& aName, const wxString& a ...@@ -902,7 +902,8 @@ LIB_ALIAS* PART_LIBS::FindLibraryEntry( const wxString& aName, const wxString& a
/* searches all libraries in the list for an entry, using a case insensitive comparison. /* searches all libraries in the list for an entry, using a case insensitive comparison.
* Used to find an entry, when the normal (case sensitive) search fails. * Used to find an entry, when the normal (case sensitive) search fails.
*/ */
LIB_ALIAS* PART_LIBS::FindLibraryNearEntry( const wxString& aEntryName, void PART_LIBS::FindLibraryNearEntries( std::vector<LIB_ALIAS*>& aCandidates,
const wxString& aEntryName,
const wxString& aLibraryName ) const wxString& aLibraryName )
{ {
BOOST_FOREACH( PART_LIB& lib, *this ) BOOST_FOREACH( PART_LIB& lib, *this )
...@@ -921,7 +922,7 @@ LIB_ALIAS* PART_LIBS::FindLibraryNearEntry( const wxString& aEntryName, ...@@ -921,7 +922,7 @@ LIB_ALIAS* PART_LIBS::FindLibraryNearEntry( const wxString& aEntryName,
for( ;; ) for( ;; )
{ {
if( entry_name.CmpNoCase( aEntryName ) == 0 ) if( entry_name.CmpNoCase( aEntryName ) == 0 )
return entry; aCandidates.push_back( entry );
entry = lib.GetNextEntry( entry_name ); entry = lib.GetNextEntry( entry_name );
entry_name = entry->GetName(); entry_name = entry->GetName();
...@@ -930,8 +931,6 @@ LIB_ALIAS* PART_LIBS::FindLibraryNearEntry( const wxString& aEntryName, ...@@ -930,8 +931,6 @@ LIB_ALIAS* PART_LIBS::FindLibraryNearEntry( const wxString& aEntryName,
break; break;
} }
} }
return NULL;
} }
......
...@@ -217,23 +217,19 @@ public: ...@@ -217,23 +217,19 @@ public:
const wxString& aLibraryName = wxEmptyString ); const wxString& aLibraryName = wxEmptyString );
/** /**
* Function FindLibraryNearEntry * Function FindLibraryNearEntries
* Searches all libraries in the list for an entry, using a case insensitive comparison. * Searches all libraries in the list for an entry, using a case insensitive comparison.
* Used to find an entry, when the normal (case sensitive) search fails. * Helper function used in dialog to find all candidates.
* Needed because during a long time, eeschema was using a case insensitive search. * During a long time, eeschema was using a case insensitive search.
* Therefore, for old schematics (<= 2013), or libs, * Therefore, for old schematics (<= 2013), or libs, for some components,
* which mixed upper case and lower case entry names, for compatibility reasons, if * the chip name (name of alias in lib) can be broken.
* a normal search fails, this case insensitive search can be made. * This function can be used to display a list of candidates, in component properties dialog.
* Could be also usefull also in some dialogs, when searching parts in libs.
* Remember this is a linear search, therefore slower than the normal binary search
* *
* The object can be either a part or an alias. * @param aEntryName - Name of entries to search for (case insensitive).
*
* @param aEntryName - Name of entry to search for (case insensitive).
* @param aLibraryName - Name of the library to search. * @param aLibraryName - Name of the library to search.
* @return The entry object if found, otherwise NULL. * @param aCandidates - a std::vector to store candidates
*/ */
LIB_ALIAS* FindLibraryNearEntry( const wxString& aEntryName, void FindLibraryNearEntries( std::vector<LIB_ALIAS*>& aCandidates, const wxString& aEntryName,
const wxString& aLibraryName = wxEmptyString ); const wxString& aLibraryName = wxEmptyString );
/** /**
......
...@@ -39,6 +39,7 @@ ...@@ -39,6 +39,7 @@
#include <base_units.h> #include <base_units.h>
#include <general.h> #include <general.h>
#include <sch_base_frame.h>
#include <class_library.h> #include <class_library.h>
#include <sch_component.h> #include <sch_component.h>
#include <dialog_helpers.h> #include <dialog_helpers.h>
...@@ -116,6 +117,8 @@ private: ...@@ -116,6 +117,8 @@ private:
void deleteFieldButtonHandler( wxCommandEvent& event ); void deleteFieldButtonHandler( wxCommandEvent& event );
void moveUpButtonHandler( wxCommandEvent& event ); void moveUpButtonHandler( wxCommandEvent& event );
void showButtonHandler( wxCommandEvent& event ); void showButtonHandler( wxCommandEvent& event );
void OnTestChipName( wxCommandEvent& event );
void OnSelectChipName( wxCommandEvent& event );
SCH_FIELD* findField( const wxString& aFieldName ); SCH_FIELD* findField( const wxString& aFieldName );
...@@ -205,6 +208,64 @@ void DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::OnListItemDeselected( wxListEvent& even ...@@ -205,6 +208,64 @@ void DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::OnListItemDeselected( wxListEvent& even
} }
} }
void DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::OnTestChipName( wxCommandEvent& event )
{
wxString partname = chipnameTextCtrl->GetValue();
LIB_PART* entry = Prj().SchLibs()->FindLibPart( partname );
wxString msg;
if( entry )
{
msg.Printf( _( "Component '%s' found in library '%s'" ),
GetChars( partname ), GetChars( entry->GetLibraryName() ) );
wxMessageBox( msg );
return;
}
msg.Printf( _( "Component '%s' not found in any library" ), GetChars( partname ) );
// Try to find components which have a name "near" the current chip name,
// i.e. the same name when the comparison is case insensitive.
// Could be helpful for old designs when lower cases and upper case were
// equivalent.
std::vector<LIB_ALIAS*> candidates;
Prj().SchLibs()->FindLibraryNearEntries( candidates, partname );
if( candidates.size() == 0 )
{
wxMessageBox( msg );
return;
}
// Some candidates are found. Show them:
msg << wxT("\n") << _( "However, some candidates are found:" );
// add candidate names:
for( unsigned ii = 0; ii < candidates.size(); ii++ )
{
msg << wxT("\n") <<
wxString::Format( _( "'%s' found in library '%s'" ),
GetChars( candidates[ii]->GetName() ),
GetChars( candidates[ii]->GetLibraryName() ) );
}
wxMessageBox( msg );
}
void DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::OnSelectChipName( wxCommandEvent& event )
{
wxArrayString dummy;
int dummyunit = 1;
wxString chipname = m_Parent->SelectComponentFromLibrary( wxEmptyString, dummy, dummyunit,
true, NULL, NULL );
if( chipname.IsEmpty() )
return;
chipnameTextCtrl->SetValue( chipname );
}
void DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::OnListItemSelected( wxListEvent& event ) void DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::OnListItemSelected( wxListEvent& event )
{ {
...@@ -222,9 +283,9 @@ void DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::OnCloseDialog( wxCloseEvent& event ) ...@@ -222,9 +283,9 @@ void DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::OnCloseDialog( wxCloseEvent& event )
// On wxWidgets 2.8, and on Linux, calling EndQuasiModal here is mandatory // On wxWidgets 2.8, and on Linux, calling EndQuasiModal here is mandatory
// Otherwise, the main event loop is never restored, and Eeschema does not // Otherwise, the main event loop is never restored, and Eeschema does not
// respond to any event, because the DIALOG_SHIM destructor is never called. // respond to any event, because the DIALOG_SHIM destructor is never called.
// on wxWidgets 3.0, or on Windows, the DIALOG_SHIM destructor is called, // On wxWidgets 3.0, or on Windows, the DIALOG_SHIM destructor is called,
// and calls EndQuasiModal. // and calls EndQuasiModal.
// therefore calling EndQuasiModal here is not mandatory but it creates no issues // therefore calling EndQuasiModal here is not always mandatory but it creates no issues
EndQuasiModal( wxID_CANCEL ); EndQuasiModal( wxID_CANCEL );
} }
...@@ -251,29 +312,10 @@ void DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::copyPanelToOptions() ...@@ -251,29 +312,10 @@ void DIALOG_EDIT_COMPONENT_IN_SCHEMATIC::copyPanelToOptions()
if( libs->FindLibraryEntry( newname ) == NULL ) if( libs->FindLibraryEntry( newname ) == NULL )
{ {
if( LIB_ALIAS* entry = libs->FindLibraryNearEntry( newname ) )
{
wxString near_name = entry->GetName();
wxString msg = wxString::Format( _( wxString msg = wxString::Format( _(
"Component '%s' not found!\n" "Component '%s' not found!" ), GetChars( newname ) );
"But the component '%s' exists\n"
"Do you want to use it?"),
GetChars( newname ), GetChars( near_name ) );
if( IsOK( this, msg ) )
{
chipnameTextCtrl->SetValue( near_name );
m_Cmp->SetPartName( near_name, libs );
}
}
else
{
wxString msg = wxString::Format( _(
"Component '%s' not found!" ),
GetChars( newname ) );
DisplayError( this, msg ); DisplayError( this, msg );
} }
}
else // Change component from lib! else // Change component from lib!
{ {
m_Cmp->SetPartName( newname, libs ); m_Cmp->SetPartName( newname, libs );
......
...@@ -37,19 +37,19 @@ DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP( ...@@ -37,19 +37,19 @@ DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP(
unitsInterchageableText = new wxStaticText( this, wxID_ANY, _("Units are interchangeable:"), wxDefaultPosition, wxDefaultSize, 0 ); unitsInterchageableText = new wxStaticText( this, wxID_ANY, _("Units are interchangeable:"), wxDefaultPosition, wxDefaultSize, 0 );
unitsInterchageableText->Wrap( -1 ); unitsInterchageableText->Wrap( -1 );
bSizerUnitsInterchangeable->Add( unitsInterchageableText, 0, wxEXPAND|wxTOP|wxBOTTOM|wxLEFT, 5 ); bSizerUnitsInterchangeable->Add( unitsInterchageableText, 0, wxTOP|wxBOTTOM|wxLEFT, 5 );
unitsInterchageableLabel = new wxStaticText( this, wxID_ANY, _("Yes"), wxDefaultPosition, wxDefaultSize, 0 ); unitsInterchageableLabel = new wxStaticText( this, wxID_ANY, _("Yes"), wxDefaultPosition, wxDefaultSize, 0 );
unitsInterchageableLabel->Wrap( -1 ); unitsInterchageableLabel->Wrap( -1 );
bSizerUnitsInterchangeable->Add( unitsInterchageableLabel, 0, wxALL, 5 ); bSizerUnitsInterchangeable->Add( unitsInterchageableLabel, 0, wxALL, 5 );
optionsSizer->Add( bSizerUnitsInterchangeable, 1, wxEXPAND, 5 ); optionsSizer->Add( bSizerUnitsInterchangeable, 0, wxEXPAND, 5 );
wxString orientationRadioBoxChoices[] = { _("0"), _("+90"), _("180"), _("-90") }; wxString orientationRadioBoxChoices[] = { _("0"), _("+90"), _("180"), _("-90") };
int orientationRadioBoxNChoices = sizeof( orientationRadioBoxChoices ) / sizeof( wxString ); int orientationRadioBoxNChoices = sizeof( orientationRadioBoxChoices ) / sizeof( wxString );
orientationRadioBox = new wxRadioBox( this, wxID_ANY, _("Orientation (Degrees)"), wxDefaultPosition, wxDefaultSize, orientationRadioBoxNChoices, orientationRadioBoxChoices, 1, wxRA_SPECIFY_COLS ); orientationRadioBox = new wxRadioBox( this, wxID_ANY, _("Orientation (Degrees)"), wxDefaultPosition, wxDefaultSize, orientationRadioBoxNChoices, orientationRadioBoxChoices, 1, wxRA_SPECIFY_COLS );
orientationRadioBox->SetSelection( 1 ); orientationRadioBox->SetSelection( 0 );
orientationRadioBox->SetToolTip( _("Select if the component is to be rotated when drawn") ); orientationRadioBox->SetToolTip( _("Select if the component is to be rotated when drawn") );
optionsSizer->Add( orientationRadioBox, 0, wxEXPAND|wxALL, 5 ); optionsSizer->Add( orientationRadioBox, 0, wxEXPAND|wxALL, 5 );
...@@ -62,25 +62,34 @@ DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP( ...@@ -62,25 +62,34 @@ DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP(
optionsSizer->Add( mirrorRadioBox, 0, wxALL|wxEXPAND, 5 ); optionsSizer->Add( mirrorRadioBox, 0, wxALL|wxEXPAND, 5 );
m_staticTextChipname = new wxStaticText( this, wxID_ANY, _("Chip Name"), wxDefaultPosition, wxDefaultSize, 0 ); convertCheckBox = new wxCheckBox( this, wxID_ANY, _("Converted Shape"), wxDefaultPosition, wxDefaultSize, 0 );
m_staticTextChipname->Wrap( -1 ); convertCheckBox->SetToolTip( _("Use the alternate shape of this component.\nFor gates, this is the \"De Morgan\" conversion") );
optionsSizer->Add( m_staticTextChipname, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
optionsSizer->Add( convertCheckBox, 0, wxALL, 5 );
wxStaticBoxSizer* sbSizerChipName;
sbSizerChipName = new wxStaticBoxSizer( new wxStaticBox( this, wxID_ANY, _("Chip Name") ), wxVERTICAL );
chipnameTextCtrl = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); chipnameTextCtrl = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
chipnameTextCtrl->SetMaxLength( 32 ); chipnameTextCtrl->SetMaxLength( 32 );
chipnameTextCtrl->SetToolTip( _("The name of the symbol in the library from which this component came") ); chipnameTextCtrl->SetToolTip( _("The name of the symbol in the library from which this component came") );
optionsSizer->Add( chipnameTextCtrl, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 ); sbSizerChipName->Add( chipnameTextCtrl, 0, wxEXPAND|wxBOTTOM, 5 );
convertCheckBox = new wxCheckBox( this, wxID_ANY, _("Convert"), wxDefaultPosition, wxDefaultSize, 0 ); wxBoxSizer* bSizerChpinameButt;
convertCheckBox->SetToolTip( _("Use the alternate shape of this component.\nFor gates, this is the \"De Morgan\" conversion") ); bSizerChpinameButt = new wxBoxSizer( wxHORIZONTAL );
optionsSizer->Add( convertCheckBox, 0, wxALL, 5 ); m_buttonTestChipName = new wxButton( this, wxID_ANY, _("Test"), wxDefaultPosition, wxDefaultSize, 0 );
bSizerChpinameButt->Add( m_buttonTestChipName, 0, wxTOP|wxBOTTOM|wxRIGHT, 5 );
defaultsButton = new wxButton( this, wxID_ANY, _("Reset to Library Defaults"), wxDefaultPosition, wxDefaultSize, 0 ); m_buttonSelectChipName = new wxButton( this, wxID_ANY, _("Select"), wxDefaultPosition, wxDefaultSize, 0 );
defaultsButton->SetToolTip( _("Set position and style of fields and component orientation to default lib value.\nFields texts are not modified.") ); bSizerChpinameButt->Add( m_buttonSelectChipName, 0, wxTOP|wxBOTTOM, 5 );
optionsSizer->Add( defaultsButton, 0, wxALL|wxEXPAND, 5 );
sbSizerChipName->Add( bSizerChpinameButt, 1, wxEXPAND, 5 );
optionsSizer->Add( sbSizerChipName, 0, wxEXPAND|wxALL, 5 );
m_staticTextTimeStamp = new wxStaticText( this, wxID_ANY, _("Timestamp"), wxDefaultPosition, wxDefaultSize, 0 ); m_staticTextTimeStamp = new wxStaticText( this, wxID_ANY, _("Timestamp"), wxDefaultPosition, wxDefaultSize, 0 );
m_staticTextTimeStamp->Wrap( -1 ); m_staticTextTimeStamp->Wrap( -1 );
...@@ -91,6 +100,14 @@ DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP( ...@@ -91,6 +100,14 @@ DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP(
optionsSizer->Add( m_textCtrlTimeStamp, 0, wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND, 5 ); optionsSizer->Add( m_textCtrlTimeStamp, 0, wxBOTTOM|wxRIGHT|wxLEFT|wxEXPAND, 5 );
m_staticline1 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
optionsSizer->Add( m_staticline1, 0, wxEXPAND | wxALL, 5 );
defaultsButton = new wxButton( this, wxID_ANY, _("Reset to Library Defaults"), wxDefaultPosition, wxDefaultSize, 0 );
defaultsButton->SetToolTip( _("Set position and style of fields and component orientation to default lib value.\nFields texts are not modified.") );
optionsSizer->Add( defaultsButton, 0, wxALL|wxEXPAND, 5 );
upperSizer->Add( optionsSizer, 0, wxALIGN_TOP|wxEXPAND|wxALL, 5 ); upperSizer->Add( optionsSizer, 0, wxALIGN_TOP|wxEXPAND|wxALL, 5 );
...@@ -132,13 +149,13 @@ DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP( ...@@ -132,13 +149,13 @@ DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP(
wxString m_FieldHJustifyCtrlChoices[] = { _("Left"), _("Center"), _("Right") }; wxString m_FieldHJustifyCtrlChoices[] = { _("Left"), _("Center"), _("Right") };
int m_FieldHJustifyCtrlNChoices = sizeof( m_FieldHJustifyCtrlChoices ) / sizeof( wxString ); int m_FieldHJustifyCtrlNChoices = sizeof( m_FieldHJustifyCtrlChoices ) / sizeof( wxString );
m_FieldHJustifyCtrl = new wxRadioBox( this, wxID_ANY, _("Horiz. Justify"), wxDefaultPosition, wxDefaultSize, m_FieldHJustifyCtrlNChoices, m_FieldHJustifyCtrlChoices, 1, wxRA_SPECIFY_COLS ); m_FieldHJustifyCtrl = new wxRadioBox( this, wxID_ANY, _("Horiz. Justify"), wxDefaultPosition, wxDefaultSize, m_FieldHJustifyCtrlNChoices, m_FieldHJustifyCtrlChoices, 1, wxRA_SPECIFY_COLS );
m_FieldHJustifyCtrl->SetSelection( 0 ); m_FieldHJustifyCtrl->SetSelection( 2 );
bSizerJustification->Add( m_FieldHJustifyCtrl, 1, wxRIGHT|wxLEFT, 5 ); bSizerJustification->Add( m_FieldHJustifyCtrl, 1, wxRIGHT|wxLEFT, 5 );
wxString m_FieldVJustifyCtrlChoices[] = { _("Bottom"), _("Center"), _("Top") }; wxString m_FieldVJustifyCtrlChoices[] = { _("Bottom"), _("Center"), _("Top") };
int m_FieldVJustifyCtrlNChoices = sizeof( m_FieldVJustifyCtrlChoices ) / sizeof( wxString ); int m_FieldVJustifyCtrlNChoices = sizeof( m_FieldVJustifyCtrlChoices ) / sizeof( wxString );
m_FieldVJustifyCtrl = new wxRadioBox( this, wxID_ANY, _("Vert. Justify"), wxDefaultPosition, wxDefaultSize, m_FieldVJustifyCtrlNChoices, m_FieldVJustifyCtrlChoices, 1, wxRA_SPECIFY_COLS ); m_FieldVJustifyCtrl = new wxRadioBox( this, wxID_ANY, _("Vert. Justify"), wxDefaultPosition, wxDefaultSize, m_FieldVJustifyCtrlNChoices, m_FieldVJustifyCtrlChoices, 1, wxRA_SPECIFY_COLS );
m_FieldVJustifyCtrl->SetSelection( 0 ); m_FieldVJustifyCtrl->SetSelection( 2 );
bSizerJustification->Add( m_FieldVJustifyCtrl, 1, wxRIGHT|wxLEFT, 5 ); bSizerJustification->Add( m_FieldVJustifyCtrl, 1, wxRIGHT|wxLEFT, 5 );
...@@ -200,7 +217,7 @@ DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP( ...@@ -200,7 +217,7 @@ DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP(
m_show_datasheet_button = new wxButton( this, wxID_ANY, _("Show in Browser"), wxDefaultPosition, wxDefaultSize, 0 ); m_show_datasheet_button = new wxButton( this, wxID_ANY, _("Show in Browser"), wxDefaultPosition, wxDefaultSize, 0 );
m_show_datasheet_button->SetToolTip( _("If your datasheet is an http:// link or a complete file path, then it may show in your browser by pressing this button.") ); m_show_datasheet_button->SetToolTip( _("If your datasheet is an http:// link or a complete file path, then it may show in your browser by pressing this button.") );
fieldNameBoxSizer->Add( m_show_datasheet_button, 0, wxBOTTOM|wxEXPAND, 5 ); fieldNameBoxSizer->Add( m_show_datasheet_button, 0, wxEXPAND|wxTOP|wxBOTTOM, 5 );
fieldEditBoxSizer->Add( fieldNameBoxSizer, 0, wxBOTTOM|wxEXPAND, 5 ); fieldEditBoxSizer->Add( fieldNameBoxSizer, 0, wxBOTTOM|wxEXPAND, 5 );
...@@ -277,10 +294,11 @@ DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP( ...@@ -277,10 +294,11 @@ DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP(
this->SetSizer( mainSizer ); this->SetSizer( mainSizer );
this->Layout(); this->Layout();
mainSizer->Fit( this );
// Connect Events // Connect Events
this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::OnCloseDialog ) ); this->Connect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::OnCloseDialog ) );
m_buttonTestChipName->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::OnTestChipName ), NULL, this );
m_buttonSelectChipName->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::OnSelectChipName ), NULL, this );
defaultsButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::SetInitCmp ), NULL, this ); defaultsButton->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::SetInitCmp ), NULL, this );
fieldListCtrl->Connect( wxEVT_COMMAND_LIST_ITEM_DESELECTED, wxListEventHandler( DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::OnListItemDeselected ), NULL, this ); fieldListCtrl->Connect( wxEVT_COMMAND_LIST_ITEM_DESELECTED, wxListEventHandler( DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::OnListItemDeselected ), NULL, this );
fieldListCtrl->Connect( wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler( DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::OnListItemSelected ), NULL, this ); fieldListCtrl->Connect( wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler( DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::OnListItemSelected ), NULL, this );
...@@ -296,6 +314,8 @@ DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::~DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP( ...@@ -296,6 +314,8 @@ DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::~DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP(
{ {
// Disconnect Events // Disconnect Events
this->Disconnect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::OnCloseDialog ) ); this->Disconnect( wxEVT_CLOSE_WINDOW, wxCloseEventHandler( DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::OnCloseDialog ) );
m_buttonTestChipName->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::OnTestChipName ), NULL, this );
m_buttonSelectChipName->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::OnSelectChipName ), NULL, this );
defaultsButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::SetInitCmp ), NULL, this ); defaultsButton->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::SetInitCmp ), NULL, this );
fieldListCtrl->Disconnect( wxEVT_COMMAND_LIST_ITEM_DESELECTED, wxListEventHandler( DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::OnListItemDeselected ), NULL, this ); fieldListCtrl->Disconnect( wxEVT_COMMAND_LIST_ITEM_DESELECTED, wxListEventHandler( DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::OnListItemDeselected ), NULL, this );
fieldListCtrl->Disconnect( wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler( DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::OnListItemSelected ), NULL, this ); fieldListCtrl->Disconnect( wxEVT_COMMAND_LIST_ITEM_SELECTED, wxListEventHandler( DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP::OnListItemSelected ), NULL, this );
......
...@@ -44,7 +44,7 @@ ...@@ -44,7 +44,7 @@
<property name="minimum_size"></property> <property name="minimum_size"></property>
<property name="name">DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP</property> <property name="name">DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP</property>
<property name="pos"></property> <property name="pos"></property>
<property name="size">-1,-1</property> <property name="size">677,586</property>
<property name="style">wxCAPTION|wxCLOSE_BOX|wxDEFAULT_DIALOG_STYLE|wxMAXIMIZE_BOX|wxMINIMIZE_BOX|wxRESIZE_BORDER|wxSYSTEM_MENU</property> <property name="style">wxCAPTION|wxCLOSE_BOX|wxDEFAULT_DIALOG_STYLE|wxMAXIMIZE_BOX|wxMINIMIZE_BOX|wxRESIZE_BORDER|wxSYSTEM_MENU</property>
<property name="subclass">DIALOG_SHIM; dialog_shim.h</property> <property name="subclass">DIALOG_SHIM; dialog_shim.h</property>
<property name="title">Component Properties</property> <property name="title">Component Properties</property>
...@@ -288,7 +288,7 @@ ...@@ -288,7 +288,7 @@
<object class="sizeritem" expanded="1"> <object class="sizeritem" expanded="1">
<property name="border">5</property> <property name="border">5</property>
<property name="flag">wxEXPAND</property> <property name="flag">wxEXPAND</property>
<property name="proportion">1</property> <property name="proportion">0</property>
<object class="wxBoxSizer" expanded="1"> <object class="wxBoxSizer" expanded="1">
<property name="minimum_size"></property> <property name="minimum_size"></property>
<property name="name">bSizerUnitsInterchangeable</property> <property name="name">bSizerUnitsInterchangeable</property>
...@@ -296,7 +296,7 @@ ...@@ -296,7 +296,7 @@
<property name="permission">none</property> <property name="permission">none</property>
<object class="sizeritem" expanded="0"> <object class="sizeritem" expanded="0">
<property name="border">5</property> <property name="border">5</property>
<property name="flag">wxEXPAND|wxTOP|wxBOTTOM|wxLEFT</property> <property name="flag">wxTOP|wxBOTTOM|wxLEFT</property>
<property name="proportion">0</property> <property name="proportion">0</property>
<object class="wxStaticText" expanded="0"> <object class="wxStaticText" expanded="0">
<property name="BottomDockable">1</property> <property name="BottomDockable">1</property>
...@@ -512,7 +512,7 @@ ...@@ -512,7 +512,7 @@
<property name="pin_button">1</property> <property name="pin_button">1</property>
<property name="pos"></property> <property name="pos"></property>
<property name="resize">Resizable</property> <property name="resize">Resizable</property>
<property name="selection">1</property> <property name="selection">0</property>
<property name="show">1</property> <property name="show">1</property>
<property name="size"></property> <property name="size"></property>
<property name="style">wxRA_SPECIFY_COLS</property> <property name="style">wxRA_SPECIFY_COLS</property>
...@@ -644,9 +644,9 @@ ...@@ -644,9 +644,9 @@
</object> </object>
<object class="sizeritem" expanded="0"> <object class="sizeritem" expanded="0">
<property name="border">5</property> <property name="border">5</property>
<property name="flag">wxTOP|wxRIGHT|wxLEFT</property> <property name="flag">wxALL</property>
<property name="proportion">0</property> <property name="proportion">0</property>
<object class="wxStaticText" expanded="0"> <object class="wxCheckBox" expanded="0">
<property name="BottomDockable">1</property> <property name="BottomDockable">1</property>
<property name="LeftDockable">1</property> <property name="LeftDockable">1</property>
<property name="RightDockable">1</property> <property name="RightDockable">1</property>
...@@ -660,6 +660,7 @@ ...@@ -660,6 +660,7 @@
<property name="caption"></property> <property name="caption"></property>
<property name="caption_visible">1</property> <property name="caption_visible">1</property>
<property name="center_pane">0</property> <property name="center_pane">0</property>
<property name="checked">0</property>
<property name="close_button">1</property> <property name="close_button">1</property>
<property name="context_help"></property> <property name="context_help"></property>
<property name="context_menu">1</property> <property name="context_menu">1</property>
...@@ -674,7 +675,7 @@ ...@@ -674,7 +675,7 @@
<property name="gripper">0</property> <property name="gripper">0</property>
<property name="hidden">0</property> <property name="hidden">0</property>
<property name="id">wxID_ANY</property> <property name="id">wxID_ANY</property>
<property name="label">Chip Name</property> <property name="label">Converted Shape</property>
<property name="max_size"></property> <property name="max_size"></property>
<property name="maximize_button">0</property> <property name="maximize_button">0</property>
<property name="maximum_size"></property> <property name="maximum_size"></property>
...@@ -682,7 +683,7 @@ ...@@ -682,7 +683,7 @@
<property name="minimize_button">0</property> <property name="minimize_button">0</property>
<property name="minimum_size"></property> <property name="minimum_size"></property>
<property name="moveable">1</property> <property name="moveable">1</property>
<property name="name">m_staticTextChipname</property> <property name="name">convertCheckBox</property>
<property name="pane_border">1</property> <property name="pane_border">1</property>
<property name="pane_position"></property> <property name="pane_position"></property>
<property name="pane_size"></property> <property name="pane_size"></property>
...@@ -695,12 +696,16 @@ ...@@ -695,12 +696,16 @@
<property name="style"></property> <property name="style"></property>
<property name="subclass"></property> <property name="subclass"></property>
<property name="toolbar_pane">0</property> <property name="toolbar_pane">0</property>
<property name="tooltip"></property> <property name="tooltip">Use the alternate shape of this component.&#x0A;For gates, this is the &quot;De Morgan&quot; conversion</property>
<property name="validator_data_type"></property>
<property name="validator_style">wxFILTER_NONE</property>
<property name="validator_type">wxDefaultValidator</property>
<property name="validator_variable"></property>
<property name="window_extra_style"></property> <property name="window_extra_style"></property>
<property name="window_name"></property> <property name="window_name"></property>
<property name="window_style"></property> <property name="window_style"></property>
<property name="wrap">-1</property>
<event name="OnChar"></event> <event name="OnChar"></event>
<event name="OnCheckBox"></event>
<event name="OnEnterWindow"></event> <event name="OnEnterWindow"></event>
<event name="OnEraseBackground"></event> <event name="OnEraseBackground"></event>
<event name="OnKeyDown"></event> <event name="OnKeyDown"></event>
...@@ -725,9 +730,21 @@ ...@@ -725,9 +730,21 @@
<event name="OnUpdateUI"></event> <event name="OnUpdateUI"></event>
</object> </object>
</object> </object>
<object class="sizeritem" expanded="1">
<property name="border">5</property>
<property name="flag">wxEXPAND|wxALL</property>
<property name="proportion">0</property>
<object class="wxStaticBoxSizer" expanded="1">
<property name="id">wxID_ANY</property>
<property name="label">Chip Name</property>
<property name="minimum_size"></property>
<property name="name">sbSizerChipName</property>
<property name="orient">wxVERTICAL</property>
<property name="permission">none</property>
<event name="OnUpdateUI"></event>
<object class="sizeritem" expanded="0"> <object class="sizeritem" expanded="0">
<property name="border">5</property> <property name="border">5</property>
<property name="flag">wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT</property> <property name="flag">wxEXPAND|wxBOTTOM</property>
<property name="proportion">0</property> <property name="proportion">0</property>
<object class="wxTextCtrl" expanded="0"> <object class="wxTextCtrl" expanded="0">
<property name="BottomDockable">1</property> <property name="BottomDockable">1</property>
...@@ -816,11 +833,20 @@ ...@@ -816,11 +833,20 @@
<event name="OnUpdateUI"></event> <event name="OnUpdateUI"></event>
</object> </object>
</object> </object>
<object class="sizeritem" expanded="0"> <object class="sizeritem" expanded="1">
<property name="border">5</property> <property name="border">5</property>
<property name="flag">wxALL</property> <property name="flag">wxEXPAND</property>
<property name="proportion">1</property>
<object class="wxBoxSizer" expanded="1">
<property name="minimum_size"></property>
<property name="name">bSizerChpinameButt</property>
<property name="orient">wxHORIZONTAL</property>
<property name="permission">none</property>
<object class="sizeritem" expanded="1">
<property name="border">5</property>
<property name="flag">wxTOP|wxBOTTOM|wxRIGHT</property>
<property name="proportion">0</property> <property name="proportion">0</property>
<object class="wxCheckBox" expanded="0"> <object class="wxButton" expanded="1">
<property name="BottomDockable">1</property> <property name="BottomDockable">1</property>
<property name="LeftDockable">1</property> <property name="LeftDockable">1</property>
<property name="RightDockable">1</property> <property name="RightDockable">1</property>
...@@ -834,10 +860,10 @@ ...@@ -834,10 +860,10 @@
<property name="caption"></property> <property name="caption"></property>
<property name="caption_visible">1</property> <property name="caption_visible">1</property>
<property name="center_pane">0</property> <property name="center_pane">0</property>
<property name="checked">0</property>
<property name="close_button">1</property> <property name="close_button">1</property>
<property name="context_help"></property> <property name="context_help"></property>
<property name="context_menu">1</property> <property name="context_menu">1</property>
<property name="default">0</property>
<property name="default_pane">0</property> <property name="default_pane">0</property>
<property name="dock">Dock</property> <property name="dock">Dock</property>
<property name="dock_fixed">0</property> <property name="dock_fixed">0</property>
...@@ -849,7 +875,7 @@ ...@@ -849,7 +875,7 @@
<property name="gripper">0</property> <property name="gripper">0</property>
<property name="hidden">0</property> <property name="hidden">0</property>
<property name="id">wxID_ANY</property> <property name="id">wxID_ANY</property>
<property name="label">Convert</property> <property name="label">Test</property>
<property name="max_size"></property> <property name="max_size"></property>
<property name="maximize_button">0</property> <property name="maximize_button">0</property>
<property name="maximum_size"></property> <property name="maximum_size"></property>
...@@ -857,7 +883,7 @@ ...@@ -857,7 +883,7 @@
<property name="minimize_button">0</property> <property name="minimize_button">0</property>
<property name="minimum_size"></property> <property name="minimum_size"></property>
<property name="moveable">1</property> <property name="moveable">1</property>
<property name="name">convertCheckBox</property> <property name="name">m_buttonTestChipName</property>
<property name="pane_border">1</property> <property name="pane_border">1</property>
<property name="pane_position"></property> <property name="pane_position"></property>
<property name="pane_size"></property> <property name="pane_size"></property>
...@@ -870,7 +896,7 @@ ...@@ -870,7 +896,7 @@
<property name="style"></property> <property name="style"></property>
<property name="subclass"></property> <property name="subclass"></property>
<property name="toolbar_pane">0</property> <property name="toolbar_pane">0</property>
<property name="tooltip">Use the alternate shape of this component.&#x0A;For gates, this is the &quot;De Morgan&quot; conversion</property> <property name="tooltip"></property>
<property name="validator_data_type"></property> <property name="validator_data_type"></property>
<property name="validator_style">wxFILTER_NONE</property> <property name="validator_style">wxFILTER_NONE</property>
<property name="validator_type">wxDefaultValidator</property> <property name="validator_type">wxDefaultValidator</property>
...@@ -878,8 +904,8 @@ ...@@ -878,8 +904,8 @@
<property name="window_extra_style"></property> <property name="window_extra_style"></property>
<property name="window_name"></property> <property name="window_name"></property>
<property name="window_style"></property> <property name="window_style"></property>
<event name="OnButtonClick">OnTestChipName</event>
<event name="OnChar"></event> <event name="OnChar"></event>
<event name="OnCheckBox"></event>
<event name="OnEnterWindow"></event> <event name="OnEnterWindow"></event>
<event name="OnEraseBackground"></event> <event name="OnEraseBackground"></event>
<event name="OnKeyDown"></event> <event name="OnKeyDown"></event>
...@@ -904,11 +930,11 @@ ...@@ -904,11 +930,11 @@
<event name="OnUpdateUI"></event> <event name="OnUpdateUI"></event>
</object> </object>
</object> </object>
<object class="sizeritem" expanded="0"> <object class="sizeritem" expanded="1">
<property name="border">5</property> <property name="border">5</property>
<property name="flag">wxALL|wxEXPAND</property> <property name="flag">wxTOP|wxBOTTOM</property>
<property name="proportion">0</property> <property name="proportion">0</property>
<object class="wxButton" expanded="0"> <object class="wxButton" expanded="1">
<property name="BottomDockable">1</property> <property name="BottomDockable">1</property>
<property name="LeftDockable">1</property> <property name="LeftDockable">1</property>
<property name="RightDockable">1</property> <property name="RightDockable">1</property>
...@@ -937,7 +963,7 @@ ...@@ -937,7 +963,7 @@
<property name="gripper">0</property> <property name="gripper">0</property>
<property name="hidden">0</property> <property name="hidden">0</property>
<property name="id">wxID_ANY</property> <property name="id">wxID_ANY</property>
<property name="label">Reset to Library Defaults</property> <property name="label">Select</property>
<property name="max_size"></property> <property name="max_size"></property>
<property name="maximize_button">0</property> <property name="maximize_button">0</property>
<property name="maximum_size"></property> <property name="maximum_size"></property>
...@@ -945,7 +971,7 @@ ...@@ -945,7 +971,7 @@
<property name="minimize_button">0</property> <property name="minimize_button">0</property>
<property name="minimum_size"></property> <property name="minimum_size"></property>
<property name="moveable">1</property> <property name="moveable">1</property>
<property name="name">defaultsButton</property> <property name="name">m_buttonSelectChipName</property>
<property name="pane_border">1</property> <property name="pane_border">1</property>
<property name="pane_position"></property> <property name="pane_position"></property>
<property name="pane_size"></property> <property name="pane_size"></property>
...@@ -958,7 +984,7 @@ ...@@ -958,7 +984,7 @@
<property name="style"></property> <property name="style"></property>
<property name="subclass"></property> <property name="subclass"></property>
<property name="toolbar_pane">0</property> <property name="toolbar_pane">0</property>
<property name="tooltip">Set position and style of fields and component orientation to default lib value.&#x0A;Fields texts are not modified.</property> <property name="tooltip"></property>
<property name="validator_data_type"></property> <property name="validator_data_type"></property>
<property name="validator_style">wxFILTER_NONE</property> <property name="validator_style">wxFILTER_NONE</property>
<property name="validator_type">wxDefaultValidator</property> <property name="validator_type">wxDefaultValidator</property>
...@@ -966,7 +992,7 @@ ...@@ -966,7 +992,7 @@
<property name="window_extra_style"></property> <property name="window_extra_style"></property>
<property name="window_name"></property> <property name="window_name"></property>
<property name="window_style"></property> <property name="window_style"></property>
<event name="OnButtonClick">SetInitCmp</event> <event name="OnButtonClick">OnSelectChipName</event>
<event name="OnChar"></event> <event name="OnChar"></event>
<event name="OnEnterWindow"></event> <event name="OnEnterWindow"></event>
<event name="OnEraseBackground"></event> <event name="OnEraseBackground"></event>
...@@ -992,6 +1018,10 @@ ...@@ -992,6 +1018,10 @@
<event name="OnUpdateUI"></event> <event name="OnUpdateUI"></event>
</object> </object>
</object> </object>
</object>
</object>
</object>
</object>
<object class="sizeritem" expanded="1"> <object class="sizeritem" expanded="1">
<property name="border">5</property> <property name="border">5</property>
<property name="flag">wxTOP|wxRIGHT|wxLEFT</property> <property name="flag">wxTOP|wxRIGHT|wxLEFT</property>
...@@ -1166,6 +1196,175 @@ ...@@ -1166,6 +1196,175 @@
<event name="OnUpdateUI"></event> <event name="OnUpdateUI"></event>
</object> </object>
</object> </object>
<object class="sizeritem" expanded="1">
<property name="border">5</property>
<property name="flag">wxEXPAND | wxALL</property>
<property name="proportion">0</property>
<object class="wxStaticLine" expanded="1">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
<property name="TopDockable">1</property>
<property name="aui_layer"></property>
<property name="aui_name"></property>
<property name="aui_position"></property>
<property name="aui_row"></property>
<property name="best_size"></property>
<property name="bg"></property>
<property name="caption"></property>
<property name="caption_visible">1</property>
<property name="center_pane">0</property>
<property name="close_button">1</property>
<property name="context_help"></property>
<property name="context_menu">1</property>
<property name="default_pane">0</property>
<property name="dock">Dock</property>
<property name="dock_fixed">0</property>
<property name="docking">Left</property>
<property name="enabled">1</property>
<property name="fg"></property>
<property name="floatable">1</property>
<property name="font"></property>
<property name="gripper">0</property>
<property name="hidden">0</property>
<property name="id">wxID_ANY</property>
<property name="max_size"></property>
<property name="maximize_button">0</property>
<property name="maximum_size"></property>
<property name="min_size"></property>
<property name="minimize_button">0</property>
<property name="minimum_size"></property>
<property name="moveable">1</property>
<property name="name">m_staticline1</property>
<property name="pane_border">1</property>
<property name="pane_position"></property>
<property name="pane_size"></property>
<property name="permission">protected</property>
<property name="pin_button">1</property>
<property name="pos"></property>
<property name="resize">Resizable</property>
<property name="show">1</property>
<property name="size"></property>
<property name="style">wxLI_HORIZONTAL</property>
<property name="subclass"></property>
<property name="toolbar_pane">0</property>
<property name="tooltip"></property>
<property name="window_extra_style"></property>
<property name="window_name"></property>
<property name="window_style"></property>
<event name="OnChar"></event>
<event name="OnEnterWindow"></event>
<event name="OnEraseBackground"></event>
<event name="OnKeyDown"></event>
<event name="OnKeyUp"></event>
<event name="OnKillFocus"></event>
<event name="OnLeaveWindow"></event>
<event name="OnLeftDClick"></event>
<event name="OnLeftDown"></event>
<event name="OnLeftUp"></event>
<event name="OnMiddleDClick"></event>
<event name="OnMiddleDown"></event>
<event name="OnMiddleUp"></event>
<event name="OnMotion"></event>
<event name="OnMouseEvents"></event>
<event name="OnMouseWheel"></event>
<event name="OnPaint"></event>
<event name="OnRightDClick"></event>
<event name="OnRightDown"></event>
<event name="OnRightUp"></event>
<event name="OnSetFocus"></event>
<event name="OnSize"></event>
<event name="OnUpdateUI"></event>
</object>
</object>
<object class="sizeritem" expanded="0">
<property name="border">5</property>
<property name="flag">wxALL|wxEXPAND</property>
<property name="proportion">0</property>
<object class="wxButton" expanded="0">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
<property name="TopDockable">1</property>
<property name="aui_layer"></property>
<property name="aui_name"></property>
<property name="aui_position"></property>
<property name="aui_row"></property>
<property name="best_size"></property>
<property name="bg"></property>
<property name="caption"></property>
<property name="caption_visible">1</property>
<property name="center_pane">0</property>
<property name="close_button">1</property>
<property name="context_help"></property>
<property name="context_menu">1</property>
<property name="default">0</property>
<property name="default_pane">0</property>
<property name="dock">Dock</property>
<property name="dock_fixed">0</property>
<property name="docking">Left</property>
<property name="enabled">1</property>
<property name="fg"></property>
<property name="floatable">1</property>
<property name="font"></property>
<property name="gripper">0</property>
<property name="hidden">0</property>
<property name="id">wxID_ANY</property>
<property name="label">Reset to Library Defaults</property>
<property name="max_size"></property>
<property name="maximize_button">0</property>
<property name="maximum_size"></property>
<property name="min_size"></property>
<property name="minimize_button">0</property>
<property name="minimum_size"></property>
<property name="moveable">1</property>
<property name="name">defaultsButton</property>
<property name="pane_border">1</property>
<property name="pane_position"></property>
<property name="pane_size"></property>
<property name="permission">protected</property>
<property name="pin_button">1</property>
<property name="pos"></property>
<property name="resize">Resizable</property>
<property name="show">1</property>
<property name="size"></property>
<property name="style"></property>
<property name="subclass"></property>
<property name="toolbar_pane">0</property>
<property name="tooltip">Set position and style of fields and component orientation to default lib value.&#x0A;Fields texts are not modified.</property>
<property name="validator_data_type"></property>
<property name="validator_style">wxFILTER_NONE</property>
<property name="validator_type">wxDefaultValidator</property>
<property name="validator_variable"></property>
<property name="window_extra_style"></property>
<property name="window_name"></property>
<property name="window_style"></property>
<event name="OnButtonClick">SetInitCmp</event>
<event name="OnChar"></event>
<event name="OnEnterWindow"></event>
<event name="OnEraseBackground"></event>
<event name="OnKeyDown"></event>
<event name="OnKeyUp"></event>
<event name="OnKillFocus"></event>
<event name="OnLeaveWindow"></event>
<event name="OnLeftDClick"></event>
<event name="OnLeftDown"></event>
<event name="OnLeftUp"></event>
<event name="OnMiddleDClick"></event>
<event name="OnMiddleDown"></event>
<event name="OnMiddleUp"></event>
<event name="OnMotion"></event>
<event name="OnMouseEvents"></event>
<event name="OnMouseWheel"></event>
<event name="OnPaint"></event>
<event name="OnRightDClick"></event>
<event name="OnRightDown"></event>
<event name="OnRightUp"></event>
<event name="OnSetFocus"></event>
<event name="OnSize"></event>
<event name="OnUpdateUI"></event>
</object>
</object>
</object> </object>
</object> </object>
<object class="sizeritem" expanded="1"> <object class="sizeritem" expanded="1">
...@@ -1631,7 +1830,7 @@ ...@@ -1631,7 +1830,7 @@
<property name="pin_button">1</property> <property name="pin_button">1</property>
<property name="pos"></property> <property name="pos"></property>
<property name="resize">Resizable</property> <property name="resize">Resizable</property>
<property name="selection">0</property> <property name="selection">2</property>
<property name="show">1</property> <property name="show">1</property>
<property name="size"></property> <property name="size"></property>
<property name="style">wxRA_SPECIFY_COLS</property> <property name="style">wxRA_SPECIFY_COLS</property>
...@@ -1721,7 +1920,7 @@ ...@@ -1721,7 +1920,7 @@
<property name="pin_button">1</property> <property name="pin_button">1</property>
<property name="pos"></property> <property name="pos"></property>
<property name="resize">Resizable</property> <property name="resize">Resizable</property>
<property name="selection">0</property> <property name="selection">2</property>
<property name="show">1</property> <property name="show">1</property>
<property name="size"></property> <property name="size"></property>
<property name="style">wxRA_SPECIFY_COLS</property> <property name="style">wxRA_SPECIFY_COLS</property>
...@@ -2413,7 +2612,7 @@ ...@@ -2413,7 +2612,7 @@
</object> </object>
<object class="sizeritem" expanded="0"> <object class="sizeritem" expanded="0">
<property name="border">5</property> <property name="border">5</property>
<property name="flag">wxBOTTOM|wxEXPAND</property> <property name="flag">wxEXPAND|wxTOP|wxBOTTOM</property>
<property name="proportion">0</property> <property name="proportion">0</property>
<object class="wxButton" expanded="0"> <object class="wxButton" expanded="0">
<property name="BottomDockable">1</property> <property name="BottomDockable">1</property>
......
...@@ -23,10 +23,11 @@ class DIALOG_SHIM; ...@@ -23,10 +23,11 @@ class DIALOG_SHIM;
#include <wx/choice.h> #include <wx/choice.h>
#include <wx/sizer.h> #include <wx/sizer.h>
#include <wx/radiobox.h> #include <wx/radiobox.h>
#include <wx/textctrl.h>
#include <wx/checkbox.h> #include <wx/checkbox.h>
#include <wx/textctrl.h>
#include <wx/button.h> #include <wx/button.h>
#include <wx/statbox.h> #include <wx/statbox.h>
#include <wx/statline.h>
#include <wx/listctrl.h> #include <wx/listctrl.h>
#include <wx/dialog.h> #include <wx/dialog.h>
...@@ -47,12 +48,14 @@ class DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP : public DIALOG_SHIM ...@@ -47,12 +48,14 @@ class DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP : public DIALOG_SHIM
wxStaticText* unitsInterchageableLabel; wxStaticText* unitsInterchageableLabel;
wxRadioBox* orientationRadioBox; wxRadioBox* orientationRadioBox;
wxRadioBox* mirrorRadioBox; wxRadioBox* mirrorRadioBox;
wxStaticText* m_staticTextChipname;
wxTextCtrl* chipnameTextCtrl;
wxCheckBox* convertCheckBox; wxCheckBox* convertCheckBox;
wxButton* defaultsButton; wxTextCtrl* chipnameTextCtrl;
wxButton* m_buttonTestChipName;
wxButton* m_buttonSelectChipName;
wxStaticText* m_staticTextTimeStamp; wxStaticText* m_staticTextTimeStamp;
wxTextCtrl* m_textCtrlTimeStamp; wxTextCtrl* m_textCtrlTimeStamp;
wxStaticLine* m_staticline1;
wxButton* defaultsButton;
wxListCtrl* fieldListCtrl; wxListCtrl* fieldListCtrl;
wxButton* addFieldButton; wxButton* addFieldButton;
wxButton* deleteFieldButton; wxButton* deleteFieldButton;
...@@ -82,6 +85,8 @@ class DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP : public DIALOG_SHIM ...@@ -82,6 +85,8 @@ class DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP : public DIALOG_SHIM
// Virtual event handlers, overide them in your derived class // Virtual event handlers, overide them in your derived class
virtual void OnCloseDialog( wxCloseEvent& event ) { event.Skip(); } virtual void OnCloseDialog( wxCloseEvent& event ) { event.Skip(); }
virtual void OnTestChipName( wxCommandEvent& event ) { event.Skip(); }
virtual void OnSelectChipName( wxCommandEvent& event ) { event.Skip(); }
virtual void SetInitCmp( wxCommandEvent& event ) { event.Skip(); } virtual void SetInitCmp( wxCommandEvent& event ) { event.Skip(); }
virtual void OnListItemDeselected( wxListEvent& event ) { event.Skip(); } virtual void OnListItemDeselected( wxListEvent& event ) { event.Skip(); }
virtual void OnListItemSelected( wxListEvent& event ) { event.Skip(); } virtual void OnListItemSelected( wxListEvent& event ) { event.Skip(); }
...@@ -95,7 +100,7 @@ class DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP : public DIALOG_SHIM ...@@ -95,7 +100,7 @@ class DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP : public DIALOG_SHIM
public: public:
DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Component Properties"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( -1,-1 ), long style = wxCAPTION|wxCLOSE_BOX|wxDEFAULT_DIALOG_STYLE|wxMAXIMIZE_BOX|wxMINIMIZE_BOX|wxRESIZE_BORDER|wxSYSTEM_MENU ); DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP( wxWindow* parent, wxWindowID id = wxID_ANY, const wxString& title = _("Component Properties"), const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxSize( 677,586 ), long style = wxCAPTION|wxCLOSE_BOX|wxDEFAULT_DIALOG_STYLE|wxMAXIMIZE_BOX|wxMINIMIZE_BOX|wxRESIZE_BORDER|wxSYSTEM_MENU );
~DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP(); ~DIALOG_EDIT_COMPONENT_IN_SCHEMATIC_FBP();
}; };
......
...@@ -56,6 +56,9 @@ DIALOG_EESCHEMA_OPTIONS::DIALOG_EESCHEMA_OPTIONS( wxWindow* parent ) : ...@@ -56,6 +56,9 @@ DIALOG_EESCHEMA_OPTIONS::DIALOG_EESCHEMA_OPTIONS( wxWindow* parent ) :
templateFieldListCtrl->InsertColumn( 0, col0 ); templateFieldListCtrl->InsertColumn( 0, col0 );
templateFieldListCtrl->InsertColumn( 1, col1 ); templateFieldListCtrl->InsertColumn( 1, col1 );
templateFieldListCtrl->InsertColumn( 2, col2 ); templateFieldListCtrl->InsertColumn( 2, col2 );
// Invalid field selected...
selectedField = -1;
} }
...@@ -140,59 +143,84 @@ void DIALOG_EESCHEMA_OPTIONS::SetGridSizes( const GRIDS& grid_sizes, int grid_id ...@@ -140,59 +143,84 @@ void DIALOG_EESCHEMA_OPTIONS::SetGridSizes( const GRIDS& grid_sizes, int grid_id
} }
void DIALOG_EESCHEMA_OPTIONS::OnAddButtonClick( wxCommandEvent& event ) void DIALOG_EESCHEMA_OPTIONS::RefreshTemplateFieldView( void )
{ {
long itemindex = templateFieldListCtrl->InsertItem( templateFieldListCtrl->GetItemCount(), wxT( "New Fieldname" ) ); // Delete all items in the template field list control and add all of the
templateFieldListCtrl->SetItem( itemindex, 1, wxT( "Default Value" ) ); // current template fields
templateFieldListCtrl->SetItem( itemindex, 2, wxT( "Hidden" ) ); templateFieldListCtrl->DeleteAllItems();
event.Skip(); for( TEMPLATE_FIELDNAMES::iterator fld = templateFields.begin(); fld != templateFields.end(); ++fld )
{
long itemindex = templateFieldListCtrl->InsertItem( templateFieldListCtrl->GetItemCount(), fld->m_Name );
templateFieldListCtrl->SetItem( itemindex, 1, fld->m_Value );
templateFieldListCtrl->SetItem( itemindex, 2, ( fld->m_Visible == true ) ? wxT( "Visible" ) : wxT( "Hidden" ) );
}
// If an item was selected, make sure we re-select it, or at least the
// same position in the grid and then copy the data to the edit panel in
// case it has changed
if( ( selectedField >= 0 ) && ( selectedField < templateFields.size() ) )
{
templateFieldListCtrl->SetItemState( selectedField, wxLIST_STATE_SELECTED, wxLIST_STATE_SELECTED );
copySelectedToPanel();
}
} }
void DIALOG_EESCHEMA_OPTIONS::copyPanelToSelected( void ) void DIALOG_EESCHEMA_OPTIONS::OnAddButtonClick( wxCommandEvent& event )
{ {
wxListItem iteminfo; // If there is currently a valid selection, copy the edit panel to the
iteminfo.m_itemId = selectedField; // selected field so as not to lose the data
iteminfo.m_mask = wxLIST_MASK_TEXT; if( ( selectedField >= 0 ) && ( selectedField < templateFields.size() ) )
copyPanelToSelected();
iteminfo.m_col = 0; // Add a new fieldname to the fieldname list
iteminfo.m_text = fieldNameTextCtrl->GetValue(); TEMPLATE_FIELDNAME newFieldname = TEMPLATE_FIELDNAME( "New Fieldname" );
templateFieldListCtrl->SetItem( iteminfo ); newFieldname.m_Value = wxString::Format( wxT( "Default Value %d" ), templateFields.size() );
newFieldname.m_Visible = false;
templateFields.push_back( newFieldname );
iteminfo.m_col = 1; // Update the display to reflect the new data
iteminfo.m_text = fieldDefaultValueTextCtrl->GetValue(); RefreshTemplateFieldView();
templateFieldListCtrl->SetItem( iteminfo );
iteminfo.m_col = 2; // Select the newly added field and then copy that data to the edit panel.
if( fieldVisibleCheckbox->GetValue() ) // Make sure any previously selected state is cleared and then select the
iteminfo.m_text = _( "Visible" ); // new field
else long selected = templateFieldListCtrl->GetNextItem( -1, wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED );
iteminfo.m_text = _( "Hidden" );
templateFieldListCtrl->SetItem( iteminfo ); if( selected >= 0 )
templateFieldListCtrl->SetItemState( selected, 0, wxLIST_STATE_SELECTED );
templateFieldListCtrl->SetItemState( templateFieldListCtrl->GetItemCount() - 1, wxLIST_STATE_SELECTED, wxLIST_STATE_SELECTED );
selectedField = templateFieldListCtrl->GetItemCount() - 1;
copySelectedToPanel();
event.Skip();
} }
void DIALOG_EESCHEMA_OPTIONS::copySelectedToPanel( void )
{
wxListItem iteminfo;
iteminfo.m_itemId = selectedField;
iteminfo.m_mask = wxLIST_MASK_TEXT;
iteminfo.m_col = 0; void DIALOG_EESCHEMA_OPTIONS::copyPanelToSelected( void )
if( !templateFieldListCtrl->GetItem( iteminfo ) ) {
if( ( selectedField < 0 ) || ( selectedField >= templateFields.size() ) )
return; return;
fieldNameTextCtrl->SetValue( iteminfo.m_text );
iteminfo.m_col = 1; // Update the template field data
if( !templateFieldListCtrl->GetItem( iteminfo ) ) templateFields[selectedField].m_Name = fieldNameTextCtrl->GetValue();
return; templateFields[selectedField].m_Value = fieldDefaultValueTextCtrl->GetValue();
fieldDefaultValueTextCtrl->SetValue( iteminfo.m_text ); templateFields[selectedField].m_Visible = fieldVisibleCheckbox->GetValue();
}
iteminfo.m_col = 2;
if( !templateFieldListCtrl->GetItem( iteminfo ) ) void DIALOG_EESCHEMA_OPTIONS::copySelectedToPanel( void )
{
if( ( selectedField < 0 ) || ( selectedField >= templateFields.size() ) )
return; return;
if( iteminfo.m_text == _( "Hidden" ) ) fieldNameTextCtrl->SetValue( templateFields[selectedField].m_Name );
fieldDefaultValueTextCtrl->SetValue( templateFields[selectedField].m_Value );
if( templateFields[selectedField].m_Visible == true )
fieldVisibleCheckbox->SetValue( false ); fieldVisibleCheckbox->SetValue( false );
else else
fieldVisibleCheckbox->SetValue( true ); fieldVisibleCheckbox->SetValue( true );
...@@ -201,30 +229,32 @@ void DIALOG_EESCHEMA_OPTIONS::copySelectedToPanel( void ) ...@@ -201,30 +229,32 @@ void DIALOG_EESCHEMA_OPTIONS::copySelectedToPanel( void )
void DIALOG_EESCHEMA_OPTIONS::OnTemplateFieldSelected( wxListEvent& event ) void DIALOG_EESCHEMA_OPTIONS::OnTemplateFieldSelected( wxListEvent& event )
{ {
selectedField = event.GetSelection(); // Before getting the new field data, make sure we save the old!
if( selectedField >= 0 )
copyPanelToSelected();
// Now update the selected field and copy the data from the field to the
// edit panel
selectedField = event.GetIndex();
copySelectedToPanel(); copySelectedToPanel();
event.Skip(); event.Skip();
} }
void DIALOG_EESCHEMA_OPTIONS::OnTemplateFieldDeselected( wxListEvent& event ) void DIALOG_EESCHEMA_OPTIONS::OnTemplateFieldDeselected( wxListEvent& event )
{ {
copyPanelToSelected();
event.Skip(); event.Skip();
} }
void DIALOG_EESCHEMA_OPTIONS::SetTemplateFields( const TEMPLATE_FIELDNAMES& aFields ) void DIALOG_EESCHEMA_OPTIONS::SetTemplateFields( const TEMPLATE_FIELDNAMES& aFields )
{ {
// Set the template fields object
templateFields = aFields; templateFields = aFields;
for( TEMPLATE_FIELDNAMES::iterator fld = templateFields.begin(); fld != templateFields.end(); ++fld ) // Refresh the view
{ RefreshTemplateFieldView();
long itemindex = templateFieldListCtrl->InsertItem( 0, wxT( "?" ) );
templateFieldListCtrl->SetItem( itemindex, 1, fld->m_Name );
templateFieldListCtrl->SetItem( itemindex, 2, fld->m_Value );
printf( "Parsed new templateField\n" );
}
} }
......
...@@ -44,6 +44,7 @@ protected: ...@@ -44,6 +44,7 @@ protected:
void copySelectedToPanel( void ); void copySelectedToPanel( void );
void OnTemplateFieldSelected( wxListEvent& event ); void OnTemplateFieldSelected( wxListEvent& event );
void OnTemplateFieldDeselected( wxListEvent& event ); void OnTemplateFieldDeselected( wxListEvent& event );
void RefreshTemplateFieldView( void );
public: public:
DIALOG_EESCHEMA_OPTIONS( wxWindow* parent ); DIALOG_EESCHEMA_OPTIONS( wxWindow* parent );
......
...@@ -127,7 +127,7 @@ wxString SCH_BASE_FRAME::SelectComponentFromLibrary( const wxString& aLibname, ...@@ -127,7 +127,7 @@ wxString SCH_BASE_FRAME::SelectComponentFromLibrary( const wxString& aLibname,
if( !aHistoryList.empty() ) if( !aHistoryList.empty() )
{ {
// This is good for a transition for experineced users: giving them a History. Ideally, // This is good for a transition for experienced users: giving them a History. Ideally,
// we actually make this part even faster to access with a popup on ALT-a or something. // we actually make this part even faster to access with a popup on ALT-a or something.
// the history is under a node named "-- History --" // the history is under a node named "-- History --"
// However, because it is translatable, and we need to have a node name starting by "-- " // However, because it is translatable, and we need to have a node name starting by "-- "
......
...@@ -87,17 +87,6 @@ bool SCH_EDIT_FRAME::CreateArchiveLibrary( const wxString& aFileName ) ...@@ -87,17 +87,6 @@ bool SCH_EDIT_FRAME::CreateArchiveLibrary( const wxString& aFileName )
// AddPart() does first clone the part before adding. // AddPart() does first clone the part before adding.
libCache->AddPart( part ); libCache->AddPart( part );
} }
else // Search for a part/alias using case insensitive search
{ // for compatibility with old versions of schematics
LIB_ALIAS* entry = libs->FindLibraryNearEntry( component->GetPartName() );
if( entry && !libCache->FindEntry( entry->GetName() ) )
{
if( LIB_PART* part = libs->FindLibPart( entry->GetName() ) )
libCache->AddPart( part );
}
}
} }
} }
} }
......
...@@ -308,6 +308,12 @@ void SCH_EDIT_FRAME::ReCreateMenuBar() ...@@ -308,6 +308,12 @@ void SCH_EDIT_FRAME::ReCreateMenuBar()
HK_ADD_NOCONN_FLAG, IS_ACCELERATOR ); // add an accelerator, not a shortcut HK_ADD_NOCONN_FLAG, IS_ACCELERATOR ); // add an accelerator, not a shortcut
AddMenuItem( placeMenu, ID_NOCONN_BUTT, text, HELP_PLACE_NC_FLAG, KiBitmap( noconn_xpm ) ); AddMenuItem( placeMenu, ID_NOCONN_BUTT, text, HELP_PLACE_NC_FLAG, KiBitmap( noconn_xpm ) );
text = AddHotkeyName( _( "&Junction" ), s_Schematic_Hokeys_Descr,
HK_ADD_JUNCTION, IS_ACCELERATOR ); // add an accelerator, not a shortcut
AddMenuItem( placeMenu, ID_JUNCTION_BUTT, text,
HELP_PLACE_JUNCTION,
KiBitmap( add_junction_xpm ) );
text = AddHotkeyName( _( "&Label" ), s_Schematic_Hokeys_Descr, text = AddHotkeyName( _( "&Label" ), s_Schematic_Hokeys_Descr,
HK_ADD_LABEL, IS_ACCELERATOR ); // add an accelerator, not a shortcut HK_ADD_LABEL, IS_ACCELERATOR ); // add an accelerator, not a shortcut
AddMenuItem( placeMenu, ID_LABEL_BUTT, text, AddMenuItem( placeMenu, ID_LABEL_BUTT, text,
...@@ -320,12 +326,6 @@ void SCH_EDIT_FRAME::ReCreateMenuBar() ...@@ -320,12 +326,6 @@ void SCH_EDIT_FRAME::ReCreateMenuBar()
HELP_PLACE_GLOBALLABEL, HELP_PLACE_GLOBALLABEL,
KiBitmap( add_glabel_xpm ) ); KiBitmap( add_glabel_xpm ) );
text = AddHotkeyName( _( "&Junction" ), s_Schematic_Hokeys_Descr,
HK_ADD_JUNCTION, IS_ACCELERATOR ); // add an accelerator, not a shortcut
AddMenuItem( placeMenu, ID_JUNCTION_BUTT, text,
HELP_PLACE_JUNCTION,
KiBitmap( add_junction_xpm ) );
placeMenu->AppendSeparator(); placeMenu->AppendSeparator();
text = AddHotkeyName( _( "&Hierarchical Label" ), s_Schematic_Hokeys_Descr, text = AddHotkeyName( _( "&Hierarchical Label" ), s_Schematic_Hokeys_Descr,
......
...@@ -265,22 +265,6 @@ bool SCH_COMPONENT::Resolve( PART_LIBS* aLibs ) ...@@ -265,22 +265,6 @@ bool SCH_COMPONENT::Resolve( PART_LIBS* aLibs )
return true; return true;
} }
// the part was not found. try to search with no case comparison
// because during a long time, Eeschema was using upper case only
// for names.
// and we could have loaded an old schematic using upper case only
// and libs using upper+lower case for lib items names
if( LIB_ALIAS* entry = aLibs->FindLibraryNearEntry( m_part_name ) )
{
// Now find the part (the lib part if we are using an alias) using
// the "near" name
if( LIB_PART* part = aLibs->FindLibPart( entry->GetName() ) )
{
m_part = part->SharedPtr();
return true;
}
}
return false; return false;
} }
......
...@@ -73,23 +73,6 @@ public: ...@@ -73,23 +73,6 @@ public:
void UpdateStatusBar(); // overload EDA_DRAW_FRAME void UpdateStatusBar(); // overload EDA_DRAW_FRAME
protected:
/**
* Function SelectComponentFromLibBrowser
* Calls the library viewer to select component to import into schematic.
* if the library viewer is currently running, it is closed and reopened
* in modal mode.
* @param aPreslectedAlias Preselected component alias. NULL if none.
* @param aUnit Pointer to Unit-number. Input is the pre-selected unit, output
* is the finally selected unit by the user. Can be NULL.
* @param aConvert Pointer to deMorgan conversion. Input is what is pre-selected,
* output is the finally selected deMorgan type by the user.
* @return the component name
*/
wxString SelectComponentFromLibBrowser( LIB_ALIAS* aPreselectedAlias,
int* aUnit, int* aConvert );
/** /**
* Function SelectComponentFromLib * Function SelectComponentFromLib
* Calls the library viewer to select component to import into schematic. * Calls the library viewer to select component to import into schematic.
...@@ -112,6 +95,22 @@ protected: ...@@ -112,6 +95,22 @@ protected:
int* aUnit, int* aUnit,
int* aConvert ); int* aConvert );
protected:
/**
* Function SelectComponentFromLibBrowser
* Calls the library viewer to select component to import into schematic.
* if the library viewer is currently running, it is closed and reopened
* in modal mode.
* @param aPreslectedAlias Preselected component alias. NULL if none.
* @param aUnit Pointer to Unit-number. Input is the pre-selected unit, output
* is the finally selected unit by the user. Can be NULL.
* @param aConvert Pointer to deMorgan conversion. Input is what is pre-selected,
* output is the finally selected deMorgan type by the user.
* @return the component name
*/
wxString SelectComponentFromLibBrowser( LIB_ALIAS* aPreselectedAlias,
int* aUnit, int* aConvert );
/** /**
* Function OnOpenLibraryViewer * Function OnOpenLibraryViewer
......
...@@ -96,6 +96,7 @@ void NETS_LIST_CTRL::SetRowItems( unsigned aRow, ...@@ -96,6 +96,7 @@ void NETS_LIST_CTRL::SetRowItems( unsigned aRow,
m_Netnames.Add( wxEmptyString, aRow - cnt + 1 ); m_Netnames.Add( wxEmptyString, aRow - cnt + 1 );
cnt = m_Classnames.GetCount(); cnt = m_Classnames.GetCount();
if( cnt <= aRow ) if( cnt <= aRow )
m_Classnames.Add( wxEmptyString, aRow - cnt + 1 ); m_Classnames.Add( wxEmptyString, aRow - cnt + 1 );
...@@ -122,6 +123,7 @@ void EnsureGridColumnWidths( wxGrid* aGrid ) ...@@ -122,6 +123,7 @@ void EnsureGridColumnWidths( wxGrid* aGrid )
sDC.SetFont( aGrid->GetLabelFont() ); sDC.SetFont( aGrid->GetLabelFont() );
int colCount = aGrid->GetNumberCols(); int colCount = aGrid->GetNumberCols();
for( int col = 0; col<colCount; ++col ) for( int col = 0; col<colCount; ++col )
{ {
// add two spaces to the text and size it. // add two spaces to the text and size it.
...@@ -135,10 +137,8 @@ void EnsureGridColumnWidths( wxGrid* aGrid ) ...@@ -135,10 +137,8 @@ void EnsureGridColumnWidths( wxGrid* aGrid )
} }
/***********************************************************************************/
DIALOG_DESIGN_RULES::DIALOG_DESIGN_RULES( PCB_EDIT_FRAME* parent ) : DIALOG_DESIGN_RULES::DIALOG_DESIGN_RULES( PCB_EDIT_FRAME* parent ) :
DIALOG_DESIGN_RULES_BASE( parent ) DIALOG_DESIGN_RULES_BASE( parent )
/***********************************************************************************/
{ {
m_Parent = parent; m_Parent = parent;
SetAutoLayout( true ); SetAutoLayout( true );
...@@ -178,13 +178,17 @@ DIALOG_DESIGN_RULES::DIALOG_DESIGN_RULES( PCB_EDIT_FRAME* parent ) : ...@@ -178,13 +178,17 @@ DIALOG_DESIGN_RULES::DIALOG_DESIGN_RULES( PCB_EDIT_FRAME* parent ) :
GetSizer()->Fit( this ); GetSizer()->Fit( this );
GetSizer()->SetSizeHints( this ); GetSizer()->SetSizeHints( this );
// Allow tabbing out of grid controls. Only available on wxWidgets 2.9.5 or later.
#if wxCHECK_VERSION( 2, 9, 5 )
m_grid->SetTabBehaviour( wxGrid::Tab_Leave );
m_gridViaSizeList->SetTabBehaviour( wxGrid::Tab_Leave );
m_gridTrackWidthList->SetTabBehaviour( wxGrid::Tab_Leave );
#endif
Center(); Center();
} }
/* Display on m_MessagesList the current global settings:
* minimal values for tracks, vias, clearance ...
*/
void DIALOG_DESIGN_RULES::PrintCurrentSettings() void DIALOG_DESIGN_RULES::PrintCurrentSettings()
{ {
wxString msg, value; wxString msg, value;
...@@ -206,9 +210,7 @@ void DIALOG_DESIGN_RULES::PrintCurrentSettings() ...@@ -206,9 +210,7 @@ void DIALOG_DESIGN_RULES::PrintCurrentSettings()
} }
/******************************************/
void DIALOG_DESIGN_RULES::InitDialogRules() void DIALOG_DESIGN_RULES::InitDialogRules()
/******************************************/
{ {
SetFocus(); SetFocus();
SetReturnCode( 0 ); SetReturnCode( 0 );
...@@ -249,9 +251,7 @@ void DIALOG_DESIGN_RULES::InitDialogRules() ...@@ -249,9 +251,7 @@ void DIALOG_DESIGN_RULES::InitDialogRules()
} }
/*******************************************/
void DIALOG_DESIGN_RULES::InitGlobalRules() void DIALOG_DESIGN_RULES::InitGlobalRules()
/*******************************************/
{ {
AddUnitSymbol( *m_ViaMinTitle ); AddUnitSymbol( *m_ViaMinTitle );
AddUnitSymbol( *m_ViaMinDrillTitle ); AddUnitSymbol( *m_ViaMinDrillTitle );
...@@ -281,12 +281,7 @@ void DIALOG_DESIGN_RULES::InitGlobalRules() ...@@ -281,12 +281,7 @@ void DIALOG_DESIGN_RULES::InitGlobalRules()
} }
/***************************************************/
void DIALOG_DESIGN_RULES::InitDimensionsLists() void DIALOG_DESIGN_RULES::InitDimensionsLists()
/***************************************************/
/* Populates the lists of sizes (Tracks width list and Vias diameters & drill list)
*/
{ {
wxString msg; wxString msg;
...@@ -296,11 +291,11 @@ void DIALOG_DESIGN_RULES::InitDimensionsLists() ...@@ -296,11 +291,11 @@ void DIALOG_DESIGN_RULES::InitDimensionsLists()
m_gridViaSizeList->SetCellValue( 0, 0, msg ); m_gridViaSizeList->SetCellValue( 0, 0, msg );
m_gridViaSizeList->SetCellValue( 0, 1, msg ); m_gridViaSizeList->SetCellValue( 0, 1, msg );
m_gridTrackWidthList->SetCellValue( 0, 0, msg ); m_gridTrackWidthList->SetCellValue( 0, 0, msg );
m_gridViaSizeList->SetColMinimalWidth(0,150); m_gridViaSizeList->SetColMinimalWidth( 0, 150 );
m_gridViaSizeList->SetColMinimalWidth(1,150); m_gridViaSizeList->SetColMinimalWidth( 1, 150 );
m_gridViaSizeList->AutoSizeColumns(true); m_gridViaSizeList->AutoSizeColumns( true );
m_gridTrackWidthList->SetColMinimalWidth(0,150); m_gridTrackWidthList->SetColMinimalWidth( 0, 150 );
m_gridTrackWidthList->AutoSizeColumns(true); m_gridTrackWidthList->AutoSizeColumns( true );
// Fill cells with actual values: // Fill cells with actual values:
m_gridViaSizeList->SetCellValue( 0, 0, wxEmptyString ); m_gridViaSizeList->SetCellValue( 0, 0, wxEmptyString );
...@@ -317,6 +312,7 @@ void DIALOG_DESIGN_RULES::InitDimensionsLists() ...@@ -317,6 +312,7 @@ void DIALOG_DESIGN_RULES::InitDimensionsLists()
{ {
msg = StringFromValue( g_UserUnit, m_ViasDimensionsList[ii].m_Diameter, false ); msg = StringFromValue( g_UserUnit, m_ViasDimensionsList[ii].m_Diameter, false );
m_gridViaSizeList->SetCellValue( ii, 0, msg ); m_gridViaSizeList->SetCellValue( ii, 0, msg );
if( m_ViasDimensionsList[ii].m_Drill > 0 ) if( m_ViasDimensionsList[ii].m_Drill > 0 )
{ {
msg = StringFromValue( g_UserUnit, m_ViasDimensionsList[ii].m_Drill, false ); msg = StringFromValue( g_UserUnit, m_ViasDimensionsList[ii].m_Drill, false );
...@@ -372,10 +368,6 @@ void DIALOG_DESIGN_RULES::makePointers( PNETCUPS* aList, const wxString& aNetCla ...@@ -372,10 +368,6 @@ void DIALOG_DESIGN_RULES::makePointers( PNETCUPS* aList, const wxString& aNetCla
} }
/**
* Function FillListBoxWithNetNames
* populates aListCtrl with net names and class names from m_AllNets in a two column display.
*/
void DIALOG_DESIGN_RULES::FillListBoxWithNetNames( NETS_LIST_CTRL* aListCtrl, void DIALOG_DESIGN_RULES::FillListBoxWithNetNames( NETS_LIST_CTRL* aListCtrl,
const wxString& aNetClass ) const wxString& aNetClass )
{ {
...@@ -397,11 +389,12 @@ void DIALOG_DESIGN_RULES::FillListBoxWithNetNames( NETS_LIST_CTRL* aListCtrl, ...@@ -397,11 +389,12 @@ void DIALOG_DESIGN_RULES::FillListBoxWithNetNames( NETS_LIST_CTRL* aListCtrl,
// Add netclass info to m_Netnames and m_Classnames wxArrayString buffers // Add netclass info to m_Netnames and m_Classnames wxArrayString buffers
// aListCtrl uses wxLC_VIRTUAL option, so this is fast // aListCtrl uses wxLC_VIRTUAL option, so this is fast
wxClientDC sDC(aListCtrl); wxClientDC sDC( aListCtrl );
int row = 0; int row = 0;
// recompute the column widths here, after setting texts // recompute the column widths here, after setting texts
int net_colsize = sDC.GetTextExtent( NET_TITLE ).x; int net_colsize = sDC.GetTextExtent( NET_TITLE ).x;
int class_colsize = sDC.GetTextExtent( CLASS_TITLE ).x; int class_colsize = sDC.GetTextExtent( CLASS_TITLE ).x;
for( PNETCUPS::iterator i = ptrList.begin(); i!=ptrList.end(); ++i, ++row ) for( PNETCUPS::iterator i = ptrList.begin(); i!=ptrList.end(); ++i, ++row )
{ {
wxSize net_needed = sDC.GetTextExtent( (*i)->net ); wxSize net_needed = sDC.GetTextExtent( (*i)->net );
...@@ -411,9 +404,9 @@ void DIALOG_DESIGN_RULES::FillListBoxWithNetNames( NETS_LIST_CTRL* aListCtrl, ...@@ -411,9 +404,9 @@ void DIALOG_DESIGN_RULES::FillListBoxWithNetNames( NETS_LIST_CTRL* aListCtrl,
aListCtrl->SetRowItems( row, (*i)->net, (*i)->clazz ); aListCtrl->SetRowItems( row, (*i)->net, (*i)->clazz );
} }
int margin = sDC.GetTextExtent( wxT("XX") ).x;; int margin = sDC.GetTextExtent( wxT( "XX" ) ).x;
aListCtrl->SetColumnWidth( 0, net_colsize + margin); aListCtrl->SetColumnWidth( 0, net_colsize + margin );
aListCtrl->SetColumnWidth( 1, class_colsize + margin); aListCtrl->SetColumnWidth( 1, class_colsize + margin );
aListCtrl->Refresh(); aListCtrl->Refresh();
} }
...@@ -475,10 +468,6 @@ static void class2gridRow( wxGrid* grid, int row, NETCLASSPTR nc ) ...@@ -475,10 +468,6 @@ static void class2gridRow( wxGrid* grid, int row, NETCLASSPTR nc )
} }
/**
* Function InitRulesList
* Fill the grid showing current rules with values
*/
void DIALOG_DESIGN_RULES::InitRulesList() void DIALOG_DESIGN_RULES::InitRulesList()
{ {
NETCLASSES& netclasses = m_BrdSettings->m_NetClasses; NETCLASSES& netclasses = m_BrdSettings->m_NetClasses;
...@@ -494,6 +483,7 @@ void DIALOG_DESIGN_RULES::InitRulesList() ...@@ -494,6 +483,7 @@ void DIALOG_DESIGN_RULES::InitRulesList()
// enter others netclasses // enter others netclasses
int row = 1; int row = 1;
for( NETCLASSES::iterator i = netclasses.begin(); i!=netclasses.end(); ++i, ++row ) for( NETCLASSES::iterator i = netclasses.begin(); i!=netclasses.end(); ++i, ++row )
{ {
NETCLASSPTR netclass = i->second; NETCLASSPTR netclass = i->second;
...@@ -517,8 +507,6 @@ static void gridRow2class( wxGrid* grid, int row, NETCLASSPTR nc ) ...@@ -517,8 +507,6 @@ static void gridRow2class( wxGrid* grid, int row, NETCLASSPTR nc )
} }
/* Copy the rules list from grid to board
*/
void DIALOG_DESIGN_RULES::CopyRulesListToBoard() void DIALOG_DESIGN_RULES::CopyRulesListToBoard()
{ {
NETCLASSES& netclasses = m_BrdSettings->m_NetClasses; NETCLASSES& netclasses = m_BrdSettings->m_NetClasses;
...@@ -561,9 +549,7 @@ void DIALOG_DESIGN_RULES::CopyRulesListToBoard() ...@@ -561,9 +549,7 @@ void DIALOG_DESIGN_RULES::CopyRulesListToBoard()
} }
/*************************************************/
void DIALOG_DESIGN_RULES::CopyGlobalRulesToBoard() void DIALOG_DESIGN_RULES::CopyGlobalRulesToBoard()
/*************************************************/
{ {
m_BrdSettings->m_BlindBuriedViaAllowed = m_OptViaType->GetSelection() > 0; m_BrdSettings->m_BlindBuriedViaAllowed = m_OptViaType->GetSelection() > 0;
...@@ -582,14 +568,13 @@ void DIALOG_DESIGN_RULES::CopyGlobalRulesToBoard() ...@@ -582,14 +568,13 @@ void DIALOG_DESIGN_RULES::CopyGlobalRulesToBoard()
} }
/*******************************************************************/
void DIALOG_DESIGN_RULES::CopyDimensionsListsToBoard() void DIALOG_DESIGN_RULES::CopyDimensionsListsToBoard()
/*******************************************************************/
{ {
wxString msg; wxString msg;
// Reinitialize m_TrackWidthList // Reinitialize m_TrackWidthList
m_TracksWidthList.clear(); m_TracksWidthList.clear();
for( int row = 0; row < m_gridTrackWidthList->GetNumberRows(); ++row ) for( int row = 0; row < m_gridTrackWidthList->GetNumberRows(); ++row )
{ {
msg = m_gridTrackWidthList->GetCellValue( row, 0 ); msg = m_gridTrackWidthList->GetCellValue( row, 0 );
...@@ -632,8 +617,12 @@ void DIALOG_DESIGN_RULES::CopyDimensionsListsToBoard() ...@@ -632,8 +617,12 @@ void DIALOG_DESIGN_RULES::CopyDimensionsListsToBoard()
sort( m_ViasDimensionsList.begin(), m_ViasDimensionsList.end() ); sort( m_ViasDimensionsList.begin(), m_ViasDimensionsList.end() );
std::vector<int>* tlist = &m_BrdSettings->m_TrackWidthList; std::vector<int>* tlist = &m_BrdSettings->m_TrackWidthList;
tlist->erase( tlist->begin() + 1, tlist->end() ); // Remove old "custom" sizes
tlist->insert( tlist->end(), m_TracksWidthList.begin(), m_TracksWidthList.end() ); //Add new "custom" sizes // Remove old "custom" sizes
tlist->erase( tlist->begin() + 1, tlist->end() );
// Add new "custom" sizes
tlist->insert( tlist->end(), m_TracksWidthList.begin(), m_TracksWidthList.end() );
// Reinitialize m_ViaSizeList // Reinitialize m_ViaSizeList
std::vector<VIA_DIMENSION>* vialist = &m_BrdSettings->m_ViasDimensionsList; std::vector<VIA_DIMENSION>* vialist = &m_BrdSettings->m_ViasDimensionsList;
...@@ -642,9 +631,7 @@ void DIALOG_DESIGN_RULES::CopyDimensionsListsToBoard() ...@@ -642,9 +631,7 @@ void DIALOG_DESIGN_RULES::CopyDimensionsListsToBoard()
} }
/*****************************************************************/
void DIALOG_DESIGN_RULES::OnCancelButtonClick( wxCommandEvent& event ) void DIALOG_DESIGN_RULES::OnCancelButtonClick( wxCommandEvent& event )
/*****************************************************************/
{ {
s_LastTabSelection = m_DRnotebook->GetSelection(); s_LastTabSelection = m_DRnotebook->GetSelection();
...@@ -652,9 +639,7 @@ void DIALOG_DESIGN_RULES::OnCancelButtonClick( wxCommandEvent& event ) ...@@ -652,9 +639,7 @@ void DIALOG_DESIGN_RULES::OnCancelButtonClick( wxCommandEvent& event )
} }
/**************************************************************************/
void DIALOG_DESIGN_RULES::OnOkButtonClick( wxCommandEvent& event ) void DIALOG_DESIGN_RULES::OnOkButtonClick( wxCommandEvent& event )
/**************************************************************************/
{ {
s_LastTabSelection = m_DRnotebook->GetSelection(); s_LastTabSelection = m_DRnotebook->GetSelection();
...@@ -674,9 +659,7 @@ void DIALOG_DESIGN_RULES::OnOkButtonClick( wxCommandEvent& event ) ...@@ -674,9 +659,7 @@ void DIALOG_DESIGN_RULES::OnOkButtonClick( wxCommandEvent& event )
} }
/**************************************************************************/
void DIALOG_DESIGN_RULES::OnAddNetclassClick( wxCommandEvent& event ) void DIALOG_DESIGN_RULES::OnAddNetclassClick( wxCommandEvent& event )
/**************************************************************************/
{ {
wxString class_name; wxString class_name;
...@@ -688,6 +671,7 @@ void DIALOG_DESIGN_RULES::OnAddNetclassClick( wxCommandEvent& event ) ...@@ -688,6 +671,7 @@ void DIALOG_DESIGN_RULES::OnAddNetclassClick( wxCommandEvent& event )
class_name = dlg.GetValue(); class_name = dlg.GetValue();
class_name.Trim( true ); class_name.Trim( true );
class_name.Trim( false ); class_name.Trim( false );
if( class_name.IsEmpty() ) if( class_name.IsEmpty() )
return; // empty name not allowed return; // empty name not allowed
...@@ -696,6 +680,7 @@ void DIALOG_DESIGN_RULES::OnAddNetclassClick( wxCommandEvent& event ) ...@@ -696,6 +680,7 @@ void DIALOG_DESIGN_RULES::OnAddNetclassClick( wxCommandEvent& event )
{ {
wxString value; wxString value;
value = m_grid->GetRowLabelValue( ii ); value = m_grid->GetRowLabelValue( ii );
if( class_name.CmpNoCase( value ) == 0 ) // Already exists! if( class_name.CmpNoCase( value ) == 0 ) // Already exists!
{ {
DisplayError( this, _( "This NetClass is already existing, cannot add it; Aborted" ) ); DisplayError( this, _( "This NetClass is already existing, cannot add it; Aborted" ) );
...@@ -704,12 +689,11 @@ void DIALOG_DESIGN_RULES::OnAddNetclassClick( wxCommandEvent& event ) ...@@ -704,12 +689,11 @@ void DIALOG_DESIGN_RULES::OnAddNetclassClick( wxCommandEvent& event )
} }
m_grid->AppendRows(); m_grid->AppendRows();
m_grid->SetRowLabelValue( m_grid->SetRowLabelValue( m_grid->GetNumberRows() - 1, class_name );
m_grid->GetNumberRows() - 1,
class_name );
// Copy values of the default class: // Copy values of the default class:
int irow = m_grid->GetNumberRows() - 1; int irow = m_grid->GetNumberRows() - 1;
for( int icol = 0; icol < m_grid->GetNumberCols(); icol++ ) for( int icol = 0; icol < m_grid->GetNumberCols(); icol++ )
{ {
wxString value; wxString value;
...@@ -729,9 +713,7 @@ int sort_int( int* first, int* second ) ...@@ -729,9 +713,7 @@ int sort_int( int* first, int* second )
} }
/**************************************************************************/
void DIALOG_DESIGN_RULES::OnRemoveNetclassClick( wxCommandEvent& event ) void DIALOG_DESIGN_RULES::OnRemoveNetclassClick( wxCommandEvent& event )
/**************************************************************************/
{ {
wxArrayInt select = m_grid->GetSelectedRows(); wxArrayInt select = m_grid->GetSelectedRows();
...@@ -742,6 +724,7 @@ void DIALOG_DESIGN_RULES::OnRemoveNetclassClick( wxCommandEvent& event ) ...@@ -742,6 +724,7 @@ void DIALOG_DESIGN_RULES::OnRemoveNetclassClick( wxCommandEvent& event )
// rows labels are not removed when deleting rows: they are not deleted. // rows labels are not removed when deleting rows: they are not deleted.
// So we must store them, remove corresponding labels and reinit them // So we must store them, remove corresponding labels and reinit them
wxArrayString labels; wxArrayString labels;
for( int ii = 0; ii < m_grid->GetNumberRows(); ii++ ) for( int ii = 0; ii < m_grid->GetNumberRows(); ii++ )
labels.Add( m_grid->GetRowLabelValue( ii ) ); labels.Add( m_grid->GetRowLabelValue( ii ) );
...@@ -750,6 +733,7 @@ void DIALOG_DESIGN_RULES::OnRemoveNetclassClick( wxCommandEvent& event ) ...@@ -750,6 +733,7 @@ void DIALOG_DESIGN_RULES::OnRemoveNetclassClick( wxCommandEvent& event )
for( unsigned ii = 0; ii < select.GetCount(); ii++ ) for( unsigned ii = 0; ii < select.GetCount(); ii++ )
{ {
int grid_row = select[ii]; int grid_row = select[ii];
if( grid_row != 0 ) // Do not remove the default class if( grid_row != 0 ) // Do not remove the default class
{ {
wxString classname = m_grid->GetRowLabelValue( grid_row ); wxString classname = m_grid->GetRowLabelValue( grid_row );
...@@ -775,26 +759,24 @@ void DIALOG_DESIGN_RULES::OnRemoveNetclassClick( wxCommandEvent& event ) ...@@ -775,26 +759,24 @@ void DIALOG_DESIGN_RULES::OnRemoveNetclassClick( wxCommandEvent& event )
} }
/*
* Called on "Move Up" button click
* the selected(s) rules are moved up
* The default netclass is always the first rule
*/
void DIALOG_DESIGN_RULES::OnMoveUpSelectedNetClass( wxCommandEvent& event ) void DIALOG_DESIGN_RULES::OnMoveUpSelectedNetClass( wxCommandEvent& event )
{ {
// Cannot move up rules if we have 1 or 2 rules only // Cannot move up rules if we have 1 or 2 rules only
if( m_grid->GetNumberRows() < 3 ) if( m_grid->GetNumberRows() < 3 )
return; return;
wxArrayInt select = m_grid->GetSelectedRows();
wxArrayInt select = m_grid->GetSelectedRows();
bool reinit = false; bool reinit = false;
for( unsigned irow = 0; irow < select.GetCount(); irow++ ) for( unsigned irow = 0; irow < select.GetCount(); irow++ )
{ {
int ii = select[irow]; int ii = select[irow];
if( ii < 2 ) // The default netclass *must* be the first netclass if( ii < 2 ) // The default netclass *must* be the first netclass
continue; // so we cannot move up line 0 and 1 continue; // so we cannot move up line 0 and 1
// Swap the rule and the previous rule // Swap the rule and the previous rule
wxString curr_value, previous_value; wxString curr_value, previous_value;
for( int icol = 0; icol < m_grid->GetNumberCols(); icol++ ) for( int icol = 0; icol < m_grid->GetNumberCols(); icol++ )
{ {
reinit = true; reinit = true;
...@@ -815,12 +797,10 @@ void DIALOG_DESIGN_RULES::OnMoveUpSelectedNetClass( wxCommandEvent& event ) ...@@ -815,12 +797,10 @@ void DIALOG_DESIGN_RULES::OnMoveUpSelectedNetClass( wxCommandEvent& event )
} }
/*
* Called on the left Choice Box selection
*/
void DIALOG_DESIGN_RULES::OnLeftCBSelection( wxCommandEvent& event ) void DIALOG_DESIGN_RULES::OnLeftCBSelection( wxCommandEvent& event )
{ {
FillListBoxWithNetNames( m_leftListCtrl, m_leftClassChoice->GetStringSelection() ); FillListBoxWithNetNames( m_leftListCtrl, m_leftClassChoice->GetStringSelection() );
if( m_leftClassChoice->GetStringSelection() == m_rightClassChoice->GetStringSelection() ) if( m_leftClassChoice->GetStringSelection() == m_rightClassChoice->GetStringSelection() )
{ {
m_buttonRightToLeft->Enable( false ); m_buttonRightToLeft->Enable( false );
...@@ -834,12 +814,10 @@ void DIALOG_DESIGN_RULES::OnLeftCBSelection( wxCommandEvent& event ) ...@@ -834,12 +814,10 @@ void DIALOG_DESIGN_RULES::OnLeftCBSelection( wxCommandEvent& event )
} }
/*
* Called on the Right Choice Box selection
*/
void DIALOG_DESIGN_RULES::OnRightCBSelection( wxCommandEvent& event ) void DIALOG_DESIGN_RULES::OnRightCBSelection( wxCommandEvent& event )
{ {
FillListBoxWithNetNames( m_rightListCtrl, m_rightClassChoice->GetStringSelection() ); FillListBoxWithNetNames( m_rightListCtrl, m_rightClassChoice->GetStringSelection() );
if( m_leftClassChoice->GetStringSelection() == m_rightClassChoice->GetStringSelection() ) if( m_leftClassChoice->GetStringSelection() == m_rightClassChoice->GetStringSelection() )
{ {
m_buttonRightToLeft->Enable( false ); m_buttonRightToLeft->Enable( false );
...@@ -898,9 +876,6 @@ void DIALOG_DESIGN_RULES::OnLeftToRightCopyButton( wxCommandEvent& event ) ...@@ -898,9 +876,6 @@ void DIALOG_DESIGN_RULES::OnLeftToRightCopyButton( wxCommandEvent& event )
} }
/* Called on clicking the left "select all" button:
* select all items of the left netname list lisxt box
*/
void DIALOG_DESIGN_RULES::OnLeftSelectAllButton( wxCommandEvent& event ) void DIALOG_DESIGN_RULES::OnLeftSelectAllButton( wxCommandEvent& event )
{ {
for( int ii = 0; ii < m_leftListCtrl->GetItemCount(); ii++ ) for( int ii = 0; ii < m_leftListCtrl->GetItemCount(); ii++ )
...@@ -908,9 +883,6 @@ void DIALOG_DESIGN_RULES::OnLeftSelectAllButton( wxCommandEvent& event ) ...@@ -908,9 +883,6 @@ void DIALOG_DESIGN_RULES::OnLeftSelectAllButton( wxCommandEvent& event )
} }
/* Called on clicking the right "select all" button:
* select all items of the right netname list lisxt box
*/
void DIALOG_DESIGN_RULES::OnRightSelectAllButton( wxCommandEvent& event ) void DIALOG_DESIGN_RULES::OnRightSelectAllButton( wxCommandEvent& event )
{ {
for( int ii = 0; ii < m_rightListCtrl->GetItemCount(); ii++ ) for( int ii = 0; ii < m_rightListCtrl->GetItemCount(); ii++ )
...@@ -931,11 +903,6 @@ void DIALOG_DESIGN_RULES::setNetClass( const wxString& aNetName, const wxString& ...@@ -931,11 +903,6 @@ void DIALOG_DESIGN_RULES::setNetClass( const wxString& aNetName, const wxString&
} }
/* TestDataValidity
* Performs a control of data validity
* set the background of a bad cell in RED and display an info message
* @return true if Ok, false if error
*/
bool DIALOG_DESIGN_RULES::TestDataValidity() bool DIALOG_DESIGN_RULES::TestDataValidity()
{ {
bool result = true; bool result = true;
...@@ -981,6 +948,7 @@ bool DIALOG_DESIGN_RULES::TestDataValidity() ...@@ -981,6 +948,7 @@ bool DIALOG_DESIGN_RULES::TestDataValidity()
int viadrill = ValueFromString( g_UserUnit, int viadrill = ValueFromString( g_UserUnit,
m_grid->GetCellValue( row, GRID_VIADRILL ) ); m_grid->GetCellValue( row, GRID_VIADRILL ) );
if( viadrill >= viadia ) if( viadrill >= viadia )
{ {
result = false; result = false;
...@@ -1014,6 +982,7 @@ bool DIALOG_DESIGN_RULES::TestDataValidity() ...@@ -1014,6 +982,7 @@ bool DIALOG_DESIGN_RULES::TestDataValidity()
int muviadrill = ValueFromString( g_UserUnit, int muviadrill = ValueFromString( g_UserUnit,
m_grid->GetCellValue( row, GRID_uVIADRILL ) ); m_grid->GetCellValue( row, GRID_uVIADRILL ) );
if( muviadrill >= muviadia ) if( muviadrill >= muviadia )
{ {
result = false; result = false;
...@@ -1038,6 +1007,7 @@ bool DIALOG_DESIGN_RULES::TestDataValidity() ...@@ -1038,6 +1007,7 @@ bool DIALOG_DESIGN_RULES::TestDataValidity()
for( int row = 0; row < m_gridTrackWidthList->GetNumberRows(); ++row ) for( int row = 0; row < m_gridTrackWidthList->GetNumberRows(); ++row )
{ {
wxString tvalue = m_gridTrackWidthList->GetCellValue( row, 0 ); wxString tvalue = m_gridTrackWidthList->GetCellValue( row, 0 );
if( tvalue.IsEmpty() ) if( tvalue.IsEmpty() )
continue; continue;
...@@ -1051,6 +1021,7 @@ bool DIALOG_DESIGN_RULES::TestDataValidity() ...@@ -1051,6 +1021,7 @@ bool DIALOG_DESIGN_RULES::TestDataValidity()
m_MessagesList->AppendToPage( msg ); m_MessagesList->AppendToPage( msg );
} }
if( tracksize > maxval ) if( tracksize > maxval )
{ {
result = false; result = false;
...@@ -1065,6 +1036,7 @@ bool DIALOG_DESIGN_RULES::TestDataValidity() ...@@ -1065,6 +1036,7 @@ bool DIALOG_DESIGN_RULES::TestDataValidity()
for( int row = 0; row < m_gridViaSizeList->GetNumberRows(); ++row ) for( int row = 0; row < m_gridViaSizeList->GetNumberRows(); ++row )
{ {
wxString tvalue = m_gridViaSizeList->GetCellValue( row, 0 ); wxString tvalue = m_gridViaSizeList->GetCellValue( row, 0 );
if( tvalue.IsEmpty() ) if( tvalue.IsEmpty() )
continue; continue;
......
/////////////////////////////////////////////////////////////////////////////// /*
/// Class DIALOG_DESIGN_RULES * This program source code file is part of KiCad, a free EDA CAD application.
/////////////////////////////////////////////////////////////////////////////// *
* Copyright (C) 2004-2009 Jean-Pierre Charras, jean-pierre.charras@gpisa-lab.inpg.fr
* Copyright (C) 2009 Dick Hollenbeck, dick@softplc.com
* Copyright (C) 2009 KiCad Developers, see change_log.txt for contributors.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, you may find one here:
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
* or you may search the http://www.gnu.org website for the version 2 license,
* or you may write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/
/**
* @file dialog_design_rules.h
*/
#ifndef __dialog_design_rules_h_ #ifndef __dialog_design_rules_h_
#define __dialog_design_rules_h_ #define __dialog_design_rules_h_
...@@ -36,7 +62,7 @@ class DIALOG_DESIGN_RULES : public DIALOG_DESIGN_RULES_BASE ...@@ -36,7 +62,7 @@ class DIALOG_DESIGN_RULES : public DIALOG_DESIGN_RULES_BASE
private: private:
static const wxString wildCard; ///< the name of a ficticious netclass which includes all NETs static const wxString wildCard; ///< the name of a fictitious netclass which includes all NETs
PCB_EDIT_FRAME* m_Parent; PCB_EDIT_FRAME* m_Parent;
BOARD* m_Pcb; BOARD* m_Pcb;
...@@ -63,24 +89,81 @@ private: ...@@ -63,24 +89,81 @@ private:
void OnOkButtonClick( wxCommandEvent& event ); void OnOkButtonClick( wxCommandEvent& event );
void OnAddNetclassClick( wxCommandEvent& event ); void OnAddNetclassClick( wxCommandEvent& event );
void OnRemoveNetclassClick( wxCommandEvent& event ); void OnRemoveNetclassClick( wxCommandEvent& event );
/*
* Called on "Move Up" button click
* the selected(s) rules are moved up
* The default netclass is always the first rule
*/
void OnMoveUpSelectedNetClass( wxCommandEvent& event ); void OnMoveUpSelectedNetClass( wxCommandEvent& event );
/*
* Called on the left Choice Box selection
*/
void OnLeftCBSelection( wxCommandEvent& event ); void OnLeftCBSelection( wxCommandEvent& event );
/*
* Called on the Right Choice Box selection
*/
void OnRightCBSelection( wxCommandEvent& event ); void OnRightCBSelection( wxCommandEvent& event );
void OnRightToLeftCopyButton( wxCommandEvent& event ); void OnRightToLeftCopyButton( wxCommandEvent& event );
void OnLeftToRightCopyButton( wxCommandEvent& event ); void OnLeftToRightCopyButton( wxCommandEvent& event );
/*
* Called on clicking the left "select all" button:
* select all items of the left netname list list box
*/
void OnLeftSelectAllButton( wxCommandEvent& event ); void OnLeftSelectAllButton( wxCommandEvent& event );
/*
* Called on clicking the right "select all" button:
* select all items of the right netname list list box
*/
void OnRightSelectAllButton( wxCommandEvent& event ); void OnRightSelectAllButton( wxCommandEvent& event );
/*
* Function TestDataValidity
*
* Performs a control of data validity
* set the background of a bad cell in RED and display an info message
* @return true if Ok, false if error
*/
bool TestDataValidity( ); bool TestDataValidity( );
void InitDialogRules(); void InitDialogRules();
void InitGlobalRules(); void InitGlobalRules();
/**
* Function InitRulesList
* Fill the grid showing current rules with values
*/
void InitRulesList(); void InitRulesList();
/* Populates the lists of sizes (Tracks width list and Vias diameters & drill list) */
void InitDimensionsLists(); void InitDimensionsLists();
void InitializeRulesSelectionBoxes(); void InitializeRulesSelectionBoxes();
/* Copy the rules list from grid to board
*/
void CopyRulesListToBoard(); void CopyRulesListToBoard();
void CopyGlobalRulesToBoard(); void CopyGlobalRulesToBoard();
void CopyDimensionsListsToBoard( ); void CopyDimensionsListsToBoard( );
void SetRoutableLayerStatus(); void SetRoutableLayerStatus();
/**
* Function FillListBoxWithNetNames
* populates aListCtrl with net names and class names from m_AllNets in a two column display.
*/
void FillListBoxWithNetNames( NETS_LIST_CTRL* aListCtrl, const wxString& aNetClass ); void FillListBoxWithNetNames( NETS_LIST_CTRL* aListCtrl, const wxString& aNetClass );
/**
* Function PrintCurrentSettings
* Display on m_MessagesList the current global settings:
* minimal values for tracks, vias, clearance ...
*/
void PrintCurrentSettings( ); void PrintCurrentSettings( );
/** /**
......
...@@ -347,7 +347,12 @@ public: ...@@ -347,7 +347,12 @@ public:
// Fit(); // Fit();
// We derive from DIALOG_SHIM so prior size will be used anyways. // We derive from DIALOG_SHIM so prior size will be used anyways.
// select the last selected page
m_auinotebook->SetSelection( m_pageNdx );
// fire pageChangedHandler() so m_cur_grid gets set // fire pageChangedHandler() so m_cur_grid gets set
// m_auinotebook->SetSelection will generate a pageChangedHandler()
// event call later, but too late.
wxAuiNotebookEvent uneventful; wxAuiNotebookEvent uneventful;
pageChangedHandler( uneventful ); pageChangedHandler( uneventful );
...@@ -494,8 +499,8 @@ private: ...@@ -494,8 +499,8 @@ private:
void pageChangedHandler( wxAuiNotebookEvent& event ) void pageChangedHandler( wxAuiNotebookEvent& event )
{ {
int pageNdx = m_auinotebook->GetSelection(); m_pageNdx = m_auinotebook->GetSelection();
m_cur_grid = ( pageNdx == 0 ) ? m_global_grid : m_project_grid; m_cur_grid = ( m_pageNdx == 0 ) ? m_global_grid : m_project_grid;
} }
void appendRowHandler( wxMouseEvent& event ) void appendRowHandler( wxMouseEvent& event )
...@@ -746,8 +751,11 @@ private: ...@@ -746,8 +751,11 @@ private:
FP_TBL_MODEL* cur_model() const { return (FP_TBL_MODEL*) m_cur_grid->GetTable(); } FP_TBL_MODEL* cur_model() const { return (FP_TBL_MODEL*) m_cur_grid->GetTable(); }
wxGrid* m_cur_grid; ///< changed based on tab choice wxGrid* m_cur_grid; ///< changed based on tab choice
static int m_pageNdx; ///< Remember the last notebook page selected during a session
}; };
int DIALOG_FP_LIB_TABLE::m_pageNdx = 0;
int InvokePcbLibTableEditor( wxTopLevelWindow* aParent, FP_LIB_TABLE* aGlobal, FP_LIB_TABLE* aProject ) int InvokePcbLibTableEditor( wxTopLevelWindow* aParent, FP_LIB_TABLE* aGlobal, FP_LIB_TABLE* aProject )
{ {
......
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
// C++ code generated with wxFormBuilder (version Nov 6 2013) // C++ code generated with wxFormBuilder (version Jun 5 2014)
// http://www.wxformbuilder.org/ // http://www.wxformbuilder.org/
// //
// PLEASE DO "NOT" EDIT THIS FILE! // PLEASE DO "NOT" EDIT THIS FILE!
...@@ -98,12 +98,12 @@ DIALOG_FP_LIB_TABLE_BASE::DIALOG_FP_LIB_TABLE_BASE( wxWindow* parent, wxWindowID ...@@ -98,12 +98,12 @@ DIALOG_FP_LIB_TABLE_BASE::DIALOG_FP_LIB_TABLE_BASE( wxWindow* parent, wxWindowID
wxBoxSizer* bSizer51; wxBoxSizer* bSizer51;
bSizer51 = new wxBoxSizer( wxHORIZONTAL ); bSizer51 = new wxBoxSizer( wxHORIZONTAL );
m_append_button = new wxButton( this, wxID_ANY, _("Append Row"), wxDefaultPosition, wxDefaultSize, 0 ); m_append_button = new wxButton( this, wxID_ANY, _("Append Library"), wxDefaultPosition, wxDefaultSize, 0 );
m_append_button->SetToolTip( _("Add a PCB library row to this table") ); m_append_button->SetToolTip( _("Add a PCB library row to this table") );
bSizer51->Add( m_append_button, 0, wxALL, 5 ); bSizer51->Add( m_append_button, 0, wxALL, 5 );
m_delete_button = new wxButton( this, wxID_ANY, _("Delete Row"), wxDefaultPosition, wxDefaultSize, 0 ); m_delete_button = new wxButton( this, wxID_ANY, _("Remove Library"), wxDefaultPosition, wxDefaultSize, 0 );
m_delete_button->SetToolTip( _("Remove a PCB library from this library table") ); m_delete_button->SetToolTip( _("Remove a PCB library from this library table") );
bSizer51->Add( m_delete_button, 0, wxALL, 5 ); bSizer51->Add( m_delete_button, 0, wxALL, 5 );
......
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?> <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<wxFormBuilder_Project> <wxFormBuilder_Project>
<FileVersion major="1" minor="11" /> <FileVersion major="1" minor="13" />
<object class="Project" expanded="1"> <object class="Project" expanded="1">
<property name="class_decoration"></property> <property name="class_decoration"></property>
<property name="code_generation">C++</property> <property name="code_generation">C++</property>
...@@ -696,7 +696,7 @@ ...@@ -696,7 +696,7 @@
<property name="gripper">0</property> <property name="gripper">0</property>
<property name="hidden">0</property> <property name="hidden">0</property>
<property name="id">wxID_ANY</property> <property name="id">wxID_ANY</property>
<property name="label">Append Row</property> <property name="label">Append Library</property>
<property name="max_size"></property> <property name="max_size"></property>
<property name="maximize_button">0</property> <property name="maximize_button">0</property>
<property name="maximum_size"></property> <property name="maximum_size"></property>
...@@ -784,7 +784,7 @@ ...@@ -784,7 +784,7 @@
<property name="gripper">0</property> <property name="gripper">0</property>
<property name="hidden">0</property> <property name="hidden">0</property>
<property name="id">wxID_ANY</property> <property name="id">wxID_ANY</property>
<property name="label">Delete Row</property> <property name="label">Remove Library</property>
<property name="max_size"></property> <property name="max_size"></property>
<property name="maximize_button">0</property> <property name="maximize_button">0</property>
<property name="maximum_size"></property> <property name="maximum_size"></property>
......
/////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////
// C++ code generated with wxFormBuilder (version Nov 6 2013) // C++ code generated with wxFormBuilder (version Jun 5 2014)
// http://www.wxformbuilder.org/ // http://www.wxformbuilder.org/
// //
// PLEASE DO "NOT" EDIT THIS FILE! // PLEASE DO "NOT" EDIT THIS FILE!
......
...@@ -215,7 +215,11 @@ IO_MGR::PCB_FILE_T IO_MGR::GuessPluginTypeFromLibPath( const wxString& aLibPath ...@@ -215,7 +215,11 @@ IO_MGR::PCB_FILE_T IO_MGR::GuessPluginTypeFromLibPath( const wxString& aLibPath
// mistakenly put a pretty library into a directory other than // mistakenly put a pretty library into a directory other than
// *.pretty/ with *.kicad_mod in there., and I don't want to return -1, // *.pretty/ with *.kicad_mod in there., and I don't want to return -1,
// since we only claimed to be guessing. // since we only claimed to be guessing.
else if( fn.GetExt() == KiCadFootprintLibPathExtension ) //
// However libraries on GitHub have names ending by .pretty
// so test also this is not a name starting by http (including https).
else if( fn.GetExt() == KiCadFootprintLibPathExtension &&
!aLibPath.StartsWith( wxT( "http" ) ) )
{ {
ret = KICAD; ret = KICAD;
} }
......
...@@ -530,7 +530,6 @@ void FOOTPRINT_EDIT_FRAME::OnSaveLibraryAs( wxCommandEvent& aEvent ) ...@@ -530,7 +530,6 @@ void FOOTPRINT_EDIT_FRAME::OnSaveLibraryAs( wxCommandEvent& aEvent )
PLUGIN::RELEASER dst( IO_MGR::PluginFind( dstType ) ); PLUGIN::RELEASER dst( IO_MGR::PluginFind( dstType ) );
wxArrayString mods = cur->FootprintEnumerate( curLibPath ); wxArrayString mods = cur->FootprintEnumerate( curLibPath );
for( unsigned i = 0; i < mods.size(); ++i ) for( unsigned i = 0; i < mods.size(); ++i )
{ {
std::auto_ptr<MODULE> m( cur->FootprintLoad( curLibPath, mods[i] ) ); std::auto_ptr<MODULE> m( cur->FootprintLoad( curLibPath, mods[i] ) );
......
...@@ -86,7 +86,6 @@ BEGIN_EVENT_TABLE( FOOTPRINT_EDIT_FRAME, PCB_BASE_FRAME ) ...@@ -86,7 +86,6 @@ BEGIN_EVENT_TABLE( FOOTPRINT_EDIT_FRAME, PCB_BASE_FRAME )
EVT_TOOL( ID_MODEDIT_DELETE_PART, FOOTPRINT_EDIT_FRAME::Process_Special_Functions ) EVT_TOOL( ID_MODEDIT_DELETE_PART, FOOTPRINT_EDIT_FRAME::Process_Special_Functions )
EVT_TOOL( ID_MODEDIT_NEW_MODULE, FOOTPRINT_EDIT_FRAME::Process_Special_Functions ) EVT_TOOL( ID_MODEDIT_NEW_MODULE, FOOTPRINT_EDIT_FRAME::Process_Special_Functions )
EVT_TOOL( ID_MODEDIT_NEW_MODULE_FROM_WIZARD, FOOTPRINT_EDIT_FRAME::Process_Special_Functions ) EVT_TOOL( ID_MODEDIT_NEW_MODULE_FROM_WIZARD, FOOTPRINT_EDIT_FRAME::Process_Special_Functions )
EVT_TOOL( ID_MODEDIT_LOAD_MODULE, FOOTPRINT_EDIT_FRAME::Process_Special_Functions )
EVT_TOOL( ID_MODEDIT_IMPORT_PART, FOOTPRINT_EDIT_FRAME::Process_Special_Functions ) EVT_TOOL( ID_MODEDIT_IMPORT_PART, FOOTPRINT_EDIT_FRAME::Process_Special_Functions )
EVT_TOOL( ID_MODEDIT_EXPORT_PART, FOOTPRINT_EDIT_FRAME::Process_Special_Functions ) EVT_TOOL( ID_MODEDIT_EXPORT_PART, FOOTPRINT_EDIT_FRAME::Process_Special_Functions )
EVT_TOOL( ID_MODEDIT_CREATE_NEW_LIB_AND_SAVE_CURRENT_PART, EVT_TOOL( ID_MODEDIT_CREATE_NEW_LIB_AND_SAVE_CURRENT_PART,
......
...@@ -236,8 +236,8 @@ static inline double mapY( int y ) ...@@ -236,8 +236,8 @@ static inline double mapY( int y )
/** /**
* Function mapPt * Function mapPt
* converts a KiCad point into a DSN file point. Kicad's BOARD coordinates * converts a KiCad point into a DSN file point. Kicad's BOARD coordinates
* are in deci-mils (i.e. 1/10,000th of an inch) and we are exporting in units * are in nanometers (called Internal Units or IU)and we are exporting in units
* of mils, so we have to divide by 10. * of mils, so we have to scale them.
*/ */
static POINT mapPt( const wxPoint& pt ) static POINT mapPt( const wxPoint& pt )
{ {
...@@ -864,12 +864,14 @@ static void makeCircle( PATH* aPath, DRAWSEGMENT* aGraphic ) ...@@ -864,12 +864,14 @@ static void makeCircle( PATH* aPath, DRAWSEGMENT* aGraphic )
// do a circle segmentation // do a circle segmentation
const int STEPS = 2 * 36; const int STEPS = 2 * 36;
wxPoint start;
wxPoint center = aGraphic->GetCenter();
int radius = aGraphic->GetRadius(); int radius = aGraphic->GetRadius();
double angle = 3600.0;
start = center; if( radius <= 0 ) // Should not occur, but ...
return;
wxPoint center = aGraphic->GetCenter();
double angle = 3600.0;
wxPoint start = center;
start.x += radius; start.x += radius;
wxPoint nextPt; wxPoint nextPt;
...@@ -990,7 +992,8 @@ void SPECCTRA_DB::fillBOUNDARY( BOARD* aBoard, BOUNDARY* boundary ) throw( IO_ER ...@@ -990,7 +992,8 @@ void SPECCTRA_DB::fillBOUNDARY( BOARD* aBoard, BOUNDARY* boundary ) throw( IO_ER
// pt has minimum x point // pt has minimum x point
pt.x -= graphic->GetRadius(); pt.x -= graphic->GetRadius();
if( pt.x < xmin.x ) // when the radius <= 0, this is a mal-formed circle. Skip it
if( graphic->GetRadius() > 0 && pt.x < xmin.x )
{ {
xmin = pt; xmin = pt;
xmini = i; xmini = i;
...@@ -1020,7 +1023,7 @@ void SPECCTRA_DB::fillBOUNDARY( BOARD* aBoard, BOUNDARY* boundary ) throw( IO_ER ...@@ -1020,7 +1023,7 @@ void SPECCTRA_DB::fillBOUNDARY( BOARD* aBoard, BOUNDARY* boundary ) throw( IO_ER
// Set maximum proximity threshold for point to point nearness metric for // Set maximum proximity threshold for point to point nearness metric for
// board perimeter only, not interior keepouts yet. // board perimeter only, not interior keepouts yet.
prox = Millimeter2iu( 0.002 ); // should be enough to fix rounding issues prox = Millimeter2iu( 0.01 ); // should be enough to fix rounding issues
// is arc start and end point calculations // is arc start and end point calculations
// Output the Edge.Cuts perimeter as circle or polygon. // Output the Edge.Cuts perimeter as circle or polygon.
......
...@@ -1019,7 +1019,7 @@ bool DRAWING_TOOL::drawSegment( int aShape, DRAWSEGMENT*& aGraphic, ...@@ -1019,7 +1019,7 @@ bool DRAWING_TOOL::drawSegment( int aShape, DRAWSEGMENT*& aGraphic,
else if( evt->IsAction( &COMMON_ACTIONS::decWidth ) ) else if( evt->IsAction( &COMMON_ACTIONS::decWidth ) )
{ {
if( lineWidth > WIDTH_STEP ) if( lineWidth > (unsigned) WIDTH_STEP )
{ {
lineWidth -= WIDTH_STEP; lineWidth -= WIDTH_STEP;
aGraphic->SetWidth( lineWidth ); aGraphic->SetWidth( lineWidth );
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment