mirror of
https://github.com/sle118/squeezelite-esp32.git
synced 2025-12-06 03:27:01 +03:00
bluetooth fixup wip
This commit is contained in:
@@ -11,4 +11,5 @@ include(squeezelite.cmake)
|
||||
|
||||
set(PROJECT_VER $ENV{PROJECT_VER})
|
||||
|
||||
#target_compile_definitions(__idf_squeezelite-ota PRIVATE -DLOG_LOCAL_LEVEL=ESP_LOG_VERBOSE)
|
||||
#target_compile_definitions(__idf_squeezelite-ota PRIVATE -DLOG_LOCAL_LEVEL=ESP_LOG_VERBOSE)
|
||||
target_compile_definitions(__idf_driver_bt PRIVATE -DLOG_LOCAL_LEVEL=ESP_LOG_VERBOSE)
|
||||
@@ -50,7 +50,6 @@ static const char * art_a2dp_connecting[]= {"\n",
|
||||
static void bt_app_av_state_connecting(uint16_t event, void *param);
|
||||
|
||||
|
||||
#define A2DP_TIMER_INIT connecting_timeout = esp_timer_get_time() +(CONFIG_A2DP_CONNECT_TIMEOUT_MS * 1000)
|
||||
#define IS_A2DP_TIMER_OVER esp_timer_get_time() >= connecting_timeout
|
||||
|
||||
static void filter_inquiry_scan_result(esp_bt_gap_cb_param_t *param);
|
||||
@@ -542,7 +541,15 @@ static void bt_av_hdl_stack_evt(uint16_t event, void *p_param)
|
||||
/* create and start heart beat timer */
|
||||
do {
|
||||
int tmr_id = 0;
|
||||
s_tmr = xTimerCreate("connTmr", (CONFIG_A2DP_CONTROL_DELAY_MS / portTICK_RATE_MS),
|
||||
uint16_t ctr_delay_ms=CONFIG_A2DP_CONTROL_DELAY_MS;
|
||||
char * value = config_alloc_get_default(NVS_TYPE_STR, "a2dp_ctrld", STR(CONFIG_A2DP_CONNECT_TIMEOUT_MS), 0);
|
||||
if(value!=NULL){
|
||||
ESP_LOGI(TAG, "A2DP ctrl delay: %s", value);
|
||||
ctr_delay_ms=atoi(value);
|
||||
}
|
||||
FREE_AND_NULL(value);
|
||||
|
||||
s_tmr = xTimerCreate("connTmr", ( ctr_delay_ms/ portTICK_RATE_MS),
|
||||
pdTRUE, (void *)tmr_id, a2d_app_heart_beat);
|
||||
xTimerStart(s_tmr, portMAX_DELAY);
|
||||
} while (0);
|
||||
@@ -672,8 +679,16 @@ static void bt_app_av_state_unconnected(uint16_t event, void *param)
|
||||
ESP_LOGI(TAG,"%s",art_a2dp_connecting[l]);
|
||||
}
|
||||
ESP_LOGI(TAG,"Device: %s", s_peer_bdname);
|
||||
int64_t connecting_timeout_offset=CONFIG_A2DP_CONNECT_TIMEOUT_MS;
|
||||
if(esp_a2d_source_connect(s_peer_bda)==ESP_OK) {
|
||||
A2DP_TIMER_INIT;
|
||||
char * value = config_alloc_get_default(NVS_TYPE_STR, "a2dp_ctmt", STR(CONFIG_A2DP_CONNECT_TIMEOUT_MS), 0);
|
||||
if(value!=NULL){
|
||||
ESP_LOGI(TAG, "A2DP pairing timeout: %s", value);
|
||||
connecting_timeout_offset=atoi(value);
|
||||
}
|
||||
FREE_AND_NULL(value);
|
||||
|
||||
connecting_timeout = esp_timer_get_time() +(connecting_timeout_offset * 1000);
|
||||
s_a2d_state = APP_AV_STATE_CONNECTING;
|
||||
}
|
||||
else {
|
||||
|
||||
@@ -293,6 +293,13 @@ void register_default_nvs(){
|
||||
ESP_LOGD(TAG,"Registering default value for key %s, value %s", "a2dp_sink_name", CONFIG_A2DP_SINK_NAME);
|
||||
config_set_default(NVS_TYPE_STR, "a2dp_sink_name", CONFIG_A2DP_SINK_NAME, 0);
|
||||
ESP_LOGD(TAG,"Registering default value for key %s, value %s", "bt_sink_pin", STR(CONFIG_BT_SINK_PIN));
|
||||
config_set_default(NVS_TYPE_STR, "a2dp_ctmt", STR(CONFIG_A2DP_CONNECT_TIMEOUT_MS), 0);
|
||||
ESP_LOGD(TAG,"Registering default value for key %s, value %s", "bt_sink_pin", STR(CONFIG_A2DP_CONNECT_TIMEOUT_MS));
|
||||
config_set_default(NVS_TYPE_STR, "a2dp_ctrld", STR(CONFIG_A2DP_CONTROL_DELAY_MS), 0);
|
||||
ESP_LOGD(TAG,"Registering default value for key %s, value %s", "bt_sink_pin", STR(CONFIG_A2DP_CONTROL_DELAY_MS));
|
||||
|
||||
|
||||
|
||||
config_set_default(NVS_TYPE_STR, "bt_sink_pin", STR(CONFIG_BT_SINK_PIN), 0);
|
||||
ESP_LOGD(TAG,"Registering default value for key %s, value %s", "release_url", SQUEEZELITE_ESP32_RELEASE_URL);
|
||||
config_set_default(NVS_TYPE_STR, "release_url", SQUEEZELITE_ESP32_RELEASE_URL, 0);
|
||||
@@ -355,6 +362,8 @@ void register_default_nvs(){
|
||||
|
||||
ESP_LOGD(TAG,"Registering default value for key %s", "dac_config");
|
||||
config_set_default(NVS_TYPE_STR, "dac_config", "", 0);
|
||||
//todo: add dac_config for known targets
|
||||
|
||||
|
||||
ESP_LOGD(TAG,"Registering default value for key %s", "bat_config");
|
||||
config_set_default(NVS_TYPE_STR, "bat_config", "", 0);
|
||||
|
||||
Reference in New Issue
Block a user