|
@@ -166,6 +166,7 @@ void wifi_manager_start(){
|
|
|
/* start wifi manager task */
|
|
|
xTaskCreate(&wifi_manager, "wifi_manager", 4096, NULL, WIFI_MANAGER_TASK_PRIORITY, &task_wifi_manager);
|
|
|
}
|
|
|
+
|
|
|
uint8_t wifi_manager_get_flag(){
|
|
|
uint8_t value=0;
|
|
|
nvs_handle handle;
|
|
@@ -240,6 +241,7 @@ esp_err_t wifi_manager_save_autoexec_flag(uint8_t flag){
|
|
|
|
|
|
return ESP_OK;
|
|
|
}
|
|
|
+
|
|
|
esp_err_t wifi_manager_save_autoexec_config(char * value, char * name, int len){
|
|
|
nvs_handle handle;
|
|
|
char val[len+1];
|
|
@@ -272,8 +274,8 @@ esp_err_t wifi_manager_save_autoexec_config(char * value, char * name, int len){
|
|
|
return ESP_OK;
|
|
|
|
|
|
}
|
|
|
-esp_err_t wifi_manager_save_sta_config(){
|
|
|
|
|
|
+esp_err_t wifi_manager_save_sta_config(){
|
|
|
nvs_handle handle;
|
|
|
esp_err_t esp_err;
|
|
|
ESP_LOGI(TAG, "About to save config to flash");
|
|
@@ -316,7 +318,6 @@ esp_err_t wifi_manager_save_sta_config(){
|
|
|
}
|
|
|
|
|
|
bool wifi_manager_fetch_wifi_sta_config(){
|
|
|
-
|
|
|
nvs_handle handle;
|
|
|
esp_err_t esp_err;
|
|
|
|
|
@@ -399,7 +400,6 @@ void wifi_manager_clear_ip_info_json(){
|
|
|
|
|
|
|
|
|
void wifi_manager_generate_ip_info_json(update_reason_code_t update_reason_code){
|
|
|
-
|
|
|
wifi_config_t *config = wifi_manager_get_wifi_sta_config();
|
|
|
if(config){
|
|
|
|
|
@@ -441,16 +441,14 @@ void wifi_manager_generate_ip_info_json(update_reason_code_t update_reason_code)
|
|
|
else{
|
|
|
wifi_manager_clear_ip_info_json();
|
|
|
}
|
|
|
-
|
|
|
-
|
|
|
}
|
|
|
|
|
|
|
|
|
void wifi_manager_clear_access_points_json(){
|
|
|
strcpy(accessp_json, "[]\n");
|
|
|
}
|
|
|
-void wifi_manager_generate_acess_points_json(){
|
|
|
|
|
|
+void wifi_manager_generate_acess_points_json(){
|
|
|
strcpy(accessp_json, "[");
|
|
|
|
|
|
|
|
@@ -479,8 +477,6 @@ void wifi_manager_generate_acess_points_json(){
|
|
|
|
|
|
}
|
|
|
|
|
|
-
|
|
|
-
|
|
|
bool wifi_manager_lock_sta_ip_string(TickType_t xTicksToWait){
|
|
|
if(wifi_manager_sta_ip_mutex){
|
|
|
if( xSemaphoreTake( wifi_manager_sta_ip_mutex, xTicksToWait ) == pdTRUE ) {
|
|
@@ -495,12 +491,12 @@ bool wifi_manager_lock_sta_ip_string(TickType_t xTicksToWait){
|
|
|
}
|
|
|
|
|
|
}
|
|
|
+
|
|
|
void wifi_manager_unlock_sta_ip_string(){
|
|
|
xSemaphoreGive( wifi_manager_sta_ip_mutex );
|
|
|
}
|
|
|
|
|
|
void wifi_manager_safe_update_sta_ip_string(uint32_t ip){
|
|
|
-
|
|
|
if(wifi_manager_lock_sta_ip_string(portMAX_DELAY)){
|
|
|
|
|
|
struct ip4_addr ip4;
|
|
@@ -520,7 +516,6 @@ char* wifi_manager_get_sta_ip_string(){
|
|
|
return wifi_manager_sta_ip;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
bool wifi_manager_lock_json_buffer(TickType_t xTicksToWait){
|
|
|
if(wifi_manager_json_mutex){
|
|
|
if( xSemaphoreTake( wifi_manager_json_mutex, xTicksToWait ) == pdTRUE ) {
|
|
@@ -535,6 +530,7 @@ bool wifi_manager_lock_json_buffer(TickType_t xTicksToWait){
|
|
|
}
|
|
|
|
|
|
}
|
|
|
+
|
|
|
void wifi_manager_unlock_json_buffer(){
|
|
|
xSemaphoreGive( wifi_manager_json_mutex );
|
|
|
}
|
|
@@ -543,12 +539,8 @@ char* wifi_manager_get_ap_list_json(){
|
|
|
return accessp_json;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
esp_err_t wifi_manager_event_handler(void *ctx, system_event_t *event)
|
|
|
{
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
switch(event->event_id) {
|
|
|
|
|
|
case SYSTEM_EVENT_WIFI_READY:
|
|
@@ -625,7 +617,6 @@ wifi_config_t* wifi_manager_get_wifi_sta_config(){
|
|
|
return wifi_manager_config_sta;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
void wifi_manager_connect_async(){
|
|
|
/* in order to avoid a false positive on the front end app we need to quickly flush the ip json
|
|
|
* There'se a risk the front end sees an IP or a password error when in fact
|
|
@@ -644,7 +635,6 @@ char* wifi_manager_get_ip_info_json(){
|
|
|
}
|
|
|
|
|
|
void wifi_manager_destroy(){
|
|
|
-
|
|
|
vTaskDelete(task_wifi_manager);
|
|
|
task_wifi_manager = NULL;
|
|
|
|
|
@@ -671,11 +661,8 @@ void wifi_manager_destroy(){
|
|
|
wifi_manager_event_group = NULL;
|
|
|
vQueueDelete(wifi_manager_queue);
|
|
|
wifi_manager_queue = NULL;
|
|
|
-
|
|
|
-
|
|
|
}
|
|
|
|
|
|
-
|
|
|
void wifi_manager_filter_unique( wifi_ap_record_t * aplist, uint16_t * aps) {
|
|
|
int total_unique;
|
|
|
wifi_ap_record_t * first_free;
|
|
@@ -727,7 +714,6 @@ void wifi_manager_filter_unique( wifi_ap_record_t * aplist, uint16_t * aps) {
|
|
|
*aps = total_unique;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
BaseType_t wifi_manager_send_message_to_front(message_code_t code, void *param){
|
|
|
queue_message msg;
|
|
|
msg.code = code;
|
|
@@ -742,26 +728,19 @@ BaseType_t wifi_manager_send_message(message_code_t code, void *param){
|
|
|
return xQueueSend( wifi_manager_queue, &msg, portMAX_DELAY);
|
|
|
}
|
|
|
|
|
|
-
|
|
|
void wifi_manager_set_callback(message_code_t message_code, void (*func_ptr)(void*) ){
|
|
|
-
|
|
|
if(cb_ptr_arr && message_code < MESSAGE_CODE_COUNT){
|
|
|
cb_ptr_arr[message_code] = func_ptr;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
void wifi_manager( void * pvParameters ){
|
|
|
-
|
|
|
-
|
|
|
queue_message msg;
|
|
|
BaseType_t xStatus;
|
|
|
EventBits_t uxBits;
|
|
|
uint8_t retries = 0;
|
|
|
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
/* initialize the tcp stack */
|
|
|
tcpip_adapter_init();
|
|
|
|
|
@@ -1134,7 +1113,4 @@ void wifi_manager( void * pvParameters ){
|
|
|
} /* end of for loop */
|
|
|
|
|
|
vTaskDelete( NULL );
|
|
|
-
|
|
|
}
|
|
|
-
|
|
|
-
|