mirror of
https://github.com/sle118/squeezelite-esp32.git
synced 2025-12-09 13:07:03 +03:00
bug fixes
This commit is contained in:
@@ -239,7 +239,7 @@
|
|||||||
|
|
||||||
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="cdt.managedbuild.targetPlatform.gnu.cross.1831977109" isAbstract="false" osList="all" superClass="cdt.managedbuild.targetPlatform.gnu.cross"/>
|
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="cdt.managedbuild.targetPlatform.gnu.cross.1831977109" isAbstract="false" osList="all" superClass="cdt.managedbuild.targetPlatform.gnu.cross"/>
|
||||||
|
|
||||||
<builder arguments=""C:/msys32/opt/esp-idf/tools/windows/eclipse_make.py" -j8 EXTRA_CPPFLAGS="-DRECOVERY_APPLICATION=1"" command="python" id="cdt.managedbuild.builder.gnu.cross.1069921467" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" superClass="cdt.managedbuild.builder.gnu.cross"/>
|
<builder arguments=""C:/msys32/opt/esp-idf/tools/windows/eclipse_make.py" -j8 EXTRA_CPPFLAGS="-DRECOVERY_APPLICATION=1 -DSQUEEZELITE_ESP32_RELEASE_URL=\"https://github.com/sle118/squeezelite-esp32/releases\" "" command="python" id="cdt.managedbuild.builder.gnu.cross.1069921467" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" superClass="cdt.managedbuild.builder.gnu.cross"/>
|
||||||
|
|
||||||
<tool id="cdt.managedbuild.tool.gnu.cross.c.compiler.1302011176" name="Cross GCC Compiler" superClass="cdt.managedbuild.tool.gnu.cross.c.compiler">
|
<tool id="cdt.managedbuild.tool.gnu.cross.c.compiler.1302011176" name="Cross GCC Compiler" superClass="cdt.managedbuild.tool.gnu.cross.c.compiler">
|
||||||
|
|
||||||
|
|||||||
@@ -104,7 +104,7 @@ esp_err_t guided_boot(esp_partition_subtype_t partition_subtype)
|
|||||||
ESP_LOGW(TAG,"RECOVERY application is already active");
|
ESP_LOGW(TAG,"RECOVERY application is already active");
|
||||||
return ESP_OK;
|
return ESP_OK;
|
||||||
}
|
}
|
||||||
#else
|
#endif
|
||||||
bool bFound=false;
|
bool bFound=false;
|
||||||
ESP_LOGI(TAG, "Looking for partition type %u",partition_subtype);
|
ESP_LOGI(TAG, "Looking for partition type %u",partition_subtype);
|
||||||
const esp_partition_t *partition;
|
const esp_partition_t *partition;
|
||||||
@@ -116,7 +116,6 @@ esp_err_t guided_boot(esp_partition_subtype_t partition_subtype)
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
partition = (esp_partition_t *) esp_partition_get(it);
|
partition = (esp_partition_t *) esp_partition_get(it);
|
||||||
|
|
||||||
if(partition != NULL){
|
if(partition != NULL){
|
||||||
ESP_LOGI(TAG, "Found partition type %u",partition_subtype);
|
ESP_LOGI(TAG, "Found partition type %u",partition_subtype);
|
||||||
esp_ota_set_boot_partition(partition);
|
esp_ota_set_boot_partition(partition);
|
||||||
@@ -132,7 +131,6 @@ esp_err_t guided_boot(esp_partition_subtype_t partition_subtype)
|
|||||||
esp_restart();
|
esp_restart();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
return ESP_OK;
|
return ESP_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -140,6 +138,8 @@ static int restart(int argc, char **argv)
|
|||||||
{
|
{
|
||||||
ESP_LOGI(TAG, "Restarting");
|
ESP_LOGI(TAG, "Restarting");
|
||||||
guided_boot(ESP_PARTITION_SUBTYPE_APP_OTA_0);
|
guided_boot(ESP_PARTITION_SUBTYPE_APP_OTA_0);
|
||||||
|
// If we're still alive, then there may not be an ota partition to boot from
|
||||||
|
guided_boot(ESP_PARTITION_SUBTYPE_APP_FACTORY);
|
||||||
return 0; // return fail. This should never return... we're rebooting!
|
return 0; // return fail. This should never return... we're rebooting!
|
||||||
}
|
}
|
||||||
esp_err_t guided_factory(){
|
esp_err_t guided_factory(){
|
||||||
|
|||||||
@@ -15,7 +15,7 @@
|
|||||||
#include "esp_wifi.h"
|
#include "esp_wifi.h"
|
||||||
#include "freertos/timers.h"
|
#include "freertos/timers.h"
|
||||||
#include "argtable3/argtable3.h"
|
#include "argtable3/argtable3.h"
|
||||||
|
#include "nvs_utilities.h"
|
||||||
#include "bt_app_core.h"
|
#include "bt_app_core.h"
|
||||||
#include "trace.h"
|
#include "trace.h"
|
||||||
|
|
||||||
@@ -119,13 +119,12 @@ static uint8_t s_peer_bdname[ESP_BT_GAP_MAX_BDNAME_LEN + 1];
|
|||||||
static int s_a2d_state = APP_AV_STATE_IDLE;
|
static int s_a2d_state = APP_AV_STATE_IDLE;
|
||||||
static int s_media_state = APP_AV_MEDIA_STATE_IDLE;
|
static int s_media_state = APP_AV_MEDIA_STATE_IDLE;
|
||||||
static uint32_t s_pkt_cnt = 0;
|
static uint32_t s_pkt_cnt = 0;
|
||||||
|
|
||||||
static TimerHandle_t s_tmr;
|
static TimerHandle_t s_tmr;
|
||||||
|
|
||||||
static struct {
|
static struct {
|
||||||
int control_delay;
|
int control_delay;
|
||||||
int connect_timeout_delay;
|
int connect_timeout_delay;
|
||||||
char sink_name[32];
|
char * sink_name;
|
||||||
} squeezelite_conf;
|
} squeezelite_conf;
|
||||||
|
|
||||||
void hal_bluetooth_init(const char * options)
|
void hal_bluetooth_init(const char * options)
|
||||||
@@ -167,10 +166,13 @@ void hal_bluetooth_init(const char * options)
|
|||||||
}
|
}
|
||||||
if(squeezelite_args.sink_name->count == 0)
|
if(squeezelite_args.sink_name->count == 0)
|
||||||
{
|
{
|
||||||
ESP_LOGD(TAG,"Using default sink name : %s",CONFIG_A2DP_SINK_NAME);
|
squeezelite_conf.sink_name = get_nvs_value_alloc_default(NVS_TYPE_STR, "a2dp_sink_name", CONFIG_A2DP_SINK_NAME, 0);
|
||||||
strncpy(squeezelite_conf.sink_name, CONFIG_A2DP_SINK_NAME, 32);
|
if(squeezelite_conf.sink_name == NULL){
|
||||||
|
ESP_LOGW(TAG,"Unable to retrieve the a2dp sink name from nvs");
|
||||||
|
squeezelite_conf.sink_name = strdup(CONFIG_A2DP_SINK_NAME);
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
strncpy(squeezelite_conf.sink_name, squeezelite_args.sink_name->sval[0], 32);
|
squeezelite_conf.sink_name=strdup(squeezelite_args.sink_name->sval[0]);
|
||||||
}
|
}
|
||||||
if(squeezelite_args.connect_timeout_delay->count == 0)
|
if(squeezelite_args.connect_timeout_delay->count == 0)
|
||||||
{
|
{
|
||||||
@@ -507,9 +509,19 @@ static void bt_av_hdl_stack_evt(uint16_t event, void *p_param)
|
|||||||
case BT_APP_EVT_STACK_UP: {
|
case BT_APP_EVT_STACK_UP: {
|
||||||
ESP_LOGI(TAG,"BT Stack going up.");
|
ESP_LOGI(TAG,"BT Stack going up.");
|
||||||
/* set up device name */
|
/* set up device name */
|
||||||
char *dev_name = CONFIG_A2DP_DEV_NAME;
|
|
||||||
esp_bt_dev_set_device_name(dev_name);
|
|
||||||
ESP_LOGI(TAG,"Preparing to connect to device: %s",CONFIG_A2DP_SINK_NAME);
|
char * a2dp_dev_name = get_nvs_value_alloc_default(NVS_TYPE_STR, "a2dp_dev_name", CONFIG_A2DP_DEV_NAME, 0);
|
||||||
|
if(a2dp_dev_name == NULL){
|
||||||
|
ESP_LOGW(TAG,"Unable to retrieve the a2dp device name from nvs");
|
||||||
|
esp_bt_dev_set_device_name(CONFIG_A2DP_DEV_NAME);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
esp_bt_dev_set_device_name(a2dp_dev_name);
|
||||||
|
free(a2dp_dev_name);
|
||||||
|
}
|
||||||
|
|
||||||
|
ESP_LOGI(TAG,"Preparing to connect");
|
||||||
|
|
||||||
/* register GAP callback function */
|
/* register GAP callback function */
|
||||||
esp_bt_gap_register_callback(bt_app_gap_cb);
|
esp_bt_gap_register_callback(bt_app_gap_cb);
|
||||||
|
|||||||
@@ -24,7 +24,9 @@
|
|||||||
#ifndef QUOTE
|
#ifndef QUOTE
|
||||||
#define QUOTE(name) #name
|
#define QUOTE(name) #name
|
||||||
#endif
|
#endif
|
||||||
|
#ifndef STR
|
||||||
|
#define STR(macro) QUOTE(macro)
|
||||||
|
#endif
|
||||||
#define ESP_LOG_DEBUG_EVENT(tag,e) ESP_LOGD(tag,"evt: " e)
|
#define ESP_LOG_DEBUG_EVENT(tag,e) ESP_LOGD(tag,"evt: " e)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -475,12 +475,11 @@ void http_server_netconn_serve(struct netconn *conn) {
|
|||||||
if(buff){
|
if(buff){
|
||||||
netconn_write(conn, http_ok_json_no_cache_hdr, sizeof(http_ok_json_no_cache_hdr) - 1, NETCONN_NOCOPY);
|
netconn_write(conn, http_ok_json_no_cache_hdr, sizeof(http_ok_json_no_cache_hdr) - 1, NETCONN_NOCOPY);
|
||||||
netconn_write(conn, buff, strlen(buff), NETCONN_NOCOPY);
|
netconn_write(conn, buff, strlen(buff), NETCONN_NOCOPY);
|
||||||
|
|
||||||
wifi_manager_unlock_json_buffer();
|
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
netconn_write(conn, http_503_hdr, sizeof(http_503_hdr) - 1, NETCONN_NOCOPY);
|
netconn_write(conn, http_503_hdr, sizeof(http_503_hdr) - 1, NETCONN_NOCOPY);
|
||||||
}
|
}
|
||||||
|
wifi_manager_unlock_json_buffer();
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
netconn_write(conn, http_503_hdr, sizeof(http_503_hdr) - 1, NETCONN_NOCOPY);
|
netconn_write(conn, http_503_hdr, sizeof(http_503_hdr) - 1, NETCONN_NOCOPY);
|
||||||
|
|||||||
@@ -66,7 +66,7 @@ Contains the freeRTOS task and all necessary support
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef SQUEEZELITE_ESP32_RELEASE_URL
|
#ifndef SQUEEZELITE_ESP32_RELEASE_URL
|
||||||
#define SQUEEZELITE_ESP32_RELEASE_URL https://github.com/sle118/squeezelite-esp32/releases
|
#define SQUEEZELITE_ESP32_RELEASE_URL "https://github.com/sle118/squeezelite-esp32/releases"
|
||||||
#endif
|
#endif
|
||||||
#ifdef TAS575x
|
#ifdef TAS575x
|
||||||
#define JACK_GPIO 34
|
#define JACK_GPIO 34
|
||||||
@@ -329,7 +329,7 @@ cJSON * wifi_manager_get_new_json(cJSON **old){
|
|||||||
}
|
}
|
||||||
cJSON * wifi_manager_clear_ip_info_json(cJSON **old){
|
cJSON * wifi_manager_clear_ip_info_json(cJSON **old){
|
||||||
cJSON *root = wifi_manager_get_new_json(old);
|
cJSON *root = wifi_manager_get_new_json(old);
|
||||||
cJSON_AddItemToObject(root, "message", cJSON_CreateString("Initializing"));
|
// cJSON_AddItemToObject(root, "message", cJSON_CreateString("Initializing"));
|
||||||
return root;
|
return root;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -148,24 +148,24 @@ char * process_ota_url(){
|
|||||||
|
|
||||||
void register_default_nvs(){
|
void register_default_nvs(){
|
||||||
nvs_value_set_default(NVS_TYPE_STR, "bt_sink_name", CONFIG_BT_NAME, 0);
|
nvs_value_set_default(NVS_TYPE_STR, "bt_sink_name", CONFIG_BT_NAME, 0);
|
||||||
nvs_value_set_default(NVS_TYPE_STR, "bt_sink_pin", QUOTE(CONFIG_BT_SINK_PIN), 0);
|
nvs_value_set_default(NVS_TYPE_STR, "bt_sink_pin", STR(CONFIG_BT_SINK_PIN), 0);
|
||||||
nvs_value_set_default(NVS_TYPE_STR, "host_name", "squeezelite-esp32", 0);
|
nvs_value_set_default(NVS_TYPE_STR, "host_name", "squeezelite-esp32", 0);
|
||||||
nvs_value_set_default(NVS_TYPE_STR, "release_url", QUOTE(SQUEEZELITE_ESP32_RELEASE_URL), 0);
|
nvs_value_set_default(NVS_TYPE_STR, "release_url", SQUEEZELITE_ESP32_RELEASE_URL, 0);
|
||||||
nvs_value_set_default(NVS_TYPE_STR, "ap_ip_address",CONFIG_DEFAULT_AP_IP , 0);
|
nvs_value_set_default(NVS_TYPE_STR, "ap_ip_address",CONFIG_DEFAULT_AP_IP , 0);
|
||||||
nvs_value_set_default(NVS_TYPE_STR, "ap_ip_gateway",CONFIG_DEFAULT_AP_GATEWAY , 0);
|
nvs_value_set_default(NVS_TYPE_STR, "ap_ip_gateway",CONFIG_DEFAULT_AP_GATEWAY , 0);
|
||||||
nvs_value_set_default(NVS_TYPE_STR, "ap_ip_netmask",CONFIG_DEFAULT_AP_NETMASK , 0);
|
nvs_value_set_default(NVS_TYPE_STR, "ap_ip_netmask",CONFIG_DEFAULT_AP_NETMASK , 0);
|
||||||
nvs_value_set_default(NVS_TYPE_STR, "ap_channel",QUOTE(CONFIG_DEFAULT_AP_CHANNEL) , 0);
|
nvs_value_set_default(NVS_TYPE_STR, "ap_channel",STR(CONFIG_DEFAULT_AP_CHANNEL) , 0);
|
||||||
nvs_value_set_default(NVS_TYPE_STR, "ap_ssid",CONFIG_DEFAULT_AP_SSID , 0);
|
nvs_value_set_default(NVS_TYPE_STR, "ap_ssid",CONFIG_DEFAULT_AP_SSID , 0);
|
||||||
nvs_value_set_default(NVS_TYPE_STR, "ap_password", CONFIG_DEFAULT_AP_PASSWORD, 0);
|
nvs_value_set_default(NVS_TYPE_STR, "ap_password", CONFIG_DEFAULT_AP_PASSWORD, 0);
|
||||||
nvs_value_set_default(NVS_TYPE_STR, "airplay_name",CONFIG_AIRPLAY_NAME , 0);
|
nvs_value_set_default(NVS_TYPE_STR, "airplay_name",CONFIG_AIRPLAY_NAME , 0);
|
||||||
nvs_value_set_default(NVS_TYPE_STR, "airplay_port", CONFIG_AIRPLAY_PORT, 0);
|
nvs_value_set_default(NVS_TYPE_STR, "airplay_port", CONFIG_AIRPLAY_PORT, 0);
|
||||||
nvs_value_set_default(NVS_TYPE_STR, "a2dp_sink_name", CONFIG_A2DP_SINK_NAME, 0);
|
nvs_value_set_default(NVS_TYPE_STR, "a2dp_sink_name", CONFIG_A2DP_SINK_NAME, 0);
|
||||||
nvs_value_set_default(NVS_TYPE_STR, "a2dp_device_name", CONFIG_A2DP_DEV_NAME, 0);
|
nvs_value_set_default(NVS_TYPE_STR, "a2dp_dev_name", CONFIG_A2DP_DEV_NAME, 0);
|
||||||
|
|
||||||
char * flag = get_nvs_value_alloc_default(NVS_TYPE_STR, "enable_bt_sink", QUOTE(CONFIG_BT_SINK), 0);
|
char * flag = get_nvs_value_alloc_default(NVS_TYPE_STR, "enable_bt_sink", STR(CONFIG_BT_SINK), 0);
|
||||||
enable_bt_sink= (strcmp(flag,"1")==0 ||strcasecmp(flag,"y")==0);
|
enable_bt_sink= (strcmp(flag,"1")==0 ||strcasecmp(flag,"y")==0);
|
||||||
free(flag);
|
free(flag);
|
||||||
flag = get_nvs_value_alloc_default(NVS_TYPE_STR, "enable_airplay", QUOTE(CONFIG_AIRPLAY_SINK), 0);
|
flag = get_nvs_value_alloc_default(NVS_TYPE_STR, "enable_airplay", STR(CONFIG_AIRPLAY_SINK), 0);
|
||||||
enable_airplay= (strcmp(flag,"1")==0 ||strcasecmp(flag,"y")==0);
|
enable_airplay= (strcmp(flag,"1")==0 ||strcasecmp(flag,"y")==0);
|
||||||
free(flag);
|
free(flag);
|
||||||
|
|
||||||
|
|||||||
@@ -23,7 +23,7 @@
|
|||||||
|
|
||||||
#include "esp_pthread.h"
|
#include "esp_pthread.h"
|
||||||
#ifndef SQUEEZELITE_ESP32_RELEASE_URL
|
#ifndef SQUEEZELITE_ESP32_RELEASE_URL
|
||||||
#define SQUEEZELITE_ESP32_RELEASE_URL https://github.com/sle118/squeezelite-esp32/releases
|
#define SQUEEZELITE_ESP32_RELEASE_URL "https://github.com/sle118/squeezelite-esp32/releases"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
extern void run_command(char * line);
|
extern void run_command(char * line);
|
||||||
|
|||||||
Reference in New Issue
Block a user