Browse Source

ERC: flag unconnected sheet pins

Fixes https://gitlab.com/kicad/code/kicad/-/issues/1780
6.0.7
Jon Evans 5 years ago
parent
commit
24ff66f5a2
  1. 15
      eeschema/connection_graph.cpp

15
eeschema/connection_graph.cpp

@ -2754,6 +2754,8 @@ int CONNECTION_GRAPH::ercCheckHierSheets()
{
int errors = 0;
ERC_SETTINGS& settings = m_schematic->ErcSettings();
for( const SCH_SHEET_PATH& sheet : m_sheetList )
{
for( SCH_ITEM* item : sheet.LastScreen()->Items() )
@ -2766,8 +2768,21 @@ int CONNECTION_GRAPH::ercCheckHierSheets()
std::map<wxString, SCH_SHEET_PIN*> pins;
for( SCH_SHEET_PIN* pin : parentSheet->GetPins() )
{
pins[pin->GetText()] = pin;
if( pin->IsDangling() && settings.IsTestEnabled( ERCE_PIN_NOT_CONNECTED ) )
{
std::shared_ptr<ERC_ITEM> ercItem = ERC_ITEM::Create( ERCE_PIN_NOT_CONNECTED );
ercItem->SetItems( pin );
SCH_MARKER* marker = new SCH_MARKER( ercItem, pin->GetPosition() );
sheet.LastScreen()->Append( marker );
errors++;
}
}
for( SCH_ITEM* subItem : parentSheet->GetScreen()->Items() )
{
if( subItem->Type() == SCH_HIER_LABEL_T )

Loading…
Cancel
Save