bug fixes

This commit is contained in:
Sebastien
2019-10-03 16:00:43 -04:00
parent 39ab188e5d
commit 24c473588a
8 changed files with 38 additions and 25 deletions

View File

@@ -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="&quot;C:/msys32/opt/esp-idf/tools/windows/eclipse_make.py&quot; -j8 EXTRA_CPPFLAGS=&quot;-DRECOVERY_APPLICATION=1&quot;" 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="&quot;C:/msys32/opt/esp-idf/tools/windows/eclipse_make.py&quot; -j8 EXTRA_CPPFLAGS=&quot;-DRECOVERY_APPLICATION=1 -DSQUEEZELITE_ESP32_RELEASE_URL=\&quot;https://github.com/sle118/squeezelite-esp32/releases\&quot; &quot;" 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">

View File

@@ -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(){

View File

@@ -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);

View File

@@ -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)

View File

@@ -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);

View File

@@ -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;
} }

View File

@@ -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);

View File

@@ -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);