146        return !( other == *this );
 
 
  182        return m_PinMap[aFirstType][aSecondType];
 
 
  187        return m_PinMap[
static_cast<int>( aFirstType )][
static_cast<int>( aSecondType )];
 
 
  194        m_PinMap[aFirstType][aSecondType] = aValue;
 
 
  200        m_PinMap[
static_cast<int>( aFirstType )][
static_cast<int>( aSecondType )] = aValue;
 
 
  205        return m_PinMinDrive[
static_cast<int>( aFirstType )][
static_cast<int>( aSecondType )];
 
 
 
  261    int GetCount( 
int aSeverity = -1 ) 
const override;
 
  263    std::shared_ptr<RC_ITEM> 
GetItem( 
int aIndex ) 
const override;
 
  265    std::shared_ptr<ERC_ITEM> 
GetERCItem( 
int aIndex ) 
const;
 
  267    void DeleteItem( 
int aIndex, 
bool aDeep ) 
override;
 
 
bool IsTestEnabled(int aErrorCode) const
 
ERC_PIN_SORTING_METRIC m_ERCSortingMetric
The type of sorting used by the ERC checker to resolve multi-pin errors.
 
std::map< wxString, wxString > m_ErcExclusionComments
 
PIN_ERROR GetPinMapValue(ELECTRICAL_PINTYPE aFirstType, ELECTRICAL_PINTYPE aSecondType) const
 
std::map< ELECTRICAL_PINTYPE, int > m_PinTypeWeights
Weights for electrical pins used in ERC to decide which pin gets the marker in case of a multi-pin er...
 
static PIN_ERROR m_defaultPinMap[ELECTRICAL_PINTYPES_TOTAL][ELECTRICAL_PINTYPES_TOTAL]
Default Look up table which gives the ERC error level for a pair of connected pins.
 
ERC_PIN_SORTING_METRIC GetERCSortingMetric() const
Get the type of sorting metric the ERC checker should use to resolve multi-pin errors.
 
bool operator!=(const ERC_SETTINGS &other) const
 
SEVERITY GetSeverity(int aErrorCode) const
 
ERC_SETTINGS(JSON_SETTINGS *aParent, const std::string &aPath)
 
void SetPinMapValue(ELECTRICAL_PINTYPE aFirstType, ELECTRICAL_PINTYPE aSecondType, PIN_ERROR aValue)
 
void SetSeverity(int aErrorCode, SEVERITY aSeverity)
 
bool operator==(const ERC_SETTINGS &other) const
 
PIN_ERROR GetPinMapValue(int aFirstType, int aSecondType) const
 
int GetPinTypeWeight(ELECTRICAL_PINTYPE aPinType) const
Get the weight for an electrical pin type.
 
std::map< int, SEVERITY > m_ERCSeverities
 
std::set< wxString > m_ErcExclusions
 
static int m_PinMinDrive[ELECTRICAL_PINTYPES_TOTAL][ELECTRICAL_PINTYPES_TOTAL]
Look up table which gives the minimal drive for a pair of connected pins on a net.
 
void SetPinMapValue(int aFirstType, int aSecondType, PIN_ERROR aValue)
 
PIN_ERROR m_PinMap[ELECTRICAL_PINTYPES_TOTAL][ELECTRICAL_PINTYPES_TOTAL]
 
int GetPinMinDrive(ELECTRICAL_PINTYPE aFirstType, ELECTRICAL_PINTYPE aSecondType) const
 
JSON_SETTINGS(const wxString &aFilename, SETTINGS_LOC aLocation, int aSchemaVersion)
 
NESTED_SETTINGS(const std::string &aName, int aSchemaVersion, JSON_SETTINGS *aParent, const std::string &aPath, bool aLoadFromFile=true)
 
Provide an abstract interface of a RC_ITEM* list manager.
 
Holds all the data relating to one schematic.
 
int GetCount(int aSeverity=-1) const override
 
void SetSeverities(int aSeverities) override
 
void visitMarkers(std::function< void(SCH_MARKER *)> aVisitor) const
 
SHEETLIST_ERC_ITEMS_PROVIDER(const SHEETLIST_ERC_ITEMS_PROVIDER &)=delete
 
SHEETLIST_ERC_ITEMS_PROVIDER(SCHEMATIC *aSchematic)
 
void DeleteItem(int aIndex, bool aDeep) override
Remove (and optionally deletes) the indexed item from the list.
 
std::shared_ptr< ERC_ITEM > GetERCItem(int aIndex) const
 
std::vector< SCH_MARKER * > m_filteredMarkers
 
SHEETLIST_ERC_ITEMS_PROVIDER & operator=(const SHEETLIST_ERC_ITEMS_PROVIDER &)=delete
 
std::shared_ptr< RC_ITEM > GetItem(int aIndex) const override
Retrieve a RC_ITEM by index.
 
@ 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_SIMILAR_POWER
2 power pins are equal for case insensitive comparisons.
 
@ ERCE_MISSING_POWER_INPUT_PIN
Symbol has power input pins that are not placed on the schematic.
 
@ ERCE_UNCONNECTED_WIRE_ENDPOINT
A label is connected to more than one wire.
 
@ ERCE_GROUND_PIN_NOT_GROUND
A ground-labeled pin is not on a ground net while another pin is.
 
@ ERCE_SIMILAR_LABELS
2 labels are equal for case insensitive comparisons.
 
@ ERCE_STACKED_PIN_SYNTAX
Pin name resembles stacked pin notation.
 
@ ERCE_LABEL_NOT_CONNECTED
Label not connected to any pins.
 
@ 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_SAME_LOCAL_GLOBAL_LABEL
2 labels are equal for case insensitive comparisons.
 
@ ERCE_BUS_TO_BUS_CONFLICT
A connection between bus objects doesn't share at least one net.
 
@ ERCE_SIMILAR_LABEL_AND_POWER
label and pin are equal for case insensitive comparisons.
 
@ ERCE_LABEL_SINGLE_PIN
A label is connected only to a single pin.
 
@ ERCE_BUS_ENTRY_CONFLICT
A wire connected to a bus doesn't match the bus.
 
@ ERCE_FOOTPRINT_LINK_ISSUES
The footprint link is invalid, or points to a missing (or inactive) footprint or library.
 
@ ERCE_BUS_TO_NET_CONFLICT
A bus wire is graphically connected to a net port/pin (or vice versa).
 
@ ERCE_DUPLICATE_PIN_ERROR
 
@ 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_FOUR_WAY_JUNCTION
A four-way junction was found.
 
@ ERCE_PIN_NOT_CONNECTED
Pin not connected and not no connect symbol.
 
@ ERCE_UNDEFINED_NETCLASS
A netclass was referenced but not defined.
 
@ 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_LIB_SYMBOL_MISMATCH
Symbol doesn't match copy in library.
 
@ 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
Symbol not found in active libraries.
 
@ ERCE_FOOTPRINT_FILTERS
The assigned footprint doesn't match the footprint filters.
 
@ 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_SINGLE_GLOBAL_LABEL
A label only exists once in the schematic.
 
@ ERCE_LABEL_MULTIPLE_WIRES
A label is connected to more than one wire.
 
@ ERCE_DIFFERENT_UNIT_VALUE
Units of same symbol have different values.
 
ERC_PIN_SORTING_METRIC
The sorting metric used for erc resolution of multi-pin errors.
 
PIN_ERROR
The values a pin-to-pin entry in the pin matrix can take on.
 
ELECTRICAL_PINTYPE
The symbol library pin object electrical types used in ERC tests.
 
#define ELECTRICAL_PINTYPES_TOTAL
 
Functions to provide common constants and other functions to assist in making a consistent UI.