Skip to content

Discarding receivers when there are multiple virtual brains #16

@james1236

Description

@james1236

Duplicate pair assignments caused by having both vm_jacdaptor and vm_rp2040_brain:

🔵 Processing SWDIO sockets: 6 transmitters, 20 receivers
🟢 Paired SWDIO~^ with SWDIO~8 as SWDIO_8
🟢 Paired SWDIO~^ with SWDIO~8 as SWDIO_8
🟢 Paired SWDIO~^ with SWDIO~1 as SWDIO_1
🟢 Paired SWDIO~^ with SWDIO~1 as SWDIO_1
🟢 Paired SWDIO~^ with SWDIO~6 as SWDIO_6
🟢 Paired SWDIO~^ with SWDIO~6 as SWDIO_6
🟠 Disregarding 14 unpaired receivers for SWDIO

results in

🔵 Module 'vm_jacdaptor' has the following nets:
    GND, JD_PWR, RESET, JD_DATA, SWCLK
🔵 Module 'vm_rgb_led' has the following nets:
    GND, JD_PWR, RESET, JD_DATA, SWCLK
🔵 Module 'vm_keycap_button_row' has the following nets:
    SWDIO_8, GND, JD_PWR, RESET, JD_DATA, SWCLK
🔵 Module 'vm_keycap_button_row' has the following nets:
    GND, JD_PWR, RESET, JD_DATA, SWCLK
🔵 Module 'vm_keycap_button_row' has the following nets:
    SWDIO_1, GND, JD_PWR, RESET, JD_DATA, SWCLK
🔵 Module 'vm_keycap_button_row' has the following nets:
    GND, JD_PWR, RESET, JD_DATA, SWCLK
🔵 Module 'vm_keycap_button_row' has the following nets:
    SWDIO_6, GND, JD_PWR, RESET, JD_DATA, SWCLK
🔵 Module 'vm_rp2040_brain' has the following nets:
    SWDIO_8, SWDIO_1, SWDIO_6, GND, JD_PWR, RESET, JD_DATA, SWCLK

So vm_rp2040_brain is missing 3 SWDIO nets because they were assigned to duplicate pairs before, results in this routing (several keycap rows without SWDIO routes):

Image

easier to see in this image:

Image

There are duplicate assignments, because there's two virtual brains (microbit connector and rp2040 brain). Need to handle this case

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions