Commit 4428d69a authored by jean-pierre charras's avatar jean-pierre charras

Pcbnew: Fix a bug when reading a netlist which forces pcbnew to read lib files...

Pcbnew: Fix a bug when reading a netlist which forces pcbnew to read lib files to find a footprint even if the right footprint is already loaded (which explains the long time to load netlists)
Netlist dialog: add option to report only most important messages. Useful for large boards.
class REPORTER: add features to allow a basic message filtering (flags to report all/warning/error messages)
Fix Bug #1214599 ( tools are deselected on Move command )
parent 0be39929
......@@ -28,7 +28,6 @@
#include <macros.h>
#include <reporter.h>
REPORTER& REPORTER::Report( const char* aText )
{
Report( FROM_UTF8( aText ) );
......
EESchema-LIBRARY Version 2.3 Date: 07/08/2013 15:43:07
EESchema-LIBRARY Version 2.3
#encoding utf-8
#
# 4003APG120
......
Cmp-Mod V01 Created by CvPCB (2011-03-30 BZR 2935)-testing date = 02/04/2011 13:22:13
Cmp-Mod V01 Created by CvPcb (2013-08-20 BZR 4294)-product date = 21/08/2013 18:12:43
BeginCmp
TimeStamp = /322D3011;
......
This source diff could not be displayed because it is too large. You can view the blob instead.
# EESchema Netlist Version 1.1 created 23/01/2012 08:38:24
(
( /4A087146 $noname U3 74LS541 {Lib=74LS541}
( 1 GND )
( 2 /PC-A1 )
( 3 /PC-A0 )
( 4 /PC-A2 )
( 5 /PC-A3 )
( 6 /PC-IOW )
( 7 /PC-IOR )
( 8 /PC-RST )
( 9 /PC-RST )
( 10 GND )
( 11 ? )
( 12 /RSTL )
( 13 /PC-RD )
( 14 /PC-WR )
( 15 N-000111 )
( 16 N-000110 )
( 17 N-000109 )
( 18 N-000108 )
( 19 GND )
( 20 VCC )
)
( /32568D1E pin_array_8x2 JP1 CONN_8X2 {Lib=CONN_8X2}
( 1 GND )
( 2 /REF10 )
( 3 GND )
( 4 /REF11 )
( 5 GND )
( 6 /REF7 )
( 7 GND )
( 8 /REF9 )
( 9 GND )
( 10 /REF6 )
( 11 GND )
( 12 /REF8 )
( 13 GND )
( 14 /REF4 )
( 15 GND )
( 16 /REF5 )
)
( /325679C1 r_pack9 RR1 9x1K {Lib=RR9}
( 1 VCC )
( 2 /REF5 )
( 3 /REF4 )
( 4 /REF8 )
( 5 /REF6 )
( 6 /REF9 )
( 7 /REF7 )
( 8 /REF11 )
( 9 /REF10 )
( 10 ? )
)
( /3256759C DB25FC P1 DB25FEMELLE {Lib=DB25}
( 1 /STROBE )
( 2 /BIT0 )
( 3 /BIT1 )
( 4 /BIT2 )
( 5 /BIT3 )
( 6 /BIT4 )
( 7 /BIT5 )
( 8 /BIT6 )
( 9 /BIT7 )
( 10 /ACK )
( 11 /BUST+ )
( 12 /PE+ )
( 13 /SLCT+ )
( 14 /AUTOFD- )
( 15 /ERROR- )
( 16 /INIT- )
( 17 /SLCTIN- )
( 18 GND )
( 19 GND )
( 20 GND )
( 21 GND )
( 22 GND )
( 23 GND )
( 24 GND )
( 25 GND )
)
( /324002E6 R3 R3 10K {Lib=R}
( 1 N-000072 )
( 2 VCC )
)
( /3240023F 32dip600 U5 628128 {Lib=628128}
( 2 /MA16 )
( 3 /MA14 )
( 4 /MA12 )
( 5 /MA7 )
( 6 /MA6 )
( 7 /MA5 )
( 8 /MA4 )
( 9 /MA3 )
( 10 /MA2 )
( 11 /MA1 )
( 12 /MA0 )
( 13 /MD0 )
( 14 /MD1 )
( 15 /MD2 )
( 16 GND )
( 17 /MD3 )
( 18 /MD4 )
( 19 /MD5 )
( 20 /MD6 )
( 21 /MD7 )
( 22 /CS1- )
( 23 /MA10 )
( 24 /OE- )
( 25 /MA11 )
( 26 /MA9 )
( 27 /MA8 )
( 28 /MA13 )
( 29 /WR- )
( 30 N-000072 )
( 31 /MA15 )
( 32 VCC )
)
( /32307ED4 C1 C3 47pF {Lib=C}
( 1 N-000146 )
( 2 GND )
)
( /32307ECF C1 C2 47pF {Lib=C}
( 1 N-000145 )
( 2 GND )
)
( /32307EC0 HC-18UH X1 8MHz {Lib=CRYSTAL}
( 1 N-000145 )
( 2 N-000146 )
)
( /32307EAA R3 R2 1K {Lib=R}
( 1 /8MH-OUT )
( 2 N-000146 )
)
( /32307EA1 R3 R1 100K {Lib=R}
( 1 N-000146 )
( 2 N-000145 )
)
( /32307DE2 CP6 C1 47uF {Lib=CP}
( 1 VCC )
( 2 GND )
)
( /32307DCF CP6 C4 47uF {Lib=CP}
( 1 VCC )
( 2 GND )
)
( /32307DCA CP6 C5 47uF {Lib=CP}
( 1 VCC )
( 2 GND )
)
( /32307DC0 CP6 C6 47uF {Lib=CP}
( 1 VCC )
( 2 GND )
)
( /322D35B4 20dip300 U2 74LS688 {Lib=74LS688}
( 1 /PC-AEN )
( 2 /PC-A5 )
( 3 /REF5 )
( 4 /PC-A8 )
( 5 /REF8 )
( 6 /PC-A9 )
( 7 /REF9 )
( 8 /PC-A11 )
( 9 /REF11 )
( 10 GND )
( 11 /PC-A10 )
( 12 /REF10 )
( 13 /PC-A7 )
( 14 /REF7 )
( 15 /PC-A6 )
( 16 /REF6 )
( 17 /PC-A4 )
( 18 /REF4 )
( 19 /MATCHL )
( 20 VCC )
)
( /322D32FA PGA120 U9 4003APG120 {Lib=4003APG120}
( A1 ? )
( A2 ? )
( A3 ? )
( A4 /MA9 )
( A5 /MD1 )
( A6 /MD3 )
( A7 /MD4 )
( A8 /MD5 )
( A9 /MD6 )
( A10 /CS1- )
( A11 /MA0 )
( A12 /STROBE )
( A13 /WR- )
( B1 ? )
( B2 /MA1 )
( B3 /MA7 )
( B4 ? )
( B5 ? )
( B6 /MD2 )
( B7 GND )
( B8 /MD7 )
( B9 /OE- )
( B10 ? )
( B11 VCC )
( B12 VCC )
( B13 ? )
( C1 /MA13 )
( C2 /MA3 )
( C3 VCC )
( C4 GND )
( C5 ? )
( C6 /MD0 )
( C8 /MA16 )
( C9 /MA10 )
( C10 GND )
( C11 VCC )
( C12 /AUTOFD- )
( C13 /MA5 )
( D1 /MA14 )
( D2 /MA11 )
( D3 /MA2 )
( D11 VCC )
( D12 /BIT0 )
( D13 /ERROR- )
( E1 /MA4 )
( E2 ? )
( E3 ? )
( E11 ? )
( E12 /INIT- )
( E13 /BIT1 )
( F1 /MA15 )
( F2 /MA6 )
( F3 /MA12 )
( F11 /SLCTIN- )
( F12 /BIT2 )
( F13 /LED2 )
( G1 /MA8 )
( G2 GND )
( G11 GND )
( G12 VCC )
( G13 /BIT3 )
( H1 /PC-A8 )
( H2 /PC-A7 )
( H3 /PC-A4 )
( H11 /BIT7 )
( H12 /BIT5 )
( H13 /BIT4 )
( J1 /PC-A6 )
( J2 /PC-A5 )
( J3 ? )
( J11 ? )
( J12 /BUST+ )
( J13 /BIT6 )
( K1 /8MH-OUT )
( K2 /PC-A3 )
( K3 GND )
( K11 GND )
( K12 ? )
( K13 /ACK )
( L1 N-000145 )
( L2 /SEL_LPT )
( L3 VCC )
( L4 /CLKLCA )
( L5 ? )
( L6 ? )
( L7 GND )
( L8 /PC-A10 )
( L9 ? )
( L10 VCC )
( L11 /DONE )
( L12 /D7 )
( L13 /PE+ )
( M1 ? )
( M2 ? )
( M3 /LED1 )
( M4 /CLKLCA )
( M5 /PC-A2 )
( M6 /PC-A0 )
( M7 VCC )
( M8 /PC-RD )
( M9 /D3 )
( M10 /D4 )
( M11 /D6 )
( M12 /PROG- )
( N1 ? )
( N2 /D0 )
( N3 ? )
( N4 /PC-A1 )
( N5 ? )
( N6 /PC-WR )
( N7 /PC-A9 )
( N8 /D1 )
( N9 /D2 )
( N10 /PC-AEN )
( N11 /D5 )
( N12 ? )
( N13 /SLCT+ )
)
( /322D32BE LEDV D2 LED {Lib=LED}
( 1 N-000103 )
( 2 GND )
)
( /322D32AC LEDV D1 LED {Lib=LED}
( 1 N-000107 )
( 2 GND )
)
( /322D32A0 R3 R5 330 {Lib=R}
( 1 N-000103 )
( 2 /LED2 )
)
( /322D3295 R3 R4 330 {Lib=R}
( 1 N-000107 )
( 2 /LED1 )
)
( /322D321C 24dip300 U8 EP600 {Lib=EP600}
( 1 GND )
( 2 /MATCHL )
( 3 N-000108 )
( 4 N-000109 )
( 5 N-000110 )
( 6 N-000111 )
( 7 /PC-WR )
( 8 ? )
( 9 ? )
( 10 ? )
( 11 /RSTL )
( 12 GND )
( 13 /WR_REG )
( 14 /PC-RD )
( 15 /WR_REG )
( 16 /CLKLCA )
( 17 /DIR )
( 18 /SEL_LPT )
( 19 /PROG- )
( 20 /DONE )
( 21 /D0 )
( 22 /ENBBUF )
( 23 VCC )
( 24 VCC )
)
( /322D31F4 20dip300 U1 74LS245 {Lib=74LS245}
( 1 /DIR )
( 2 /PC-DB0 )
( 3 /PC-DB1 )
( 4 /PC-DB2 )
( 5 /PC-DB3 )
( 6 /PC-DB4 )
( 7 /PC-DB5 )
( 8 /PC-DB6 )
( 9 /PC-DB7 )
( 10 GND )
( 11 /D7 )
( 12 /D6 )
( 13 /D5 )
( 14 /D4 )
( 15 /D3 )
( 16 /D2 )
( 17 /D1 )
( 18 /D0 )
( 19 /ENBBUF )
( 20 VCC )
)
( /322D3011 BUS_PC BUS1 BUSPC {Lib=BUSPC}
( 1 GND )
( 2 /PC-RST )
( 3 VCC )
( 4 ? )
( 5 ? )
( 6 ? )
( 7 ? )
( 8 ? )
( 9 ? )
( 10 ? )
( 11 ? )
( 12 ? )
( 13 /PC-IOW )
( 14 /PC-IOR )
( 15 ? )
( 16 ? )
( 17 ? )
( 18 ? )
( 19 ? )
( 20 ? )
( 21 ? )
( 22 ? )
( 23 ? )
( 24 ? )
( 25 ? )
( 26 ? )
( 27 ? )
( 28 ? )
( 29 VCC )
( 30 ? )
( 31 GND )
( 32 ? )
( 33 /PC-DB7 )
( 34 /PC-DB6 )
( 35 /PC-DB5 )
( 36 /PC-DB4 )
( 37 /PC-DB3 )
( 38 /PC-DB2 )
( 39 /PC-DB1 )
( 40 /PC-DB0 )
( 41 ? )
( 42 /PC-AEN )
( 43 ? )
( 44 ? )
( 45 ? )
( 46 ? )
( 47 ? )
( 48 ? )
( 49 ? )
( 50 ? )
( 51 /PC-A11 )
( 52 /PC-A10 )
( 53 /PC-A9 )
( 54 /PC-A8 )
( 55 /PC-A7 )
( 56 /PC-A6 )
( 57 /PC-A5 )
( 58 /PC-A4 )
( 59 /PC-A3 )
( 60 /PC-A2 )
( 61 /PC-A1 )
( 62 /PC-A0 )
)
)
*
{ Allowed footprints by component:
$component P1
DB25*
$endlist
$component R3
R?
SM0603
SM0805
R?-*
SM1206
$endlist
$component C3
SM*
C?
C1-1
$endlist
$component C2
SM*
C?
C1-1
$endlist
$component R2
R?
SM0603
SM0805
R?-*
SM1206
$endlist
$component R1
R?
SM0603
SM0805
R?-*
SM1206
$endlist
$component C1
CP*
SM*
$endlist
$component C4
CP*
SM*
$endlist
$component C5
CP*
SM*
$endlist
$component C6
CP*
SM*
$endlist
$component D2
LED-3MM
LED-5MM
LED-10MM
LED-0603
LED-0805
LED-1206
LEDV
$endlist
$component D1
LED-3MM
LED-5MM
LED-10MM
LED-0603
LED-0805
LED-1206
LEDV
$endlist
$component R5
R?
SM0603
SM0805
R?-*
SM1206
$endlist
$component R4
R?
SM0603
SM0805
R?-*
SM1206
$endlist
$endfootprintlist
}
{ Pin List by Nets
Net 15 "/PC-RST" "PC-RST"
BUS1 2
U3 8
U3 9
Net 16 "/PC-IOR" "PC-IOR"
BUS1 14
U3 7
Net 17 "/PC-IOW" "PC-IOW"
U3 6
BUS1 13
Net 19 "/PC-A1" "PC-A1"
BUS1 61
U9 N4
U3 2
Net 20 "/PC-A0" "PC-A0"
U9 M6
BUS1 62
U3 3
Net 21 "GND" "GND"
P1 18
U9 G11
U9 K11
U9 C10
U9 G2
BUS1 1
D2 2
U1 10
U9 C4
P1 20
D1 2
U9 K3
U8 1
U9 L7
U9 B7
JP1 13
JP1 11
P1 25
U5 16
P1 24
P1 23
JP1 15
U8 12
P1 22
P1 21
C1 2
C4 2
C5 2
C6 2
U2 10
C3 2
U3 10
U3 19
U3 1
JP1 7
JP1 5
JP1 3
JP1 1
C2 2
BUS1 31
P1 19
JP1 9
Net 22 "VCC" "VCC"
C1 1
C4 1
U8 24
C5 1
U8 23
C6 1
U2 20
U9 B12
U9 L3
U9 M7
U3 20
U9 D11
U1 20
U9 C11
U9 B11
R3 2
BUS1 3
BUS1 29
U9 G12
U5 32
U9 C3
U9 L10
RR1 1
Net 23 "/PC-AEN" "PC-AEN"
U9 N10
BUS1 42
U2 1
Net 52 "/MA8" "MA8"
U9 G1
U5 27
Net 53 "/MD4" "MD4"
U9 A7
U5 18
Net 54 "/MA13" "MA13"
U5 28
U9 C1
Net 55 "/MD5" "MD5"
U9 A8
U5 19
Net 56 "/WR-" "WR-"
U5 29
U9 A13
Net 57 "/MD3" "MD3"
U5 17
U9 A6
Net 61 "/RSTL" "RSTL"
U3 12
U8 11
Net 63 "/MA16" "MA16"
U9 C8
U5 2
Net 64 "/MA14" "MA14"
U5 3
U9 D1
Net 65 "/MA12" "MA12"
U9 F3
U5 4
Net 66 "/MA7" "MA7"
U5 5
U9 B3
Net 67 "/MA6" "MA6"
U9 F2
U5 6
Net 68 "/MA5" "MA5"
U9 C13
U5 7
Net 69 "/MA4" "MA4"
U9 E1
U5 8
Net 70 "/MA3" "MA3"
U5 9
U9 C2
Net 71 "/MD6" "MD6"
U9 A9
U5 20
Net 72 "" ""
R3 1
U5 30
Net 73 "/MD7" "MD7"
U5 21
U9 B8
Net 74 "/MA15" "MA15"
U5 31
U9 F1
Net 75 "/MA0" "MA0"
U5 12
U9 A11
Net 76 "/CS1-" "CS1-"
U9 A10
U5 22
Net 77 "/MD0" "MD0"
U9 C6
U5 13
Net 78 "/MA10" "MA10"
U5 23
U9 C9
Net 79 "/MD1" "MD1"
U5 14
U9 A5
Net 80 "/OE-" "OE-"
U5 24
U9 B9
Net 81 "/MD2" "MD2"
U5 15
U9 B6
Net 82 "/MA11" "MA11"
U5 25
U9 D2
Net 83 "/MA9" "MA9"
U5 26
U9 A4
Net 84 "/DIR" "DIR"
U8 17
U1 1
Net 85 "/ENBBUF" "ENBBUF"
U8 22
U1 19
Net 86 "/PC-RD" "PC-RD"
U8 14
U3 13
U9 M8
Net 87 "/SEL_LPT" "SEL_LPT"
U8 18
U9 L2
Net 88 "/PC-DB0" "PC-DB0"
U1 2
BUS1 40
Net 89 "/PC-DB1" "PC-DB1"
U1 3
BUS1 39
Net 90 "/PC-DB2" "PC-DB2"
U1 4
BUS1 38
Net 91 "/PC-DB3" "PC-DB3"
U1 5
BUS1 37
Net 92 "/PC-DB4" "PC-DB4"
BUS1 36
U1 6
Net 93 "/PC-DB5" "PC-DB5"
U1 7
BUS1 35
Net 94 "/PC-DB6" "PC-DB6"
U1 8
BUS1 34
Net 95 "/PC-DB7" "PC-DB7"
BUS1 33
U1 9
Net 96 "/D7" "D7"
U9 L12
U1 11
Net 97 "/D6" "D6"
U9 M11
U1 12
Net 98 "/D5" "D5"
U9 N11
U1 13
Net 99 "/D4" "D4"
U9 M10
U1 14
Net 100 "/D3" "D3"
U9 M9
U1 15
Net 101 "/D2" "D2"
U1 16
U9 N9
Net 102 "/D1" "D1"
U1 17
U9 N8
Net 103 "" ""
D2 1
R5 1
Net 105 "/LED2" "LED2"
R5 2
U9 F13
Net 106 "/D0" "D0"
U8 21
U9 N2
U1 18
Net 107 "" ""
D1 1
R4 1
Net 108 "" ""
U3 18
U8 3
Net 109 "" ""
U3 17
U8 4
Net 110 "" ""
U3 16
U8 5
Net 111 "" ""
U3 15
U8 6
Net 112 "/PC-WR" "PC-WR"
U8 7
U9 N6
U3 14
Net 113 "/PC-A6" "PC-A6"
U9 J1
BUS1 56
U2 15
Net 114 "/PC-A9" "PC-A9"
U9 N7
BUS1 53
U2 6
Net 115 "/PC-A8" "PC-A8"
U2 4
U9 H1
BUS1 54
Net 116 "/PC-A7" "PC-A7"
BUS1 55
U9 H2
U2 13
Net 117 "/PC-A5" "PC-A5"
BUS1 57
U2 2
U9 J2
Net 118 "/PC-A4" "PC-A4"
BUS1 58
U9 H3
U2 17
Net 119 "/PC-A3" "PC-A3"
U3 5
U9 K2
BUS1 59
Net 120 "/PC-A2" "PC-A2"
U3 4
U9 M5
BUS1 60
Net 121 "/PC-A11" "PC-A11"
U2 8
BUS1 51
Net 122 "/PC-A10" "PC-A10"
U9 L8
BUS1 52
U2 11
Net 123 "/LED1" "LED1"
U9 M3
R4 2
Net 125 "/MA2" "MA2"
U9 D3
U5 10
Net 128 "/CLKLCA" "CLKLCA"
U8 16
U9 L4
U9 M4
Net 131 "/MATCHL" "MATCHL"
U2 19
U8 2
Net 134 "/MA1" "MA1"
U5 11
U9 B2
Net 137 "/DONE" "DONE"
U8 20
U9 L11
Net 139 "/PROG-" "PROG-"
U8 19
U9 M12
Net 144 "/WR_REG" "WR_REG"
U8 13
U8 15
Net 145 "" ""
X1 1
C2 1
R1 2
U9 L1
Net 146 "" ""
X1 2
R1 1
C3 1
R2 2
Net 147 "/BIT6" "BIT6"
U9 J13
P1 8
Net 148 "/BIT7" "BIT7"
P1 9
U9 H11
Net 149 "/ACK" "ACK"
P1 10
U9 K13
Net 150 "/BUST+" "BUST+"
U9 J12
P1 11
Net 151 "/PE+" "PE+"
P1 12
U9 L13
Net 152 "/SLCT+" "SLCT+"
P1 13
U9 N13
Net 153 "/BIT5" "BIT5"
U9 H12
P1 7
Net 154 "/8MH-OUT" "8MH-OUT"
R2 1
U9 K1
Net 156 "/STROBE" "STROBE"
P1 1
U9 A12
Net 157 "/AUTOFD-" "AUTOFD-"
P1 14
U9 C12
Net 158 "/ERROR-" "ERROR-"
P1 15
U9 D13
Net 159 "/BIT2" "BIT2"
U9 F12
P1 4
Net 160 "/INIT-" "INIT-"
P1 16
U9 E12
Net 161 "/SLCTIN-" "SLCTIN-"
P1 17
U9 F11
Net 162 "/BIT0" "BIT0"
U9 D12
P1 2
Net 163 "/BIT1" "BIT1"
P1 3
U9 E13
Net 164 "/BIT3" "BIT3"
U9 G13
P1 5
Net 165 "/BIT4" "BIT4"
P1 6
U9 H13
Net 166 "/REF10" "REF10"
U2 12
JP1 2
RR1 9
Net 167 "/REF11" "REF11"
JP1 4
RR1 8
U2 9
Net 168 "/REF7" "REF7"
JP1 6
RR1 7
U2 14
Net 169 "/REF9" "REF9"
JP1 8
U2 7
RR1 6
Net 170 "/REF6" "REF6"
U2 16
RR1 5
JP1 10
Net 171 "/REF8" "REF8"
RR1 4
U2 5
JP1 12
Net 172 "/REF4" "REF4"
RR1 3
U2 18
JP1 14
Net 173 "/REF5" "REF5"
JP1 16
RR1 2
U2 3
}
#End
(export (version D)
(design
(source F:/kicad/share/demos/interf_u/interf_u.sch)
(date "21/08/2013 18:14:13")
(tool "eeschema (2013-08-20 BZR 4294)-product"))
(components
(comp (ref U3)
(value 74LS541)
(footprint DIP-20__300)
(libsource (lib 74xx) (part 74LS541))
(sheetpath (names /) (tstamps /))
(tstamp 4A087146))
(comp (ref JP1)
(value CONN_8X2)
(footprint pin_array_8x2)
(libsource (lib conn) (part CONN_8X2))
(sheetpath (names /) (tstamps /))
(tstamp 32568D1E))
(comp (ref RR1)
(value 9x1K)
(footprint r_pack9)
(libsource (lib device) (part RR9))
(sheetpath (names /) (tstamps /))
(tstamp 325679C1))
(comp (ref P1)
(value DB25FEMELLE)
(footprint DB25FC)
(libsource (lib conn) (part DB25))
(sheetpath (names /) (tstamps /))
(tstamp 3256759C))
(comp (ref R3)
(value 10K)
(footprint R3)
(libsource (lib device) (part R))
(sheetpath (names /) (tstamps /))
(tstamp 324002E6))
(comp (ref U5)
(value 628128)
(footprint DIP-32__600)
(libsource (lib memory) (part 628128))
(sheetpath (names /) (tstamps /))
(tstamp 3240023F))
(comp (ref C3)
(value 47pF)
(footprint C1)
(libsource (lib device) (part C))
(sheetpath (names /) (tstamps /))
(tstamp 32307ED4))
(comp (ref C2)
(value 47pF)
(footprint C1)
(libsource (lib device) (part C))
(sheetpath (names /) (tstamps /))
(tstamp 32307ECF))
(comp (ref X1)
(value 8MHz)
(footprint HC-18UH)
(libsource (lib device) (part CRYSTAL))
(sheetpath (names /) (tstamps /))
(tstamp 32307EC0))
(comp (ref R2)
(value 1K)
(footprint R3)
(libsource (lib device) (part R))
(sheetpath (names /) (tstamps /))
(tstamp 32307EAA))
(comp (ref R1)
(value 100K)
(footprint R3)
(libsource (lib device) (part R))
(sheetpath (names /) (tstamps /))
(tstamp 32307EA1))
(comp (ref C1)
(value 47uF)
(footprint CP6)
(libsource (lib device) (part CP))
(sheetpath (names /) (tstamps /))
(tstamp 32307DE2))
(comp (ref C4)
(value 47uF)
(footprint CP6)
(libsource (lib device) (part CP))
(sheetpath (names /) (tstamps /))
(tstamp 32307DCF))
(comp (ref C5)
(value 47uF)
(footprint CP6)
(libsource (lib device) (part CP))
(sheetpath (names /) (tstamps /))
(tstamp 32307DCA))
(comp (ref C6)
(value 47uF)
(footprint CP6)
(libsource (lib device) (part CP))
(sheetpath (names /) (tstamps /))
(tstamp 32307DC0))
(comp (ref U2)
(value 74LS688)
(footprint DIP-20__300)
(libsource (lib 74xx) (part 74LS688))
(sheetpath (names /) (tstamps /))
(tstamp 322D35B4))
(comp (ref U9)
(value 4003APG120)
(footprint PGA120)
(fields
(field (name price) 50$)
(field (name Field5) test))
(libsource (lib xilinx) (part 4003APG120))
(sheetpath (names /) (tstamps /))
(tstamp 322D32FA))
(comp (ref D2)
(value LED)
(footprint LEDV)
(libsource (lib device) (part LED))
(sheetpath (names /) (tstamps /))
(tstamp 322D32BE))
(comp (ref D1)
(value LED)
(footprint LEDV)
(libsource (lib device) (part LED))
(sheetpath (names /) (tstamps /))
(tstamp 322D32AC))
(comp (ref R5)
(value 330)
(footprint R3)
(libsource (lib device) (part R))
(sheetpath (names /) (tstamps /))
(tstamp 322D32A0))
(comp (ref R4)
(value 330)
(footprint R3)
(libsource (lib device) (part R))
(sheetpath (names /) (tstamps /))
(tstamp 322D3295))
(comp (ref U8)
(value EP600)
(footprint DIP-24__300)
(libsource (lib special) (part EP600))
(sheetpath (names /) (tstamps /))
(tstamp 322D321C))
(comp (ref U1)
(value 74LS245)
(footprint DIP-20__300)
(libsource (lib 74xx) (part 74LS245))
(sheetpath (names /) (tstamps /))
(tstamp 322D31F4))
(comp (ref BUS1)
(value BUSPC)
(footprint BUS_PC)
(libsource (lib conn) (part BUSPC))
(sheetpath (names /) (tstamps /))
(tstamp 322D3011)))
(libparts
(libpart (lib device) (part C)
(description "Condensateur non polarise")
(footprints
(fp SM*)
(fp C?)
(fp C1-1))
(fields
(field (name Reference) C)
(field (name Value) C))
(pins
(pin (num 1) (name ~) (type passive))
(pin (num 2) (name ~) (type passive))))
(libpart (lib device) (part CP)
(description "Condensateur polarise")
(footprints
(fp CP*)
(fp SM*))
(fields
(field (name Reference) C)
(field (name Value) CP))
(pins
(pin (num 1) (name ~) (type passive))
(pin (num 2) (name ~) (type passive))))
(libpart (lib device) (part CRYSTAL)
(fields
(field (name Reference) X)
(field (name Value) CRYSTAL))
(pins
(pin (num 1) (name 1) (type passive))
(pin (num 2) (name 2) (type passive))))
(libpart (lib device) (part LED)
(footprints
(fp LED-3MM)
(fp LED-5MM)
(fp LED-10MM)
(fp LED-0603)
(fp LED-0805)
(fp LED-1206)
(fp LEDV))
(fields
(field (name Reference) D)
(field (name Value) LED))
(pins
(pin (num 1) (name A) (type passive))
(pin (num 2) (name K) (type passive))))
(libpart (lib device) (part R)
(description Resistance)
(footprints
(fp R?)
(fp SM0603)
(fp SM0805)
(fp R?-*)
(fp SM1206))
(fields
(field (name Reference) R)
(field (name Value) R))
(pins
(pin (num 1) (name ~) (type passive))
(pin (num 2) (name ~) (type passive))))
(libpart (lib device) (part RR9)
(fields
(field (name Reference) RR)
(field (name Value) RR9))
(pins
(pin (num 1) (name COM) (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 6) (type passive))
(pin (num 7) (name 7) (type passive))
(pin (num 8) (name 8) (type passive))
(pin (num 9) (name 9) (type passive))
(pin (num 10) (name 10) (type passive))))
(libpart (lib conn) (part BUSPC)
(description "Connecteur BUS ISA 8 Bits")
(fields
(field (name Reference) BUS)
(field (name Value) BUSPC))
(pins
(pin (num 1) (name GND) (type passive))
(pin (num 2) (name RESET) (type output))
(pin (num 3) (name VCC) (type passive))
(pin (num 4) (name INQ2) (type passive))
(pin (num 5) (name -5V) (type passive))
(pin (num 6) (name DRQ2) (type passive))
(pin (num 7) (name -12V) (type passive))
(pin (num 8) (name UNUSED) (type passive))
(pin (num 9) (name +12V) (type passive))
(pin (num 10) (name GND) (type passive))
(pin (num 11) (name MEM) (type output))
(pin (num 12) (name MEM) (type output))
(pin (num 13) (name IOW) (type output))
(pin (num 14) (name IOR) (type output))
(pin (num 15) (name DACK3) (type passive))
(pin (num 16) (name DRQ3) (type passive))
(pin (num 17) (name DACK1) (type passive))
(pin (num 18) (name DRQ1) (type passive))
(pin (num 19) (name DACK0) (type passive))
(pin (num 20) (name CLK) (type output))
(pin (num 21) (name IRQ7) (type passive))
(pin (num 22) (name IRQ6) (type passive))
(pin (num 23) (name IRQ5) (type passive))
(pin (num 24) (name IRQ4) (type passive))
(pin (num 25) (name IRQ3) (type passive))
(pin (num 26) (name DACK2) (type passive))
(pin (num 27) (name TC) (type passive))
(pin (num 28) (name ALE) (type output))
(pin (num 29) (name VCC) (type passive))
(pin (num 30) (name OSC) (type output))
(pin (num 31) (name GND) (type passive))
(pin (num 32) (name IO) (type passive))
(pin (num 33) (name DB7) (type 3state))
(pin (num 34) (name DB6) (type 3state))
(pin (num 35) (name DB5) (type 3state))
(pin (num 36) (name DB4) (type 3state))
(pin (num 37) (name DB3) (type 3state))
(pin (num 38) (name DB2) (type 3state))
(pin (num 39) (name DB1) (type 3state))
(pin (num 40) (name DB0) (type 3state))
(pin (num 41) (name IO_READY) (type passive))
(pin (num 42) (name AEN) (type output))
(pin (num 43) (name BA19) (type 3state))
(pin (num 44) (name BA18) (type 3state))
(pin (num 45) (name BA17) (type 3state))
(pin (num 46) (name BA16) (type 3state))
(pin (num 47) (name BA15) (type 3state))
(pin (num 48) (name BA14) (type 3state))
(pin (num 49) (name BA13) (type 3state))
(pin (num 50) (name BA12) (type 3state))
(pin (num 51) (name BA11) (type 3state))
(pin (num 52) (name BA10) (type 3state))
(pin (num 53) (name BA09) (type 3state))
(pin (num 54) (name BA08) (type 3state))
(pin (num 55) (name BA07) (type 3state))
(pin (num 56) (name BA06) (type 3state))
(pin (num 57) (name BA05) (type 3state))
(pin (num 58) (name BA04) (type 3state))
(pin (num 59) (name BA03) (type 3state))
(pin (num 60) (name BA02) (type 3state))
(pin (num 61) (name BA01) (type 3state))
(pin (num 62) (name BA00) (type 3state))))
(libpart (lib conn) (part CONN_8X2)
(description "ymbole general de connecteur")
(fields
(field (name Reference) P)
(field (name Value) CONN_8X2))
(pins
(pin (num 1) (name ~) (type passive))
(pin (num 2) (name ~) (type passive))
(pin (num 3) (name ~) (type passive))
(pin (num 4) (name ~) (type passive))
(pin (num 5) (name ~) (type passive))
(pin (num 6) (name ~) (type passive))
(pin (num 7) (name ~) (type passive))
(pin (num 8) (name ~) (type passive))
(pin (num 9) (name ~) (type passive))
(pin (num 10) (name ~) (type passive))
(pin (num 11) (name ~) (type passive))
(pin (num 12) (name ~) (type passive))
(pin (num 13) (name ~) (type passive))
(pin (num 14) (name ~) (type passive))
(pin (num 15) (name ~) (type passive))
(pin (num 16) (name ~) (type passive))))
(libpart (lib conn) (part DB25)
(footprints
(fp DB25*))
(fields
(field (name Reference) J)
(field (name Value) DB25))
(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 6) (type passive))
(pin (num 7) (name 7) (type passive))
(pin (num 8) (name 8) (type passive))
(pin (num 9) (name 9) (type passive))
(pin (num 10) (name 10) (type passive))
(pin (num 11) (name 11) (type passive))
(pin (num 12) (name 12) (type passive))
(pin (num 13) (name 13) (type passive))
(pin (num 14) (name P14) (type passive))
(pin (num 15) (name P15) (type passive))
(pin (num 16) (name P16) (type passive))
(pin (num 17) (name P17) (type passive))
(pin (num 18) (name P18) (type passive))
(pin (num 19) (name P19) (type passive))
(pin (num 20) (name P20) (type passive))
(pin (num 21) (name P21) (type passive))
(pin (num 22) (name P22) (type passive))
(pin (num 23) (name P23) (type passive))
(pin (num 24) (name P24) (type passive))
(pin (num 25) (name P25) (type passive))))
(libpart (lib 74xx) (part 74LS245)
(description "Octal BUS Transceivers, 3 State out")
(fields
(field (name Reference) U)
(field (name Value) 74LS245))
(pins
(pin (num 1) (name A->B) (type input))
(pin (num 2) (name A0) (type 3state))
(pin (num 3) (name A1) (type 3state))
(pin (num 4) (name A2) (type 3state))
(pin (num 5) (name A3) (type 3state))
(pin (num 6) (name A4) (type 3state))
(pin (num 7) (name A5) (type 3state))
(pin (num 8) (name A6) (type 3state))
(pin (num 9) (name A7) (type 3state))
(pin (num 10) (name GND) (type power_in))
(pin (num 11) (name B7) (type 3state))
(pin (num 12) (name B6) (type 3state))
(pin (num 13) (name B5) (type 3state))
(pin (num 14) (name B4) (type 3state))
(pin (num 15) (name B3) (type 3state))
(pin (num 16) (name B2) (type 3state))
(pin (num 17) (name B1) (type 3state))
(pin (num 18) (name B0) (type 3state))
(pin (num 19) (name CE) (type input))
(pin (num 20) (name VCC) (type power_in))))
(libpart (lib 74xx) (part 74LS541)
(description "8bits Buffer/Line Driver 3 state Out")
(fields
(field (name Reference) U)
(field (name Value) 74LS541))
(pins
(pin (num 1) (name G1) (type input))
(pin (num 2) (name A0) (type input))
(pin (num 3) (name A1) (type input))
(pin (num 4) (name A2) (type input))
(pin (num 5) (name A3) (type input))
(pin (num 6) (name A4) (type input))
(pin (num 7) (name A5) (type input))
(pin (num 8) (name A6) (type input))
(pin (num 9) (name A7) (type input))
(pin (num 10) (name GND) (type power_in))
(pin (num 11) (name Y7) (type 3state))
(pin (num 12) (name Y6) (type 3state))
(pin (num 13) (name Y5) (type 3state))
(pin (num 14) (name Y4) (type 3state))
(pin (num 15) (name Y3) (type 3state))
(pin (num 16) (name Y2) (type 3state))
(pin (num 17) (name Y1) (type 3state))
(pin (num 18) (name Y0) (type 3state))
(pin (num 19) (name G2) (type input))
(pin (num 20) (name VCC) (type power_in))))
(libpart (lib 74xx) (part 74LS688)
(description "8 bits Comparator")
(fields
(field (name Reference) U)
(field (name Value) 74LS688))
(pins
(pin (num 1) (name G) (type input))
(pin (num 2) (name P0) (type input))
(pin (num 3) (name R0) (type input))
(pin (num 4) (name P1) (type input))
(pin (num 5) (name R1) (type input))
(pin (num 6) (name P2) (type input))
(pin (num 7) (name R2) (type input))
(pin (num 8) (name P3) (type input))
(pin (num 9) (name R3) (type input))
(pin (num 10) (name GND) (type power_in))
(pin (num 11) (name P4) (type input))
(pin (num 12) (name R4) (type input))
(pin (num 13) (name P5) (type input))
(pin (num 14) (name R5) (type input))
(pin (num 15) (name P6) (type input))
(pin (num 16) (name R6) (type input))
(pin (num 17) (name P7) (type input))
(pin (num 18) (name R7) (type input))
(pin (num 19) (name P=R) (type output))
(pin (num 20) (name VCC) (type power_in))))
(libpart (lib memory) (part 628128)
(description "RAM 128 Ko")
(fields
(field (name Reference) U)
(field (name Value) 628128))
(pins
(pin (num 2) (name A16) (type input))
(pin (num 3) (name A14) (type input))
(pin (num 4) (name A12) (type input))
(pin (num 5) (name A7) (type input))
(pin (num 6) (name A6) (type input))
(pin (num 7) (name A5) (type input))
(pin (num 8) (name A4) (type input))
(pin (num 9) (name A3) (type input))
(pin (num 10) (name A2) (type input))
(pin (num 11) (name A1) (type input))
(pin (num 12) (name A0) (type input))
(pin (num 13) (name Q0) (type 3state))
(pin (num 14) (name Q1) (type 3state))
(pin (num 15) (name Q2) (type 3state))
(pin (num 16) (name GND) (type power_in))
(pin (num 17) (name Q3) (type 3state))
(pin (num 18) (name Q4) (type 3state))
(pin (num 19) (name Q5) (type 3state))
(pin (num 20) (name Q6) (type 3state))
(pin (num 21) (name Q7) (type 3state))
(pin (num 22) (name CS1) (type input))
(pin (num 23) (name A10) (type input))
(pin (num 24) (name OE) (type input))
(pin (num 25) (name A11) (type input))
(pin (num 26) (name A9) (type input))
(pin (num 27) (name A8) (type input))
(pin (num 28) (name A13) (type input))
(pin (num 29) (name WR) (type input))
(pin (num 30) (name CS2) (type input))
(pin (num 31) (name A15) (type input))
(pin (num 32) (name VCC) (type power_in))))
(libpart (lib xilinx) (part 4003APG120)
(fields
(field (name Reference) U)
(field (name Value) 4003APG120)
(field (name Footprint) PGA120))
(pins
(pin (num A1) (name NC) (type passive))
(pin (num A2) (name NC) (type passive))
(pin (num A3) (name NC) (type passive))
(pin (num A4) (name P) (type passive))
(pin (num A5) (name P) (type passive))
(pin (num A6) (name P) (type passive))
(pin (num A7) (name P) (type passive))
(pin (num A8) (name P) (type passive))
(pin (num A9) (name P) (type passive))
(pin (num A10) (name P) (type passive))
(pin (num A11) (name P) (type passive))
(pin (num A12) (name SGCK2) (type passive))
(pin (num A13) (name HDC) (type output))
(pin (num B1) (name NC) (type passive))
(pin (num B2) (name PGCK1/A16) (type passive))
(pin (num B3) (name P/A17) (type passive))
(pin (num B4) (name TCK) (type passive))
(pin (num B5) (name TMS) (type passive))
(pin (num B6) (name P) (type passive))
(pin (num B7) (name GND) (type power_in))
(pin (num B8) (name P) (type passive))
(pin (num B9) (name P) (type passive))
(pin (num B10) (name NC) (type passive))
(pin (num B11) (name M1) (type input))
(pin (num B12) (name M2) (type BiDi))
(pin (num B13) (name NC) (type passive))
(pin (num C1) (name P/A12) (type passive))
(pin (num C2) (name P/A14) (type passive))
(pin (num C3) (name VCC) (type power_in))
(pin (num C4) (name GND) (type power_in))
(pin (num C5) (name TDI) (type passive))
(pin (num C6) (name P) (type passive))
(pin (num C8) (name P) (type passive))
(pin (num C9) (name P) (type passive))
(pin (num C10) (name GND) (type power_in))
(pin (num C11) (name M0) (type input))
(pin (num C12) (name PGCK2) (type passive))
(pin (num C13) (name LDC) (type output))
(pin (num D1) (name P/A11) (type passive))
(pin (num D2) (name P/A13) (type passive))
(pin (num D3) (name SGCK1) (type passive))
(pin (num D11) (name VCC) (type power_in))
(pin (num D12) (name P) (type passive))
(pin (num D13) (name P) (type passive))
(pin (num E1) (name P) (type passive))
(pin (num E2) (name NC) (type passive))
(pin (num E3) (name NC) (type passive))
(pin (num E11) (name NC) (type passive))
(pin (num E12) (name P) (type passive))
(pin (num E13) (name P) (type passive))
(pin (num F1) (name P/A9) (type passive))
(pin (num F2) (name P) (type passive))
(pin (num F3) (name P/A10) (type passive))
(pin (num F11) (name P) (type passive))
(pin (num F12) (name P) (type BiDi))
(pin (num F13) (name INIT) (type BiDi))
(pin (num G1) (name P/A8) (type passive))
(pin (num G2) (name GND) (type power_in))
(pin (num G11) (name GND) (type power_in))
(pin (num G12) (name VCC) (type power_in))
(pin (num G13) (name P) (type passive))
(pin (num H1) (name P/A7) (type passive))
(pin (num H2) (name P/A6) (type passive))
(pin (num H3) (name P) (type passive))
(pin (num H11) (name P) (type passive))
(pin (num H12) (name P) (type passive))
(pin (num H13) (name P) (type passive))
(pin (num J1) (name P) (type passive))
(pin (num J2) (name P/A4) (type passive))
(pin (num J3) (name NC) (type passive))
(pin (num J11) (name NC) (type passive))
(pin (num J12) (name P) (type passive))
(pin (num J13) (name P) (type passive))
(pin (num K1) (name P/A5) (type passive))
(pin (num K2) (name P/CS1/A2) (type passive))
(pin (num K3) (name GND) (type power_in))
(pin (num K11) (name GND) (type power_in))
(pin (num K12) (name NC) (type passive))
(pin (num K13) (name P) (type passive))
(pin (num L1) (name P/A3) (type passive))
(pin (num L2) (name P/A0/WS) (type passive))
(pin (num L3) (name VCC) (type power_in))
(pin (num L4) (name CCLK) (type input))
(pin (num L5) (name NC) (type passive))
(pin (num L6) (name P/D2) (type passive))
(pin (num L7) (name GND) (type power_in))
(pin (num L8) (name P) (type passive))
(pin (num L9) (name NC) (type passive))
(pin (num L10) (name VCC) (type power_in))
(pin (num L11) (name DONE) (type output))
(pin (num L12) (name SGCK3) (type passive))
(pin (num L13) (name P) (type passive))
(pin (num M1) (name NC) (type passive))
(pin (num M2) (name TDO) (type passive))
(pin (num M3) (name DOUT-SGKC4) (type output))
(pin (num M4) (name NC) (type passive))
(pin (num M5) (name P/D1) (type passive))
(pin (num M6) (name P) (type passive))
(pin (num M7) (name VCC) (type power_in))
(pin (num M8) (name P/D4) (type passive))
(pin (num M9) (name P/D5) (type passive))
(pin (num M10) (name P/D6) (type passive))
(pin (num M11) (name P/D7) (type passive))
(pin (num M12) (name PROG) (type input))
(pin (num N1) (name PGCK4/A1) (type passive))
(pin (num N2) (name DIN) (type BiDi))
(pin (num N3) (name P/RCLK/BSY/RDY) (type passive))
(pin (num N4) (name P) (type passive))
(pin (num N5) (name P) (type passive))
(pin (num N6) (name P/RS) (type passive))
(pin (num N7) (name P/D3) (type passive))
(pin (num N8) (name P) (type passive))
(pin (num N9) (name P) (type passive))
(pin (num N10) (name P/CS0) (type passive))
(pin (num N11) (name P) (type passive))
(pin (num N12) (name NC) (type passive))
(pin (num N13) (name PGCK3) (type passive))))
(libpart (lib special) (part EP600)
(fields
(field (name Reference) U)
(field (name Value) EP600))
(pins
(pin (num 1) (name CLK1) (type input))
(pin (num 2) (name IN2) (type input))
(pin (num 3) (name I/O3) (type passive))
(pin (num 4) (name I/O4) (type passive))
(pin (num 5) (name I/O5) (type passive))
(pin (num 6) (name I/O6) (type passive))
(pin (num 7) (name I/O7) (type passive))
(pin (num 8) (name I/O8) (type passive))
(pin (num 9) (name I/O9) (type passive))
(pin (num 10) (name I/O10) (type passive))
(pin (num 11) (name IN11) (type input))
(pin (num 12) (name GND) (type input))
(pin (num 13) (name CLK2) (type input))
(pin (num 14) (name IN14) (type input))
(pin (num 15) (name I/O15) (type passive))
(pin (num 16) (name I/O16) (type passive))
(pin (num 17) (name I/O17) (type passive))
(pin (num 18) (name I/O18) (type passive))
(pin (num 19) (name I/O19) (type passive))
(pin (num 20) (name I/O20) (type passive))
(pin (num 21) (name I/O21) (type passive))
(pin (num 22) (name I/O22) (type passive))
(pin (num 23) (name IN23) (type input))
(pin (num 24) (name VCC) (type input)))))
(libraries
(library (logical device)
(uri F:\kicad\share\library\device.lib))
(library (logical conn)
(uri F:\kicad\share\library\conn.lib))
(library (logical 74xx)
(uri F:\kicad\share\library\74xx.lib))
(library (logical memory)
(uri F:\kicad\share\library\memory.lib))
(library (logical xilinx)
(uri F:\kicad\share\library\xilinx.lib))
(library (logical special)
(uri F:\kicad\share\library\special.lib)))
(nets
(net (code 1) (name "")
(node (ref BUS1) (pin 28)))
(net (code 2) (name "")
(node (ref BUS1) (pin 27)))
(net (code 3) (name "")
(node (ref BUS1) (pin 26)))
(net (code 4) (name "")
(node (ref BUS1) (pin 25)))
(net (code 5) (name "")
(node (ref BUS1) (pin 24)))
(net (code 6) (name "")
(node (ref BUS1) (pin 23)))
(net (code 7) (name "")
(node (ref BUS1) (pin 22)))
(net (code 8) (name "")
(node (ref BUS1) (pin 21)))
(net (code 9) (name "")
(node (ref BUS1) (pin 20)))
(net (code 10) (name "")
(node (ref BUS1) (pin 19)))
(net (code 11) (name "")
(node (ref BUS1) (pin 18)))
(net (code 12) (name "")
(node (ref BUS1) (pin 17)))
(net (code 13) (name "")
(node (ref BUS1) (pin 16)))
(net (code 14) (name "")
(node (ref BUS1) (pin 15)))
(net (code 15) (name /PC-RST)
(node (ref BUS1) (pin 2))
(node (ref U3) (pin 8))
(node (ref U3) (pin 9)))
(net (code 16) (name /PC-IOR)
(node (ref BUS1) (pin 14))
(node (ref U3) (pin 7)))
(net (code 17) (name /PC-IOW)
(node (ref U3) (pin 6))
(node (ref BUS1) (pin 13)))
(net (code 18) (name "")
(node (ref BUS1) (pin 12)))
(net (code 19) (name /PC-A1)
(node (ref BUS1) (pin 61))
(node (ref U9) (pin N4))
(node (ref U3) (pin 2)))
(net (code 20) (name /PC-A0)
(node (ref U9) (pin M6))
(node (ref BUS1) (pin 62))
(node (ref U3) (pin 3)))
(net (code 21) (name GND)
(node (ref P1) (pin 18))
(node (ref U9) (pin G11))
(node (ref U9) (pin K11))
(node (ref U9) (pin C10))
(node (ref U9) (pin G2))
(node (ref BUS1) (pin 1))
(node (ref D2) (pin 2))
(node (ref U1) (pin 10))
(node (ref U9) (pin C4))
(node (ref P1) (pin 20))
(node (ref D1) (pin 2))
(node (ref U9) (pin K3))
(node (ref U8) (pin 1))
(node (ref U9) (pin L7))
(node (ref U9) (pin B7))
(node (ref JP1) (pin 13))
(node (ref JP1) (pin 11))
(node (ref P1) (pin 25))
(node (ref U5) (pin 16))
(node (ref P1) (pin 24))
(node (ref P1) (pin 23))
(node (ref JP1) (pin 15))
(node (ref U8) (pin 12))
(node (ref P1) (pin 22))
(node (ref P1) (pin 21))
(node (ref C1) (pin 2))
(node (ref C4) (pin 2))
(node (ref C5) (pin 2))
(node (ref C6) (pin 2))
(node (ref U2) (pin 10))
(node (ref C3) (pin 2))
(node (ref U3) (pin 10))
(node (ref U3) (pin 19))
(node (ref U3) (pin 1))
(node (ref JP1) (pin 7))
(node (ref JP1) (pin 5))
(node (ref JP1) (pin 3))
(node (ref JP1) (pin 1))
(node (ref C2) (pin 2))
(node (ref BUS1) (pin 31))
(node (ref P1) (pin 19))
(node (ref JP1) (pin 9)))
(net (code 22) (name VCC)
(node (ref C1) (pin 1))
(node (ref C4) (pin 1))
(node (ref U8) (pin 24))
(node (ref C5) (pin 1))
(node (ref U8) (pin 23))
(node (ref C6) (pin 1))
(node (ref U2) (pin 20))
(node (ref U9) (pin B12))
(node (ref U9) (pin L3))
(node (ref U9) (pin M7))
(node (ref U3) (pin 20))
(node (ref U9) (pin D11))
(node (ref U1) (pin 20))
(node (ref U9) (pin C11))
(node (ref U9) (pin B11))
(node (ref R3) (pin 2))
(node (ref BUS1) (pin 3))
(node (ref BUS1) (pin 29))
(node (ref U9) (pin G12))
(node (ref U5) (pin 32))
(node (ref U9) (pin C3))
(node (ref U9) (pin L10))
(node (ref RR1) (pin 1)))
(net (code 23) (name /PC-AEN)
(node (ref U9) (pin N10))
(node (ref BUS1) (pin 42))
(node (ref U2) (pin 1)))
(net (code 24) (name "")
(node (ref BUS1) (pin 43)))
(net (code 25) (name "")
(node (ref BUS1) (pin 11)))
(net (code 26) (name "")
(node (ref BUS1) (pin 10)))
(net (code 27) (name "")
(node (ref BUS1) (pin 9)))
(net (code 28) (name "")
(node (ref BUS1) (pin 8)))
(net (code 29) (name "")
(node (ref BUS1) (pin 7)))
(net (code 30) (name "")
(node (ref BUS1) (pin 6)))
(net (code 31) (name "")
(node (ref BUS1) (pin 5)))
(net (code 32) (name "")
(node (ref BUS1) (pin 4)))
(net (code 33) (name "")
(node (ref BUS1) (pin 50)))
(net (code 34) (name "")
(node (ref BUS1) (pin 49)))
(net (code 35) (name "")
(node (ref BUS1) (pin 48)))
(net (code 36) (name "")
(node (ref BUS1) (pin 47)))
(net (code 37) (name "")
(node (ref BUS1) (pin 46)))
(net (code 38) (name "")
(node (ref BUS1) (pin 45)))
(net (code 39) (name "")
(node (ref BUS1) (pin 44)))
(net (code 40) (name "")
(node (ref BUS1) (pin 41)))
(net (code 41) (name "")
(node (ref BUS1) (pin 32)))
(net (code 42) (name "")
(node (ref BUS1) (pin 30)))
(net (code 43) (name "")
(node (ref U9) (pin B5)))
(net (code 44) (name "")
(node (ref U9) (pin A3)))
(net (code 45) (name "")
(node (ref U9) (pin B4)))
(net (code 46) (name "")
(node (ref U9) (pin C5)))
(net (code 47) (name "")
(node (ref U9) (pin A2)))
(net (code 48) (name "")
(node (ref U9) (pin A1)))
(net (code 49) (name "")
(node (ref U9) (pin B1)))
(net (code 50) (name "")
(node (ref U9) (pin E3)))
(net (code 51) (name "")
(node (ref U9) (pin E2)))
(net (code 52) (name /MA8)
(node (ref U9) (pin G1))
(node (ref U5) (pin 27)))
(net (code 53) (name /MD4)
(node (ref U9) (pin A7))
(node (ref U5) (pin 18)))
(net (code 54) (name /MA13)
(node (ref U5) (pin 28))
(node (ref U9) (pin C1)))
(net (code 55) (name /MD5)
(node (ref U9) (pin A8))
(node (ref U5) (pin 19)))
(net (code 56) (name /WR-)
(node (ref U5) (pin 29))
(node (ref U9) (pin A13)))
(net (code 57) (name /MD3)
(node (ref U5) (pin 17))
(node (ref U9) (pin A6)))
(net (code 58) (name "")
(node (ref U8) (pin 10)))
(net (code 59) (name "")
(node (ref U8) (pin 9)))
(net (code 60) (name "")
(node (ref U8) (pin 8)))
(net (code 61) (name /RSTL)
(node (ref U3) (pin 12))
(node (ref U8) (pin 11)))
(net (code 62) (name "")
(node (ref U3) (pin 11)))
(net (code 63) (name /MA16)
(node (ref U9) (pin C8))
(node (ref U5) (pin 2)))
(net (code 64) (name /MA14)
(node (ref U5) (pin 3))
(node (ref U9) (pin D1)))
(net (code 65) (name /MA12)
(node (ref U9) (pin F3))
(node (ref U5) (pin 4)))
(net (code 66) (name /MA7)
(node (ref U5) (pin 5))
(node (ref U9) (pin B3)))
(net (code 67) (name /MA6)
(node (ref U9) (pin F2))
(node (ref U5) (pin 6)))
(net (code 68) (name /MA5)
(node (ref U9) (pin C13))
(node (ref U5) (pin 7)))
(net (code 69) (name /MA4)
(node (ref U9) (pin E1))
(node (ref U5) (pin 8)))
(net (code 70) (name /MA3)
(node (ref U5) (pin 9))
(node (ref U9) (pin C2)))
(net (code 71) (name /MD6)
(node (ref U9) (pin A9))
(node (ref U5) (pin 20)))
(net (code 72) (name "")
(node (ref R3) (pin 1))
(node (ref U5) (pin 30)))
(net (code 73) (name /MD7)
(node (ref U5) (pin 21))
(node (ref U9) (pin B8)))
(net (code 74) (name /MA15)
(node (ref U5) (pin 31))
(node (ref U9) (pin F1)))
(net (code 75) (name /MA0)
(node (ref U5) (pin 12))
(node (ref U9) (pin A11)))
(net (code 76) (name /CS1-)
(node (ref U9) (pin A10))
(node (ref U5) (pin 22)))
(net (code 77) (name /MD0)
(node (ref U9) (pin C6))
(node (ref U5) (pin 13)))
(net (code 78) (name /MA10)
(node (ref U5) (pin 23))
(node (ref U9) (pin C9)))
(net (code 79) (name /MD1)
(node (ref U5) (pin 14))
(node (ref U9) (pin A5)))
(net (code 80) (name /OE-)
(node (ref U5) (pin 24))
(node (ref U9) (pin B9)))
(net (code 81) (name /MD2)
(node (ref U5) (pin 15))
(node (ref U9) (pin B6)))
(net (code 82) (name /MA11)
(node (ref U5) (pin 25))
(node (ref U9) (pin D2)))
(net (code 83) (name /MA9)
(node (ref U5) (pin 26))
(node (ref U9) (pin A4)))
(net (code 84) (name /DIR)
(node (ref U8) (pin 17))
(node (ref U1) (pin 1)))
(net (code 85) (name /ENBBUF)
(node (ref U8) (pin 22))
(node (ref U1) (pin 19)))
(net (code 86) (name /PC-RD)
(node (ref U8) (pin 14))
(node (ref U3) (pin 13))
(node (ref U9) (pin M8)))
(net (code 87) (name /SEL_LPT)
(node (ref U8) (pin 18))
(node (ref U9) (pin L2)))
(net (code 88) (name /PC-DB0)
(node (ref U1) (pin 2))
(node (ref BUS1) (pin 40)))
(net (code 89) (name /PC-DB1)
(node (ref U1) (pin 3))
(node (ref BUS1) (pin 39)))
(net (code 90) (name /PC-DB2)
(node (ref U1) (pin 4))
(node (ref BUS1) (pin 38)))
(net (code 91) (name /PC-DB3)
(node (ref U1) (pin 5))
(node (ref BUS1) (pin 37)))
(net (code 92) (name /PC-DB4)
(node (ref BUS1) (pin 36))
(node (ref U1) (pin 6)))
(net (code 93) (name /PC-DB5)
(node (ref U1) (pin 7))
(node (ref BUS1) (pin 35)))
(net (code 94) (name /PC-DB6)
(node (ref U1) (pin 8))
(node (ref BUS1) (pin 34)))
(net (code 95) (name /PC-DB7)
(node (ref BUS1) (pin 33))
(node (ref U1) (pin 9)))
(net (code 96) (name /D7)
(node (ref U9) (pin L12))
(node (ref U1) (pin 11)))
(net (code 97) (name /D6)
(node (ref U9) (pin M11))
(node (ref U1) (pin 12)))
(net (code 98) (name /D5)
(node (ref U9) (pin N11))
(node (ref U1) (pin 13)))
(net (code 99) (name /D4)
(node (ref U9) (pin M10))
(node (ref U1) (pin 14)))
(net (code 100) (name /D3)
(node (ref U9) (pin M9))
(node (ref U1) (pin 15)))
(net (code 101) (name /D2)
(node (ref U1) (pin 16))
(node (ref U9) (pin N9)))
(net (code 102) (name /D1)
(node (ref U1) (pin 17))
(node (ref U9) (pin N8)))
(net (code 103) (name "")
(node (ref D2) (pin 1))
(node (ref R5) (pin 1)))
(net (code 104) (name "")
(node (ref U9) (pin B13)))
(net (code 105) (name /LED2)
(node (ref R5) (pin 2))
(node (ref U9) (pin F13)))
(net (code 106) (name /D0)
(node (ref U8) (pin 21))
(node (ref U9) (pin N2))
(node (ref U1) (pin 18)))
(net (code 107) (name "")
(node (ref D1) (pin 1))
(node (ref R4) (pin 1)))
(net (code 108) (name "")
(node (ref U3) (pin 18))
(node (ref U8) (pin 3)))
(net (code 109) (name "")
(node (ref U3) (pin 17))
(node (ref U8) (pin 4)))
(net (code 110) (name "")
(node (ref U3) (pin 16))
(node (ref U8) (pin 5)))
(net (code 111) (name "")
(node (ref U3) (pin 15))
(node (ref U8) (pin 6)))
(net (code 112) (name /PC-WR)
(node (ref U8) (pin 7))
(node (ref U9) (pin N6))
(node (ref U3) (pin 14)))
(net (code 113) (name /PC-A6)
(node (ref U9) (pin J1))
(node (ref BUS1) (pin 56))
(node (ref U2) (pin 15)))
(net (code 114) (name /PC-A9)
(node (ref U9) (pin N7))
(node (ref BUS1) (pin 53))
(node (ref U2) (pin 6)))
(net (code 115) (name /PC-A8)
(node (ref U2) (pin 4))
(node (ref U9) (pin H1))
(node (ref BUS1) (pin 54)))
(net (code 116) (name /PC-A7)
(node (ref BUS1) (pin 55))
(node (ref U9) (pin H2))
(node (ref U2) (pin 13)))
(net (code 117) (name /PC-A5)
(node (ref BUS1) (pin 57))
(node (ref U2) (pin 2))
(node (ref U9) (pin J2)))
(net (code 118) (name /PC-A4)
(node (ref BUS1) (pin 58))
(node (ref U9) (pin H3))
(node (ref U2) (pin 17)))
(net (code 119) (name /PC-A3)
(node (ref U3) (pin 5))
(node (ref U9) (pin K2))
(node (ref BUS1) (pin 59)))
(net (code 120) (name /PC-A2)
(node (ref U3) (pin 4))
(node (ref U9) (pin M5))
(node (ref BUS1) (pin 60)))
(net (code 121) (name /PC-A11)
(node (ref U2) (pin 8))
(node (ref BUS1) (pin 51)))
(net (code 122) (name /PC-A10)
(node (ref U9) (pin L8))
(node (ref BUS1) (pin 52))
(node (ref U2) (pin 11)))
(net (code 123) (name /LED1)
(node (ref U9) (pin M3))
(node (ref R4) (pin 2)))
(net (code 124) (name "")
(node (ref U9) (pin M2)))
(net (code 125) (name /MA2)
(node (ref U9) (pin D3))
(node (ref U5) (pin 10)))
(net (code 126) (name "")
(node (ref U9) (pin J3)))
(net (code 127) (name "")
(node (ref U9) (pin N3)))
(net (code 128) (name /CLKLCA)
(node (ref U8) (pin 16))
(node (ref U9) (pin L4))
(node (ref U9) (pin M4)))
(net (code 129) (name "")
(node (ref U9) (pin L5)))
(net (code 130) (name "")
(node (ref U9) (pin N5)))
(net (code 131) (name /MATCHL)
(node (ref U2) (pin 19))
(node (ref U8) (pin 2)))
(net (code 132) (name "")
(node (ref U9) (pin M1)))
(net (code 133) (name "")
(node (ref U9) (pin N1)))
(net (code 134) (name /MA1)
(node (ref U5) (pin 11))
(node (ref U9) (pin B2)))
(net (code 135) (name "")
(node (ref U9) (pin E11)))
(net (code 136) (name "")
(node (ref U9) (pin J11)))
(net (code 137) (name /DONE)
(node (ref U8) (pin 20))
(node (ref U9) (pin L11)))
(net (code 138) (name "")
(node (ref U9) (pin K12)))
(net (code 139) (name /PROG-)
(node (ref U8) (pin 19))
(node (ref U9) (pin M12)))
(net (code 140) (name "")
(node (ref U9) (pin N12)))
(net (code 141) (name "")
(node (ref U9) (pin L6)))
(net (code 142) (name "")
(node (ref U9) (pin L9)))
(net (code 143) (name "")
(node (ref U9) (pin B10)))
(net (code 144) (name /WR_REG)
(node (ref U8) (pin 13))
(node (ref U8) (pin 15)))
(net (code 145) (name "")
(node (ref X1) (pin 1))
(node (ref C2) (pin 1))
(node (ref R1) (pin 2))
(node (ref U9) (pin L1)))
(net (code 146) (name "")
(node (ref X1) (pin 2))
(node (ref R1) (pin 1))
(node (ref C3) (pin 1))
(node (ref R2) (pin 2)))
(net (code 147) (name /BIT6)
(node (ref U9) (pin J13))
(node (ref P1) (pin 8)))
(net (code 148) (name /BIT7)
(node (ref P1) (pin 9))
(node (ref U9) (pin H11)))
(net (code 149) (name /ACK)
(node (ref P1) (pin 10))
(node (ref U9) (pin K13)))
(net (code 150) (name /BUST+)
(node (ref U9) (pin J12))
(node (ref P1) (pin 11)))
(net (code 151) (name /PE+)
(node (ref P1) (pin 12))
(node (ref U9) (pin L13)))
(net (code 152) (name /SLCT+)
(node (ref P1) (pin 13))
(node (ref U9) (pin N13)))
(net (code 153) (name /BIT5)
(node (ref U9) (pin H12))
(node (ref P1) (pin 7)))
(net (code 154) (name /8MH-OUT)
(node (ref R2) (pin 1))
(node (ref U9) (pin K1)))
(net (code 155) (name "")
(node (ref RR1) (pin 10)))
(net (code 156) (name /STROBE)
(node (ref P1) (pin 1))
(node (ref U9) (pin A12)))
(net (code 157) (name /AUTOFD-)
(node (ref P1) (pin 14))
(node (ref U9) (pin C12)))
(net (code 158) (name /ERROR-)
(node (ref P1) (pin 15))
(node (ref U9) (pin D13)))
(net (code 159) (name /BIT2)
(node (ref U9) (pin F12))
(node (ref P1) (pin 4)))
(net (code 160) (name /INIT-)
(node (ref P1) (pin 16))
(node (ref U9) (pin E12)))
(net (code 161) (name /SLCTIN-)
(node (ref P1) (pin 17))
(node (ref U9) (pin F11)))
(net (code 162) (name /BIT0)
(node (ref U9) (pin D12))
(node (ref P1) (pin 2)))
(net (code 163) (name /BIT1)
(node (ref P1) (pin 3))
(node (ref U9) (pin E13)))
(net (code 164) (name /BIT3)
(node (ref U9) (pin G13))
(node (ref P1) (pin 5)))
(net (code 165) (name /BIT4)
(node (ref P1) (pin 6))
(node (ref U9) (pin H13)))
(net (code 166) (name /REF10)
(node (ref U2) (pin 12))
(node (ref JP1) (pin 2))
(node (ref RR1) (pin 9)))
(net (code 167) (name /REF11)
(node (ref JP1) (pin 4))
(node (ref RR1) (pin 8))
(node (ref U2) (pin 9)))
(net (code 168) (name /REF7)
(node (ref JP1) (pin 6))
(node (ref RR1) (pin 7))
(node (ref U2) (pin 14)))
(net (code 169) (name /REF9)
(node (ref JP1) (pin 8))
(node (ref U2) (pin 7))
(node (ref RR1) (pin 6)))
(net (code 170) (name /REF6)
(node (ref U2) (pin 16))
(node (ref RR1) (pin 5))
(node (ref JP1) (pin 10)))
(net (code 171) (name /REF8)
(node (ref RR1) (pin 4))
(node (ref U2) (pin 5))
(node (ref JP1) (pin 12)))
(net (code 172) (name /REF4)
(node (ref RR1) (pin 3))
(node (ref U2) (pin 18))
(node (ref JP1) (pin 14)))
(net (code 173) (name /REF5)
(node (ref JP1) (pin 16))
(node (ref RR1) (pin 2))
(node (ref U2) (pin 3)))))
\ No newline at end of file
......@@ -27,7 +27,7 @@ Comment3 "Comment 3"
Comment4 "Comment 4"
$EndDescr
$Bitmap
Pos 9250 10500
Pos 9350 10600
Scale 1,000000
Data
89 50 4E 47 0D 0A 1A 0A 00 00 00 0D 49 48 44 52 00 00 00 E5 00 00 01 0E 08 02 00 00 00 F9 5F 47
......@@ -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
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
FC 1F 94 BD 62 D3 EE A5 8B 6B 00 00 00 00 49 45 4E 44 AE 42 60 82 11
FC 1F 94 BD 62 D3 EE A5 8B 6B 00 00 00 00 49 45 4E 44 AE 42 60 82 10
EndData
$EndBitmap
Wire Bus Line
......@@ -1794,7 +1794,7 @@ U 1 1 4A087146
P 5250 1950
F 0 "U3" H 5250 2525 60 0000 C BNN
F 1 "74LS541" H 5250 1375 60 0000 C TNN
F 2 "" H 5250 1950 60 0001 C CNN
F 2 "DIP-20__300" H 5250 1250 60 0000 C CNN
F 3 "" H 5250 1950 60 0001 C CNN
1 5250 1950
1 0 0 -1
......@@ -2049,7 +2049,7 @@ U 1 1 32568D1E
P 1700 7250
F 0 "JP1" H 1700 7750 70 0000 C CNN
F 1 "CONN_8X2" V 1700 7250 70 0000 C CNN
F 2 "pin_array_8x2" H 1700 7800 60 0000 C CNN
F 2 "pin_array_8x2" H 1700 7850 60 0000 C CNN
F 3 "" H 1700 7250 60 0001 C CNN
1 1700 7250
1 0 0 1
......@@ -2384,7 +2384,7 @@ U 1 1 3240023F
P 7700 9050
F 0 "U5" H 7750 10200 70 0000 C CNN
F 1 "628128" H 7700 7900 70 0000 C CNN
F 2 "32dip600" H 7700 7800 60 0000 C CNN
F 2 "DIP-32__600" H 7700 7800 60 0000 C CNN
F 3 "" H 7700 9050 60 0001 C CNN
1 7700 9050
1 0 0 -1
......@@ -2742,7 +2742,7 @@ U 1 1 322D35B4
P 4600 6900
F 0 "U2" H 4600 7850 60 0000 C CNN
F 1 "74LS688" H 4600 5950 60 0000 C CIB
F 2 "20dip300" H 4600 5850 60 0000 C CNB
F 2 "DIP-20__300" H 4600 5850 60 0000 C CNB
F 3 "" H 4600 6900 60 0001 C CNN
1 4600 6900
1 0 0 -1
......@@ -2809,8 +2809,8 @@ L EP600 U8
U 1 1 322D321C
P 7650 1800
F 0 "U8" H 7650 1900 70 0000 C CNN
F 1 "EP600" H 7650 1300 70 0000 C CNN
F 2 "24dip300" H 7700 1000 60 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 3 "" H 7650 1800 60 0001 C CNN
1 7650 1800
1 0 0 -1
......@@ -2821,7 +2821,7 @@ U 1 1 322D31F4
P 5200 3600
F 0 "U1" H 5300 4175 60 0000 L BNN
F 1 "74LS245" H 5250 3025 60 0000 L TNN
F 2 "20dip300" H 5350 3100 60 0000 C CNN
F 2 "DIP-20__300" H 5400 2900 60 0000 C CNN
F 3 "" H 5200 3600 60 0001 C CNN
1 5200 3600
1 0 0 -1
......@@ -2830,9 +2830,9 @@ $Comp
L BUSPC BUS1
U 1 1 322D3011
P 2250 2950
F 0 "BUS1" H 2250 3050 70 0000 C CNN
F 1 "BUSPC" H 2250 2850 70 0000 C CNN
F 2 "BUS_PC" H 2250 1250 60 0000 C CNN
F 0 "BUS1" H 2200 4600 70 0000 C CNN
F 1 "BUSPC" H 2200 1250 70 0000 C CNN
F 2 "BUS_PC" H 2202 1160 60 0000 C CNN
F 3 "" H 2250 2950 60 0001 C CNN
1 2250 2950
1 0 0 -1
......
......@@ -47,9 +47,18 @@ class wxTextCtrl;
* <li> know too much about the caller's UI, i.e. wx. </li>
* <li> stop after the first error </li>
* </ul>
* the reporter has 3 levels (flags) for filtering:
* no filter
* report warning
* report errors
* They are indicators for the calling code, filtering is not made here
*/
class REPORTER
{
bool m_reportAll; // Filter flag: set to true to report all messages
bool m_reportWarnings; // Filter flag: set to true to report warning
bool m_reportErrors; // Filter flag: set to true to report errors
public:
/**
* Function Report
......@@ -68,6 +77,41 @@ public:
REPORTER& operator <<( wxChar aChar ) { return Report( wxString( aChar ) ); }
REPORTER& operator <<( const char* aText ) { return Report( aText ); }
/**
* Returns true if all messages should be reported
*/
bool ReportAll() { return m_reportAll; }
/**
* Returns true if all messages or warning messages should be reported
*/
bool ReportWarnings() { return m_reportAll | m_reportWarnings; }
/**
* Returns true if all messages or error messages should be reported
*/
bool ReportErrors() { return m_reportAll | m_reportErrors; }
/**
* Set the report filter state, for all messages
* @param aEnable = filter state (true/false)
*/
void SetReportAll( bool aEnable) { m_reportAll = aEnable; }
/**
* Set the report filter state, for warning messages
* note: report can be disable only if m_reportAll = false
* @param aEnable = filter state (true/false)
*/
void SetReportWarnings( bool aEnable) { m_reportWarnings = aEnable; }
/**
* Set the report filter state, for error messages
* note: report can be disable only if m_reportAll = false
* @param aEnable = filter state (true/false)
*/
void SetReportErrors( bool aEnable) { m_reportErrors = aEnable; }
};
......@@ -84,6 +128,9 @@ public:
REPORTER(),
m_textCtrl( aTextCtrl )
{
SetReportAll( true );
SetReportWarnings( true );
SetReportErrors( true );
}
REPORTER& Report( const wxString& aText );
......
......@@ -2368,7 +2368,7 @@ void BOARD::ReplaceNetlist( NETLIST& aNetlist, REPORTER* aReporter )
{
component = aNetlist.GetComponent( i );
if( aReporter )
if( aReporter && aReporter->ReportAll() )
{
msg.Printf( _( "Checking netlist component footprint \"%s:%s:%s\".\n" ),
GetChars( component->GetReference() ),
......@@ -2387,19 +2387,27 @@ void BOARD::ReplaceNetlist( NETLIST& aNetlist, REPORTER* aReporter )
if( aReporter )
{
if( component->GetModule() != NULL )
{
msg.Printf( _( "Adding new component \"%s:%s\" footprint \"%s\".\n" ),
GetChars( component->GetReference() ),
GetChars( component->GetTimeStamp() ),
GetChars( component->GetFootprintName() ) );
if( aReporter->ReportWarnings() )
aReporter->Report( msg );
}
else
{
msg.Printf( _( "Cannot add new component \"%s:%s\" due to missing "
"footprint \"%s\".\n" ),
GetChars( component->GetReference() ),
GetChars( component->GetTimeStamp() ),
GetChars( component->GetFootprintName() ) );
if( aReporter->ReportErrors() )
aReporter->Report( msg );
}
}
if( !aNetlist.IsDryRun() && (component->GetModule() != NULL) )
{
......@@ -2422,21 +2430,29 @@ void BOARD::ReplaceNetlist( NETLIST& aNetlist, REPORTER* aReporter )
if( aReporter )
{
if( component->GetModule() != NULL )
{
msg.Printf( _( "Replacing component \"%s:%s\" footprint \"%s\" with "
"\"%s\".\n" ),
GetChars( footprint->GetReference() ),
GetChars( footprint->GetPath() ),
GetChars( footprint->GetLibRef() ),
GetChars( component->GetFootprintName() ) );
if( aReporter->ReportWarnings() )
aReporter->Report( msg );
}
else
{
msg.Printf( _( "Cannot replace component \"%s:%s\" due to missing "
"footprint \"%s\".\n" ),
GetChars( footprint->GetReference() ),
GetChars( footprint->GetPath() ),
GetChars( component->GetFootprintName() ) );
if( aReporter->ReportErrors() )
aReporter->Report( msg );
}
}
if( !aNetlist.IsDryRun() && (component->GetModule() != NULL) )
{
......@@ -2459,7 +2475,7 @@ void BOARD::ReplaceNetlist( NETLIST& aNetlist, REPORTER* aReporter )
// Test for reference designator field change.
if( footprint->GetReference() != component->GetReference() )
{
if( aReporter )
if( aReporter && aReporter->ReportWarnings())
{
msg.Printf( _( "Changing footprint \"%s:%s\" reference to \"%s\".\n" ),
GetChars( footprint->GetReference() ),
......@@ -2475,7 +2491,7 @@ void BOARD::ReplaceNetlist( NETLIST& aNetlist, REPORTER* aReporter )
// Test for value field change.
if( footprint->GetValue() != component->GetValue() )
{
if( aReporter )
if( aReporter && aReporter->ReportAll() )
{
msg.Printf( _( "Changing footprint \"%s:%s\" value from \"%s\" to \"%s\".\n" ),
GetChars( footprint->GetReference() ),
......@@ -2492,7 +2508,7 @@ void BOARD::ReplaceNetlist( NETLIST& aNetlist, REPORTER* aReporter )
// Test for time stamp change.
if( footprint->GetPath() != component->GetTimeStamp() )
{
if( aReporter )
if( aReporter && aReporter->ReportWarnings() )
{
msg.Printf( _( "Changing footprint path \"%s:%s\" to \"%s\".\n" ),
GetChars( footprint->GetReference() ),
......@@ -2518,7 +2534,7 @@ void BOARD::ReplaceNetlist( NETLIST& aNetlist, REPORTER* aReporter )
{
if( !pad->GetNetname().IsEmpty() )
{
if( aReporter )
if( aReporter && aReporter->ReportAll() )
{
msg.Printf( _( "Clearing component \"%s:%s\" pin \"%s\" net name.\n" ),
GetChars( footprint->GetReference() ),
......@@ -2535,7 +2551,7 @@ void BOARD::ReplaceNetlist( NETLIST& aNetlist, REPORTER* aReporter )
{
if( net.GetNetName() != pad->GetNetname() )
{
if( aReporter )
if( aReporter && aReporter->ReportAll() )
{
msg.Printf( _( "Changing component \"%s:%s\" pin \"%s\" net name from "
"\"%s\" to \"%s\".\n" ),
......@@ -2573,7 +2589,7 @@ void BOARD::ReplaceNetlist( NETLIST& aNetlist, REPORTER* aReporter )
if( component == NULL )
{
if( aReporter )
if( aReporter && aReporter->ReportWarnings() )
{
msg.Printf( _( "Removing footprint \"%s:%s\".\n" ),
GetChars( module->GetReference() ),
......
......@@ -46,6 +46,7 @@
#include <dialog_netlist.h>
#define NETLIST_SILENTMODE_KEY wxT("SilentMode")
#define NETLIST_FULLMESSAGES_KEY wxT("NetlistReportAllMsg")
void PCB_EDIT_FRAME::InstallNetlistFrame( wxDC* DC )
{
......@@ -95,9 +96,11 @@ DIALOG_NETLIST::DIALOG_NETLIST( PCB_EDIT_FRAME* aParent, wxDC * aDC,
m_dc = aDC;
m_config = wxGetApp().GetSettings();
m_silentMode = m_config->Read( NETLIST_SILENTMODE_KEY, 0l );
m_reportAll = m_config->Read( NETLIST_FULLMESSAGES_KEY, 1l );
m_NetlistFilenameCtrl->SetValue( aNetlistFullFilename );
m_cmpNameSourceOpt->SetSelection( m_parent->GetUseCmpFileForFpNames() ? 1 : 0 );
m_checkBoxSilentMode->SetValue( m_silentMode );
m_checkBoxFullMessages->SetValue( m_reportAll );
GetSizer()->SetSizeHints( this );
}
......@@ -105,6 +108,7 @@ DIALOG_NETLIST::DIALOG_NETLIST( PCB_EDIT_FRAME* aParent, wxDC * aDC,
DIALOG_NETLIST::~DIALOG_NETLIST()
{
m_config->Write( NETLIST_SILENTMODE_KEY, (long) m_silentMode );
m_config->Write( NETLIST_FULLMESSAGES_KEY, (long) m_reportAll );
}
void DIALOG_NETLIST::OnOpenNetlistClick( wxCommandEvent& event )
......@@ -176,6 +180,7 @@ void DIALOG_NETLIST::OnReadNetlistFileClick( wxCommandEvent& event )
}
WX_TEXT_CTRL_REPORTER reporter( m_MessageWindow );
reporter.SetReportAll( m_reportAll );
m_parent->ReadPcbNetlist( netlistFileName, cmpFileName, &reporter,
m_ChangeExistingFootprintCtrl->GetSelection() == 1,
......
......@@ -40,7 +40,9 @@ class DIALOG_NETLIST : public DIALOG_NETLIST_FBP
private:
PCB_EDIT_FRAME* m_parent;
wxDC* m_dc;
bool m_silentMode;
bool m_silentMode; // if true, do not display warning message about undo
bool m_reportAll; // If true report all messages,
// false, report only warnings or errors
wxConfig* m_config;
public:
......@@ -96,6 +98,10 @@ private:
{
m_silentMode = m_checkBoxSilentMode->GetValue();
}
void OnClickFullMessages( wxCommandEvent& event )
{
m_reportAll = m_checkBoxFullMessages->GetValue();
}
void OnUpdateUISaveMessagesToFile( wxUpdateUIEvent& aEvent );
void OnUpdateUIValidNetlistFile( wxUpdateUIEvent& aEvent );
......
......@@ -72,7 +72,7 @@ DIALOG_NETLIST_FBP::DIALOG_NETLIST_FBP( wxWindow* parent, wxWindowID id, const w
m_RemoveExtraFootprintsCtrl->SetSelection( 0 );
m_RemoveExtraFootprintsCtrl->SetToolTip( _("Remove footprints found on the Board but not in netlist\nNote: only not locked footprints will be removed") );
bTracksSizer->Add( m_RemoveExtraFootprintsCtrl, 0, wxALL|wxEXPAND, 5 );
bTracksSizer->Add( m_RemoveExtraFootprintsCtrl, 0, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 );
bnetlistOptSizer->Add( bTracksSizer, 1, wxEXPAND, 5 );
......@@ -80,31 +80,12 @@ DIALOG_NETLIST_FBP::DIALOG_NETLIST_FBP( wxWindow* parent, wxWindowID id, const w
bleftSizer->Add( bnetlistOptSizer, 1, wxEXPAND, 5 );
wxBoxSizer* bCenterSizer;
bCenterSizer = new wxBoxSizer( wxVERTICAL );
m_checkDryRun = new wxCheckBox( this, wxID_ANY, _("Dry run. Only report changes in message panel"), wxDefaultPosition, wxDefaultSize, 0 );
m_checkDryRun->SetToolTip( _("Dry Run:\nThe netlist is read, but no change is actually made on board.\nChanges are only reported in message panel, for info") );
bCenterSizer->Add( m_checkDryRun, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 );
m_checkBoxSilentMode = new wxCheckBox( this, wxID_ANY, _("Silent mode"), wxDefaultPosition, wxDefaultSize, 0 );
m_checkBoxSilentMode->SetToolTip( _("Silent mode:\nDo not show the warning message before reading the netlist") );
bCenterSizer->Add( m_checkBoxSilentMode, 0, wxRIGHT|wxLEFT, 5 );
bleftSizer->Add( bCenterSizer, 0, wxALL|wxEXPAND, 5 );
bUpperSizer->Add( bleftSizer, 1, wxEXPAND, 5 );
wxBoxSizer* bRightSizerButtons;
bRightSizerButtons = new wxBoxSizer( wxVERTICAL );
m_buttonBrowse = new wxButton( this, ID_OPEN_NELIST, _("Browse Netlist Files"), wxDefaultPosition, wxDefaultSize, 0 );
bRightSizerButtons->Add( m_buttonBrowse, 0, wxEXPAND|wxALL, 5 );
m_buttonRead = new wxButton( this, ID_READ_NETLIST_FILE, _("Read Current Netlist"), wxDefaultPosition, wxDefaultSize, 0 );
m_buttonRead->SetDefault();
m_buttonRead->SetToolTip( _("Read the current netlist and update connections and connectivity info") );
......@@ -128,28 +109,62 @@ DIALOG_NETLIST_FBP::DIALOG_NETLIST_FBP( wxWindow* parent, wxWindowID id, const w
bRightSizerButtons->Add( m_buttonSaveMessages, 0, wxALL|wxEXPAND, 5 );
bUpperSizer->Add( bRightSizerButtons, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxLEFT, 5 );
bUpperSizer->Add( bRightSizerButtons, 0, wxTOP|wxBOTTOM|wxLEFT|wxALIGN_CENTER_VERTICAL, 5 );
bMainSizer->Add( bUpperSizer, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 );
wxBoxSizer* bLowerSizer;
bLowerSizer = new wxBoxSizer( wxVERTICAL );
m_staticline11 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
bMainSizer->Add( m_staticline11, 0, wxEXPAND | wxALL, 5 );
wxBoxSizer* bCenterSizer;
bCenterSizer = new wxBoxSizer( wxVERTICAL );
m_checkDryRun = new wxCheckBox( this, wxID_ANY, _("Dry run. Only report changes in message panel"), wxDefaultPosition, wxDefaultSize, 0 );
m_checkDryRun->SetToolTip( _("Dry Run:\nThe netlist is read, but no change is actually made on board.\nChanges are only reported in message panel, for info") );
bCenterSizer->Add( m_checkDryRun, 0, wxBOTTOM|wxRIGHT|wxLEFT, 5 );
m_checkBoxSilentMode = new wxCheckBox( this, wxID_ANY, _("Silent mode"), wxDefaultPosition, wxDefaultSize, 0 );
m_checkBoxSilentMode->SetToolTip( _("Silent mode:\nDo not show the warning message before reading the netlist") );
bCenterSizer->Add( m_checkBoxSilentMode, 0, wxRIGHT|wxLEFT, 5 );
m_checkBoxFullMessages = new wxCheckBox( this, wxID_ANY, _("Display all messages"), wxDefaultPosition, wxDefaultSize, 0 );
m_checkBoxFullMessages->SetValue(true);
m_checkBoxFullMessages->SetToolTip( _("Messages filter:\nIf checked: show all messages when reading the netlist\nIf not checked: show only warning or error messages") );
bCenterSizer->Add( m_checkBoxFullMessages, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
bMainSizer->Add( bCenterSizer, 0, wxALL|wxEXPAND, 5 );
m_staticline1 = new wxStaticLine( this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
bLowerSizer->Add( m_staticline1, 0, wxEXPAND | wxALL, 5 );
bMainSizer->Add( m_staticline1, 0, wxEXPAND | wxALL, 5 );
wxBoxSizer* bLowerSizer;
bLowerSizer = new wxBoxSizer( wxVERTICAL );
m_staticTextNetfilename = new wxStaticText( this, wxID_ANY, _("Netlist File:"), wxDefaultPosition, wxDefaultSize, 0 );
m_staticTextNetfilename->Wrap( -1 );
bLowerSizer->Add( m_staticTextNetfilename, 0, wxRIGHT|wxLEFT, 5 );
wxBoxSizer* bSizerNetlistFilename;
bSizerNetlistFilename = new wxBoxSizer( wxHORIZONTAL );
m_NetlistFilenameCtrl = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
m_NetlistFilenameCtrl->SetMaxLength( 0 );
bLowerSizer->Add( m_NetlistFilenameCtrl, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
bSizerNetlistFilename->Add( m_NetlistFilenameCtrl, 1, wxEXPAND|wxRIGHT|wxLEFT, 5 );
m_buttonBrowse = new wxButton( this, ID_OPEN_NELIST, _("Browse"), wxDefaultPosition, wxDefaultSize, wxBU_EXACTFIT );
bSizerNetlistFilename->Add( m_buttonBrowse, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 );
bLowerSizer->Add( bSizerNetlistFilename, 0, wxEXPAND, 5 );
m_staticText1 = new wxStaticText( this, wxID_ANY, _("Messages:"), wxDefaultPosition, wxDefaultSize, 0 );
m_staticText1->Wrap( -1 );
bLowerSizer->Add( m_staticText1, 0, wxRIGHT|wxLEFT, 5 );
bLowerSizer->Add( m_staticText1, 0, wxTOP|wxRIGHT|wxLEFT, 5 );
m_MessageWindow = new wxTextCtrl( this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_CHARWRAP|wxTE_MULTILINE|wxTE_READONLY|wxTE_WORDWRAP );
m_MessageWindow->SetMaxLength( 0 );
......@@ -166,8 +181,6 @@ DIALOG_NETLIST_FBP::DIALOG_NETLIST_FBP( wxWindow* parent, wxWindowID id, const w
bMainSizer->Fit( this );
// Connect Events
m_checkBoxSilentMode->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_NETLIST_FBP::OnClickSilentMode ), NULL, this );
m_buttonBrowse->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_NETLIST_FBP::OnOpenNetlistClick ), NULL, this );
m_buttonRead->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_NETLIST_FBP::OnReadNetlistFileClick ), NULL, this );
m_buttonRead->Connect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( DIALOG_NETLIST_FBP::OnUpdateUIValidNetlistFile ), NULL, this );
m_buttonClose->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_NETLIST_FBP::OnCancelClick ), NULL, this );
......@@ -177,13 +190,14 @@ DIALOG_NETLIST_FBP::DIALOG_NETLIST_FBP( wxWindow* parent, wxWindowID id, const w
m_buttonRebild->Connect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( DIALOG_NETLIST_FBP::OnUpdateUIValidNetlistFile ), NULL, this );
m_buttonSaveMessages->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_NETLIST_FBP::OnSaveMessagesToFile ), NULL, this );
m_buttonSaveMessages->Connect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( DIALOG_NETLIST_FBP::OnUpdateUISaveMessagesToFile ), NULL, this );
m_checkBoxSilentMode->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_NETLIST_FBP::OnClickSilentMode ), NULL, this );
m_checkBoxFullMessages->Connect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_NETLIST_FBP::OnClickFullMessages ), NULL, this );
m_buttonBrowse->Connect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_NETLIST_FBP::OnOpenNetlistClick ), NULL, this );
}
DIALOG_NETLIST_FBP::~DIALOG_NETLIST_FBP()
{
// Disconnect Events
m_checkBoxSilentMode->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_NETLIST_FBP::OnClickSilentMode ), NULL, this );
m_buttonBrowse->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_NETLIST_FBP::OnOpenNetlistClick ), NULL, this );
m_buttonRead->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_NETLIST_FBP::OnReadNetlistFileClick ), NULL, this );
m_buttonRead->Disconnect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( DIALOG_NETLIST_FBP::OnUpdateUIValidNetlistFile ), NULL, this );
m_buttonClose->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_NETLIST_FBP::OnCancelClick ), NULL, this );
......@@ -193,5 +207,8 @@ DIALOG_NETLIST_FBP::~DIALOG_NETLIST_FBP()
m_buttonRebild->Disconnect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( DIALOG_NETLIST_FBP::OnUpdateUIValidNetlistFile ), NULL, this );
m_buttonSaveMessages->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_NETLIST_FBP::OnSaveMessagesToFile ), NULL, this );
m_buttonSaveMessages->Disconnect( wxEVT_UPDATE_UI, wxUpdateUIEventHandler( DIALOG_NETLIST_FBP::OnUpdateUISaveMessagesToFile ), NULL, this );
m_checkBoxSilentMode->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_NETLIST_FBP::OnClickSilentMode ), NULL, this );
m_checkBoxFullMessages->Disconnect( wxEVT_COMMAND_CHECKBOX_CLICKED, wxCommandEventHandler( DIALOG_NETLIST_FBP::OnClickFullMessages ), NULL, this );
m_buttonBrowse->Disconnect( wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler( DIALOG_NETLIST_FBP::OnOpenNetlistClick ), NULL, this );
}
......@@ -500,7 +500,7 @@
</object>
<object class="sizeritem" expanded="1">
<property name="border">5</property>
<property name="flag">wxALL|wxEXPAND</property>
<property name="flag">wxEXPAND|wxTOP|wxRIGHT|wxLEFT</property>
<property name="proportion">0</property>
<object class="wxRadioBox" expanded="1">
<property name="BottomDockable">1</property>
......@@ -592,20 +592,22 @@
</object>
</object>
</object>
</object>
</object>
<object class="sizeritem" expanded="1">
<property name="border">5</property>
<property name="flag">wxALL|wxEXPAND</property>
<property name="flag">wxTOP|wxBOTTOM|wxLEFT|wxALIGN_CENTER_VERTICAL</property>
<property name="proportion">0</property>
<object class="wxBoxSizer" expanded="1">
<property name="minimum_size"></property>
<property name="name">bCenterSizer</property>
<property name="name">bRightSizerButtons</property>
<property name="orient">wxVERTICAL</property>
<property name="permission">none</property>
<object class="sizeritem" expanded="1">
<property name="border">5</property>
<property name="flag">wxBOTTOM|wxRIGHT|wxLEFT</property>
<property name="flag">wxEXPAND|wxALL</property>
<property name="proportion">0</property>
<object class="wxCheckBox" expanded="1">
<object class="wxButton" expanded="1">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
......@@ -619,10 +621,10 @@
<property name="caption"></property>
<property name="caption_visible">1</property>
<property name="center_pane">0</property>
<property name="checked">0</property>
<property name="close_button">1</property>
<property name="context_help"></property>
<property name="context_menu">1</property>
<property name="default">1</property>
<property name="default_pane">0</property>
<property name="dock">Dock</property>
<property name="dock_fixed">0</property>
......@@ -633,8 +635,8 @@
<property name="font"></property>
<property name="gripper">0</property>
<property name="hidden">0</property>
<property name="id">wxID_ANY</property>
<property name="label">Dry run. Only report changes in message panel</property>
<property name="id">ID_READ_NETLIST_FILE</property>
<property name="label">Read Current Netlist</property>
<property name="max_size"></property>
<property name="maximize_button">0</property>
<property name="maximum_size"></property>
......@@ -642,7 +644,7 @@
<property name="minimize_button">0</property>
<property name="minimum_size"></property>
<property name="moveable">1</property>
<property name="name">m_checkDryRun</property>
<property name="name">m_buttonRead</property>
<property name="pane_border">1</property>
<property name="pane_position"></property>
<property name="pane_size"></property>
......@@ -655,7 +657,7 @@
<property name="style"></property>
<property name="subclass"></property>
<property name="toolbar_pane">0</property>
<property name="tooltip">Dry Run:&#x0A;The netlist is read, but no change is actually made on board.&#x0A;Changes are only reported in message panel, for info</property>
<property name="tooltip">Read the current netlist and update connections and connectivity info</property>
<property name="validator_data_type"></property>
<property name="validator_style">wxFILTER_NONE</property>
<property name="validator_type">wxDefaultValidator</property>
......@@ -663,8 +665,8 @@
<property name="window_extra_style"></property>
<property name="window_name"></property>
<property name="window_style"></property>
<event name="OnButtonClick">OnReadNetlistFileClick</event>
<event name="OnChar"></event>
<event name="OnCheckBox"></event>
<event name="OnEnterWindow"></event>
<event name="OnEraseBackground"></event>
<event name="OnKeyDown"></event>
......@@ -686,14 +688,14 @@
<event name="OnRightUp"></event>
<event name="OnSetFocus"></event>
<event name="OnSize"></event>
<event name="OnUpdateUI"></event>
<event name="OnUpdateUI">OnUpdateUIValidNetlistFile</event>
</object>
</object>
<object class="sizeritem" expanded="1">
<property name="border">5</property>
<property name="flag">wxRIGHT|wxLEFT</property>
<property name="flag">wxALL|wxEXPAND</property>
<property name="proportion">0</property>
<object class="wxCheckBox" expanded="1">
<object class="wxButton" expanded="1">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
......@@ -707,10 +709,10 @@
<property name="caption"></property>
<property name="caption_visible">1</property>
<property name="center_pane">0</property>
<property name="checked">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>
......@@ -721,8 +723,8 @@
<property name="font"></property>
<property name="gripper">0</property>
<property name="hidden">0</property>
<property name="id">wxID_ANY</property>
<property name="label">Silent mode</property>
<property name="id">wxID_CANCEL</property>
<property name="label">Close</property>
<property name="max_size"></property>
<property name="maximize_button">0</property>
<property name="maximum_size"></property>
......@@ -730,7 +732,7 @@
<property name="minimize_button">0</property>
<property name="minimum_size"></property>
<property name="moveable">1</property>
<property name="name">m_checkBoxSilentMode</property>
<property name="name">m_buttonClose</property>
<property name="pane_border">1</property>
<property name="pane_position"></property>
<property name="pane_size"></property>
......@@ -743,7 +745,7 @@
<property name="style"></property>
<property name="subclass"></property>
<property name="toolbar_pane">0</property>
<property name="tooltip">Silent mode:&#x0A;Do not show the warning message before reading the netlist</property>
<property name="tooltip"></property>
<property name="validator_data_type"></property>
<property name="validator_style">wxFILTER_NONE</property>
<property name="validator_type">wxDefaultValidator</property>
......@@ -751,8 +753,8 @@
<property name="window_extra_style"></property>
<property name="window_name"></property>
<property name="window_style"></property>
<event name="OnButtonClick">OnCancelClick</event>
<event name="OnChar"></event>
<event name="OnCheckBox">OnClickSilentMode</event>
<event name="OnEnterWindow"></event>
<event name="OnEraseBackground"></event>
<event name="OnKeyDown"></event>
......@@ -777,19 +779,6 @@
<event name="OnUpdateUI"></event>
</object>
</object>
</object>
</object>
</object>
</object>
<object class="sizeritem" expanded="1">
<property name="border">5</property>
<property name="flag">wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxLEFT</property>
<property name="proportion">0</property>
<object class="wxBoxSizer" expanded="1">
<property name="minimum_size"></property>
<property name="name">bRightSizerButtons</property>
<property name="orient">wxVERTICAL</property>
<property name="permission">none</property>
<object class="sizeritem" expanded="1">
<property name="border">5</property>
<property name="flag">wxEXPAND|wxALL</property>
......@@ -822,8 +811,8 @@
<property name="font"></property>
<property name="gripper">0</property>
<property name="hidden">0</property>
<property name="id">ID_OPEN_NELIST</property>
<property name="label">Browse Netlist Files</property>
<property name="id">ID_TEST_NETLIST</property>
<property name="label">Test Footprints</property>
<property name="max_size"></property>
<property name="maximize_button">0</property>
<property name="maximum_size"></property>
......@@ -831,7 +820,7 @@
<property name="minimize_button">0</property>
<property name="minimum_size"></property>
<property name="moveable">1</property>
<property name="name">m_buttonBrowse</property>
<property name="name">m_buttonFPTest</property>
<property name="pane_border">1</property>
<property name="pane_position"></property>
<property name="pane_size"></property>
......@@ -844,7 +833,7 @@
<property name="style"></property>
<property name="subclass"></property>
<property name="toolbar_pane">0</property>
<property name="tooltip"></property>
<property name="tooltip">Read the current neltist file and list missing and extra footprints</property>
<property name="validator_data_type"></property>
<property name="validator_style">wxFILTER_NONE</property>
<property name="validator_type">wxDefaultValidator</property>
......@@ -852,7 +841,7 @@
<property name="window_extra_style"></property>
<property name="window_name"></property>
<property name="window_style"></property>
<event name="OnButtonClick">OnOpenNetlistClick</event>
<event name="OnButtonClick">OnTestFootprintsClick</event>
<event name="OnChar"></event>
<event name="OnEnterWindow"></event>
<event name="OnEraseBackground"></event>
......@@ -875,7 +864,7 @@
<event name="OnRightUp"></event>
<event name="OnSetFocus"></event>
<event name="OnSize"></event>
<event name="OnUpdateUI"></event>
<event name="OnUpdateUI">OnUpdateUIValidNetlistFile</event>
</object>
</object>
<object class="sizeritem" expanded="1">
......@@ -899,7 +888,7 @@
<property name="close_button">1</property>
<property name="context_help"></property>
<property name="context_menu">1</property>
<property name="default">1</property>
<property name="default">0</property>
<property name="default_pane">0</property>
<property name="dock">Dock</property>
<property name="dock_fixed">0</property>
......@@ -910,8 +899,8 @@
<property name="font"></property>
<property name="gripper">0</property>
<property name="hidden">0</property>
<property name="id">ID_READ_NETLIST_FILE</property>
<property name="label">Read Current Netlist</property>
<property name="id">ID_COMPILE_RATSNEST</property>
<property name="label">Rebuild Board Connectivity</property>
<property name="max_size"></property>
<property name="maximize_button">0</property>
<property name="maximum_size"></property>
......@@ -919,7 +908,7 @@
<property name="minimize_button">0</property>
<property name="minimum_size"></property>
<property name="moveable">1</property>
<property name="name">m_buttonRead</property>
<property name="name">m_buttonRebild</property>
<property name="pane_border">1</property>
<property name="pane_position"></property>
<property name="pane_size"></property>
......@@ -932,7 +921,7 @@
<property name="style"></property>
<property name="subclass"></property>
<property name="toolbar_pane">0</property>
<property name="tooltip">Read the current netlist and update connections and connectivity info</property>
<property name="tooltip">Rebuild the full ratsnest (usefull after a manual pad netname edition)</property>
<property name="validator_data_type"></property>
<property name="validator_style">wxFILTER_NONE</property>
<property name="validator_type">wxDefaultValidator</property>
......@@ -940,7 +929,7 @@
<property name="window_extra_style"></property>
<property name="window_name"></property>
<property name="window_style"></property>
<event name="OnButtonClick">OnReadNetlistFileClick</event>
<event name="OnButtonClick">OnCompileRatsnestClick</event>
<event name="OnChar"></event>
<event name="OnEnterWindow"></event>
<event name="OnEraseBackground"></event>
......@@ -998,8 +987,8 @@
<property name="font"></property>
<property name="gripper">0</property>
<property name="hidden">0</property>
<property name="id">wxID_CANCEL</property>
<property name="label">Close</property>
<property name="id">wxID_ANY</property>
<property name="label">Save Messages to File</property>
<property name="max_size"></property>
<property name="maximize_button">0</property>
<property name="maximum_size"></property>
......@@ -1007,7 +996,7 @@
<property name="minimize_button">0</property>
<property name="minimum_size"></property>
<property name="moveable">1</property>
<property name="name">m_buttonClose</property>
<property name="name">m_buttonSaveMessages</property>
<property name="pane_border">1</property>
<property name="pane_position"></property>
<property name="pane_size"></property>
......@@ -1028,7 +1017,92 @@
<property name="window_extra_style"></property>
<property name="window_name"></property>
<property name="window_style"></property>
<event name="OnButtonClick">OnCancelClick</event>
<event name="OnButtonClick">OnSaveMessagesToFile</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">OnUpdateUISaveMessagesToFile</event>
</object>
</object>
</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_staticline11</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>
......@@ -1056,9 +1130,18 @@
</object>
<object class="sizeritem" expanded="1">
<property name="border">5</property>
<property name="flag">wxEXPAND|wxALL</property>
<property name="flag">wxALL|wxEXPAND</property>
<property name="proportion">0</property>
<object class="wxButton" expanded="1">
<object class="wxBoxSizer" expanded="1">
<property name="minimum_size"></property>
<property name="name">bCenterSizer</property>
<property name="orient">wxVERTICAL</property>
<property name="permission">none</property>
<object class="sizeritem" expanded="1">
<property name="border">5</property>
<property name="flag">wxBOTTOM|wxRIGHT|wxLEFT</property>
<property name="proportion">0</property>
<object class="wxCheckBox" expanded="1">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
......@@ -1072,10 +1155,10 @@
<property name="caption"></property>
<property name="caption_visible">1</property>
<property name="center_pane">0</property>
<property name="checked">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>
......@@ -1086,8 +1169,8 @@
<property name="font"></property>
<property name="gripper">0</property>
<property name="hidden">0</property>
<property name="id">ID_TEST_NETLIST</property>
<property name="label">Test Footprints</property>
<property name="id">wxID_ANY</property>
<property name="label">Dry run. Only report changes in message panel</property>
<property name="max_size"></property>
<property name="maximize_button">0</property>
<property name="maximum_size"></property>
......@@ -1095,7 +1178,7 @@
<property name="minimize_button">0</property>
<property name="minimum_size"></property>
<property name="moveable">1</property>
<property name="name">m_buttonFPTest</property>
<property name="name">m_checkDryRun</property>
<property name="pane_border">1</property>
<property name="pane_position"></property>
<property name="pane_size"></property>
......@@ -1108,7 +1191,7 @@
<property name="style"></property>
<property name="subclass"></property>
<property name="toolbar_pane">0</property>
<property name="tooltip">Read the current neltist file and list missing and extra footprints</property>
<property name="tooltip">Dry Run:&#x0A;The netlist is read, but no change is actually made on board.&#x0A;Changes are only reported in message panel, for info</property>
<property name="validator_data_type"></property>
<property name="validator_style">wxFILTER_NONE</property>
<property name="validator_type">wxDefaultValidator</property>
......@@ -1116,8 +1199,8 @@
<property name="window_extra_style"></property>
<property name="window_name"></property>
<property name="window_style"></property>
<event name="OnButtonClick">OnTestFootprintsClick</event>
<event name="OnChar"></event>
<event name="OnCheckBox"></event>
<event name="OnEnterWindow"></event>
<event name="OnEraseBackground"></event>
<event name="OnKeyDown"></event>
......@@ -1139,14 +1222,14 @@
<event name="OnRightUp"></event>
<event name="OnSetFocus"></event>
<event name="OnSize"></event>
<event name="OnUpdateUI">OnUpdateUIValidNetlistFile</event>
<event name="OnUpdateUI"></event>
</object>
</object>
<object class="sizeritem" expanded="1">
<property name="border">5</property>
<property name="flag">wxEXPAND|wxALL</property>
<property name="flag">wxRIGHT|wxLEFT</property>
<property name="proportion">0</property>
<object class="wxButton" expanded="1">
<object class="wxCheckBox" expanded="1">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
......@@ -1160,10 +1243,10 @@
<property name="caption"></property>
<property name="caption_visible">1</property>
<property name="center_pane">0</property>
<property name="checked">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>
......@@ -1174,8 +1257,8 @@
<property name="font"></property>
<property name="gripper">0</property>
<property name="hidden">0</property>
<property name="id">ID_COMPILE_RATSNEST</property>
<property name="label">Rebuild Board Connectivity</property>
<property name="id">wxID_ANY</property>
<property name="label">Silent mode</property>
<property name="max_size"></property>
<property name="maximize_button">0</property>
<property name="maximum_size"></property>
......@@ -1183,7 +1266,7 @@
<property name="minimize_button">0</property>
<property name="minimum_size"></property>
<property name="moveable">1</property>
<property name="name">m_buttonRebild</property>
<property name="name">m_checkBoxSilentMode</property>
<property name="pane_border">1</property>
<property name="pane_position"></property>
<property name="pane_size"></property>
......@@ -1196,7 +1279,7 @@
<property name="style"></property>
<property name="subclass"></property>
<property name="toolbar_pane">0</property>
<property name="tooltip">Rebuild the full ratsnest (usefull after a manual pad netname edition)</property>
<property name="tooltip">Silent mode:&#x0A;Do not show the warning message before reading the netlist</property>
<property name="validator_data_type"></property>
<property name="validator_style">wxFILTER_NONE</property>
<property name="validator_type">wxDefaultValidator</property>
......@@ -1204,8 +1287,8 @@
<property name="window_extra_style"></property>
<property name="window_name"></property>
<property name="window_style"></property>
<event name="OnButtonClick">OnCompileRatsnestClick</event>
<event name="OnChar"></event>
<event name="OnCheckBox">OnClickSilentMode</event>
<event name="OnEnterWindow"></event>
<event name="OnEraseBackground"></event>
<event name="OnKeyDown"></event>
......@@ -1227,14 +1310,14 @@
<event name="OnRightUp"></event>
<event name="OnSetFocus"></event>
<event name="OnSize"></event>
<event name="OnUpdateUI">OnUpdateUIValidNetlistFile</event>
<event name="OnUpdateUI"></event>
</object>
</object>
<object class="sizeritem" expanded="1">
<property name="border">5</property>
<property name="flag">wxALL|wxEXPAND</property>
<property name="flag">wxTOP|wxRIGHT|wxLEFT</property>
<property name="proportion">0</property>
<object class="wxButton" expanded="1">
<object class="wxCheckBox" expanded="1">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
<property name="RightDockable">1</property>
......@@ -1248,10 +1331,10 @@
<property name="caption"></property>
<property name="caption_visible">1</property>
<property name="center_pane">0</property>
<property name="checked">1</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>
......@@ -1263,7 +1346,7 @@
<property name="gripper">0</property>
<property name="hidden">0</property>
<property name="id">wxID_ANY</property>
<property name="label">Save Messages to File</property>
<property name="label">Display all messages</property>
<property name="max_size"></property>
<property name="maximize_button">0</property>
<property name="maximum_size"></property>
......@@ -1271,7 +1354,7 @@
<property name="minimize_button">0</property>
<property name="minimum_size"></property>
<property name="moveable">1</property>
<property name="name">m_buttonSaveMessages</property>
<property name="name">m_checkBoxFullMessages</property>
<property name="pane_border">1</property>
<property name="pane_position"></property>
<property name="pane_size"></property>
......@@ -1284,7 +1367,7 @@
<property name="style"></property>
<property name="subclass"></property>
<property name="toolbar_pane">0</property>
<property name="tooltip"></property>
<property name="tooltip">Messages filter:&#x0A;If checked: show all messages when reading the netlist&#x0A;If not checked: show only warning or error messages</property>
<property name="validator_data_type"></property>
<property name="validator_style">wxFILTER_NONE</property>
<property name="validator_type">wxDefaultValidator</property>
......@@ -1292,8 +1375,8 @@
<property name="window_extra_style"></property>
<property name="window_name"></property>
<property name="window_style"></property>
<event name="OnButtonClick">OnSaveMessagesToFile</event>
<event name="OnChar"></event>
<event name="OnCheckBox">OnClickFullMessages</event>
<event name="OnEnterWindow"></event>
<event name="OnEraseBackground"></event>
<event name="OnKeyDown"></event>
......@@ -1315,22 +1398,11 @@
<event name="OnRightUp"></event>
<event name="OnSetFocus"></event>
<event name="OnSize"></event>
<event name="OnUpdateUI">OnUpdateUISaveMessagesToFile</event>
</object>
</object>
<event name="OnUpdateUI"></event>
</object>
</object>
</object>
</object>
<object class="sizeritem" expanded="1">
<property name="border">5</property>
<property name="flag">wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT</property>
<property name="proportion">1</property>
<object class="wxBoxSizer" expanded="1">
<property name="minimum_size"></property>
<property name="name">bLowerSizer</property>
<property name="orient">wxVERTICAL</property>
<property name="permission">none</property>
<object class="sizeritem" expanded="1">
<property name="border">5</property>
<property name="flag">wxEXPAND | wxALL</property>
......@@ -1412,6 +1484,15 @@
<event name="OnUpdateUI"></event>
</object>
</object>
<object class="sizeritem" expanded="1">
<property name="border">5</property>
<property name="flag">wxBOTTOM|wxEXPAND|wxLEFT|wxRIGHT</property>
<property name="proportion">1</property>
<object class="wxBoxSizer" expanded="1">
<property name="minimum_size"></property>
<property name="name">bLowerSizer</property>
<property name="orient">wxVERTICAL</property>
<property name="permission">none</property>
<object class="sizeritem" expanded="1">
<property name="border">5</property>
<property name="flag">wxRIGHT|wxLEFT</property>
......@@ -1497,8 +1578,17 @@
</object>
<object class="sizeritem" expanded="1">
<property name="border">5</property>
<property name="flag">wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT</property>
<property name="flag">wxEXPAND</property>
<property name="proportion">0</property>
<object class="wxBoxSizer" expanded="1">
<property name="minimum_size"></property>
<property name="name">bSizerNetlistFilename</property>
<property name="orient">wxHORIZONTAL</property>
<property name="permission">none</property>
<object class="sizeritem" expanded="1">
<property name="border">5</property>
<property name="flag">wxEXPAND|wxRIGHT|wxLEFT</property>
<property name="proportion">1</property>
<object class="wxTextCtrl" expanded="1">
<property name="BottomDockable">1</property>
<property name="LeftDockable">1</property>
......@@ -1588,7 +1678,97 @@
</object>
<object class="sizeritem" expanded="1">
<property name="border">5</property>
<property name="flag">wxRIGHT|wxLEFT</property>
<property name="flag">wxEXPAND|wxRIGHT|wxLEFT</property>
<property name="proportion">0</property>
<object class="wxButton" 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">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">ID_OPEN_NELIST</property>
<property name="label">Browse</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_buttonBrowse</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">wxBU_EXACTFIT</property>
<property name="subclass"></property>
<property name="toolbar_pane">0</property>
<property name="tooltip"></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">OnOpenNetlistClick</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 class="sizeritem" expanded="1">
<property name="border">5</property>
<property name="flag">wxTOP|wxRIGHT|wxLEFT</property>
<property name="proportion">0</property>
<object class="wxStaticText" expanded="1">
<property name="BottomDockable">1</property>
......
......@@ -21,9 +21,9 @@ class DIALOG_SHIM;
#include <wx/colour.h>
#include <wx/settings.h>
#include <wx/sizer.h>
#include <wx/checkbox.h>
#include <wx/button.h>
#include <wx/statline.h>
#include <wx/checkbox.h>
#include <wx/stattext.h>
#include <wx/textctrl.h>
#include <wx/dialog.h>
......@@ -40,10 +40,10 @@ class DIALOG_NETLIST_FBP : public DIALOG_SHIM
protected:
enum
{
ID_OPEN_NELIST = 1000,
ID_READ_NETLIST_FILE,
ID_READ_NETLIST_FILE = 1000,
ID_TEST_NETLIST,
ID_COMPILE_RATSNEST
ID_COMPILE_RATSNEST,
ID_OPEN_NELIST
};
wxRadioBox* m_Select_By_Timestamp;
......@@ -51,23 +51,23 @@ class DIALOG_NETLIST_FBP : public DIALOG_SHIM
wxRadioBox* m_ChangeExistingFootprintCtrl;
wxRadioBox* m_DeleteBadTracks;
wxRadioBox* m_RemoveExtraFootprintsCtrl;
wxCheckBox* m_checkDryRun;
wxCheckBox* m_checkBoxSilentMode;
wxButton* m_buttonBrowse;
wxButton* m_buttonRead;
wxButton* m_buttonClose;
wxButton* m_buttonFPTest;
wxButton* m_buttonRebild;
wxButton* m_buttonSaveMessages;
wxStaticLine* m_staticline11;
wxCheckBox* m_checkDryRun;
wxCheckBox* m_checkBoxSilentMode;
wxCheckBox* m_checkBoxFullMessages;
wxStaticLine* m_staticline1;
wxStaticText* m_staticTextNetfilename;
wxTextCtrl* m_NetlistFilenameCtrl;
wxButton* m_buttonBrowse;
wxStaticText* m_staticText1;
wxTextCtrl* m_MessageWindow;
// Virtual event handlers, overide them in your derived class
virtual void OnClickSilentMode( wxCommandEvent& event ) { event.Skip(); }
virtual void OnOpenNetlistClick( wxCommandEvent& event ) { event.Skip(); }
virtual void OnReadNetlistFileClick( wxCommandEvent& event ) { event.Skip(); }
virtual void OnUpdateUIValidNetlistFile( wxUpdateUIEvent& event ) { event.Skip(); }
virtual void OnCancelClick( wxCommandEvent& event ) { event.Skip(); }
......@@ -75,6 +75,9 @@ class DIALOG_NETLIST_FBP : public DIALOG_SHIM
virtual void OnCompileRatsnestClick( wxCommandEvent& event ) { event.Skip(); }
virtual void OnSaveMessagesToFile( wxCommandEvent& event ) { event.Skip(); }
virtual void OnUpdateUISaveMessagesToFile( wxUpdateUIEvent& event ) { event.Skip(); }
virtual void OnClickSilentMode( wxCommandEvent& event ) { event.Skip(); }
virtual void OnClickFullMessages( wxCommandEvent& event ) { event.Skip(); }
virtual void OnOpenNetlistClick( wxCommandEvent& event ) { event.Skip(); }
public:
......
......@@ -122,6 +122,7 @@ void PCB_EDIT_FRAME::Process_Special_Functions( wxCommandEvent& event )
case ID_POPUP_PCB_SELECT_LAYER_PAIR:
case ID_POPUP_PCB_SELECT_NO_CU_LAYER:
case ID_POPUP_PCB_MOVE_TRACK_NODE:
case ID_POPUP_PCB_MOVE_TEXTEPCB_REQUEST:
case ID_POPUP_PCB_DRAG_TRACK_SEGMENT_KEEP_SLOPE:
case ID_POPUP_PCB_DRAG_TRACK_SEGMENT:
case ID_POPUP_PCB_MOVE_TRACK_SEGMENT:
......@@ -145,6 +146,10 @@ void PCB_EDIT_FRAME::Process_Special_Functions( wxCommandEvent& event )
case ID_POPUP_PCB_EDIT_DRAWING:
case ID_POPUP_PCB_GETINFO_MARKER:
case ID_POPUP_PCB_MOVE_TEXT_DIMENSION_REQUEST:
case ID_POPUP_PCB_DRAG_MODULE_REQUEST:
case ID_POPUP_PCB_MOVE_MODULE_REQUEST:
case ID_POPUP_PCB_MOVE_TEXTMODULE_REQUEST:
case ID_POPUP_PCB_MOVE_MIRE_REQUEST:
break;
case ID_POPUP_CANCEL_CURRENT_COMMAND:
......@@ -286,11 +291,6 @@ void PCB_EDIT_FRAME::Process_Special_Functions( wxCommandEvent& event )
InstallNetlistFrame( &dc );
break;
case ID_GET_TOOLS:
// InstalloolsFrame(this, wxPoint(-1,-1) );
break;
case ID_FIND_ITEMS:
InstallFindFrame();
break;
......
......@@ -56,6 +56,11 @@ void PCB_EDIT_FRAME::ReadPcbNetlist( const wxString& aNetlistFileName,
NETLIST netlist;
NETLIST_READER* netlistReader;
netlist.SetIsDryRun( aIsDryRun );
netlist.SetFindByTimeStamp( aSelectByTimeStamp );
netlist.SetDeleteExtraFootprints( aDeleteExtraFootprints );
netlist.SetReplaceFootprints( aChangeFootprints );
try
{
netlistReader = NETLIST_READER::GetNetlistReader( &netlist, aNetlistFileName,
......@@ -80,11 +85,6 @@ void PCB_EDIT_FRAME::ReadPcbNetlist( const wxString& aNetlistFileName,
return;
}
netlist.SetIsDryRun( aIsDryRun );
netlist.SetFindByTimeStamp( aSelectByTimeStamp );
netlist.SetDeleteExtraFootprints( aDeleteExtraFootprints );
netlist.SetReplaceFootprints( aChangeFootprints );
// Clear undo and redo lists to avoid inconsistencies between lists
if( !netlist.IsDryRun() )
GetScreen()->ClearUndoRedoList();
......@@ -164,7 +164,6 @@ MODULE* PCB_EDIT_FRAME::ListAndSelectModuleName()
void PCB_EDIT_FRAME::loadFootprints( NETLIST& aNetlist, REPORTER* aReporter )
throw( IO_ERROR, PARSE_ERROR )
{
bool loadFootprint;
wxString msg;
wxString lastFootprintLibName;
COMPONENT* component;
......@@ -204,8 +203,27 @@ void PCB_EDIT_FRAME::loadFootprints( NETLIST& aNetlist, REPORTER* aReporter )
else
fpOnBoard = m_Pcb->FindModule( aNetlist.GetComponent( ii )->GetReference() );
loadFootprint = (fpOnBoard == NULL) ||
(fpOnBoard->GetPath() != component->GetFootprintName());
bool footprintMisMatch = fpOnBoard &&
fpOnBoard->GetLibRef() != component->GetFootprintName();
if( footprintMisMatch && !aNetlist.GetReplaceFootprints() )
{
if( aReporter )
{
msg.Printf( _( "* Warning: component `%s` has footprint <%s> and should be <%s>\n" ),
GetChars( component->GetReference() ),
GetChars( fpOnBoard->GetLibRef() ),
GetChars( component->GetFootprintName() ) );
aReporter->Report( msg );
}
continue;
}
if( !aNetlist.GetReplaceFootprints() )
footprintMisMatch = false;
bool loadFootprint = (fpOnBoard == NULL) || footprintMisMatch;
if( loadFootprint && (component->GetFootprintName() != lastFootprintLibName) )
{
......@@ -244,7 +262,6 @@ void PCB_EDIT_FRAME::loadFootprints( NETLIST& aNetlist, REPORTER* aReporter )
{
if( aReporter )
{
wxString msg;
msg.Printf( _( "*** Warning: component `%s` footprint <%s> was not found in "
"any libraries. ***\n" ),
GetChars( component->GetReference() ),
......@@ -274,7 +291,6 @@ void PCB_EDIT_FRAME::loadFootprints( NETLIST& aNetlist, REPORTER* aReporter )
void PCB_EDIT_FRAME::loadFootprints( NETLIST& aNetlist, REPORTER* aReporter )
throw( IO_ERROR, PARSE_ERROR )
{
bool loadFootprint;
wxString msg;
wxString lastFootprintLibName;
COMPONENT* component;
......@@ -309,8 +325,27 @@ void PCB_EDIT_FRAME::loadFootprints( NETLIST& aNetlist, REPORTER* aReporter )
else
fpOnBoard = m_Pcb->FindModule( aNetlist.GetComponent( ii )->GetReference() );
loadFootprint = (fpOnBoard == NULL) ||
(fpOnBoard->GetPath() != component->GetFootprintName());
bool footprintMisMatch = fpOnBoard &&
fpOnBoard->GetLibRef() != component->GetFootprintName();
if( footprintMisMatch && !aNetlist.GetReplaceFootprints() )
{
if( aReporter )
{
msg.Printf( _( "* Warning: component `%s` has footprint <%s> and should be <%s>\n" ),
GetChars( component->GetReference() ),
GetChars( fpOnBoard->GetLibRef() ),
GetChars( component->GetFootprintName() ) );
aReporter->Report( msg );
}
continue;
}
if( !aNetlist.GetReplaceFootprints() )
footprintMisMatch = false;
bool loadFootprint = (fpOnBoard == NULL) || footprintMisMatch;
if( loadFootprint && (component->GetFootprintName() != lastFootprintLibName) )
{
......
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