User Tools

Site Tools


pcb:connection_lookup

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
pcb:connection_lookup [2018/12/23 20:00]
cparker
pcb:connection_lookup [2019/01/27 10:34]
cparker
Line 8: Line 8:
  
 In a number of places, the "​andRats"​ parameter is used. This indicates that rat lines should be considered when looking for overlaps. This way, you can highlight an entire net, even if all the pieces aren't connected with copper. It's important to preserve this functionality. In a number of places, the "​andRats"​ parameter is used. This indicates that rat lines should be considered when looking for overlaps. This way, you can highlight an entire net, even if all the pieces aren't connected with copper. It's important to preserve this functionality.
 +
 +Objects are broken into two categories, "layer objects"​ (LO) and pins and vias (PV). The tests then get split into four categories, PV to PV, LO to PV, LO to LO, and PV to LO.
  
 =====Detailed Algorithm===== =====Detailed Algorithm=====
 +
 +  - Initialize the lists
 +  - Add seed object
 +  - Initialize global variables
 +  - Search lists for new connections
 +    - Check the PV list for new PV connections (LookupPVConnectionsToPVList)
 +      - rsearch the pin tree calling pv_pv_callback
 +      - rsearch the via tree calling pv_pv_callback
 +        - check that the pvs are on intersecting layers
 +        - check that it's not already in the list
 +        - check that they touch
 +        - check that neither is just a hole
 +        - add the new pv to the list
 +    - Check the PV list for new LO connections
 +      - rsearch the pad tree calling LOCtoPVpad_callback
 +      - For each copper layer
 +        - rsearch the line tree calling LOCtoPVline_callback
 +        - rsearch the arc tree calling LOCtoPVarc_callback
 +        - rsearch the polygon tree calling LOCtoPVpoly_callback
 +
  
   - InitConnectionLookup()   - InitConnectionLookup()
Line 82: Line 104:
           - If we're following rats, set a jump point and do an r_search on the rat tree (LOCtoPVrat_callback)           - If we're following rats, set a jump point and do an r_search on the rat tree (LOCtoPVrat_callback)
             - If we haven'​t already found the rat, add it to the list, and long jump back to LookupLOConnectionToPVList             - If we haven'​t already found the rat, add it to the list, and long jump back to LookupLOConnectionToPVList
-  ​+          - Increment the position in the list and check the next PV 
 +        - Return false (continue search) 
 +      - LookupLOConnectionsToLOList(flag,​ AndRats)
   ​   ​
   ​   ​
pcb/connection_lookup.txt · Last modified: 2019/01/27 10:34 by cparker