Skip to content

Commit 0e2685a

Browse files
committed
IDF release/v5.1 a9aea676e7
1 parent cdeb14d commit 0e2685a

File tree

458 files changed

+2509
-1311
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

458 files changed

+2509
-1311
lines changed

esp32/bin/bootloader_dio_40m.elf

0 Bytes
Binary file not shown.

esp32/bin/bootloader_dio_80m.elf

0 Bytes
Binary file not shown.

esp32/bin/bootloader_qio_40m.elf

0 Bytes
Binary file not shown.

esp32/bin/bootloader_qio_80m.elf

0 Bytes
Binary file not shown.

esp32/dio_qspi/include/sdkconfig.h

+3-1
Original file line numberDiff line numberDiff line change
@@ -436,6 +436,7 @@
436436
#define CONFIG_TWAI_ERRATA_FIX_RX_FRAME_INVALID 1
437437
#define CONFIG_TWAI_ERRATA_FIX_RX_FIFO_CORRUPT 1
438438
#define CONFIG_TWAI_ERRATA_FIX_LISTEN_ONLY_DOM 1
439+
#define CONFIG_GPTIMER_ISR_HANDLER_IN_IRAM 1
439440
#define CONFIG_DAC_DMA_AUTO_16BIT_ALIGN 1
440441
#define CONFIG_EFUSE_CODE_SCHEME_COMPAT_3_4 1
441442
#define CONFIG_EFUSE_MAX_BLK_LEN 192
@@ -771,6 +772,7 @@
771772
#define CONFIG_MBEDTLS_ECP_DP_BP512R1_ENABLED 1
772773
#define CONFIG_MBEDTLS_ECP_DP_CURVE25519_ENABLED 1
773774
#define CONFIG_MBEDTLS_ECP_NIST_OPTIM 1
775+
#define CONFIG_MBEDTLS_ECP_FIXED_POINT_OPTIM 1
774776
#define CONFIG_MQTT_PROTOCOL_311 1
775777
#define CONFIG_MQTT_TRANSPORT_SSL 1
776778
#define CONFIG_MQTT_TRANSPORT_WEBSOCKET 1
@@ -1082,5 +1084,5 @@
10821084
#define CONFIG_WARN_WRITE_STRINGS CONFIG_COMPILER_WARN_WRITE_STRINGS
10831085
#define CONFIG_WPA_MBEDTLS_CRYPTO CONFIG_ESP_WIFI_MBEDTLS_CRYPTO
10841086
#define CONFIG_WPA_MBEDTLS_TLS_CLIENT CONFIG_ESP_WIFI_MBEDTLS_TLS_CLIENT
1085-
#define CONFIG_ARDUINO_IDF_COMMIT "d3c99ed3b8"
1087+
#define CONFIG_ARDUINO_IDF_COMMIT "a9aea676e7"
10861088
#define CONFIG_ARDUINO_IDF_BRANCH "release/v5.1"

esp32/flags/defines

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
-DESP_PLATFORM -DIDF_VER=\"v5.1.1-1-gd3c99ed3b8-dirty\" -DMBEDTLS_CONFIG_FILE=\"mbedtls/esp_config.h\" -DSOC_MMU_PAGE_SIZE=CONFIG_MMU_PAGE_SIZE -DUNITY_INCLUDE_CONFIG_H -D_GNU_SOURCE -D_POSIX_READER_WRITER_LOCKS -DconfigENABLE_FREERTOS_DEBUG_OCDAWARE=1 -DTF_LITE_STATIC_MEMORY
1+
-DESP_PLATFORM -DIDF_VER=\"v5.1.1-229-ga9aea676e7-dirty\" -DMBEDTLS_CONFIG_FILE=\"mbedtls/esp_config.h\" -DSOC_MMU_PAGE_SIZE=CONFIG_MMU_PAGE_SIZE -DUNITY_INCLUDE_CONFIG_H -D_GNU_SOURCE -D_POSIX_READER_WRITER_LOCKS -DconfigENABLE_FREERTOS_DEBUG_OCDAWARE=1 -DTF_LITE_STATIC_MEMORY

esp32/include/bt/host/bluedroid/api/include/api/esp_bt_defs.h

-1
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,6 @@ typedef enum {
4747
ESP_BT_STATUS_MEMORY_FULL = 20, /* relate to BT_STATUS_MEMORY_FULL in bt_def.h */
4848
ESP_BT_STATUS_EIR_TOO_LARGE, /* relate to BT_STATUS_EIR_TOO_LARGE in bt_def.h */
4949
ESP_BT_STATUS_HCI_SUCCESS = ESP_BT_STATUS_BASE_FOR_HCI_ERR,
50-
ESP_BT_STATUS_HCI_PENDING,
5150
ESP_BT_STATUS_HCI_ILLEGAL_COMMAND,
5251
ESP_BT_STATUS_HCI_NO_CONNECTION,
5352
ESP_BT_STATUS_HCI_HW_FAILURE,

esp32/include/bt/host/bluedroid/api/include/api/esp_gap_bt_api.h

+1
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,7 @@ typedef struct {
106106
bool fec_required; /*!< FEC is required or not, true by default */
107107
bool include_txpower; /*!< EIR data include TX power, false by default */
108108
bool include_uuid; /*!< EIR data include UUID, false by default */
109+
bool include_name; /*!< EIR data include device name, true by default */
109110
uint8_t flag; /*!< EIR flags, see ESP_BT_EIR_FLAG for details, EIR will not include flag if it is 0, 0 by default */
110111
uint16_t manufacturer_len; /*!< Manufacturer data length, 0 by default */
111112
uint8_t *p_manufacturer_data; /*!< Manufacturer data point */

esp32/include/bt/host/bluedroid/api/include/api/esp_gattc_api.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ typedef union {
125125
} search_res; /*!< Gatt client callback param of ESP_GATTC_SEARCH_RES_EVT */
126126

127127
/**
128-
* @brief ESP_GATTC_READ_CHAR_EVT, ESP_GATTC_READ_DESCR_EVT
128+
* @brief ESP_GATTC_READ_CHAR_EVT, ESP_GATTC_READ_DESCR_EVT, ESP_GATTC_READ_MULTIPLE_EVT, ESP_GATTC_READ_MULTI_VAR_EVT
129129
*/
130130
struct gattc_read_char_evt_param {
131131

esp32/include/driver/gpio/include/driver/rtc_io.h

+25-20
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* SPDX-FileCopyrightText: 2015-2022 Espressif Systems (Shanghai) CO LTD
2+
* SPDX-FileCopyrightText: 2015-2023 Espressif Systems (Shanghai) CO LTD
33
*
44
* SPDX-License-Identifier: Apache-2.0
55
*/
@@ -28,7 +28,7 @@ bool rtc_gpio_is_valid_gpio(gpio_num_t gpio_num);
2828

2929
#define RTC_GPIO_IS_VALID_GPIO(gpio_num) rtc_gpio_is_valid_gpio(gpio_num)
3030

31-
#if SOC_RTCIO_INPUT_OUTPUT_SUPPORTED
31+
#if SOC_RTCIO_PIN_COUNT > 0
3232
/**
3333
* @brief Get RTC IO index number by gpio number.
3434
*
@@ -63,6 +63,7 @@ esp_err_t rtc_gpio_init(gpio_num_t gpio_num);
6363
*/
6464
esp_err_t rtc_gpio_deinit(gpio_num_t gpio_num);
6565

66+
#if SOC_RTCIO_INPUT_OUTPUT_SUPPORTED
6667
/**
6768
* @brief Get the RTC IO input level
6869
*
@@ -231,24 +232,6 @@ esp_err_t rtc_gpio_hold_en(gpio_num_t gpio_num);
231232
*/
232233
esp_err_t rtc_gpio_hold_dis(gpio_num_t gpio_num);
233234

234-
/**
235-
* @brief Helper function to disconnect internal circuits from an RTC IO
236-
* This function disables input, output, pullup, pulldown, and enables
237-
* hold feature for an RTC IO.
238-
* Use this function if an RTC IO needs to be disconnected from internal
239-
* circuits in deep sleep, to minimize leakage current.
240-
*
241-
* In particular, for ESP32-WROVER module, call
242-
* rtc_gpio_isolate(GPIO_NUM_12) before entering deep sleep, to reduce
243-
* deep sleep current.
244-
*
245-
* @param gpio_num GPIO number (e.g. GPIO_NUM_12).
246-
* @return
247-
* - ESP_OK on success
248-
* - ESP_ERR_INVALID_ARG if GPIO is not an RTC IO
249-
*/
250-
esp_err_t rtc_gpio_isolate(gpio_num_t gpio_num);
251-
252235
/**
253236
* @brief Enable force hold signal for all RTC IOs
254237
*
@@ -267,6 +250,26 @@ esp_err_t rtc_gpio_force_hold_dis_all(void);
267250

268251
#endif // SOC_RTCIO_HOLD_SUPPORTED
269252

253+
#if SOC_RTCIO_HOLD_SUPPORTED && SOC_RTCIO_INPUT_OUTPUT_SUPPORTED
254+
/**
255+
* @brief Helper function to disconnect internal circuits from an RTC IO
256+
* This function disables input, output, pullup, pulldown, and enables
257+
* hold feature for an RTC IO.
258+
* Use this function if an RTC IO needs to be disconnected from internal
259+
* circuits in deep sleep, to minimize leakage current.
260+
*
261+
* In particular, for ESP32-WROVER module, call
262+
* rtc_gpio_isolate(GPIO_NUM_12) before entering deep sleep, to reduce
263+
* deep sleep current.
264+
*
265+
* @param gpio_num GPIO number (e.g. GPIO_NUM_12).
266+
* @return
267+
* - ESP_OK on success
268+
* - ESP_ERR_INVALID_ARG if GPIO is not an RTC IO
269+
*/
270+
esp_err_t rtc_gpio_isolate(gpio_num_t gpio_num);
271+
#endif // SOC_RTCIO_HOLD_SUPPORTED && SOC_RTCIO_INPUT_OUTPUT_SUPPORTED
272+
270273
#if SOC_RTCIO_WAKE_SUPPORTED
271274

272275
/**
@@ -292,6 +295,8 @@ esp_err_t rtc_gpio_wakeup_disable(gpio_num_t gpio_num);
292295

293296
#endif // SOC_RTCIO_WAKE_SUPPORTED
294297

298+
#endif // SOC_RTCIO_PIN_COUNT > 0
299+
295300
#ifdef __cplusplus
296301
}
297302
#endif

esp32/include/driver/gptimer/include/driver/gptimer.h

+2
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ typedef struct {
2424
gptimer_count_direction_t direction; /*!< Count direction */
2525
uint32_t resolution_hz; /*!< Counter resolution (working frequency) in Hz,
2626
hence, the step size of each count tick equals to (1 / resolution_hz) seconds */
27+
int intr_priority; /*!< GPTimer interrupt priority,
28+
if set to 0, the driver will try to allocate an interrupt with a relative low priority (1,2,3) */
2729
struct {
2830
uint32_t intr_shared: 1; /*!< Set true, the timer interrupt number can be shared with other peripherals */
2931
} flags; /*!< GPTimer config flags*/

esp32/include/driver/mcpwm/include/driver/mcpwm_cap.h

+2
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,8 @@ esp_err_t mcpwm_capture_timer_set_phase_on_sync(mcpwm_cap_timer_handle_t cap_tim
132132
*/
133133
typedef struct {
134134
int gpio_num; /*!< GPIO used capturing input signal */
135+
int intr_priority; /*!< MCPWM capture interrupt priority,
136+
if set to 0, the driver will try to allocate an interrupt with a relative low priority (1,2,3) */
135137
uint32_t prescale; /*!< Prescale of input signal, effective frequency = cap_input_clk/prescale */
136138
struct {
137139
uint32_t pos_edge: 1; /*!< Whether to capture on positive edge */

esp32/include/driver/mcpwm/include/driver/mcpwm_cmpr.h

+2
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ extern "C" {
1919
* @brief MCPWM comparator configuration
2020
*/
2121
typedef struct {
22+
int intr_priority; /*!< MCPWM comparator interrupt priority,
23+
if set to 0, the driver will try to allocate an interrupt with a relative low priority (1,2,3) */
2224
struct {
2325
uint32_t update_cmp_on_tez: 1; /*!< Whether to update compare value when timer count equals to zero (tez) */
2426
uint32_t update_cmp_on_tep: 1; /*!< Whether to update compare value when timer count equals to peak (tep) */

esp32/include/driver/mcpwm/include/driver/mcpwm_fault.h

+4-2
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,10 @@ extern "C" {
2020
* @brief MCPWM GPIO fault configuration structure
2121
*/
2222
typedef struct {
23-
int group_id; /*!< In which MCPWM group that the GPIO fault belongs to */
24-
int gpio_num; /*!< GPIO used by the fault signal */
23+
int group_id; /*!< In which MCPWM group that the GPIO fault belongs to */
24+
int intr_priority; /*!< MCPWM GPIO fault interrupt priority,
25+
if set to 0, the driver will try to allocate an interrupt with a relative low priority (1,2,3) */
26+
int gpio_num; /*!< GPIO used by the fault signal */
2527
struct {
2628
uint32_t active_level: 1; /*!< On which level the fault signal is treated as active */
2729
uint32_t io_loop_back: 1; /*!< For debug/test, the signal output from the GPIO will be fed to the input path as well */

esp32/include/driver/mcpwm/include/driver/mcpwm_gen.h

+3
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,9 @@ typedef struct {
2424
struct {
2525
uint32_t invert_pwm: 1; /*!< Whether to invert the PWM signal (done by GPIO matrix) */
2626
uint32_t io_loop_back: 1; /*!< For debug/test, the signal output from the GPIO will be fed to the input path as well */
27+
uint32_t io_od_mode: 1; /*!< Configure the GPIO as open-drain mode */
28+
uint32_t pull_up: 1; /*!< Whether to pull up internally */
29+
uint32_t pull_down: 1; /*!< Whether to pull down internally */
2730
} flags; /*!< Extra configuration flags for generator */
2831
} mcpwm_generator_config_t;
2932

esp32/include/driver/mcpwm/include/driver/mcpwm_oper.h

+4-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,9 @@ extern "C" {
1919
* @brief MCPWM operator configuration
2020
*/
2121
typedef struct {
22-
int group_id; /*!< Specify from which group to allocate the MCPWM operator */
22+
int group_id; /*!< Specify from which group to allocate the MCPWM operator */
23+
int intr_priority; /*!< MCPWM operator interrupt priority,
24+
if set to 0, the driver will try to allocate an interrupt with a relative low priority (1,2,3) */
2325
struct {
2426
uint32_t update_gen_action_on_tez: 1; /*!< Whether to update generator action when timer counts to zero */
2527
uint32_t update_gen_action_on_tep: 1; /*!< Whether to update generator action when timer counts to peak */
@@ -135,6 +137,7 @@ esp_err_t mcpwm_operator_register_event_callbacks(mcpwm_oper_handle_t oper, cons
135137
* @brief MCPWM carrier configuration structure
136138
*/
137139
typedef struct {
140+
mcpwm_carrier_clock_source_t clk_src; /*!< MCPWM carrier clock source */
138141
uint32_t frequency_hz; /*!< Carrier frequency in Hz */
139142
uint32_t first_pulse_duration_us; /*!< The duration of the first PWM pulse, in us */
140143
float duty_cycle; /*!< Carrier duty cycle */

esp32/include/driver/mcpwm/include/driver/mcpwm_timer.h

+2
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@ typedef struct {
3535
The step size of each count tick equals to (1 / resolution_hz) seconds */
3636
mcpwm_timer_count_mode_t count_mode; /*!< Count mode */
3737
uint32_t period_ticks; /*!< Number of count ticks within a period */
38+
int intr_priority; /*!< MCPWM timer interrupt priority,
39+
if set to 0, the driver will try to allocate an interrupt with a relative low priority (1,2,3) */
3840
struct {
3941
uint32_t update_period_on_empty: 1; /*!< Whether to update period when timer counts to zero */
4042
uint32_t update_period_on_sync: 1; /*!< Whether to update period on sync event */

esp32/include/driver/pcnt/include/driver/pulse_cnt.h

+4-2
Original file line numberDiff line numberDiff line change
@@ -59,8 +59,10 @@ typedef struct {
5959
* @brief PCNT unit configuration
6060
*/
6161
typedef struct {
62-
int low_limit; /*!< Low limitation of the count unit, should be lower than 0 */
63-
int high_limit; /*!< High limitation of the count unit, should be higher than 0 */
62+
int low_limit; /*!< Low limitation of the count unit, should be lower than 0 */
63+
int high_limit; /*!< High limitation of the count unit, should be higher than 0 */
64+
int intr_priority; /*!< PCNT interrupt priority,
65+
if set to 0, the driver will try to allocate an interrupt with a relative low priority (1,2,3) */
6466
struct {
6567
uint32_t accum_count: 1; /*!< Whether to accumulate the count value when overflows at the high/low limit */
6668
} flags; /*!< Extra flags */

esp32/include/esp_hw_support/include/esp_intr_alloc.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -304,7 +304,7 @@ void esp_intr_disable_source(int inum);
304304
*/
305305
static inline int esp_intr_flags_to_level(int flags)
306306
{
307-
return __builtin_ffs((flags & ESP_INTR_FLAG_LEVELMASK) >> 1) + 1;
307+
return __builtin_ffs((flags & ESP_INTR_FLAG_LEVELMASK) >> 1);
308308
}
309309

310310
/**@}*/

esp32/include/esp_hw_support/include/esp_sleep.h

+39-11
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* SPDX-FileCopyrightText: 2015-2021 Espressif Systems (Shanghai) CO LTD
2+
* SPDX-FileCopyrightText: 2015-2023 Espressif Systems (Shanghai) CO LTD
33
*
44
* SPDX-License-Identifier: Apache-2.0
55
*/
@@ -26,10 +26,21 @@ typedef void (*esp_deep_sleep_cb_t)(void);
2626
/**
2727
* @brief Logic function used for EXT1 wakeup mode.
2828
*/
29+
#if SOC_PM_SUPPORT_EXT1_WAKEUP
30+
#if CONFIG_IDF_TARGET_ESP32
2931
typedef enum {
3032
ESP_EXT1_WAKEUP_ALL_LOW = 0, //!< Wake the chip when all selected GPIOs go low
3133
ESP_EXT1_WAKEUP_ANY_HIGH = 1 //!< Wake the chip when any of the selected GPIOs go high
3234
} esp_sleep_ext1_wakeup_mode_t;
35+
#else
36+
typedef enum {
37+
ESP_EXT1_WAKEUP_ANY_LOW = 0, //!< Wake the chip when any of the selected GPIOs go low
38+
ESP_EXT1_WAKEUP_ANY_HIGH = 1, //!< Wake the chip when any of the selected GPIOs go high
39+
ESP_EXT1_WAKEUP_ALL_LOW __attribute__((deprecated("wakeup mode \"ALL_LOW\" is no longer supported after ESP32, \
40+
please use ESP_EXT1_WAKEUP_ANY_LOW instead"))) = ESP_EXT1_WAKEUP_ANY_LOW
41+
} esp_sleep_ext1_wakeup_mode_t;
42+
#endif
43+
#endif
3344

3445
#if SOC_GPIO_SUPPORT_DEEPSLEEP_WAKEUP
3546
typedef enum {
@@ -250,18 +261,27 @@ esp_err_t esp_sleep_enable_ext0_wakeup(gpio_num_t gpio_num, int level);
250261
* @note Internal pullups and pulldowns don't work when RTC peripherals are
251262
* shut down. In this case, external resistors need to be added.
252263
* Alternatively, RTC peripherals (and pullups/pulldowns) may be
253-
* kept enabled using esp_sleep_pd_config function.
264+
* kept enabled using esp_sleep_pd_config function. If we turn off the
265+
* ``RTC_PERIPH`` domain or certain chips lack the ``RTC_PERIPH`` domain,
266+
* we will use the HOLD feature to maintain the pull-up and pull-down on
267+
* the pins during sleep. HOLD feature will be acted on the pin internally
268+
* before the system entering sleep, and this can further reduce power consumption.
254269
*
255270
* @param mask bit mask of GPIO numbers which will cause wakeup. Only GPIOs
256271
* which have RTC functionality can be used in this bit map.
257272
* For different SoCs, the related GPIOs are:
258-
* - ESP32: 0, 2, 4, 12-15, 25-27, 32-39;
259-
* - ESP32-S2: 0-21;
260-
* - ESP32-S3: 0-21.
261-
* - ESP32-C6: 0-7.
273+
* - ESP32: 0, 2, 4, 12-15, 25-27, 32-39
274+
* - ESP32-S2: 0-21
275+
* - ESP32-S3: 0-21
276+
* - ESP32-C6: 0-7
277+
* - ESP32-H2: 7-14
262278
* @param mode select logic function used to determine wakeup condition:
263-
* - ESP_EXT1_WAKEUP_ALL_LOW: wake up when all selected GPIOs are low
264-
* - ESP_EXT1_WAKEUP_ANY_HIGH: wake up when any of the selected GPIOs is high
279+
* When target chip is ESP32:
280+
* - ESP_EXT1_WAKEUP_ALL_LOW: wake up when all selected GPIOs are low
281+
* - ESP_EXT1_WAKEUP_ANY_HIGH: wake up when any of the selected GPIOs is high
282+
* When target chip is ESP32-S2, ESP32-S3, ESP32-C6 or ESP32-H2:
283+
* - ESP_EXT1_WAKEUP_ANY_LOW: wake up when any of the selected GPIOs is low
284+
* - ESP_EXT1_WAKEUP_ANY_HIGH: wake up when any of the selected GPIOs is high
265285
* @return
266286
* - ESP_OK on success
267287
* - ESP_ERR_INVALID_ARG if any of the selected GPIOs is not an RTC GPIO,
@@ -415,9 +435,12 @@ esp_err_t esp_sleep_pd_config(esp_sleep_pd_domain_t domain,
415435
/**
416436
* @brief Enter deep sleep with the configured wakeup options
417437
*
418-
* This function does not return.
438+
* @note In general, the function does not return, but if the sleep is rejected,
439+
* then it returns from it.
440+
*
441+
* The reason for the rejection can be such as a short sleep time.
419442
*/
420-
void esp_deep_sleep_start(void) __attribute__((__noreturn__));
443+
void esp_deep_sleep_start(void);
421444

422445
/**
423446
* @brief Enter light sleep with the configured wakeup options
@@ -441,9 +464,14 @@ esp_err_t esp_light_sleep_start(void);
441464
* Call to this function is equivalent to a call to esp_deep_sleep_enable_timer_wakeup
442465
* followed by a call to esp_deep_sleep_start.
443466
*
467+
* @note In general, the function does not return, but if the sleep is rejected,
468+
* then it returns from it.
469+
*
470+
* The reason for the rejection can be such as a short sleep time.
471+
*
444472
* @param time_in_us deep-sleep time, unit: microsecond
445473
*/
446-
void esp_deep_sleep(uint64_t time_in_us) __attribute__((__noreturn__));
474+
void esp_deep_sleep(uint64_t time_in_us);
447475

448476

449477
/**

esp32/include/esp_lcd/include/esp_lcd_panel_io.h

+1
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,7 @@ typedef struct {
136136
struct {
137137
unsigned int dc_low_on_data: 1; /*!< If this flag is enabled, DC line = 0 means transfer data, DC line = 1 means transfer command; vice versa */
138138
unsigned int octal_mode: 1; /*!< transmit with octal mode (8 data lines), this mode is used to simulate Intel 8080 timing */
139+
unsigned int quad_mode: 1; /*!< transmit with quad mode (4 data lines), this mode is useful when transmitting LCD parameters (Only use one line for command) */
139140
unsigned int sio_mode: 1; /*!< Read and write through a single data line (MOSI) */
140141
unsigned int lsb_first: 1; /*!< transmit LSB bit first */
141142
unsigned int cs_high_active: 1; /*!< CS line is high active */

esp32/include/esp_lcd/include/esp_lcd_panel_rgb.h

+13-2
Original file line numberDiff line numberDiff line change
@@ -99,14 +99,25 @@ typedef bool (*esp_lcd_rgb_panel_vsync_cb_t)(esp_lcd_panel_handle_t panel, const
9999
*/
100100
typedef bool (*esp_lcd_rgb_panel_bounce_buf_fill_cb_t)(esp_lcd_panel_handle_t panel, void *bounce_buf, int pos_px, int len_bytes, void *user_ctx);
101101

102+
/**
103+
* @brief Prototype for the function to be called when the bounce buffer finish copying the entire frame.
104+
*
105+
* @param[in] panel LCD panel handle, returned from `esp_lcd_new_rgb_panel`
106+
* @param[in] edata Panel event data, fed by driver
107+
* @param[in] user_ctx User data, passed from `esp_lcd_rgb_panel_register_event_callbacks()`
108+
* @return Whether a high priority task has been waken up by this function
109+
*/
110+
typedef bool (*esp_lcd_rgb_panel_bounce_buf_finish_cb_t)(esp_lcd_panel_handle_t panel, const esp_lcd_rgb_panel_event_data_t *edata, void *user_ctx);
111+
102112
/**
103113
* @brief Group of supported RGB LCD panel callbacks
104114
* @note The callbacks are all running under ISR environment
105115
* @note When CONFIG_LCD_RGB_ISR_IRAM_SAFE is enabled, the callback itself and functions called by it should be placed in IRAM.
106116
*/
107117
typedef struct {
108-
esp_lcd_rgb_panel_vsync_cb_t on_vsync; /*!< VSYNC event callback */
109-
esp_lcd_rgb_panel_bounce_buf_fill_cb_t on_bounce_empty; /*!< Bounce buffer empty callback. */
118+
esp_lcd_rgb_panel_vsync_cb_t on_vsync; /*!< VSYNC event callback */
119+
esp_lcd_rgb_panel_bounce_buf_fill_cb_t on_bounce_empty; /*!< Bounce buffer empty callback. */
120+
esp_lcd_rgb_panel_bounce_buf_finish_cb_t on_bounce_frame_finish; /*!< Bounce buffer finish callback. */
110121
} esp_lcd_rgb_panel_event_callbacks_t;
111122

112123
/**

esp32/include/esp_rom/include/esp32h2/rom/rtc.h

+2
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ extern "C" {
5151
* LP_AON_STORE6_REG FAST_RTC_MEMORY_ENTRY
5252
* LP_AON_STORE7_REG FAST_RTC_MEMORY_CRC
5353
* LP_AON_STORE8_REG Store light sleep wake stub addr
54+
* LP_AON_STORE9_REG Store the sleep mode at bit[0] (0:light sleep 1:deep sleep)
5455
*************************************************************************************
5556
*/
5657

@@ -63,6 +64,7 @@ extern "C" {
6364
#define RTC_RESET_CAUSE_REG LP_AON_STORE6_REG
6465
#define RTC_MEMORY_CRC_REG LP_AON_STORE7_REG
6566
#define LIGHT_SLEEP_WAKE_STUB_ADDR_REG LP_AON_STORE8_REG
67+
#define SLEEP_MODE_REG LP_AON_STORE9_REG
6668

6769
#define RTC_DISABLE_ROM_LOG ((1 << 0) | (1 << 16)) //!< Disable logging from the ROM code.
6870

esp32/include/esp_system/include/esp_private/panic_internal.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ extern "C" {
1919
#endif
2020

2121
extern bool g_panic_abort;
22-
22+
extern char *g_panic_abort_details;
2323
extern void *g_exc_frames[SOC_CPU_CORES_NUM];
2424

2525
// Function to print longer amounts of information such as the details

0 commit comments

Comments
 (0)