From 0cb6cd8c0215ffe99a6ac887384e2358056e80c1 Mon Sep 17 00:00:00 2001 From: jean-pierre charras Date: Thu, 10 Feb 2011 09:27:36 +0100 Subject: [PATCH] Eeschema: in intermediate netlist generation: remove redundant pins list by component, and make Dick happy. Known bug in intermediate netlist generation: multi parts per package have their common pins listed more than once in nets section. Will be fixed. --- demos/sonde xilinx/sonde xilinx-cache.lib | 2 +- demos/sonde xilinx/sonde xilinx.sch | 96 +++++------ eeschema/netform.cpp | 26 +-- eeschema/netlist_control.cpp | 4 +- eeschema/plugins/netlist_form_OrcadPcb2.xsl | 156 ++++++++++++++++-- .../plugins/netlist_form_cadstar-RINF.xsl | 131 +++++++++++++++ 6 files changed, 321 insertions(+), 94 deletions(-) create mode 100644 eeschema/plugins/netlist_form_cadstar-RINF.xsl diff --git a/demos/sonde xilinx/sonde xilinx-cache.lib b/demos/sonde xilinx/sonde xilinx-cache.lib index f28c92d98e..45c305cfc6 100644 --- a/demos/sonde xilinx/sonde xilinx-cache.lib +++ b/demos/sonde xilinx/sonde xilinx-cache.lib @@ -1,4 +1,4 @@ -EESchema-LIBRARY Version 2.3 Date: 17/05/2010 10:14:05 +EESchema-LIBRARY Version 2.3 Date: 09/02/2011 18:36:39 # # 74LS125 # diff --git a/demos/sonde xilinx/sonde xilinx.sch b/demos/sonde xilinx/sonde xilinx.sch index e6c1fe3845..60ac2206a8 100644 --- a/demos/sonde xilinx/sonde xilinx.sch +++ b/demos/sonde xilinx/sonde xilinx.sch @@ -1,4 +1,4 @@ -EESchema Schematic File Version 2 date 17/05/2010 10:14:05 +EESchema Schematic File Version 2 date 09/02/2011 18:36:39 LIBS:power LIBS:device LIBS:conn @@ -25,12 +25,12 @@ LIBS:cypress LIBS:siliconi LIBS:contrib LIBS:sonde xilinx-cache -EELAYER 23 0 +EELAYER 25 0 EELAYER END $Descr A4 11700 8267 Sheet 1 1 Title "CABLE PARALLELE III" -Date "3 may 2007" +Date "9 feb 2011" Rev "1" Comp "" Comment1 "" @@ -48,17 +48,17 @@ Wire Wire Line Wire Wire Line 6400 4200 5900 4200 $Comp -L GND #PWR01 -U 1 1 3EBF81B1 +L GND #PWR111 +U 1 1 4D52D0AC P 6300 4650 -F 0 "#PWR01" H 6300 4650 40 0001 C CNN +F 0 "#PWR111" H 6300 4650 40 0001 C CNN F 1 "GND" H 6300 4580 40 0001 C CNN 1 6300 4650 1 0 0 -1 $EndComp $Comp L C C4 -U 1 1 3EBF81A7 +U 1 1 4D52D0AA P 6300 4450 F 0 "C4" H 6350 4550 50 0000 L CNN F 1 "100pF" H 6350 4350 50 0000 L CNN @@ -67,7 +67,7 @@ F 1 "100pF" H 6350 4350 50 0000 L CNN $EndComp $Comp L R R13 -U 1 1 3EBF819B +U 1 1 4D52D0A6 P 6650 4200 F 0 "R13" V 6730 4200 50 0000 C CNN F 1 "100" V 6650 4200 50 0000 C CNN @@ -134,37 +134,37 @@ Wire Wire Line Wire Wire Line 8400 3700 8400 2750 $Comp -L PWR_FLAG #FLG02 +L PWR_FLAG #FLG102 U 1 1 3EBF848F P 6200 1050 -F 0 "#FLG02" H 6200 1320 30 0001 C CNN +F 0 "#FLG102" H 6200 1320 30 0001 C CNN F 1 "PWR_FLAG" H 6200 1280 30 0000 C CNN 1 6200 1050 1 0 0 -1 $EndComp $Comp -L VCC #PWR03 +L VCC #PWR106 U 1 1 3EBF8479 P 5900 1050 -F 0 "#PWR03" H 5900 1150 30 0001 C CNN +F 0 "#PWR106" H 5900 1150 30 0001 C CNN F 1 "VCC" H 5900 1150 30 0000 C CNN 1 5900 1050 1 0 0 -1 $EndComp $Comp -L GND #PWR04 +L GND #PWR101 U 1 1 3EBF8458 P 800 7300 -F 0 "#PWR04" H 800 7300 40 0001 C CNN +F 0 "#PWR101" H 800 7300 40 0001 C CNN F 1 "GND" H 800 7230 40 0001 C CNN 1 800 7300 1 0 0 -1 $EndComp $Comp -L PWR_FLAG #FLG05 +L PWR_FLAG #FLG101 U 1 1 3EBF843C P 800 7300 -F 0 "#FLG05" H 800 7570 30 0001 C CNN +F 0 "#FLG101" H 800 7570 30 0001 C CNN F 1 "PWR_FLAG" H 800 7530 30 0000 C CNN 1 800 7300 1 0 0 -1 @@ -179,10 +179,10 @@ Wire Wire Line Wire Wire Line 2500 2700 2200 2700 $Comp -L GND #PWR06 -U 1 1 3EBF8100 +L GND #PWR104 +U 1 1 4D52D0A5 P 2500 2750 -F 0 "#PWR06" H 2500 2750 40 0001 C CNN +F 0 "#PWR104" H 2500 2750 40 0001 C CNN F 1 "GND" H 2500 2680 40 0001 C CNN 1 2500 2750 1 0 0 -1 @@ -200,10 +200,10 @@ Wire Wire Line Text Label 9450 3500 0 60 ~ 0 PWR(3,3-5V) $Comp -L GND #PWR07 +L GND #PWR114 U 1 1 3EBF8376 P 10050 3600 -F 0 "#PWR07" H 10050 3600 40 0001 C CNN +F 0 "#PWR114" H 10050 3600 40 0001 C CNN F 1 "GND" H 10050 3530 40 0001 C CNN 1 10050 3600 0 1 1 0 @@ -219,10 +219,10 @@ TD0-DONE/P Text Label 7700 2550 0 60 ~ 0 PWR(3,3-5V) $Comp -L GND #PWR08 -U 1 1 3EBF8376 +L GND #PWR113 +U 1 1 4D52D0AF P 8500 2650 -F 0 "#PWR08" H 8500 2650 40 0001 C CNN +F 0 "#PWR113" H 8500 2650 40 0001 C CNN F 1 "GND" H 8500 2580 40 0001 C CNN 1 8500 2650 0 1 1 0 @@ -266,10 +266,10 @@ Connection ~ 6500 1050 Wire Wire Line 6500 1100 6500 1050 $Comp -L GND #PWR09 +L GND #PWR112 U 1 1 3EBF82CF P 6500 1500 -F 0 "#PWR09" H 6500 1500 40 0001 C CNN +F 0 "#PWR112" H 6500 1500 40 0001 C CNN F 1 "GND" H 6500 1430 40 0001 C CNN 1 6500 1500 1 0 0 -1 @@ -299,10 +299,10 @@ Wire Wire Line Wire Wire Line 6400 1900 5900 1900 $Comp -L GND #PWR010 -U 1 1 3EBF81B1 +L GND #PWR110 +U 1 1 4D52D0AD P 6300 3750 -F 0 "#PWR010" H 6300 3750 40 0001 C CNN +F 0 "#PWR110" H 6300 3750 40 0001 C CNN F 1 "GND" H 6300 3680 40 0001 C CNN 1 6300 3750 1 0 0 -1 @@ -318,7 +318,7 @@ F 1 "100pF" H 6350 3450 50 0000 L CNN $EndComp $Comp L R R12 -U 1 1 3EBF819B +U 1 1 4D52D0A7 P 6650 3300 F 0 "R12" V 6730 3300 50 0000 C CNN F 1 "100" V 6650 3300 50 0000 C CNN @@ -326,17 +326,17 @@ F 1 "100" V 6650 3300 50 0000 C CNN 0 1 1 0 $EndComp $Comp -L GND #PWR011 -U 1 1 3EBF81B1 +L GND #PWR109 +U 1 1 4D52D0AE P 6300 3050 -F 0 "#PWR011" H 6300 3050 40 0001 C CNN +F 0 "#PWR109" H 6300 3050 40 0001 C CNN F 1 "GND" H 6300 2980 40 0001 C CNN 1 6300 3050 1 0 0 -1 $EndComp $Comp L C C2 -U 1 1 3EBF81A7 +U 1 1 4D52D0AB P 6300 2850 F 0 "C2" H 6350 2950 50 0000 L CNN F 1 "100pF" H 6350 2750 50 0000 L CNN @@ -345,7 +345,7 @@ F 1 "100pF" H 6350 2750 50 0000 L CNN $EndComp $Comp L R R11 -U 1 1 3EBF819B +U 1 1 4D52D0A8 P 6650 2600 F 0 "R11" V 6730 2600 50 0000 C CNN F 1 "100" V 6650 2600 50 0000 C CNN @@ -365,26 +365,26 @@ Wire Wire Line Wire Wire Line 6200 1050 6200 1100 $Comp -L GND #PWR012 +L GND #PWR107 U 1 1 3EBF81B3 P 6200 1600 -F 0 "#PWR012" H 6200 1600 40 0001 C CNN +F 0 "#PWR107" H 6200 1600 40 0001 C CNN F 1 "GND" H 6200 1530 40 0001 C CNN 1 6200 1600 1 0 0 -1 $EndComp $Comp -L GND #PWR013 +L GND #PWR108 U 1 1 3EBF81B1 P 6300 2350 -F 0 "#PWR013" H 6300 2350 40 0001 C CNN +F 0 "#PWR108" H 6300 2350 40 0001 C CNN F 1 "GND" H 6300 2280 40 0001 C CNN 1 6300 2350 1 0 0 -1 $EndComp $Comp L C C3 -U 1 1 3EBF81A7 +U 1 1 4D52D0A9 P 6300 2150 F 0 "C3" H 6350 2250 50 0000 L CNN F 1 "100pF" H 6350 2050 50 0000 L CNN @@ -450,19 +450,19 @@ Wire Wire Line Wire Wire Line 2500 1700 2200 1700 $Comp -L GND #PWR014 +L GND #PWR103 U 1 1 3EBF8100 P 2500 1750 -F 0 "#PWR014" H 2500 1750 40 0001 C CNN +F 0 "#PWR103" H 2500 1750 40 0001 C CNN F 1 "GND" H 2500 1680 40 0001 C CNN 1 2500 1750 1 0 0 -1 $EndComp $Comp -L GND #PWR015 +L GND #PWR105 U 1 1 3EBF80DD P 4650 2000 -F 0 "#PWR015" H 4650 2000 40 0001 C CNN +F 0 "#PWR105" H 4650 2000 40 0001 C CNN F 1 "GND" H 4650 1930 40 0001 C CNN 1 4650 2000 1 0 0 -1 @@ -531,10 +531,10 @@ Wire Wire Line Wire Wire Line 1700 7200 1150 7200 $Comp -L GND #PWR016 +L GND #PWR102 U 1 1 3EBF7F0D P 1150 7300 -F 0 "#PWR016" H 1150 7300 40 0001 C CNN +F 0 "#PWR102" H 1150 7300 40 0001 C CNN F 1 "GND" H 1150 7230 40 0001 C CNN 1 1150 7300 1 0 0 -1 @@ -653,7 +653,7 @@ F 1 "100" V 3950 3300 50 0000 C CNN $EndComp $Comp L R R8 -U 1 1 3EBF7D33 +U 1 1 4D52D0A4 P 3950 2900 F 0 "R8" V 4030 2900 50 0000 C CNN F 1 "100" V 3950 2900 50 0000 C CNN @@ -662,7 +662,7 @@ F 1 "100" V 3950 2900 50 0000 C CNN $EndComp $Comp L R R7 -U 1 1 3EBF7D31 +U 1 1 4D52D0A3 P 3950 2600 F 0 "R7" V 4030 2600 50 0000 C CNN F 1 "100" V 3950 2600 50 0000 C CNN diff --git a/eeschema/netform.cpp b/eeschema/netform.cpp index 5a19713ceb..3483b29385 100644 --- a/eeschema/netform.cpp +++ b/eeschema/netform.cpp @@ -941,10 +941,6 @@ XNODE* EXPORT_HELP::makeGenericComponents() wxString sLib = wxT( "lib" ); wxString sPart = wxT( "part" ); wxString sNames = wxT( "names" ); - wxString sPinNum = wxT( "num" ); - wxString sPinNetname = wxT( "netname" ); - wxString sPinNetcode = wxT( "netcode" ); - m_ReferencesAlreadyFound.Clear(); @@ -957,7 +953,7 @@ XNODE* EXPORT_HELP::makeGenericComponents() { for( EDA_ITEM* schItem = path->LastDrawList(); schItem; schItem = schItem->Next() ) { - SCH_COMPONENT* comp = findNextComponentAndCreatPinList( schItem, path ); + SCH_COMPONENT* comp = findNextComponent( schItem, path ); if( !comp ) break; // No component left @@ -1021,26 +1017,6 @@ XNODE* EXPORT_HELP::makeGenericComponents() timeStamp.Printf( sTSFmt, comp->m_TimeStamp ); xcomp->AddChild( node( sTStamp, timeStamp ) ); - - // Add pins list for this component. - // Useful to build netlist which have pads connection inside the footprint description - // (Spice, OrcadPCB2 ...) - XNODE* xpinslist; - xcomp->AddChild( xpinslist = node( sPins ) ); - for( unsigned ii = 0; ii < m_SortedComponentPinList.size(); ii++ ) - { - NETLIST_OBJECT* Pin = m_SortedComponentPinList[ii]; - if( !Pin ) - continue; - XNODE* xpin; - xpinslist->AddChild( xpin = node( sPin ) ); - wxString text; - xpin->AddAttribute( sPinNum, Pin->GetPinNumText() ); - sprintPinNetName( &text, wxT( "N-%.6d" ), Pin ); - xpin->AddAttribute( sPinNetname, text ); - text.Printf( wxT( "%d" ), Pin->GetNet() ); - xpin->AddAttribute( sPinNetcode, text ); - } } } diff --git a/eeschema/netlist_control.cpp b/eeschema/netlist_control.cpp index 5a91b15ae7..c851deab8c 100644 --- a/eeschema/netlist_control.cpp +++ b/eeschema/netlist_control.cpp @@ -377,9 +377,9 @@ void NETLIST_DIALOG::AddNewPluginPanel( wxCommandEvent& event ) wxFileName fn( FullFileName ); wxString ext = fn.GetExt(); if( ext == wxT("xsl" ) ) - cmdLine.Printf(wxT("xsltproc -o %%O \"%s\" %%I"), GetChars(FullFileName) ); + cmdLine.Printf(wxT("xsltproc -o \"%%O\" \"%s\" \"%%I\""), GetChars(FullFileName) ); else if( ext == wxT("exe" ) || ext.IsEmpty() ) - cmdLine.Printf(wxT("\"%s\" > %%O < %%I"), GetChars(FullFileName) ); + cmdLine.Printf(wxT("\"%s\" > \"%%O\" < \"%%I\""), GetChars(FullFileName) ); else cmdLine.Printf(wxT("\"%s\""), GetChars(FullFileName) ); diff --git a/eeschema/plugins/netlist_form_OrcadPcb2.xsl b/eeschema/plugins/netlist_form_OrcadPcb2.xsl index f8f20e7313..c4adfadfeb 100644 --- a/eeschema/plugins/netlist_form_OrcadPcb2.xsl +++ b/eeschema/plugins/netlist_form_OrcadPcb2.xsl @@ -14,28 +14,50 @@ - + ( { EESchema Netlist Version 1.1 - - + + + + }&nl; + + + + )&nl;*&nl; - + - + &nl; - + ( @@ -67,24 +89,122 @@ &nl; - + + + + )&nl; - - - ( + + + + + + + + + + + + + + + + + + + + ( = - - - - - - ? - - + + + + + + + + + + + + + + + )&nl; + + + + + + + + + + + + + + + + + + $N-0 + + + + + ? + + + + + + diff --git a/eeschema/plugins/netlist_form_cadstar-RINF.xsl b/eeschema/plugins/netlist_form_cadstar-RINF.xsl new file mode 100644 index 0000000000..8e0034d8f6 --- /dev/null +++ b/eeschema/plugins/netlist_form_cadstar-RINF.xsl @@ -0,0 +1,131 @@ + + + + +]> + + + + + + + .HEA&nl; + + + &nl; + + &nl;&nl; + + &nl;.END&nl; + + + + + .APP " + + "&nl; + + + + + .TIM + + &nl; + + + + + + .ADD_COM + + + + + + + + ? + + + + + + + + + + + &nl; + + + + + + + + + + + + + + + N- + + + + &nl; + + + + + + + + + + + .ADD_TER + + . + + + + + + + + + + + .TER + + + + + + + + . + + &nl; + + + +