Skip to content

Unify microcontroller and breakout board versions #389

@ducky64

Description

@ducky64

The current way to DRY out microcontroller ICs and their breakout board variations is kind of a cumbersome mess of multiple inheritance and fragmented classes. But with the recent feature to replace a block with a footprint, this can be cleaned up, creating the IC block internally for modeling but replacing all the internal parts with the module footprint.

See #367 for a concept.

Requirements:

  • Needs a way to propagate pin assignments to the wrapper.
    • Idea: preserve the grab-bag-of-IO abstraction in the wrapper, inspect into the internal pin mappings (pin name => pin number) to generate a mapping table for the wrapper module. Infrastructural block to handle this, takes in a dict of (chip pin name -> module footprint pin).
  • Need a way to restrict mappable pins in the chip to those present on the module, perhaps pin mapper.allowed_pins
  • Perhaps think about a way to support wrapper blocks instead of footprints.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions