diff --git a/app/user/user_main.c b/app/user/user_main.c index 88de521f..eef99a9e 100644 --- a/app/user/user_main.c +++ b/app/user/user_main.c @@ -75,6 +75,7 @@ void task2(void *pvParameters) free(recv_buf); if (recbytes <= 0) { + close(sta_socket); printf("C > read data fail!\n"); } } @@ -159,8 +160,8 @@ user_init(void) { struct station_config *config = (struct station_config *)zalloc(sizeof(struct station_config)); - sprintf(config->ssid, "CVR100W_T"); - sprintf(config->password, "justfortest"); + sprintf(config->ssid, "ZTE_5560"); + sprintf(config->password, "espressif"); /* need to sure that you are in station mode first, * otherwise it will be failed. */ diff --git a/examples/smart_config/user/user_main.c b/examples/smart_config/user/user_main.c index a4d9c08d..91b8e9c4 100644 --- a/examples/smart_config/user/user_main.c +++ b/examples/smart_config/user/user_main.c @@ -22,32 +22,54 @@ #define server_ip "192.168.101.142" #define server_port 9669 +sc_type SC_Type = 0; + void ICACHE_FLASH_ATTR -smartconfig_done(void *data) +smartconfig_done(sc_status status, void *pdata) { - struct station_config *sta_conf = data; + switch(status) { + case SC_STATUS_WAIT: + printf("SC_STATUS_WAIT\n"); + break; + case SC_STATUS_FIND_CHANNEL: + printf("SC_STATUS_FIND_CHANNEL\n"); + break; + case SC_STATUS_GETTING_SSID_PSWD: + printf("SC_STATUS_GETTING_SSID_PSWD\n"); + break; + case SC_STATUS_LINK: + printf("SC_STATUS_LINK\n"); + struct station_config *sta_conf = pdata; + + wifi_station_set_config(sta_conf); + wifi_station_disconnect(); + wifi_station_connect(); + break; + case SC_STATUS_LINK_OVER: + printf("SC_STATUS_LINK_OVER\n"); + if (SC_Type == SC_TYPE_ESPTOUCH) { + uint8 phone_ip[4] = {0}; + + memcpy(phone_ip, (uint8*)pdata, 4); + printf("Phone ip: %d.%d.%d.%d\n",phone_ip[0],phone_ip[1],phone_ip[2],phone_ip[3]); + } + smartconfig_stop(); + break; + } - wifi_station_set_config(sta_conf); - wifi_station_disconnect(); - wifi_station_connect(); } void ICACHE_FLASH_ATTR smartconfig_task(void *pvParameters) { - smartconfig_start(SC_TYPE_ESPTOUCH, smartconfig_done);//SC_TYPE_AIRKISS + SC_Type = SC_TYPE_ESPTOUCH; + + smartconfig_start(SC_Type, smartconfig_done);//SC_TYPE_AIRKISS vTaskDelete(NULL); } -void ICACHE_FLASH_ATTR -sc_smartconfig_check(void) -{ - if(SC_STATUS_LINK_OVER == smartconfig_get_status()) { - smartconfig_stop(); - } - -} + /****************************************************************************** * FunctionName : user_init * Description : entry of user application, init user function here diff --git a/include/espressif/esp_system.h b/include/espressif/esp_system.h index 8abc4ef0..f1283e48 100644 --- a/include/espressif/esp_system.h +++ b/include/espressif/esp_system.h @@ -9,10 +9,12 @@ #include "c_types.h" enum rst_reason { - DEFAULT_RST = 0, - WDT_RST = 1, - EXCEPTION_RST = 2, - SOFT_RST = 3 + DEFAULT_RST_FLAG = 0, + WDT_RST_FLAG, + EXCEPTION_RST_FLAG, + SOFT_WDT_RST_FLAG, + SOFT_RESTART_FLAG, + DEEP_SLEEP_AWAKE_FLAG }; struct rst_info{ @@ -55,4 +57,19 @@ void system_uart_de_swap(void); uint16 system_adc_read(void); uint16 system_get_vdd33(void); +enum flash_size_map { + FLASH_SIZE_4M_MAP_256_256 = 0, + FLASH_SIZE_2M, + FLASH_SIZE_8M_MAP_512_512, + FLASH_SIZE_16M_MAP_512_512, + FLASH_SIZE_32M_MAP_512_512, + FLASH_SIZE_16M_MAP_1024_1024, + FLASH_SIZE_32M_MAP_1024_1024 +}; + +enum flash_size_map system_get_flash_size_map(void); + +bool system_param_save_with_protect(uint16 start_sec, void *param, uint16 len); +bool system_param_load(uint16 start_sec, uint16 offset, void *param, uint16 len); + #endif diff --git a/include/espressif/smartconfig.h b/include/espressif/smartconfig.h index 22b04ff1..a39312d4 100644 --- a/include/espressif/smartconfig.h +++ b/include/espressif/smartconfig.h @@ -6,13 +6,10 @@ #ifndef __SMARTCONFIG_H__ #define __SMARTCONFIG_H__ -typedef void (*sc_callback_t)(void *data); - typedef enum { SC_STATUS_WAIT = 0, SC_STATUS_FIND_CHANNEL, SC_STATUS_GETTING_SSID_PSWD, - SC_STATUS_GOT_SSID_PSWD, SC_STATUS_LINK, SC_STATUS_LINK_OVER, } sc_status; @@ -22,9 +19,11 @@ typedef enum { SC_TYPE_AIRKISS, } sc_type; -sc_status smartconfig_get_status(void); +typedef void (*sc_callback_t)(sc_status status, void *pdata); + const char *smartconfig_get_version(void); bool smartconfig_start(sc_type type, sc_callback_t cb, ...); bool smartconfig_stop(void); +bool esptouch_set_timeout(uint8 time_s);//15s~255s, offset:45s #endif diff --git a/lib/libfreertos.a b/lib/libfreertos.a index 700bdbbf..81138ae4 100644 Binary files a/lib/libfreertos.a and b/lib/libfreertos.a differ diff --git a/lib/libjson.a b/lib/libjson.a index 81f54fe4..d286e032 100644 Binary files a/lib/libjson.a and b/lib/libjson.a differ diff --git a/lib/liblwip.a b/lib/liblwip.a index 9575c2f9..f764d730 100644 Binary files a/lib/liblwip.a and b/lib/liblwip.a differ diff --git a/lib/libmain.a b/lib/libmain.a index 59459113..d6333d65 100644 Binary files a/lib/libmain.a and b/lib/libmain.a differ diff --git a/lib/libnet80211.a b/lib/libnet80211.a index 14b623a7..402a63e1 100644 Binary files a/lib/libnet80211.a and b/lib/libnet80211.a differ diff --git a/lib/libpp.a b/lib/libpp.a index 4d722503..d21619f1 100644 Binary files a/lib/libpp.a and b/lib/libpp.a differ diff --git a/lib/libsmartconfig.a b/lib/libsmartconfig.a index 460fd5c2..4cb357c7 100644 Binary files a/lib/libsmartconfig.a and b/lib/libsmartconfig.a differ diff --git a/lib/libssl.a b/lib/libssl.a index 371697ef..6f772360 100644 Binary files a/lib/libssl.a and b/lib/libssl.a differ diff --git a/lib/libudhcp.a b/lib/libudhcp.a index c6f8146c..6194070f 100644 Binary files a/lib/libudhcp.a and b/lib/libudhcp.a differ diff --git a/lib/libwpa.a b/lib/libwpa.a index b066c9a3..a3899b02 100644 Binary files a/lib/libwpa.a and b/lib/libwpa.a differ