mirror of
https://github.com/espressif/esp-idf.git
synced 2026-10-02 11:10:54 +03:00
feat(ble): provide isr dispatch method option for ble log ts
This commit is contained in:
@@ -132,7 +132,6 @@ if BLE_LOG_ENABLED
|
|||||||
|
|
||||||
config BLE_LOG_TS_TRIGGER_ESP_TIMER
|
config BLE_LOG_TS_TRIGGER_ESP_TIMER
|
||||||
bool "BLE Log Timestamp Synchronization trigger - ESP Timer"
|
bool "BLE Log Timestamp Synchronization trigger - ESP Timer"
|
||||||
select ESP_TIMER_SUPPORTS_ISR_DISPATCH_METHOD
|
|
||||||
help
|
help
|
||||||
ESP Timer based periodic TS trigger
|
ESP Timer based periodic TS trigger
|
||||||
|
|
||||||
@@ -141,6 +140,15 @@ if BLE_LOG_ENABLED
|
|||||||
help
|
help
|
||||||
Task Event based TS trigger (Light Sleep Test Compatibility)
|
Task Event based TS trigger (Light Sleep Test Compatibility)
|
||||||
endchoice
|
endchoice
|
||||||
|
|
||||||
|
config BLE_LOG_TS_TRIGGER_ESP_TIMER_ISR_DISPATCH_METHOD
|
||||||
|
bool "Utilize ISR dispatch method for ESP Timer as Timestamp Synchronization trigger"
|
||||||
|
default n
|
||||||
|
select ESP_TIMER_SUPPORTS_ISR_DISPATCH_METHOD
|
||||||
|
select GPIO_CTRL_FUNC_IN_IRAM
|
||||||
|
depends on BLE_LOG_TS_TRIGGER_ESP_TIMER
|
||||||
|
help
|
||||||
|
Utilize ISR dispatch method for ESP Timer as Timestamp Synchronization trigger
|
||||||
endif
|
endif
|
||||||
|
|
||||||
choice BLE_LOG_PRPH_CHOICE
|
choice BLE_LOG_PRPH_CHOICE
|
||||||
|
|||||||
@@ -76,6 +76,9 @@ BLE_LOG_IRAM_ATTR BLE_LOG_STATIC void ble_log_rt_task(void *pvParameters)
|
|||||||
}
|
}
|
||||||
|
|
||||||
#if CONFIG_BLE_LOG_TS_ENABLED
|
#if CONFIG_BLE_LOG_TS_ENABLED
|
||||||
|
#if CONFIG_BLE_LOG_TS_TRIGGER_ESP_TIMER_ISR_DISPATCH_METHOD
|
||||||
|
BLE_LOG_IRAM_ATTR
|
||||||
|
#endif /* CONFIG_BLE_LOG_TS_TRIGGER_ESP_TIMER_ISR_DISPATCH_METHOD */
|
||||||
BLE_LOG_STATIC void ble_log_rt_ts_trigger(void *arg)
|
BLE_LOG_STATIC void ble_log_rt_ts_trigger(void *arg)
|
||||||
{
|
{
|
||||||
(void)arg;
|
(void)arg;
|
||||||
@@ -117,7 +120,9 @@ bool ble_log_rt_init(void)
|
|||||||
esp_timer_create_args_t ts_timer_args = {
|
esp_timer_create_args_t ts_timer_args = {
|
||||||
.callback = ble_log_rt_ts_trigger,
|
.callback = ble_log_rt_ts_trigger,
|
||||||
.arg = NULL,
|
.arg = NULL,
|
||||||
|
#if CONFIG_BLE_LOG_TS_TRIGGER_ESP_TIMER_ISR_DISPATCH_METHOD
|
||||||
.dispatch_method = ESP_TIMER_ISR,
|
.dispatch_method = ESP_TIMER_ISR,
|
||||||
|
#endif /* CONFIG_BLE_LOG_TS_TRIGGER_ESP_TIMER_ISR_DISPATCH_METHOD */
|
||||||
.name = "ble_log_ts_timer",
|
.name = "ble_log_ts_timer",
|
||||||
};
|
};
|
||||||
if (esp_timer_create(&ts_timer_args, &rt_ts_timer) != ESP_OK) {
|
if (esp_timer_create(&ts_timer_args, &rt_ts_timer) != ESP_OK) {
|
||||||
|
|||||||
@@ -61,6 +61,9 @@ void ble_log_ts_deinit(void)
|
|||||||
gpio_reset_pin(CONFIG_BLE_LOG_SYNC_IO_NUM);
|
gpio_reset_pin(CONFIG_BLE_LOG_SYNC_IO_NUM);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if CONFIG_BLE_LOG_TS_TRIGGER_ESP_TIMER_ISR_DISPATCH_METHOD
|
||||||
|
BLE_LOG_IRAM_ATTR
|
||||||
|
#endif /* CONFIG_BLE_LOG_TS_TRIGGER_ESP_TIMER_ISR_DISPATCH_METHOD */
|
||||||
void ble_log_ts_info_update(ble_log_ts_info_t **info)
|
void ble_log_ts_info_update(ble_log_ts_info_t **info)
|
||||||
{
|
{
|
||||||
if (!ts_inited) {
|
if (!ts_inited) {
|
||||||
|
|||||||
Reference in New Issue
Block a user