Fix exporting Spice instance lines for multi-part symbols
Only pins from the current symbol part were used: the rest was incorrectly set to Not Connected. Also slightly change generation of names for Not Connected nets.
This commit is contained in:
parent
3e4cfab254
commit
a0400791c0
|
@ -344,8 +344,8 @@ bool NETLIST_EXPORTER_SPICE::readModel( SCH_SYMBOL& aSymbol, SPICE_ITEM& aItem )
|
||||||
|
|
||||||
void NETLIST_EXPORTER_SPICE::readPinNumbers( SCH_SYMBOL& aSymbol, SPICE_ITEM& aItem )
|
void NETLIST_EXPORTER_SPICE::readPinNumbers( SCH_SYMBOL& aSymbol, SPICE_ITEM& aItem )
|
||||||
{
|
{
|
||||||
for( const LIB_PIN* pin : aSymbol.GetLibPins() )
|
for( const PIN_INFO& pin : m_sortedSymbolPinList )
|
||||||
aItem.pinNumbers.push_back( pin->GetShownNumber() );
|
aItem.pinNumbers.push_back( pin.num );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -361,7 +361,7 @@ void NETLIST_EXPORTER_SPICE::readPinNetNames( SCH_SYMBOL& aSymbol, SPICE_ITEM& a
|
||||||
LOCALE_IO toggle;
|
LOCALE_IO toggle;
|
||||||
|
|
||||||
if( netName == "" )
|
if( netName == "" )
|
||||||
netName = wxString::Format( wxT( "__NC_%.2u" ), aNCCounter++ );
|
netName = wxString::Format( wxT( "NC-%u" ), aNCCounter++ );
|
||||||
|
|
||||||
aItem.pinNetNames.push_back( netName );
|
aItem.pinNetNames.push_back( netName );
|
||||||
m_nets.insert( netName );
|
m_nets.insert( netName );
|
||||||
|
|
|
@ -990,9 +990,10 @@ wxString SIM_MODEL::GenerateSpiceItemLine( const wxString& aRefName,
|
||||||
wxString result = "";
|
wxString result = "";
|
||||||
result << GenerateSpiceItemName( aRefName ) << " ";
|
result << GenerateSpiceItemName( aRefName ) << " ";
|
||||||
|
|
||||||
|
int ncCounter = 0;
|
||||||
|
|
||||||
for( const PIN& pin : GetPins() )
|
for( const PIN& pin : GetPins() )
|
||||||
{
|
{
|
||||||
int ncCounter = 0;
|
|
||||||
auto it = std::find( aSymbolPinNumbers.begin(),
|
auto it = std::find( aSymbolPinNumbers.begin(),
|
||||||
aSymbolPinNumbers.end(),
|
aSymbolPinNumbers.end(),
|
||||||
pin.symbolPinNumber );
|
pin.symbolPinNumber );
|
||||||
|
@ -1000,7 +1001,7 @@ wxString SIM_MODEL::GenerateSpiceItemLine( const wxString& aRefName,
|
||||||
if( it == aSymbolPinNumbers.end() )
|
if( it == aSymbolPinNumbers.end() )
|
||||||
{
|
{
|
||||||
LOCALE_IO toggle;
|
LOCALE_IO toggle;
|
||||||
result << wxString::Format( "__NC_%s_%s_%.2u", aRefName, aModelName, ncCounter++ );
|
result << wxString::Format( "NC-%s-%u ", aRefName, ncCounter++ );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue