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

Pico board config improvements #794

Merged
merged 16 commits into from
Feb 24, 2023
Merged

Conversation

Daft-Freak
Copy link
Collaborator

Splits the big if/else chain in 32blit-pico's CMakeLists into separate config files and the "drivers" into multiple files instead of a giant pile of #ifdefs.

Also includes some of the configs from the "all-the-boards" branch (the ones that don't need much extra code).

@Daft-Freak
Copy link
Collaborator Author

Oh, and removes the pico-extras requirement for devices that don't use it. (PicoSystem most importantly)

@Gadgetoid
Copy link
Contributor

Ooooh, veeerryy nice!

I guess this is a huge step toward making this project a little less opinionated about target platforms and a touch more extensible. I think @ali1234 had some thoughts in that direction, but I can't remember where they were mentioned.

@Daft-Freak
Copy link
Collaborator Author

At least for anything RP2040-based... 32blit-stm32 remains a bit of a mess. But uh, there's not a huge amount of hardware to target there.

Currently working through the "everything" branch attempting to not make things too messy. I think finishing VGA board support might be next...

@Gadgetoid
Copy link
Contributor

Le rebase fail? 👀

Which is not for PicoSystem.
More recent pico-extras does its real setup as a hook the end of pico_init_sdk, so we can't call it until after the import
Should make adding more configs less conflict-y
Also, drop i2s from the default config while we're here.

This makes the PicoSystem PWM override generic (-DBLIT_AUDIO_DRIVER=pwm instead of -DAUDIO_PWM).
There is no checking if the driver is valid though. (none is always valid)
Mostly a port of c33bcf5, except some modes can fail here
A bit more work as there's some shared code here. Default config now has no display driver.
Some duplication between the gpio/picosystem drivers, but now non-picosystem isn't using random pins for the dpad.
Packs, bases and generally anything you plug a pico into. (vgaboard being the exception here as it DOES have a PICO_BOARD)
More reasonable than the old one
No audio, but they have an LED!
The only remaining use of DISPLAY_SCANVIDEO
@Daft-Freak
Copy link
Collaborator Author

Nope, just forgot to rebase entirely.

(Pressed the resolve button to see what it would do...)

@Gadgetoid
Copy link
Contributor

Oh yeah, I'm floored at just how incredibly bad GitHub's integrated conflict resolution is.

@Gadgetoid Gadgetoid merged commit 900529e into 32blit:master Feb 24, 2023
@Gadgetoid
Copy link
Contributor

Borrowed a little idea from this for Galactic (Blunicorn) Bluetooth Audio. Thanks 😆

@Daft-Freak Daft-Freak deleted the pico-board-config branch February 24, 2023 22:28
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.

2 participants