← index #12393Issue #7607
Off-topic · high · value 0.262
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 · ISSUE

ESP32 RTC_VALID_EXT_PINS not valid for ESP32 S2/S3

closedby stephanelsmithopened 2021-08-02updated 2022-04-14
port-esp32

modesp32.h defines the valid RTC_VALID_EXT_PINS suitable for Pico D4. S2 has a different pinout.

For example, pin 10 is not valid on Pico D4 (Flash memory), but is a valid RTC pin on S2. If I'm not mistaken, I believe this should work on S2, but getting 'invalid pin' error.

o = Pin(10, Pin.IN, pull=Pin.PULL_UP)
esp32.wake_on_ext0(pin = o, level = esp32.WAKEUP_ALL_LOW) #single pin

Thank you!

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