refactor(rmt): set group clock prescale dynamically

Closes https://github.com/espressif/esp-idf/issues/14760
This commit is contained in:
Chen Jichang
2025-01-03 18:39:40 +08:00
parent 16ba8b7e4a
commit 555bfd8f5c
15 changed files with 167 additions and 51 deletions

View File

@@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2022-2024 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2022-2025 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@@ -38,6 +38,11 @@ extern "C" {
#define RMT_LL_MAX_FILTER_VALUE 255
#define RMT_LL_MAX_IDLE_VALUE 32767
// Maximum values due to limited register bit width
#define RMT_LL_CHANNEL_CLOCK_MAX_PRESCALE 256
#define RMT_LL_GROUP_CLOCK_MAX_INTEGER_PRESCALE 256
#define RMT_LL_GROUP_CLOCK_MAX_FRACTAL_PRESCALE 64
typedef enum {
RMT_LL_MEM_OWNER_SW = 0,
RMT_LL_MEM_OWNER_HW = 1,