Skip to main content

resolve_component_pin

Function resolve_component_pin 

Source
pub fn resolve_component_pin(
    endpoints: &[WireHarnessEndpoint],
    occurrence: &str,
    group: Option<&str>,
    pin: &str,
) -> Result<String, String>
Expand description

The connection-point ADDRESS that pin pin of the placed component occurrence names, read from a routing report’s endpoints. occurrence is the placed component’s OCCURRENCE CHAIN — ACOMP3 for a component of this assembly, ACOMP7:ACOMP1 for one nested a level down; plan decision 5 resolves a Diagram reference such as J1 to it. The endpoint’s point is the PART-LOCAL name, untouched by namespacing, so pin VCC of ACOMP3 is the endpoint whose point is VCC, and the result is its address, e.g. ACOMP3:J1.VCC.

Candidates are matched on the endpoint’s own ADDRESS (endpoint_occurrence) rather than on WireHarnessEndpoint::component, which is the OUTERMOST occurrence alone (SceneMap::owning_component peels one prefix) and so cannot tell ACOMP7:ACOMP1 from ACOMP7:ACOMP2.

group is the port group the pin’s symbol unit maps to (port_group_for_unit); None means “any”, and then a name several groups carry is refused by name rather than guessed at.