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

boards/rpi-pico-w: initial support for rpi pico W board #19071

Merged
merged 1 commit into from
Jan 14, 2023

Conversation

krzysztof-cabaj
Copy link
Contributor

Contribution description

This PR adds initial RIOT OS support for the Raspberry Pico W - the Raspberry Pico with a Wifi/Bluetooth Infineon CYW 43439 module (*).

The code is based on PR #15822 and contains changes associated with small differences between RPi Pico and Pico W. The most important is that LED0 is connected to the CYW 43439 module and without PIO (PR #17425) cannot be used (RP2040 and CYW 43439 are connected together using SPI and Pico SDK utilize PIO to program SPI). Current LED0 implementation is similar to one for native board and prints appropriate texts on STDIO.

(*) Currently network connectivity not implemented.

Testing procedure

Flash sample program and look at doc:

make doc
xdg-open doc/doxygen/html/group__boards__rpi__pico__w.html

Issues/PRs references

Based on PR #15822.
Needs PR #17425.

Additional doc:
Raspberry Pi Pico and Pico W

@github-actions github-actions bot added Area: boards Area: Board ports Area: doc Area: Documentation Area: Kconfig Area: Kconfig integration labels Dec 21, 2022
@krzysztof-cabaj krzysztof-cabaj force-pushed the boards-rpi-picow branch 2 times, most recently from 4f293f4 to 9af6f8c Compare December 21, 2022 17:45
@benpicco benpicco requested a review from fabian18 January 2, 2023 02:40
@benpicco
Copy link
Contributor

benpicco commented Jan 2, 2023

Is the only difference in comparison to the non-w board the CYW43439 and GP25 not being used for the LED? (is it the IRQ pin for the CYW43439 instead?)

If the remaining pinout is the same, it would make more sense to just include the rpi-pico wholesale and don't define LED0 when BOARD_RPI_PICO_W is set.

You can then just include the rpi-pico in the Makefile instead of copying it's contents. (see stm32f429i-disco, openlabs-kw41z-mini-256kib).

@krzysztof-cabaj
Copy link
Contributor Author

Thanks for a hint!
I looked at provided examples with includes, and I refactor my code accordingly in the following days.

@krzysztof-cabaj krzysztof-cabaj force-pushed the boards-rpi-picow branch 2 times, most recently from 2f40a7b to 450d9e5 Compare January 11, 2023 19:56
@krzysztof-cabaj
Copy link
Contributor Author

The code is refactored. The most parts of code are included from boards/rpi-pico. The LED code and LED saul configuration is conditionally removed for rpi-picow.

Copy link
Contributor

@benpicco benpicco left a comment

Choose a reason for hiding this comment

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

Looks good!

IMHO it would make more sense to name the board rpi-pico-w.

Please squash directly.

@krzysztof-cabaj krzysztof-cabaj force-pushed the boards-rpi-picow branch 2 times, most recently from 8a9d176 to ddc6bd5 Compare January 12, 2023 19:17
@krzysztof-cabaj
Copy link
Contributor Author

The board name changed to rpi-pico-w and all commits squashed.

@krzysztof-cabaj krzysztof-cabaj changed the title boards/rpi_picow: initial support for rpi pico W board boards/rpi-pico-w: initial support for rpi pico W board Jan 12, 2023
boards/rpi-pico-w/Kconfig Outdated Show resolved Hide resolved
@benpicco benpicco added the CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR label Jan 12, 2023
Copy link
Contributor

@benpicco benpicco left a comment

Choose a reason for hiding this comment

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

bors merge

@bors
Copy link
Contributor

bors bot commented Jan 12, 2023

🕐 Waiting for PR status (GitHub check) to be set, probably by CI. Bors will automatically try to run when all required PR statuses are set.

@riot-ci
Copy link

riot-ci commented Jan 12, 2023

Murdock results

✔️ PASSED

9090aab boards/rpi-pico-w: addition of new board - Raspberry Pi Pico W

Success Failures Total Runtime
731 0 731 03m:10s

Artifacts

@bors
Copy link
Contributor

bors bot commented Jan 13, 2023

🕐 Waiting for PR status (GitHub check) to be set, probably by CI. Bors will automatically try to run when all required PR statuses are set.

1 similar comment
@bors
Copy link
Contributor

bors bot commented Jan 13, 2023

🕐 Waiting for PR status (GitHub check) to be set, probably by CI. Bors will automatically try to run when all required PR statuses are set.

@benpicco
Copy link
Contributor

bors merge

@bors
Copy link
Contributor

bors bot commented Jan 13, 2023

🕐 Waiting for PR status (GitHub check) to be set, probably by CI. Bors will automatically try to run when all required PR statuses are set.

@miri64
Copy link
Member

miri64 commented Jan 14, 2023

@kaspar030 help?

@krzysztof-cabaj a rebase might help also.

@benpicco
Copy link
Contributor

You can also squash while you’re at it

@bors
Copy link
Contributor

bors bot commented Jan 14, 2023

GitHub status checks took too long to complete, so bors is giving up. You can adjust bors configuration to have it wait longer if you like.

1 similar comment
@bors
Copy link
Contributor

bors bot commented Jan 14, 2023

GitHub status checks took too long to complete, so bors is giving up. You can adjust bors configuration to have it wait longer if you like.

@github-actions github-actions bot added the Area: Kconfig Area: Kconfig integration label Jan 14, 2023
@krzysztof-cabaj
Copy link
Contributor Author

I squashed and something has changed - PR is added to Murdock queue ... I hope that after green Murdock pass - bors takes commit for merging.

@miri64
Copy link
Member

miri64 commented Jan 14, 2023

bors merge

@bors
Copy link
Contributor

bors bot commented Jan 14, 2023

🕐 Waiting for PR status (GitHub check) to be set, probably by CI. Bors will automatically try to run when all required PR statuses are set.

@miri64
Copy link
Member

miri64 commented Jan 14, 2023

(╯°□°)╯︵ ┻━┻

@benpicco benpicco added Area: boards Area: Board ports and removed Area: boards Area: Board ports Area: Kconfig Area: Kconfig integration labels Jan 14, 2023
@benpicco
Copy link
Contributor

bors merge

@bors
Copy link
Contributor

bors bot commented Jan 14, 2023

🕐 Waiting for PR status (GitHub check) to be set, probably by CI. Bors will automatically try to run when all required PR statuses are set.

Copy link
Member

@maribu maribu left a comment

Choose a reason for hiding this comment

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

bors merge

@bors
Copy link
Contributor

bors bot commented Jan 14, 2023

🕐 Waiting for PR status (GitHub check) to be set, probably by CI. Bors will automatically try to run when all required PR statuses are set.

@maribu
Copy link
Member

maribu commented Jan 14, 2023

@krzysztof-cabaj: Could you try rebasing this PR on top of current master? Maybe thay can convince bors to get back to work...

@github-actions github-actions bot added the Area: Kconfig Area: Kconfig integration label Jan 14, 2023
@krzysztof-cabaj
Copy link
Contributor Author

I update my fork and rebase this PR on top of current RIOT/master. Murdock execute quick test (around 750 tests) but bors did not start staging/merge test - should it do this automatically?

@maribu
Copy link
Member

maribu commented Jan 14, 2023

bors merge

@bors
Copy link
Contributor

bors bot commented Jan 14, 2023

Build succeeded:

@bors bors bot merged commit ee72989 into RIOT-OS:master Jan 14, 2023
@krzysztof-cabaj
Copy link
Contributor Author

Thanks to @benpicco, @kaspar030, @miri64 , @maribu ... and stubborn @bors.

@miri64
Copy link
Member

miri64 commented Jan 14, 2023

┬─┬ ノ( ゜-゜ノ)

Thanks for the contribution!

bors bot added a commit that referenced this pull request Jan 18, 2023
19159: boards/rpi-pico-w: fix too large board image r=benpicco a=krzysztof-cabaj

### Contribution description

PR #19071 adds Raspberry Pico W board to RIOT. Unfortunately, current Doxygen version used for generation boards documentation available in RIOT webpage, do not scale images. In effect current [documentation](https://doc.riot-os.org/group__boards__rpi__pico__w.html) presents to users very, very huge board image. This PR change this image to smaller one, like in other boards. 
  
### Testing procedure

```
make doc
xdg-open doc/doxygen/html/group__boards__rpi__pico__w.htm
```
and compare with current [documentation](https://doc.riot-os.org/group__boards__rpi__pico__w.html).

### Issues/PRs references

PR #19071


Co-authored-by: krzysztof-cabaj <kcabaj@gmail.com>
@jia200x jia200x added this to the Release 2023.04 milestone Apr 25, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: boards Area: Board ports Area: doc Area: Documentation Area: Kconfig Area: Kconfig integration CI: ready for build If set, CI server will compile all applications for all available boards for the labeled PR
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants