Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Add Pico 2 W port and update Pico SDK version#16313

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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Merged
dpgeorge merged 7 commits intomicropython:masterfrompeterharperuk:pico2_w_only
Dec 19, 2024

Conversation

peterharperuk
Copy link
Contributor

Summary

Add Pico 2 W port and changes made in pico-sdk 2.1.0. This fixes issues with lightsleep associated with sev handling and alarm pool problems.

Testing

Ran all the micropython tests

@peterharperuk
Copy link
ContributorAuthor

I've split these changes out from this PR#16057

@codecovCodecov
Copy link

codecovbot commentedNov 27, 2024
edited
Loading

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 98.57%. Comparing base(f4e4599) to head(a70a90c).
Report is 7 commits behind head on master.

Additional details and impacted files
@@           Coverage Diff           @@##           master   #16313   +/-   ##=======================================  Coverage   98.57%   98.57%           =======================================  Files         164      164             Lines       21349    21349           =======================================  Hits        21045    21045             Misses        304      304

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report?Share it here.

@github-actionsGitHub Actions
Copy link

github-actionsbot commentedNov 27, 2024
edited
Loading

Code size report:

   bare-arm:    +0 +0.000% minimal x86:    +0 +0.000%    unix x64:    +0 +0.000% standard      stm32:    +0 +0.000% PYBV10     mimxrt:    +0 +0.000% TEENSY40        rp2: -1952 -0.214% RPI_PICO_W[incl +4(bss)]       samd:    +0 +0.000% ADAFRUIT_ITSYBITSY_M4_EXPRESS  qemu rv32:    +0 +0.000% VIRT_RV32

@dpgeorgedpgeorge added this to therelease-1.25.0 milestoneDec 3, 2024
Copy link
Member

@dpgeorgedpgeorge 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 this, it's a relatively concise PR!

@peterharperukpeterharperukforce-pushed thepico2_w_only branch 2 times, most recently fromea6014a to2d4b02bCompareDecember 6, 2024 21:12
@mattytrentini
Copy link
Contributor

For anyone that wants to test but doesn't want to build the firmware, here is azipped UF2 file for the ARM build of2d4b02b.

@lgb-this
Copy link

I have a project with different topics (webserver, I2C, buttons, asynio, WLAN, MQTT, neo led, logging, ...) and this firmware runs stable for me. I could run the project without any modifications from the Pico W.

@scruss
Copy link
Contributor

Requesting a look at#16180 (and related#16181), a confirmed lightsleep regression for Pico W and Pico 2 W

@projectgusprojectgus self-requested a reviewDecember 17, 2024 00:26
Copy link
Contributor

@projectgusprojectgus left a comment
edited
Loading

Choose a reason for hiding this comment

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

These changes look good to me, thanks@peterharperuk . I don't have a 2 W to run this code myself, but I've ordered one.

Do I understand correctly that this pico-sdk version still has a buggy alarm pool, but after we update to 2.2.0 then we'd be able to switch the soft timer implementation back to the alarm pool if we wish? (Thanks to your PRraspberrypi/pico-sdk#2127)

@dpgeorge
Copy link
Member

I did a full test of this PR on:

  • Pico
  • Pico W
  • Pico2, in ARM and RISCV mode
  • Pico2 W, in ARM and RISCV mode

Everything seems to work as it should except the following:

  • There are some known failures, like using the native emitter to runtests/thread/stress_schedule.py.
  • tests/extmod/machine1.py test fails due to the issue fixed bytests/run-tests.py: Set name of injected test module to '__main__'. #16433.
  • tests/ports/rp2/rp2_dma.py fails on Pico2 W because the DMA channel that's allocated to Python in this test is different to the expected one, I guess because the expected DMA channel is used by the WiFi driver. To fix this, that test should probably be rewritten to use unittest.
  • tests/thread/thread_stdin.py locks up the Pico2 W when in RISCV mode. I'm not sure why, but I'm happy to let this through and fix it separately.

@peterharperuk
Copy link
ContributorAuthor

Should we include unittest in the list of installed modules? To avoid having to remember to manually install it to run the tests

@dpgeorge
Copy link
Member

Should we include unittest in the list of installed modules? To avoid having to remember to manually install it to run the tests

I'd rather not do that. The unittest package is pretty large when frozen in to firmware and not all ports have the space for it. Also, it's not a very common package for users to use, so takes up flash space unnecessarily.

If you're using a particular board for running the MicroPython test suite, it's relatively easy to dompremote mip install unittest once on that board and then leave it installed. Then it will work with the tests from then on.

peterharperuk reacted with thumbs up emoji

peterharperukand others added7 commitsDecember 19, 2024 16:51
Brings in support for Pico 2 W, among other things.Signed-off-by: Peter Harper <peter.harper@raspberrypi.com>
Signed-off-by: Peter Harper <peter.harper@raspberrypi.com>
Signed-off-by: Peter Harper <peter.harper@raspberrypi.com>
The cyw43 pins used to be hardcoded and `CYW43_PIN_WL_HOST_WAKE` and`CYW43_PIN_WL_REG_ON` were in the `pico_w.h` board header.This has been changed so the board header just defines the "defaultversion of the pins, e.g. `CYW43_DEFAULT_PIN_WL_HOST_WAKE`,`CYW43_DEFAULT_PIN_WL_REG_ON` etc.Set the pin values in `cyw43_configport.`h so `cyw43-driver` sees them andallow them to be changed at runtime (dynamic) if required.Signed-off-by: Peter Harper <peter.harper@raspberrypi.com>
As cyw43 pins might be dynamic, add a function that returns if a pin isreserved.  This is used by `MICROPY_HW_PIN_RESERVED` to prevent the pin IRQfrom being reset across a soft-reset.Signed-off-by: Peter Harper <peter.harper@raspberrypi.com>
Signed-off-by: Peter Harper <peter.harper@raspberrypi.com>
Build with:    make BOARD=RPI_PICO2_W BOARD_VARIANT=RISCVSigned-off-by: Peter Harper <peter.harper@raspberrypi.com>
@dpgeorge
Copy link
Member

I squashed down the last two changes you made@peterharperuk . This looks good now, it's very clean thank you!

mattytrentini, Gadgetoid, and cfpwastaken reacted with hooray emoji

@dpgeorgedpgeorge merged commita70a90c intomicropython:masterDec 19, 2024
64 checks passed
Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment
Reviewers

@GadgetoidGadgetoidGadgetoid left review comments

@projectgusprojectgusprojectgus approved these changes

@dpgeorgedpgeorgedpgeorge approved these changes

Assignees
No one assigned
Labels
Projects
None yet
Milestone
release-1.25.0
Development

Successfully merging this pull request may close these issues.

7 participants
@peterharperuk@mattytrentini@lgb-this@scruss@dpgeorge@projectgus@Gadgetoid

[8]ページ先頭

©2009-2025 Movatter.jp