mirror of
https://github.com/micropython/micropython.git
synced 2025-12-16 09:50:15 +01:00
Some checks failed
JavaScript code lint and formatting with Biome / eslint (push) Has been cancelled
Check code formatting / code-formatting (push) Has been cancelled
Check spelling with codespell / codespell (push) Has been cancelled
Build docs / build (push) Has been cancelled
Check examples / embedding (push) Has been cancelled
Package mpremote / build (push) Has been cancelled
.mpy file format and tools / test (push) Has been cancelled
Build ports metadata / build (push) Has been cancelled
alif port / build_alif (alif_ae3_build) (push) Has been cancelled
cc3200 port / build (push) Has been cancelled
esp32 port / build_idf (esp32_build_c2_c6) (push) Has been cancelled
esp32 port / build_idf (esp32_build_cmod_spiram_s2) (push) Has been cancelled
esp32 port / build_idf (esp32_build_s3_c3) (push) Has been cancelled
esp8266 port / build (push) Has been cancelled
mimxrt port / build (push) Has been cancelled
nrf port / build (push) Has been cancelled
powerpc port / build (push) Has been cancelled
qemu port / build_and_test_arm (bigendian) (push) Has been cancelled
qemu port / build_and_test_arm (sabrelite) (push) Has been cancelled
qemu port / build_and_test_arm (thumb_hardfp) (push) Has been cancelled
qemu port / build_and_test_arm (thumb_softfp) (push) Has been cancelled
qemu port / build_and_test_rv32 (push) Has been cancelled
qemu port / build_and_test_rv64 (push) Has been cancelled
renesas-ra port / build_renesas_ra_board (push) Has been cancelled
rp2 port / build (push) Has been cancelled
samd port / build (push) Has been cancelled
stm32 port / build_stm32 (stm32_misc_build) (push) Has been cancelled
stm32 port / build_stm32 (stm32_nucleo_build) (push) Has been cancelled
stm32 port / build_stm32 (stm32_pyb_build) (push) Has been cancelled
unix port / minimal (push) Has been cancelled
unix port / reproducible (push) Has been cancelled
unix port / standard (push) Has been cancelled
unix port / standard_v2 (push) Has been cancelled
unix port / coverage (push) Has been cancelled
unix port / coverage_32bit (push) Has been cancelled
unix port / nanbox (push) Has been cancelled
unix port / longlong (push) Has been cancelled
unix port / float (push) Has been cancelled
unix port / gil_enabled (push) Has been cancelled
unix port / stackless_clang (push) Has been cancelled
unix port / float_clang (push) Has been cancelled
unix port / settrace_stackless (push) Has been cancelled
unix port / repr_b (push) Has been cancelled
unix port / macos (push) Has been cancelled
unix port / qemu_mips (push) Has been cancelled
unix port / qemu_arm (push) Has been cancelled
unix port / qemu_riscv64 (push) Has been cancelled
unix port / sanitize_address (push) Has been cancelled
unix port / sanitize_undefined (push) Has been cancelled
webassembly port / build (push) Has been cancelled
windows port / build-vs (Debug, true, x64, dev, 2017, [15, 16)) (push) Has been cancelled
windows port / build-vs (Debug, true, x86, dev, 2017, [15, 16)) (push) Has been cancelled
windows port / build-vs (Debug, x64, dev, 2022, [17, 18)) (push) Has been cancelled
windows port / build-vs (Debug, x86, dev, 2022, [17, 18)) (push) Has been cancelled
windows port / build-vs (Release, true, x64, dev, 2017, [15, 16)) (push) Has been cancelled
windows port / build-vs (Release, true, x64, dev, 2019, [16, 17)) (push) Has been cancelled
windows port / build-vs (Release, true, x64, standard, 2017, [15, 16)) (push) Has been cancelled
windows port / build-vs (Release, true, x64, standard, 2019, [16, 17)) (push) Has been cancelled
windows port / build-vs (Release, true, x86, dev, 2017, [15, 16)) (push) Has been cancelled
windows port / build-vs (Release, true, x86, dev, 2019, [16, 17)) (push) Has been cancelled
windows port / build-vs (Release, true, x86, standard, 2017, [15, 16)) (push) Has been cancelled
windows port / build-vs (Release, true, x86, standard, 2019, [16, 17)) (push) Has been cancelled
windows port / build-vs (Release, x64, dev, 2022, [17, 18)) (push) Has been cancelled
windows port / build-vs (Release, x64, standard, 2022, [17, 18)) (push) Has been cancelled
windows port / build-vs (Release, x86, dev, 2022, [17, 18)) (push) Has been cancelled
windows port / build-vs (Release, x86, standard, 2022, [17, 18)) (push) Has been cancelled
windows port / build-mingw (i686, mingw32, dev) (push) Has been cancelled
windows port / build-mingw (i686, mingw32, standard) (push) Has been cancelled
windows port / build-mingw (x86_64, mingw64, dev) (push) Has been cancelled
windows port / build-mingw (x86_64, mingw64, standard) (push) Has been cancelled
windows port / cross-build-on-linux (push) Has been cancelled
zephyr port / build (push) Has been cancelled
Python code lint and formatting with ruff / ruff (push) Has been cancelled
The current `esp32.RMT` class uses a legacy API from ESP-IDF 4.x. The ESP-IDF 5.x offers a new API, which is overall better, and easier to implement the RX side in the future. This commit updates the module and the documentation, preserving the current MicroPython RMT API as much as possible. The bitstream RMT implementation was updated as well, since ESP-IDF does not allow firmware to reference legacy and new APIs at the same time (it resets right after boot with an error message, even if neither module is imported). The documentation is updated accordingly. Signed-off-by: Elvis Pfutzenreuter <elvis.pfutzenreuter@gmail.com>
78 lines
1.6 KiB
C
78 lines
1.6 KiB
C
#ifndef MICROPY_INCLUDED_ESP32_MODESP32_H
|
|
#define MICROPY_INCLUDED_ESP32_MODESP32_H
|
|
|
|
#include "driver/rmt_tx.h"
|
|
|
|
#if CONFIG_IDF_TARGET_ESP32S2 || CONFIG_IDF_TARGET_ESP32S3
|
|
|
|
#define RTC_VALID_EXT_PINS \
|
|
( \
|
|
(1ll << 0) | \
|
|
(1ll << 1) | \
|
|
(1ll << 2) | \
|
|
(1ll << 3) | \
|
|
(1ll << 4) | \
|
|
(1ll << 5) | \
|
|
(1ll << 6) | \
|
|
(1ll << 7) | \
|
|
(1ll << 8) | \
|
|
(1ll << 9) | \
|
|
(1ll << 10) | \
|
|
(1ll << 11) | \
|
|
(1ll << 12) | \
|
|
(1ll << 13) | \
|
|
(1ll << 14) | \
|
|
(1ll << 15) | \
|
|
(1ll << 16) | \
|
|
(1ll << 17) | \
|
|
(1ll << 18) | \
|
|
(1ll << 19) | \
|
|
(1ll << 20) | \
|
|
(1ll << 21) \
|
|
)
|
|
#define RTC_LAST_EXT_PIN 21
|
|
|
|
#else
|
|
|
|
#define RTC_VALID_EXT_PINS \
|
|
( \
|
|
(1ll << 0) | \
|
|
(1ll << 2) | \
|
|
(1ll << 4) | \
|
|
(1ll << 12) | \
|
|
(1ll << 13) | \
|
|
(1ll << 14) | \
|
|
(1ll << 15) | \
|
|
(1ll << 25) | \
|
|
(1ll << 26) | \
|
|
(1ll << 27) | \
|
|
(1ll << 32) | \
|
|
(1ll << 33) | \
|
|
(1ll << 34) | \
|
|
(1ll << 35) | \
|
|
(1ll << 36) | \
|
|
(1ll << 37) | \
|
|
(1ll << 38) | \
|
|
(1ll << 39) \
|
|
)
|
|
#define RTC_LAST_EXT_PIN 39
|
|
|
|
#endif
|
|
|
|
#define RTC_IS_VALID_EXT_PIN(pin_id) ((1ll << (pin_id)) & RTC_VALID_EXT_PINS)
|
|
|
|
extern bool esp32_rmt_bitstream_enabled;
|
|
|
|
extern const mp_obj_type_t esp32_nvs_type;
|
|
extern const mp_obj_type_t esp32_partition_type;
|
|
extern const mp_obj_type_t esp32_rmt_type;
|
|
extern const mp_obj_type_t esp32_ulp_type;
|
|
|
|
#if MICROPY_PY_ESP32_PCNT
|
|
extern const mp_obj_type_t esp32_pcnt_type;
|
|
|
|
void esp32_pcnt_deinit_all(void);
|
|
#endif
|
|
|
|
#endif // MICROPY_INCLUDED_ESP32_MODESP32_H
|