25#include "wx/html/m_templ.h"
26#include "wx/html/styleparams.h"
47 _(
"Duplicate sheet names within a given sheet" ),
48 wxT(
"duplicate_sheet_names" ) );
51 _(
"Symbol pin or wire end off grid" ),
52 wxT(
"endpoint_off_grid" ) );
55 _(
"Pin not connected" ),
56 wxT(
"pin_not_connected" ) );
59 _(
"Input pin not driven by any Output pins" ),
60 wxT(
"pin_not_driven" ) );
63 _(
"Input Power pin not driven by any Output Power pins" ),
64 wxT(
"power_pin_not_driven" ) );
67 _(
"Conflict problem between pins" ),
68 wxT(
"pin_to_pin" ) );
71 _(
"Conflict problem between pins" ),
72 wxT(
"pin_to_pin" ) );
75 _(
"Mismatch between hierarchical labels and sheet pins" ),
76 wxT(
"hier_label_mismatch" ) );
79 _(
"A pin with a \"no connection\" flag is connected" ),
80 wxT(
"no_connect_connected" ) );
83 _(
"Unconnected \"no connection\" flag" ),
84 wxT(
"no_connect_dangling" ) );
87 _(
"Label not connected to anything" ),
88 wxT(
"label_dangling" ) );
91 _(
"Global label not connected anywhere else in the schematic" ),
92 wxT(
"global_label_dangling" ) );
95 _(
"Labels are similar (lower/upper case difference only)"),
96 wxT(
"similar_labels" ) );
99 _(
"Different footprint assigned in another unit of the symbol" ),
100 wxT(
"different_unit_footprint" ) );
103 _(
"Different net assigned to a shared pin in another unit of the symbol" ),
104 wxT(
"different_unit_net" ) );
107 _(
"Conflict between bus alias definitions across schematic sheets" ),
108 wxT(
"bus_definition_conflict" ) );
111 _(
"More than one name given to this bus or net" ),
112 wxT(
"multiple_net_names" ) );
115 _(
"Conflicting netclass assignments" ),
116 wxT(
"conflicting_netclasses" ) );
119 _(
"Net is graphically connected to a bus but not a bus member" ),
120 wxT(
"net_not_bus_member" ) );
123 _(
"Label attached to bus item does not describe a bus" ),
124 wxT(
"bus_label_syntax" ) );
127 _(
"Buses are graphically connected but share no bus members" ),
128 wxT(
"bus_to_bus_conflict" ) );
131 _(
"Invalid connection between bus and net items" ),
132 wxT(
"bus_to_net_conflict" ) );
135 _(
"Unresolved text variable" ),
136 wxT(
"unresolved_variable" ) );
139 _(
"SPICE model issue" ),
140 wxT(
"simulation_model_issue" ) );
143 _(
"Wires not connected to anything" ),
144 wxT(
"wire_dangling" ) );
147 _(
"Library symbol issue" ),
148 wxT(
"lib_symbol_issues" ) );
151 _(
"Symbol is not annotated" ),
152 wxT(
"unannotated" ) );
155 _(
"Symbol has more units than are defined" ),
156 wxT(
"extra_units" ) );
159 _(
"Symbol has units that are not placed" ),
160 wxT(
"missing_unit" ) );
163 _(
"Symbol has input pins that are not placed" ),
164 wxT(
"missing_input_pin" ) );
167 _(
"Symbol has bidirectional pins that are not placed" ),
168 wxT(
"missing_bidi_pin" ) );
171 _(
"Symbol has power input pins that are not placed" ),
172 wxT(
"missing_power_pin" ) );
175 _(
"Units of same symbol have different values" ),
176 wxT(
"unit_value_mismatch" ) );
179 _(
"Duplicate reference designators" ),
180 wxT(
"duplicate_reference" ) );
183 _(
"Bus Entry needed" ),
184 wxT(
"bus_entry_needed" ) );
273 wxFAIL_MSG( wxS(
"Unknown ERC error code" ) );
286 unsigned int aCol )
const
290 std::shared_ptr<ERC_ITEM> ercItem = std::static_pointer_cast<ERC_ITEM>( node->
m_RcItem );
300 if( aSheet != curSheet )
319 SEVERITY severity = ercItem->GetParent()->GetSeverity();
324 msg =
_(
"Excluded warning: " );
326 msg =
_(
"Excluded error: " );
330 msg =
_(
"Warning: " );
334 msg =
_(
"Error: " );
338 msg += ercItem->GetErrorMessage();
344 msg =
_(
"Drawing Sheet" );
348 msg = getItemDesc( schEditFrame->
GetItem( ercItem->GetMainItemID() ),
349 ercItem->MainItemHasSheetPath() ? ercItem->GetMainItemSheetPath()
356 msg = getItemDesc( schEditFrame->
GetItem( ercItem->GetAuxItemID() ),
357 ercItem->AuxItemHasSheetPath() ? ercItem->GetAuxItemSheetPath()
362 msg = getItemDesc( schEditFrame->
GetItem( ercItem->GetAuxItem2ID() ),
367 msg = getItemDesc( schEditFrame->
GetItem( ercItem->GetAuxItem3ID() ),
372 msg.Replace( wxS(
"\n" ), wxS(
" " ) );
A base class for most all the KiCad significant classes used in schematics and boards.
virtual wxString GetItemDescription(UNITS_PROVIDER *aUnitsProvider) const
Return a user-visible description string of this item.
static ERC_ITEM differentUnitValue
static ERC_ITEM busToBusConflict
static ERC_ITEM pinTableWarning
static ERC_ITEM unresolvedVariable
static ERC_ITEM duplicateSheetName
static ERC_ITEM noConnectDangling
static ERC_ITEM busDefinitionConflict
static ERC_ITEM libSymbolIssues
static ERC_ITEM pinNotDriven
static ERC_ITEM extraUnits
static ERC_ITEM heading_conflicts
static std::shared_ptr< ERC_ITEM > Create(int aErrorCode)
Constructs an ERC_ITEM for the given error code.
static ERC_ITEM noConnectConnected
static ERC_ITEM heading_misc
static ERC_ITEM endpointOffGrid
static ERC_ITEM busToNetConflict
static ERC_ITEM differentUnitFootprint
static ERC_ITEM hierLabelMismatch
static ERC_ITEM heading_connections
static ERC_ITEM missingUnits
static ERC_ITEM similarLabels
static std::vector< std::reference_wrapper< RC_ITEM > > allItemTypes
A list of all ERC_ITEM types which are valid error codes.
static ERC_ITEM globalLabelDangling
static ERC_ITEM labelDangling
static ERC_ITEM differentUnitNet
static ERC_ITEM pinTableError
static ERC_ITEM netNotBusMember
static ERC_ITEM wireDangling
static ERC_ITEM busLabelSyntax
static ERC_ITEM powerpinNotDriven
static ERC_ITEM missingPowerInputPin
static ERC_ITEM missingBidiPin
static ERC_ITEM unannotated
static ERC_ITEM missingInputPin
static ERC_ITEM netclassConflict
static ERC_ITEM busEntryNeeded
static ERC_ITEM simulationModelIssues
static ERC_ITEM multipleNetNames
static ERC_ITEM pinNotConnected
static ERC_ITEM duplicateReference
void GetValue(wxVariant &aVariant, wxDataViewItem const &aItem, unsigned int aCol) const override
Override of RC_TREE_MODEL::GetValue which returns item descriptions in a specific SCH_SHEET_PATH cont...
enum TYPEMARKER GetMarkerType() const
EDA_DRAW_FRAME * m_editFrame
static RC_TREE_NODE * ToNode(wxDataViewItem aItem)
std::shared_ptr< RC_ITEM > m_RcItem
Schematic editor (Eeschema) main window.
EDA_ITEM * GetItem(const KIID &aId) const override
Fetch an item by KIID.
SCH_SHEET_PATH & GetCurrentSheet() const
SEVERITY GetSeverity(int aErrorCode) const override
Handle access to a stack of flattened SCH_SHEET objects by way of a path for creating a flattened sch...
void UpdateAllScreenReferences() const
Update all the symbol references for this sheet path.
@ ERCE_UNANNOTATED
Symbol has not been annotated.
@ ERCE_POWERPIN_NOT_DRIVEN
Power input pin connected to some others pins but no power out pin to drive it.
@ ERCE_DRIVER_CONFLICT
Conflicting drivers (labels, etc) on a subgraph.
@ ERCE_MISSING_POWER_INPUT_PIN
Symbol has power input pins that are not placed on the schematic.
@ ERCE_SIMILAR_LABELS
2 labels are equal for case insensitive comparisons.
@ ERCE_LABEL_NOT_CONNECTED
Label not connected to anything.
@ ERCE_ENDPOINT_OFF_GRID
Pin or wire-end off grid.
@ ERCE_DUPLICATE_REFERENCE
More than one symbol with the same reference.
@ ERCE_EXTRA_UNITS
Symbol has more units than are defined.
@ ERCE_BUS_TO_BUS_CONFLICT
A connection between bus objects doesn't share at least one net.
@ ERCE_BUS_LABEL_ERROR
A label attached to a bus isn't in bus format.
@ ERCE_BUS_ENTRY_CONFLICT
A wire connected to a bus doesn't match the bus.
@ ERCE_NETCLASS_CONFLICT
Multiple labels assign different netclasses to same net.
@ ERCE_GLOBLABEL
A global label is unique.
@ ERCE_BUS_TO_NET_CONFLICT
A bus wire is graphically connected to a net port/pin (or vice versa).
@ ERCE_NOCONNECT_NOT_CONNECTED
A no connect symbol is not connected to anything.
@ ERCE_DIFFERENT_UNIT_NET
Shared pin in a multi-unit symbol is connected to more than one net.
@ ERCE_PIN_NOT_CONNECTED
Pin not connected and not no connect symbol.
@ ERCE_BUS_ENTRY_NEEDED
Importer failed to auto-place a bus entry.
@ ERCE_UNRESOLVED_VARIABLE
A text variable could not be resolved.
@ ERCE_SIMULATION_MODEL
An error was found in the simulation model.
@ ERCE_DIFFERENT_UNIT_FP
Different units of the same symbol have different footprints assigned.
@ ERCE_NOCONNECT_CONNECTED
A no connect symbol is connected to more than 1 pin.
@ ERCE_PIN_TO_PIN_WARNING
@ ERCE_PIN_NOT_DRIVEN
Pin connected to some others pins but no pin to drive it.
@ ERCE_MISSING_INPUT_PIN
Symbol has input pins that are not placed.
@ ERCE_MISSING_UNIT
Symbol has units that are not placed on the schematic.
@ ERCE_DUPLICATE_SHEET_NAME
Duplicate sheet names within a given sheet.
@ ERCE_MISSING_BIDI_PIN
Symbol has bi-directional pins that are not placed.
@ ERCE_LIB_SYMBOL_ISSUES
Library symbol changed from current symbol in schematic or the library symbol link no longer valid.
@ ERCE_HIERACHICAL_LABEL
Mismatch between hierarchical labels and pins sheets.
@ ERCE_WIRE_DANGLING
Some wires are not connected to anything else.
@ ERCE_BUS_ALIAS_CONFLICT
Conflicting bus alias definitions across sheets.
@ ERCE_DIFFERENT_UNIT_VALUE
Units of same symbol have different values.