Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Wrapper Footprint Blocks #385

Merged
merged 24 commits into from
Oct 28, 2024
Merged

Wrapper Footprint Blocks #385

merged 24 commits into from
Oct 28, 2024

Conversation

ducky64
Copy link
Collaborator

@ducky64 ducky64 commented Oct 28, 2024

Wrapper footprint blocks replace its internal contents with a footprint during netlisting. That is, it can have internal blocks for electronics model purposes, but when generating a board only its footprint shows up.

This is implemented as board scopes in the netlister. Potential pre-feature for #367, daughterboard / multi-board assembly support.

Adds two examples, a new Pololu A4988 stepper driver board, and refactor the existing VL53L0x connector to use this (instead of the weird superclass stuff). In the future, perhaps the microcontrollers can also be refactored to use this, though might need changes to the pin remapping layer.

There are in two styles, with different trade-offs:

  • The A4988 is a custom block that only instantiates the internal IC using it for modeling. It doesn't create a bunch of ghost supporting passives (if it has extended / instantiated the application circuit), but duplicates a lot of code. Note, had this extended the application circuit, the internal resistor would create a basic-part error.
  • The VL53L0x extends the application circuit, which makes it a valid refinement target and duplicates no code, but generates phantom passives that don't get netlisted. Inheritance is stylistically ugly here.
  • Unclear what the long-term solution should be.

Other changes:

  • Empty nets are pruned during generation (this changes a bunch of netlists)
  • Refdesing is scope aware
  • Example cleanups for the VL53L0x change

@ducky64 ducky64 marked this pull request as ready for review October 28, 2024 07:00
@ducky64 ducky64 merged commit 36fa559 into master Oct 28, 2024
11 checks passed
@ducky64 ducky64 deleted the breakouts branch October 28, 2024 08:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant