← index #12393PR #12394
Likely Duplicate · high · value 4.169
QUERY · ISSUE

rp2: No support for external pins in Pico W build

openby Gadgetoidopened 2023-09-08updated 2023-09-11
enhancement

The named pins feature for supporting external pins requires the definition of machine_pin_ext_init and various other functions for configuring, setting and getting external pins.

This feature is entirely monopolized by the Pico W build, in such a way that it's impossible to add additional external pins on top of those defined for Pico W.

There should be no reason why we can't take a copy of machine_pin_cyw43.c , and extend it as necessary.

This would require moving the hard-coded exception for Pico W in CMakeLists.txt into the board config -

https://github.com/micropython/micropython/blob/3637252b7bc3e85ea92038161e008a550991d1f4/ports/rp2/CMakeLists.txt#L300-L302

ESP32 handles additional sources with the MICROPY_SOURCE_BOARD variable, I think the RP2 port should mirror this behavior, and this is how machine_pin_cyw43.c should be included - https://github.com/micropython/micropython/blob/3637252b7bc3e85ea92038161e008a550991d1f4/ports/esp32/esp32_common.cmake#L105

CANDIDATE · PULL REQUEST

ports/rp2: Move Pico W ext pins to board config.

openby Gadgetoidopened 2023-09-08updated 2023-10-11
port-rp2

This is a minimum viable change to make it possible to support additional external pins in a BOARD that's derived from RPI_PICO_W. Attempts to address #12393

Keyboard

j / / n
next pair
k / / p
previous pair
1 / / h
show query pane
2 / / l
show candidate pane
c
copy suggested comment
r
toggle reasoning
g i
go to index
?
show this help
esc
close overlays

press ? or esc to close

copied