circuitpython/ports
Damien George cb31c0ae9c esp32: Add support for board-named pins and the Pin.board dict.
This adds named-pins support to the esp32 port, following other ports.
Since the name of esp32 CPU pins is just GPIOx, where x is an integer, the
Pin.cpu dict is not supported and CPU pins are just retrieved via their
existing integer "name" (the cost of adding Pin.cpu is about 800 bytes,
mostly due to the additional qstrs).

What this commit supports is the Pin.board dict and constructing a pin by
names given by a board.  These names are defined in a pins.csv file at the
board level.  If no such file exists then Pin.board exists but is empty.

As part of this commit, pin and pin IRQ objects are optimised to reduce
their size in flash (by removing their gpio_num_t entry).  The net change
in firmware size for this commit is about -132 bytes.

Signed-off-by: Damien George <damien@micropython.org>
2023-07-20 18:17:36 +10:00
..
bare-arm bare-arm/mpconfigport.h: Disable remaining optional features. 2021-11-01 14:23:06 +11:00
cc3200 all: Use MP_REGISTER_EXTENSIBLE_MODULE for overrideable built-ins. 2023-06-08 17:54:21 +10:00
embed all: Rename *umodule*.c to remove the "u" prefix. 2023-06-08 17:54:17 +10:00
esp32 esp32: Add support for board-named pins and the Pin.board dict. 2023-07-20 18:17:36 +10:00
esp8266 esp8266/machine_pin: Accept an integer argument to mp_obj_get_pin_obj. 2023-07-20 17:33:54 +10:00
mimxrt ports: In machine_i2s.c, rename uasyncio to asyncio. 2023-06-19 18:36:54 +10:00
minimal all: Fix spelling mistakes based on codespell check. 2023-04-27 18:03:06 +10:00
nrf extmod/asyncio: Rename uasyncio to asyncio. 2023-06-19 17:33:03 +10:00
pic16bit ports: Implement simple write polling for stdout. 2023-03-23 13:51:17 +11:00
powerpc all: Fix spelling mistakes based on codespell check. 2023-04-27 18:03:06 +10:00
qemu-arm py/mkrules.mk: Automatically configure frozen options when manifest set. 2023-06-08 23:12:56 +10:00
renesas-ra renesas-ra/machine_spi: Consistently use machine_pin_find to get pin. 2023-07-20 17:36:18 +10:00
rp2 rp2/machine_pin: Factor out pin-find code from machine_pin_make_new. 2023-07-20 17:30:17 +10:00
samd samd/mpconfigport: Provide the platform module. 2023-06-27 14:58:44 +10:00
stm32 renesas-ra,stm32: Remove duplicate machine module from constants list. 2023-07-13 13:18:09 +10:00
teensy ports: Standardise docs link in help text. 2023-06-02 11:48:46 +10:00
unix extmod/asyncio: Rename uasyncio to asyncio. 2023-06-19 17:33:03 +10:00
webassembly webassembly: Replace typeof window check with ENVIRONMENT_IS_NODE flag. 2023-07-13 13:24:35 +10:00
windows extmod/asyncio: Rename uasyncio to asyncio. 2023-06-19 17:33:03 +10:00
zephyr py/mkrules.mk: Automatically configure frozen options when manifest set. 2023-06-08 23:12:56 +10:00