mirror of
https://github.com/espressif/esp-idf
synced 2025-04-02 04:40:11 -04:00
feat(ble): support esp ble controller spi output interface for ESP32-H2
(cherry picked from commit 9c98c7e040509836671fea35c63728e4768d3d00) Co-authored-by: Zhou Xiao <zhouxiao@espressif.com>
This commit is contained in:
parent
8f2c1c02ce
commit
96e01bf510
@ -333,6 +333,49 @@ config BT_LE_CONTROLLER_LOG_DUMP_ONLY
|
|||||||
help
|
help
|
||||||
Only operate in dump mode
|
Only operate in dump mode
|
||||||
|
|
||||||
|
config BT_LE_CONTROLLER_LOG_SPI_OUT_ENABLED
|
||||||
|
bool "Output ble controller logs to SPI bus (Experimental)"
|
||||||
|
depends on BT_LE_CONTROLLER_LOG_ENABLED
|
||||||
|
depends on !BT_LE_CONTROLLER_LOG_DUMP_ONLY
|
||||||
|
default n
|
||||||
|
help
|
||||||
|
Output ble controller logs to SPI bus
|
||||||
|
|
||||||
|
config BT_LE_CONTROLLER_LOG_SPI_OUT_QUEUE_SIZE
|
||||||
|
int "Number of ble controller log async SPI output queues"
|
||||||
|
depends on BT_LE_CONTROLLER_LOG_SPI_OUT_ENABLED
|
||||||
|
default 4
|
||||||
|
help
|
||||||
|
The number of ble controller log async SPI output queues
|
||||||
|
|
||||||
|
config BT_LE_CONTROLLER_LOG_SPI_OUT_TRANS_BUF_SIZE
|
||||||
|
int "Size of ble controller log async SPI output transaction buffer size"
|
||||||
|
depends on BT_LE_CONTROLLER_LOG_SPI_OUT_ENABLED
|
||||||
|
default 512
|
||||||
|
help
|
||||||
|
The size of ble controller log async SPI output transaction buffer size
|
||||||
|
|
||||||
|
config BT_LE_CONTROLLER_LOG_SPI_OUT_MOSI_IO_NUM
|
||||||
|
int "GPIO number of SPI MOSI"
|
||||||
|
depends on BT_LE_CONTROLLER_LOG_SPI_OUT_ENABLED
|
||||||
|
default 25
|
||||||
|
help
|
||||||
|
GPIO number of SPI MOSI
|
||||||
|
|
||||||
|
config BT_LE_CONTROLLER_LOG_SPI_OUT_SCLK_IO_NUM
|
||||||
|
int "GPIO number of SPI SCLK"
|
||||||
|
depends on BT_LE_CONTROLLER_LOG_SPI_OUT_ENABLED
|
||||||
|
default 26
|
||||||
|
help
|
||||||
|
GPIO number of SPI SCLK
|
||||||
|
|
||||||
|
config BT_LE_CONTROLLER_LOG_SPI_OUT_CS_IO_NUM
|
||||||
|
int "GPIO number of SPI CS"
|
||||||
|
depends on BT_LE_CONTROLLER_LOG_SPI_OUT_ENABLED
|
||||||
|
default 27
|
||||||
|
help
|
||||||
|
GPIO number of SPI CS
|
||||||
|
|
||||||
config BT_LE_CONTROLLER_LOG_STORAGE_ENABLE
|
config BT_LE_CONTROLLER_LOG_STORAGE_ENABLE
|
||||||
bool "Store ble controller logs to flash(Experimental)"
|
bool "Store ble controller logs to flash(Experimental)"
|
||||||
depends on !BT_LE_CONTROLLER_LOG_DUMP_ONLY
|
depends on !BT_LE_CONTROLLER_LOG_DUMP_ONLY
|
||||||
|
@ -52,6 +52,13 @@
|
|||||||
#include "esp_private/periph_ctrl.h"
|
#include "esp_private/periph_ctrl.h"
|
||||||
#include "esp_sleep.h"
|
#include "esp_sleep.h"
|
||||||
#include "soc/rtc.h"
|
#include "soc/rtc.h"
|
||||||
|
|
||||||
|
#if CONFIG_BT_LE_CONTROLLER_LOG_ENABLED
|
||||||
|
#if CONFIG_BT_LE_CONTROLLER_LOG_SPI_OUT_ENABLED
|
||||||
|
#include "ble_log/ble_log_spi_out.h"
|
||||||
|
#endif // CONFIG_BT_LE_CONTROLLER_LOG_SPI_OUT_ENABLED
|
||||||
|
#endif // CONFIG_BT_LE_CONTROLLER_LOG_ENABLED
|
||||||
|
|
||||||
/* Macro definition
|
/* Macro definition
|
||||||
************************************************************************
|
************************************************************************
|
||||||
*/
|
*/
|
||||||
@ -190,6 +197,7 @@ enum log_out_mode {
|
|||||||
LOG_DUMP_MEMORY,
|
LOG_DUMP_MEMORY,
|
||||||
LOG_ASYNC_OUT,
|
LOG_ASYNC_OUT,
|
||||||
LOG_STORAGE_TO_FLASH,
|
LOG_STORAGE_TO_FLASH,
|
||||||
|
LOG_SPI_OUT,
|
||||||
};
|
};
|
||||||
|
|
||||||
bool log_is_inited = false;
|
bool log_is_inited = false;
|
||||||
@ -198,6 +206,8 @@ uint8_t log_output_mode = LOG_DUMP_MEMORY;
|
|||||||
#else
|
#else
|
||||||
#if CONFIG_BT_LE_CONTROLLER_LOG_STORAGE_ENABLE
|
#if CONFIG_BT_LE_CONTROLLER_LOG_STORAGE_ENABLE
|
||||||
uint8_t log_output_mode = LOG_STORAGE_TO_FLASH;
|
uint8_t log_output_mode = LOG_STORAGE_TO_FLASH;
|
||||||
|
#elif CONFIG_BT_LE_CONTROLLER_LOG_SPI_OUT_ENABLED
|
||||||
|
uint8_t log_output_mode = LOG_SPI_OUT;
|
||||||
#else
|
#else
|
||||||
uint8_t log_output_mode = LOG_ASYNC_OUT;
|
uint8_t log_output_mode = LOG_ASYNC_OUT;
|
||||||
#endif // CONFIG_BT_LE_CONTROLLER_LOG_STORAGE_ENABLE
|
#endif // CONFIG_BT_LE_CONTROLLER_LOG_STORAGE_ENABLE
|
||||||
@ -245,6 +255,13 @@ esp_err_t esp_bt_controller_log_init(uint8_t log_output_mode)
|
|||||||
}
|
}
|
||||||
#endif // CONFIG_BT_LE_CONTROLLER_LOG_STORAGE_ENABLE
|
#endif // CONFIG_BT_LE_CONTROLLER_LOG_STORAGE_ENABLE
|
||||||
break;
|
break;
|
||||||
|
case LOG_SPI_OUT:
|
||||||
|
task_create = true;
|
||||||
|
#if CONFIG_BT_LE_CONTROLLER_LOG_SPI_OUT_ENABLED
|
||||||
|
ble_log_spi_out_init();
|
||||||
|
bt_controller_log_interface = ble_log_spi_out_write_esp;
|
||||||
|
#endif // CONFIG_BT_LE_CONTROLLER_LOG_SPI_OUT_ENABLED
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
assert(0);
|
assert(0);
|
||||||
}
|
}
|
||||||
@ -259,6 +276,9 @@ esp_err_t esp_bt_controller_log_init(uint8_t log_output_mode)
|
|||||||
void esp_bt_ontroller_log_deinit(void)
|
void esp_bt_ontroller_log_deinit(void)
|
||||||
{
|
{
|
||||||
r_ble_log_deinit_async();
|
r_ble_log_deinit_async();
|
||||||
|
#if CONFIG_BT_LE_CONTROLLER_LOG_SPI_OUT_ENABLED
|
||||||
|
ble_log_spi_out_deinit();
|
||||||
|
#endif
|
||||||
log_is_inited = false;
|
log_is_inited = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user