← index #8028PR #7821
Related · high · value 1.382
QUERY · ISSUE

esp32: psram invalid pin on original pins if remaped

openby petrkropened 2021-11-24updated 2021-12-01
port-esp32

I make own build with PSRAM remaped to PINs 32,33 (because original setting has colision with pin 17 used for LAN CLK-IN).

But compared to version 1.14 witih SDK 3.3.2 of uPy I can not use those 16 and 17 pins now, because it claim them as "invalid pin"

diff to SDKconfig

+CONFIG_D0WD_PSRAM_CLK_IO=33
+CONFIG_D0WD_PSRAM_CS_IO=32
>>> machine.Pin(16)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: invalid pin

but RAM itself works fine

>>> gc.mem_free()
4096416

of course, if I will use Pin.(33) or (32) program will crash due overlap with RAM

>>> machine.Pin(32,machine.Pin.OUT)
Pin(32)
>>>  
>>> 
>>> ����������������
Guru Meditation Error: Core  0 panic'ed (LoadProhibited). Exception was unhandled.

But I can not find part of code which should mark those pins (32,33) as invalid instead of original (16,17)

Do not know if that is BUG of uPy 1.17 or ESP_IDF SDK 4.3
Both works fine in uPy 1.14 with SDK 3.3.2

CANDIDATE · PULL REQUEST

ports/esp32: Block out IO16 and IO17 when using SPIRAM to prevent crash.

closedby UnexpectedMakeropened 2021-09-20updated 2021-11-12
port-esp32

If you try to use IO16/17 on a board with PSRAM on it, it will crash. So this PR blocked them out if the firmware supports PSRAM.
I also added IO46 to the interrupt pin list for ESP32-S3.

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