mirror of
https://github.com/espressif/esp-idf.git
synced 2026-10-02 11:10:54 +03:00
Merge branch 'fix/reduce_acl_event_gaps_v5.3' into 'release/v5.3'
feat(ble): updated libble to 71d180a4 for esp32h4 and esp32s31 (5.3) See merge request espressif/esp-idf!49589
This commit is contained in:
@@ -19,7 +19,8 @@ extern "C" {
|
|||||||
/* Use esp timer instead of FreeRTOS timer to implement the callout. */
|
/* Use esp timer instead of FreeRTOS timer to implement the callout. */
|
||||||
#define BLE_NPL_USE_ESP_TIMER (1)
|
#define BLE_NPL_USE_ESP_TIMER (1)
|
||||||
#else
|
#else
|
||||||
#define BLE_NPL_USE_ESP_TIMER (0)
|
/* Always use esp timer */
|
||||||
|
#define BLE_NPL_USE_ESP_TIMER (1)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
|||||||
@@ -787,6 +787,9 @@ IRAM_ATTR npl_freertos_callout_reset(struct ble_npl_callout *co, ble_npl_time_t
|
|||||||
struct ble_npl_callout_freertos *callout = (struct ble_npl_callout_freertos *)co->co;
|
struct ble_npl_callout_freertos *callout = (struct ble_npl_callout_freertos *)co->co;
|
||||||
#if BLE_NPL_USE_ESP_TIMER
|
#if BLE_NPL_USE_ESP_TIMER
|
||||||
esp_timer_stop(callout->handle);
|
esp_timer_stop(callout->handle);
|
||||||
|
if (callout->evq) {
|
||||||
|
npl_freertos_eventq_remove(callout->evq, &callout->ev);
|
||||||
|
}
|
||||||
|
|
||||||
return esp_err_to_npl_error(esp_timer_start_once(callout->handle, ticks*1000));
|
return esp_err_to_npl_error(esp_timer_start_once(callout->handle, ticks*1000));
|
||||||
#else
|
#else
|
||||||
@@ -798,6 +801,9 @@ IRAM_ATTR npl_freertos_callout_reset(struct ble_npl_callout *co, ble_npl_time_t
|
|||||||
}
|
}
|
||||||
if (in_isr()) {
|
if (in_isr()) {
|
||||||
xTimerStopFromISR(callout->handle, &woken1);
|
xTimerStopFromISR(callout->handle, &woken1);
|
||||||
|
if (callout->evq) {
|
||||||
|
npl_freertos_eventq_remove(callout->evq, &callout->ev);
|
||||||
|
}
|
||||||
xTimerChangePeriodFromISR(callout->handle, ticks, &woken2);
|
xTimerChangePeriodFromISR(callout->handle, ticks, &woken2);
|
||||||
xTimerResetFromISR(callout->handle, &woken3);
|
xTimerResetFromISR(callout->handle, &woken3);
|
||||||
|
|
||||||
@@ -806,6 +812,9 @@ IRAM_ATTR npl_freertos_callout_reset(struct ble_npl_callout *co, ble_npl_time_t
|
|||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
xTimerStop(callout->handle, portMAX_DELAY);
|
xTimerStop(callout->handle, portMAX_DELAY);
|
||||||
|
if (callout->evq) {
|
||||||
|
npl_freertos_eventq_remove(callout->evq, &callout->ev);
|
||||||
|
}
|
||||||
xTimerChangePeriod(callout->handle, ticks, portMAX_DELAY);
|
xTimerChangePeriod(callout->handle, ticks, portMAX_DELAY);
|
||||||
xTimerReset(callout->handle, portMAX_DELAY);
|
xTimerReset(callout->handle, portMAX_DELAY);
|
||||||
}
|
}
|
||||||
@@ -828,6 +837,10 @@ IRAM_ATTR npl_freertos_callout_stop(struct ble_npl_callout *co)
|
|||||||
#else
|
#else
|
||||||
xTimerStop(callout->handle, portMAX_DELAY);
|
xTimerStop(callout->handle, portMAX_DELAY);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
if (callout->evq) {
|
||||||
|
npl_freertos_eventq_remove(callout->evq, &callout->ev);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool
|
bool
|
||||||
|
|||||||
Reference in New Issue
Block a user