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

Add support for a 'haxpress' external SPI flash build for stm32f411ce Black Pill board #4028

Merged
merged 7 commits into from
Jan 19, 2021
Merged

Add support for a 'haxpress' external SPI flash build for stm32f411ce Black Pill board #4028

merged 7 commits into from
Jan 19, 2021

Conversation

djix123
Copy link

@djix123 djix123 commented Jan 19, 2021

Similar to the QT PY the Black Pill / STM32F411CE board has pads for an external flash. This pull request adds a board version that supports an external flash soldered onto those pads.
[There is also a version of the board available with the external flash already present]

@djix123
Copy link
Author

djix123 commented Jan 19, 2021

It looks like the automated build fails with a duplicate PID - I copied over the config files from the base board - is there something I should update?

@dhalbert
Copy link
Collaborator

I'm a little confused. When you say

[There is also a version of the board available with the external flash already present]

do you mean you can buy such a version, or we already have a board definition? If you can buy the version, should we use that designation? It sounds identical to the haxpress version, except maybe for choice of flash chip.

@djix123
Copy link
Author

djix123 commented Jan 19, 2021

Yes, there are two versions available to buy: one with the flash and one without the flash present.
(there's currently only a board definition for the version without the flash present - this pull request adds a board definition for the version with the flash present - either as bought or added later)

@dhalbert
Copy link
Collaborator

dhalbert commented Jan 19, 2021

Is there a name or different model number for the commercial version with flash?

pinging @hierophect here for any comment

@djix123
Copy link
Author

djix123 commented Jan 19, 2021

Not that I can tell - on the WeAct/Aliexpress store - its just a case of selecting either with or without ... no obvious name difference.

@hierophect
Copy link
Collaborator

@dhalbert I knew about the pads when adding the board, but I didn't realize they had a version that actually shipped with it - I assumed the user would be adding their own custom flash board, so I left the flash pin definitions commented out so they could easily compile a custom build for whatever flash they were using.

My first thought is to handle this with a build flag, but that won't make it available in the build artifacts or on the website. It's the exact same product, but with a simple physical modification, so I don't think it deserves a new PID, but I guess we don't have an "alt-build" system to use other than just making a completely new board for it.

@hierophect
Copy link
Collaborator

Is there some way to bypass the duplicate PID checker? I think that's what would make the most sense here, and it might come up again for other future boards with "variant" builds.

@dhalbert
Copy link
Collaborator

dhalbert commented Jan 19, 2021

We can provide another USB PID no problem, since we provided the original, just like Py QT with/without flash. I am more concerned with what we would call it, since the commercial version is not a "haxpress". And also, what flash chip is provided on the commercial version, so we can add it to the list of possible chips for a version with flash.

We have some other examples:
cp_sapling_m0 vs cp_sapling_m0_spiflash
sparkfun_qwiic_micro_no_flash vs sparkfun_qwiic_micro_with_flash
...with_flash is fine with me, and I think covers both the home-added and commercial versions.

@hierophect
Copy link
Collaborator

...with_flash is fine with me, and I think covers both the home-added and commercial versions.

I agree, simplest answer is the best.

@djix123
Copy link
Author

djix123 commented Jan 19, 2021

The commercial version has a Winbond W25Q64JV ... my pull request references a W25Q64FV as I originally built this for a hand soldered version. The JV and FV are compatible so the build works for both.

Would you like me to resubmit the pull request with '_haxpress' replaced with '_with_flash'?

Copy link
Collaborator

@dhalbert dhalbert left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the addition! Besides the inline comments, could you change the board directory name to stm32f411ce_blackpill_with_flash?

.github/workflows/build.yml Outdated Show resolved Hide resolved
Copy link
Collaborator

@dhalbert dhalbert left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

forgot the new PID

djix123 and others added 5 commits January 19, 2021 11:32
Change name from _haxpress to _with_flash

Co-authored-by: Dan Halbert <halbert@halwitz.org>
Change name from _haxpress to _with_flash

Co-authored-by: Dan Halbert <halbert@halwitz.org>
Change name from _haxpress to _with_flash

Co-authored-by: Dan Halbert <halbert@halwitz.org>
Update PID for _with_flash version to resolve duplicate PID issue

Co-authored-by: Dan Halbert <halbert@halwitz.org>
…with_flash'

2. Add 'W25Q64JV_IQ' to flash chip list (as per commercial version)
@djix123
Copy link
Author

djix123 commented Jan 19, 2021

Thanks for the help! Hopefully all good now!

Copy link
Collaborator

@dhalbert dhalbert left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All set, thanks!

@dhalbert dhalbert merged commit 409b5ff into adafruit:main Jan 19, 2021
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.

None yet

3 participants