1
0
mirror of https://github.com/esp8266/Arduino.git synced 2025-06-06 05:21:22 +03:00

Update to SDK 1.3.0

This commit is contained in:
Ivan Grokhotkov 2015-08-10 10:51:09 +03:00
parent cd69be7f8f
commit 7bfd425754
28 changed files with 195 additions and 115 deletions

View File

@ -666,7 +666,7 @@ bool ESP8266WiFiClass::hostname(String aHostname) {
//-------------------------------------------------------------- //--------------------------------------------------------------
void wifi_wps_status_cb(WPS_CB_STATUS_t status) void wifi_wps_status_cb(wps_cb_status status)
{ {
DEBUGV("wps cb status: %d\r\n", status); DEBUGV("wps cb status: %d\r\n", status);
switch (status) { switch (status) {
@ -682,6 +682,9 @@ void wifi_wps_status_cb(WPS_CB_STATUS_t status)
case WPS_CB_ST_TIMEOUT: case WPS_CB_ST_TIMEOUT:
DEBUGV("wps TIMEOUT\n"); DEBUGV("wps TIMEOUT\n");
break; break;
case WPS_CB_ST_WEP:
DEBUGV("wps WEP\n");
break;
} }
// todo user function to get status // todo user function to get status
@ -715,7 +718,7 @@ bool ESP8266WiFiClass::beginWPSConfig(void) {
return false; return false;
} }
if(!wifi_set_wps_cb(&wifi_wps_status_cb)) { if(!wifi_set_wps_cb((wps_st_cb_t) &wifi_wps_status_cb)) {
DEBUGV("wps cb faild\n"); DEBUGV("wps cb faild\n");
return false; return false;
} }

View File

@ -44,7 +44,7 @@ public:
ESP8266WiFiClass(); ESP8266WiFiClass();
void mode(WiFiMode); void mode(WiFiMode);
/** /**
* Start Wifi connection * Start Wifi connection
* if passphrase is set the most secure supported mode will be automatically selected * if passphrase is set the most secure supported mode will be automatically selected
@ -95,7 +95,7 @@ public:
* param dns: Defined DNS * param dns: Defined DNS
*/ */
void config(IPAddress local_ip, IPAddress gateway, IPAddress subnet, IPAddress dns); void config(IPAddress local_ip, IPAddress gateway, IPAddress subnet, IPAddress dns);
/* Configure access point /* Configure access point
* *
* param local_ip: access point IP * param local_ip: access point IP
@ -336,19 +336,19 @@ public:
/* /*
* Start SmartConfig * Start SmartConfig
* *
*/ */
void beginSmartConfig(); void beginSmartConfig();
/* /*
* Query SmartConfig status, to decide when stop config * Query SmartConfig status, to decide when stop config
* *
*/ */
bool smartConfigDone(); bool smartConfigDone();
/* /*
* Stop SmartConfig * Stop SmartConfig
* *
*/ */
void stopSmartConfig(); void stopSmartConfig();
friend class WiFiClient; friend class WiFiClient;
@ -366,7 +366,7 @@ protected:
bool _useApMode; bool _useApMode;
bool _useClientMode; bool _useClientMode;
bool _useStaticIp; bool _useStaticIp;
static bool _scanAsync; static bool _scanAsync;
static bool _scanStarted; static bool _scanStarted;
static bool _scanComplete; static bool _scanComplete;

View File

@ -1,7 +1,53 @@
esp_iot_sdk_v1.2.0_15_07_13_p4 Release Note esp_iot_sdk_v1.3.0_15_08_08 Release Note
----------------------------------------
Resolved IssuesBugs below are eligible for Bug Bounty Program):
1.Device can't connect to router after it gets ssid and password when using ESPTOUCH with router's ssid hidden. [冯智]
2.Format string of os_random can't be supported by atoi. [杨朝位]
3.Optimized os_printf seems to have an issue on 4 bytes aligned and other valuable suggestions. [Andrey Filimonov]
4.SmartConfig cant get IP address after connected to router. [孙大明]
Optimization:
1.Memory optimization to save 12KBytes.
2.Optimize RF calibration to short the booting time,more details in documentation "2A-ESP8266__IOT_SDK_User_Manual" chapter "Appendix".
3.Optimize Wi-Fi function to solve issue that ESP8266 may fail to connect to a special router.
4.Optimize software timer to solve the a connecting problem.Please do not call "os_delay_us" or "while" or "for" to occupy CPU more than 10 ms in timer callback.
5.Optimize system_get_rst_info to obtain more accurate information about the start-up.
6.Optimize function of Wi-Fi scanning to be more reliable.
7.Optimize function of changing Wi-Fi mode to be more reliable.
8.Optimize WPS to improve connectivity.And WPS does not support WEP, it will return status "WPS_CB_ST_WEP".
9.Optimize Wi-Fi function to solve softAP multiple stations DHCP issue.
10.Optimize TCP in LAST_ACK status.
11.Optimize TLS to support SHA256, SHA384, SHA512.
12.Memory optimization during TLS hand-shaking.
13.Optimize OTA funtion to download big chunk of data.
14.Add CRC32 in OTA function.Folder "tools" in esp_iot_sdk has to be updated, otherwise OTA will fail.
15.Optimize mDNS to support both softAP and station interfaces.
16.Optimize ESP-NOW, more details in "Add APIs"
17.Update SmartConfig to version 2.4.7
18.Remove "-O2" from makefile.
19.Optimize header files to improve compatibility, will not affect compilation.
Add APIs:
1.system_soft_wdt_feed : feed software watchdog
2.wifi_softap_get_dhcps_leaseget IP range of ESP8266 softAP DHCP server
3.ESP-NOW APIs
esp_now_set_kok: set the secure key to encrypt ESP-NOW communication key
esp_now_register_send_cb: register ESP-NOW send callback
esp_now_unregister_send_cb: unregister ESP-NOW send callback
AT_v0.40 Release Note:
Note: For AT firmware to support FOTA, flash size need to be 1024KB or more than that.
1.Add parameter <max conn> in command "AT+CWSAP" to set the maximum number of connections allowed.
esp_iot_sdk_v1.2.0_15_07_13_p4 Release Note
------------------------------------------- -------------------------------------------
Here is a patch of memory optimization based on SDK_v1.2.0 Here is a patch of memory optimization based on SDK_v1.2.0
1. It saved about 8KBytes memory. 1. It saved about 8KBytes memory.
2. It revised problem that change mode may cause memory leak. 2. It revised problem that change mode may cause memory leak.
3. Update SmartConfig to version 2.4.3 3. Update SmartConfig to version 2.4.3
@ -13,7 +59,7 @@ Thanks for your interest in Espressif Systems and ESP8266 !
esp_iot_sdk_v1.2.0_15_07_09_p3 Release Note esp_iot_sdk_v1.2.0_15_07_09_p3 Release Note
------------------------------------------- -------------------------------------------
Here is a patch based on SDK_v1.2.0 solved problem that if APs SSID is hiddenESPTOUCH may get wrong BSSID of AP and cause connection fail. Here is a patch based on SDK_v1.2.0 solved problem that if APs SSID is hiddenESPTOUCH may get wrong BSSID of AP and cause connection fail.
@ -24,7 +70,7 @@ Sorry for the inconvenience.
esp_iot_sdk_v1.2.0_15_07_09_p2 Release Note esp_iot_sdk_v1.2.0_15_07_09_p2 Release Note
------------------------------------------- -------------------------------------------
Updated libssl again. To support SHA-256 and SHA-512. Updated libssl again. To support SHA-256 and SHA-512.
@ -34,7 +80,7 @@ Thanks for your interest in Espressif Systems and ESP8266 !
esp_iot_sdk_v1.2.0_15_07_08_p1 Release Note esp_iot_sdk_v1.2.0_15_07_08_p1 Release Note
------------------------------------------- -------------------------------------------
Here is a patch based on SDK_v1.2.0 solved problem that abnormal SSL disconnection may cause reset. Here is a patch based on SDK_v1.2.0 solved problem that abnormal SSL disconnection may cause reset.
@ -45,7 +91,7 @@ Sorry for the inconvenience.
esp_iot_sdk_v1.2.0_15_07_03 Release Note esp_iot_sdk_v1.2.0_15_07_03 Release Note
------------------------------------------- -------------------------------------------
Resolved IssuesBugs below are eligible for Bug Bounty Program): Resolved IssuesBugs below are eligible for Bug Bounty Program):
1.TLS server disconnect to ESP8266 may cause crash. [孙新虎] 1.TLS server disconnect to ESP8266 may cause crash. [孙新虎]
@ -77,10 +123,10 @@ esp_now_add_peer: add an ESP-NOW peer
esp_now_del_peer: delete an ESP-NOW peer esp_now_del_peer: delete an ESP-NOW peer
esp_now_set_self_role: set ESP-NOW role of device itself esp_now_set_self_role: set ESP-NOW role of device itself
esp_now_get_self_role: get ESP-NOW role of device itself esp_now_get_self_role: get ESP-NOW role of device itself
esp_now_set_peer_role: set ESP-NOW role about another device esp_now_set_peer_role: set ESP-NOW role about another device
esp_now_get_peer_role: get ESP-NOW role about another device esp_now_get_peer_role: get ESP-NOW role about another device
esp_now_set_peer_key: set ESP-NOW key of a device esp_now_set_peer_key: set ESP-NOW key of a device
esp_now_get_peer_key: get ESP-NOW key of a device esp_now_get_peer_key: get ESP-NOW key of a device
2. WPS APIs 2. WPS APIs
wifi_wps_enable : enable WPS function wifi_wps_enable : enable WPS function
@ -92,9 +138,9 @@ wifi_set_wps_cb: set WPS callback
system_soft_wdt_stop: stop software watchdog system_soft_wdt_stop: stop software watchdog
system_soft_wdt_restart: restart software watchdog system_soft_wdt_restart: restart software watchdog
4.sntp_get_timezone: get SNTP timezone 4.sntp_get_timezone: get SNTP timezone
AT_v0.30 Release Note: AT_v0.30 Release Note:
Note: For AT firmware to support FOTA, flash size need to be 1024KB or more than that. Note: For AT firmware to support FOTA, flash size need to be 1024KB or more than that.
1.Command "AT+CWSTARTSMART" need not parameter any more, SmartConfig type can be got automatically. 1.Command "AT+CWSTARTSMART" need not parameter any more, SmartConfig type can be got automatically.
@ -104,15 +150,15 @@ Note: For AT firmware to support FOTA, flash size need to be 1024KB or more than
esp_iot_sdk_1.1.2_15_06_25_p2 Release Note esp_iot_sdk_1.1.2_15_06_25_p2 Release Note
------------------------------------------- -------------------------------------------
Here is a patch based on SDK_v1.1.2 solved problem of abnormal current during modem-sleep. Here is a patch based on SDK_v1.1.2 solved problem of abnormal current during modem-sleep.
Please replace the lib in \esp_iot_sdk_v1.1.2\lib Please replace the lib in \esp_iot_sdk_v1.1.2\lib
Sorry for the inconvenience. Sorry for the inconvenience.
esp_iot_sdk_v1.1.2_15_06_24_p1.1 Release Note esp_iot_sdk_v1.1.2_15_06_24_p1.1 Release Note
------------------------------------------- -------------------------------------------
Here is a patch for AT firmware based on SDK_v1.1.2 resolved issue that AT user parameter area was located in wrong addressit may cause WiFi configuration goes wrong. Here is a patch for AT firmware based on SDK_v1.1.2 resolved issue that AT user parameter area was located in wrong addressit may cause WiFi configuration goes wrong.
@ -133,7 +179,7 @@ can not FOTA upgradeplease dont call “AT+CIPUPDATE”
So sorry for the inconvenience. So sorry for the inconvenience.
esp_iot_sdk_v1.1.2_15_06_16_p1 Release Note esp_iot_sdk_v1.1.2_15_06_16_p1 Release Note
------------------------------------------- -------------------------------------------
Here is a patch based on SDK_v1.1.2 resolved issue that "wifi_station_scan" cause loss of wireless connectivity. Here is a patch based on SDK_v1.1.2 resolved issue that "wifi_station_scan" cause loss of wireless connectivity.
@ -144,7 +190,7 @@ Sorry for the inconvenience.
esp_iot_sdk_v1.1.2_15_06_12 Release Note esp_iot_sdk_v1.1.2_15_06_12 Release Note
------------------------------------------- -------------------------------------------
Optimization: Optimization:
@ -165,7 +211,7 @@ Add Documentation:
esp_iot_sdk_v1.1.1_15_06_05 Release Note esp_iot_sdk_v1.1.1_15_06_05 Release Note
------------------------------------------- -------------------------------------------
Resolved IssuesBugs below are eligible for Bug Bounty Program): Resolved IssuesBugs below are eligible for Bug Bounty Program):
@ -175,7 +221,7 @@ Resolved IssuesBugs below are eligible for Bug Bounty Program):
Optimization: Optimization:
1.Update JSON parser to handle with illegal parameter and illegal calling progress. 1.Update JSON parser to handle with illegal parameter and illegal calling progress.
2.Add parameter of user_esp_platform_check_ip in user_websever.c which in IOT_Demo. 2.Add parameter of user_esp_platform_check_ip in user_websever.c which in IOT_Demo.
3.Update UART driver to solve the problem that if send data through UART while ESP8266 startup may cause UART invalid. 3.Update UART driver to solve the problem that if send data through UART while ESP8266 startup may cause UART invalid.
4.Update smartconfig to version 2.2, corresponding phone APP v0.3.2. And update the description and example of smartconfig_start in document "2C_ESP8266__Programming Guide" 4.Update smartconfig to version 2.2, corresponding phone APP v0.3.2. And update the description and example of smartconfig_start in document "2C_ESP8266__Programming Guide"
5.Update code in iram to solve the problem that space for text is not enough. 5.Update code in iram to solve the problem that space for text is not enough.
@ -185,12 +231,12 @@ Optimization:
9.Remove useless driver code in IOT_Demo 9.Remove useless driver code in IOT_Demo
10.Update IOT_Demo to use the latest PWM driver in light demo. 10.Update IOT_Demo to use the latest PWM driver in light demo.
11.Provide liblwip_536.a of which MSS size is 536 11.Provide liblwip_536.a of which MSS size is 536
12.Revised issue that boot may fail when 80Mhz SPI clock selected 12.Revised issue that boot may fail when 80Mhz SPI clock selected
13.Update esp_init_data_default.bin about RF option in \esp_iot_sdk\bin 13.Update esp_init_data_default.bin about RF option in \esp_iot_sdk\bin
Added APIs Added APIs
1.PWM APIs 1.PWM APIs
Updated pwm_initadd parameter to set PWM channel and GPIO pin Updated pwm_initadd parameter to set PWM channel and GPIO pin
Added Added
1get_pwm_versionget version information of PWM driver 1get_pwm_versionget version information of PWM driver
2pwm_set_periodset PWM period 2pwm_set_periodset PWM period
@ -200,23 +246,23 @@ Deleted
2pwm_get_freqget PWM frequency 2pwm_get_freqget PWM frequency
2.Read/write flash with protection 2.Read/write flash with protection
1system_param_save_with_protectwrite data into flash with backup protection 1system_param_save_with_protectwrite data into flash with backup protection
2system_param_loadread data which saved into flash with backup protection 2system_param_loadread data which saved into flash with backup protection
3.system_get_rst_infoget information about current startupit is a normal startup or watch dog reset 3.system_get_rst_infoget information about current startupit is a normal startup or watch dog reset
4.at_responseset AT response 4.at_responseset AT response
5.at_register_response_funcregister a callback for user-define AT response. 5.at_register_response_funcregister a callback for user-define AT response.
6.Update document "2C_ESP8266__Programming Guide" to add description of interrupt definition in ets_sys.h 6.Update document "2C_ESP8266__Programming Guide" to add description of interrupt definition in ets_sys.h
AT_v0.25 Release Note: AT_v0.25 Release Note:
Note: For AT firmware to support FOTA, flash size need to be 1024KB or more than that. Note: For AT firmware to support FOTA, flash size need to be 1024KB or more than that.
Optimization: Optimization:
1.Add parameter about UDP local port in command "AT+SAVETRANSLINK" 1.Add parameter about UDP local port in command "AT+SAVETRANSLINK"
Added AT command Added AT command
1.AT+CIPDINFOset configuration whether show remote IP and remote port with “+IPD” or not 1.AT+CIPDINFOset configuration whether show remote IP and remote port with “+IPD” or not
esp_iot_sdk_v1.1.0_15_05_27_p1 Release Note esp_iot_sdk_v1.1.0_15_05_27_p1 Release Note
------------------------------------------- -------------------------------------------
Here is a patch based on SDK_v1.1.0 resolved issues below: Here is a patch based on SDK_v1.1.0 resolved issues below:
@ -226,7 +272,7 @@ Here is a patch based on SDK_v1.1.0 resolved issues below:
Sorry for the inconvenience. Sorry for the inconvenience.
esp_iot_sdk_v1.1.0_15_05_22 Release Note esp_iot_sdk_v1.1.0_15_05_22 Release Note
---------------------------------------- ----------------------------------------
Resolved IssuesBugs below are eligible for Bug Bounty Program): Resolved IssuesBugs below are eligible for Bug Bounty Program):
1.Predictable TLS random values leads to insecure connections [projectgus] 1.Predictable TLS random values leads to insecure connections [projectgus]
@ -257,26 +303,26 @@ Added APIs
3.system_uart_de_swap : disable UART0 swap 3.system_uart_de_swap : disable UART0 swap
4.system_get_flash_size_map: get flash size and flash map 4.system_get_flash_size_map: get flash size and flash map
5.system_phy_set_max_tpw : set maximum RF TX power 5.system_phy_set_max_tpw : set maximum RF TX power
6.system_phy_set_tpw_via_vdd33 set RF TX power according to VDD33 6.system_phy_set_tpw_via_vdd33 set RF TX power according to VDD33
7.system_phy_set_rfoption : set RF option 7.system_phy_set_rfoption : set RF option
8.wifi_station_get_rssiget rssi of AP which ESP8266 station connected to   8.wifi_station_get_rssiget rssi of AP which ESP8266 station connected to  
9.wifi_softap_get_station_num get number count of stations connected to ESP8266 soft-AP 9.wifi_softap_get_station_num get number count of stations connected to ESP8266 soft-AP
AT_v0.24 Release Note: AT_v0.24 Release Note:
Note: For AT firmware to support FOTA, flash size need to be 1024KB or more than that. Note: For AT firmware to support FOTA, flash size need to be 1024KB or more than that.
Optimization: Optimization:
1.Disable data echo of command "AT+CIPSEND" 1.Disable data echo of command "AT+CIPSEND"
2.Optimized "AT+CWJAP?" to get channel and rssi 2.Optimized "AT+CWJAP?" to get channel and rssi
3.ESP8266 station IP can only be got and inquiried after ESP8266 station connected to AP 3.ESP8266 station IP can only be got and inquiried after ESP8266 station connected to AP
Added AT command Added AT command
1.AT+RFPOWER set maximum RF TX power 1.AT+RFPOWER set maximum RF TX power
2.AT+RFVDD set RF TX power according to VDD33 2.AT+RFVDD set RF TX power according to VDD33
自从乐鑫信息科技于 2015-03-20 启动 Bug 赏金计划以来,我们收到了一些重要问题反馈及建议,感谢世界各地的开发者对 ESP8266的关注推动我们的软件更进一步技术支持团队也得到迅速地成长。我们将在如下发布日志中点名感谢您的帮助。 自从乐鑫信息科技于 2015-03-20 启动 Bug 赏金计划以来,我们收到了一些重要问题反馈及建议,感谢世界各地的开发者对 ESP8266的关注推动我们的软件更进一步技术支持团队也得到迅速地成长。我们将在如下发布日志中点名感谢您的帮助。
esp_iot_sdk_v1.1.0_15_05_22 Release Note esp_iot_sdk_v1.1.0_15_05_22 Release Note
修正问题(符合乐鑫 Bug 赏金计划): 修正问题(符合乐鑫 Bug 赏金计划):
1.随机值的生成可以被预测,完善随机数的产生机制 [projectgus] 1.随机值的生成可以被预测,完善随机数的产生机制 [projectgus]
2.softAP+station 模式下,可能连接 ESP8266 soft-AP 失败 [智捷通] 2.softAP+station 模式下,可能连接 ESP8266 soft-AP 失败 [智捷通]
@ -307,11 +353,11 @@ esp_iot_sdk_v1.1.0_15_05_22 Release Note
4.system_get_flash_size_map: 查询 flash size 和 flash map 4.system_get_flash_size_map: 查询 flash size 和 flash map
5.system_phy_set_max_tpw : 设置 RF TX power 最大值 5.system_phy_set_max_tpw : 设置 RF TX power 最大值
6.system_phy_set_tpw_via_vdd33 :根据 VDD33 设置 RF TX power 6.system_phy_set_tpw_via_vdd33 :根据 VDD33 设置 RF TX power
7.system_phy_set_rfoption : 设置 RF 7.system_phy_set_rfoption : 设置 RF
8.wifi_station_get_rssi查询 ESP8266 station 连接的 AP 的信号强度   8.wifi_station_get_rssi查询 ESP8266 station 连接的 AP 的信号强度  
9.wifi_softap_get_station_num :查询连接到 ESP8266 soft-AP 的 station 数目 9.wifi_softap_get_station_num :查询连接到 ESP8266 soft-AP 的 station 数目
AT_v0.24 Release Note: AT_v0.24 Release Note:
注意:运行 AT 固件,支持云端升级,请使用 1024KB 或以上容量的 flash 注意:运行 AT 固件,支持云端升级,请使用 1024KB 或以上容量的 flash
优化: 优化:
@ -319,7 +365,7 @@ AT_v0.24 Release Note:
2.优化"AT+CWJAP?" 可获得信道和信号强度 2.优化"AT+CWJAP?" 可获得信道和信号强度
3.必须在 ESP8266 station 连接到 AP 后,才能查询到 ESP8266 station IP 3.必须在 ESP8266 station 连接到 AP 后,才能查询到 ESP8266 station IP
新增 AT command 新增 AT command
1.AT+RFPOWER :设置 RF TX power 最大值 1.AT+RFPOWER :设置 RF TX power 最大值
2.AT+RFVDD 根据 VDD33 设置 RF TX power 2.AT+RFVDD 根据 VDD33 设置 RF TX power
@ -327,68 +373,68 @@ Thanks for your interest in ESP8266 !
esp_iot_sdk_v1.0.1_15_05_04_p1 esp_iot_sdk_v1.0.1_15_05_04_p1
------------------------------------------- -------------------------------------------
Here is a patch for station+softAP issue that users may have, based on SDK_v1.0.1, Here is a patch for station+softAP issue that users may have, based on SDK_v1.0.1,
solved problem that connect to ESP8266 softAP may fail in station+softAP mode. solved problem that connect to ESP8266 softAP may fail in station+softAP mode.
Sorry for the inconvenience. Sorry for the inconvenience.
esp_iot_sdk_v1.0.1_15_04_24 Release Note esp_iot_sdk_v1.0.1_15_04_24 Release Note
------------------------------------------- -------------------------------------------
Resolved Issues(Bugs below are eligible for Bug Bounty Program): Resolved Issues(Bugs below are eligible for Bug Bounty Program):
1. SSL connection may fail if SSL packet size larger than 2kBytes [PeteW ] 1. SSL connection may fail if SSL packet size larger than 2kBytes [PeteW ]
2. UDP remote IP to be 0.0.0.0 may cause reset [Jerry S] 2. UDP remote IP to be 0.0.0.0 may cause reset [Jerry S]
3. Optimize wifi_get_ip_info to fix loss of wireless connectivity problem 3. Optimize wifi_get_ip_info to fix loss of wireless connectivity problem
4. Air-Kiss restart [Orgmar] 4. Air-Kiss restart [Orgmar]
Optimization: Optimization:
1. Optimized IOT_Espressif_EspTouch.APK (apply for access from Espressif) for improved compatibility. [???] 1. Optimized IOT_Espressif_EspTouch.APK (apply for access from Espressif) for improved compatibility. [???]
2. TCP server can not open again immediately with the same port [624908539] 2. TCP server can not open again immediately with the same port [624908539]
3. Update UART driver for parity bit value may be incorrect [1062583993] 3. Update UART driver for parity bit value may be incorrect [1062583993]
4. Add define of “ICACHE_RODATA_ATTR” for Symbol 'ICACHE_RODATA_ATTR' could not be resolved. [???] 4. Add define of “ICACHE_RODATA_ATTR” for Symbol 'ICACHE_RODATA_ATTR' could not be resolved. [???]
5. Add API wifi_softap_dhcps_set_offer_option to enable/disable ESP8266 softAP DHCP server default gateway. [xyz769] 5. Add API wifi_softap_dhcps_set_offer_option to enable/disable ESP8266 softAP DHCP server default gateway. [xyz769]
6. AT register_uart_rx_intr may enter callback twice. [???] 6. AT register_uart_rx_intr may enter callback twice. [???]
7.optimize document that WPA password length range : 8 ~ 64 bytes [785057041] 7.optimize document that WPA password length range : 8 ~ 64 bytes [785057041]
8. ESP8266 softAP DHCP server record 8 DHCP client's IP at most [ygjeon] 8. ESP8266 softAP DHCP server record 8 DHCP client's IP at most [ygjeon]
9. To set static IP (wifi_set_ip_info) has to disable DHCP first(wifi_softap_dhcps_stop or wifi_station_dhcpc_stop) 9. To set static IP (wifi_set_ip_info) has to disable DHCP first(wifi_softap_dhcps_stop or wifi_station_dhcpc_stop)
10.Add example of wifi_softap_set_dhcps_lease 10.Add example of wifi_softap_set_dhcps_lease
11. smartconfig_start can only be called in ESP8266 station mode 11. smartconfig_start can only be called in ESP8266 station mode
Added APIs: Added APIs:
1. Wi-Fi related APIs: 1. Wi-Fi related APIs:
wifi_station_set_reconnect_policy: enable/disable reconnect when ESP8266 disconnect from router,default to be enable reconnect. wifi_station_set_reconnect_policy: enable/disable reconnect when ESP8266 disconnect from router,default to be enable reconnect.
wifi_set_event_handler_cb: set event handler of ESP8266 softAP or station status change. wifi_set_event_handler_cb: set event handler of ESP8266 softAP or station status change.
wifi_softap_dhcps_set_offer_option: enable/disable get router information from ESP8266 softAP, default to be enable. wifi_softap_dhcps_set_offer_option: enable/disable get router information from ESP8266 softAP, default to be enable.
2. SNTP APIs: 2. SNTP APIs:
sntp_get_current_timestamp: get current timestamp from Jan 01, 1970, 00:00 (GMT) sntp_get_current_timestamp: get current timestamp from Jan 01, 1970, 00:00 (GMT)
sntp_get_real_time: char,get real time (GTM + 8 time zone) sntp_get_real_time: char,get real time (GTM + 8 time zone)
sntp_init: initialize SNTP sntp_init: initialize SNTP
sntp_stop: stop SNTP sntp_stop: stop SNTP
sntp_setserver: set SNTP server by IP sntp_setserver: set SNTP server by IP
sntp_getserver: get SNTP server IP sntp_getserver: get SNTP server IP
sntp_setservername: set SNTP server by domain name sntp_setservername: set SNTP server by domain name
sntp_getservername: get domain name of SNTP server set by sntp_setservername sntp_getservername: get domain name of SNTP server set by sntp_setservername
3. MDNS APIs: 3. MDNS APIs:
espconn_mdns_init: initialize mDNS espconn_mdns_init: initialize mDNS
espconn_mdns_close: close mDNS espconn_mdns_close: close mDNS
espconn_mdns_server_register: register mDNS server espconn_mdns_server_register: register mDNS server
espconn_mdns_server_unregister: unregister mDNS server espconn_mdns_server_unregister: unregister mDNS server
espconn_mdns_get_servername: get mDNS server name espconn_mdns_get_servername: get mDNS server name
espconn_mdns_set_servername: set mDNS server name espconn_mdns_set_servername: set mDNS server name
espconn_mdns_set_hostname: get mDNS host name espconn_mdns_set_hostname: get mDNS host name
espconn_mdns_get_hostname: set mDNS host name espconn_mdns_get_hostname: set mDNS host name
espconn_mdns_disable: disable mDNS espconn_mdns_disable: disable mDNS
espconn_mdns_enable: endisable mDNS espconn_mdns_enable: endisable mDNS
AT_v0.23 Release Note: AT_v0.23 Release Note:
Optimized: Optimized:
1.AT+CWJAP add parameter "bssid", for several APs may have the same SSID 1.AT+CWJAP add parameter "bssid", for several APs may have the same SSID
New AT commands: New AT commands:
1. AT+CIPSENDBUF: write data into TCP-send-buffer; non-blocking. Background task automatically handles transmission. Has much higher throughput. 1. AT+CIPSENDBUF: write data into TCP-send-buffer; non-blocking. Background task automatically handles transmission. Has much higher throughput.
2. AT+CIPBUFRESET: resets segment count in TCP-send-buffer 2. AT+CIPBUFRESET: resets segment count in TCP-send-buffer
3. AT+CIPBUFSTATUS: checks status of TCP-send-buffer 3. AT+CIPBUFSTATUS: checks status of TCP-send-buffer
4. AT+CIPCHECKSEGID: checks if a specific segment in TCP-send-buffer has sent successfully 4. AT+CIPCHECKSEGID: checks if a specific segment in TCP-send-buffer has sent successfully
@ -396,7 +442,7 @@ esp_iot_sdk_v1.0.1_b2_15_04_10 release note
------------------------------------------- -------------------------------------------
Fix bugs: Fix bugs:
1.Call espconn_sent to send UDP packet in user_init cause reset.[BBP#2 reporter (????)] 1.Call espconn_sent to send UDP packet in user_init cause reset.[BBP#2 reporter (????)]
2.UART & FlowControl issue: send data to FIFO without CTS flag will cause WDT [BBP#11 reporter (pvxx)] 2.UART & FlowControl issue: send data to FIFO without CTS flag will cause WDT [BBP#11 reporter (pvxx)]
3.SSL issue,add an API (espconn_secure_set_size) to set SSL buffer size [BBP#29 reporter (PeteW)] 3.SSL issue,add an API (espconn_secure_set_size) to set SSL buffer size [BBP#29 reporter (PeteW)]
4.UDP broadcast issue in WEP 4.UDP broadcast issue in WEP
@ -485,21 +531,21 @@ Add AT commands:
XXX_DEF: default, set configuration and save it to Flash XXX_DEF: default, set configuration and save it to Flash
2. Add SmartConfig in AT: 2. Add SmartConfig in AT:
AT+CWSTARTSMART/AT+CWSTOPSMART: start / stop SmartConfig AT+CWSTARTSMART/AT+CWSTOPSMART: start / stop SmartConfig
Notice: please refer to the document, call "AT+CWSTOPSMART" to stop SmartConfig first since "AT+CWSTARTSMART", then call other AT commands. Don't call any other AT commands during SmartConfig. Notice: please refer to the document, call "AT+CWSTOPSMART" to stop SmartConfig first since "AT+CWSTARTSMART", then call other AT commands. Don't call any other AT commands during SmartConfig.
2. AT+SAVETRANSLINK: save transparent transmission link to Flash; 2. AT+SAVETRANSLINK: save transparent transmission link to Flash;
Note:AT+CIPMODE=1 set to enter transparent transmission mode, won't save to Flash. Note:AT+CIPMODE=1 set to enter transparent transmission mode, won't save to Flash.
Add AT APIs Add AT APIs
1. at_customLinkMax: set the max link that allowed, most can be 10; if you want to set it, please set it before at_init; if you didn't set it, the max link allowed is 5 by default. 1. at_customLinkMax: set the max link that allowed, most can be 10; if you want to set it, please set it before at_init; if you didn't set it, the max link allowed is 5 by default.
2. at_enter_special_state/ at_leave_special_state:Enter/leave AT processing state. In processing state, AT core will return "busy" for any further AT commands. 2. at_enter_special_state/ at_leave_special_state:Enter/leave AT processing state. In processing state, AT core will return "busy" for any further AT commands.
3. at_set_custom_info:set custom version information of AT which can be got by AT+GMR; 3. at_set_custom_info:set custom version information of AT which can be got by AT+GMR;
4. at_get_version:get version information of AT lib . 4. at_get_version:get version information of AT lib .
Optimize Optimize
1. Add UDP remote ip and remote port is allowed to be parameters of "AT+CIPSEND" 1. Add UDP remote ip and remote port is allowed to be parameters of "AT+CIPSEND"
2. Move "AT+CIUPDATE" from lib to AT "demo\esp_iot_sdk\examples\at", AT demo shows how to upgrade AT firmware from a local server. Notice that AT upgrade the bin files name have to be "user1.bin" and "user2.bin". 2. Move "AT+CIUPDATE" from lib to AT "demo\esp_iot_sdk\examples\at", AT demo shows how to upgrade AT firmware from a local server. Notice that AT upgrade the bin files name have to be "user1.bin" and "user2.bin".
3. Optimize "AT+CIPSTA", add gateway and netmask as parameters 3. Optimize "AT+CIPSTA", add gateway and netmask as parameters
4. Optimize transparent transmission. 4. Optimize transparent transmission.
esp_iot_sdk_v0.9.5_15_01_22 Release Note esp_iot_sdk_v0.9.5_15_01_22 Release Note
@ -532,7 +578,7 @@ Optimize:
6. update to boot v1.2 to support new format user.bin; 6. update to boot v1.2 to support new format user.bin;
7. update ARP 7. update ARP
8. update SSL 8. update SSL
9. revised system_deep_sleep,system_deep_sleep(0),set no wake up timer,connect a GPIO to pin RST, the chip will wake up by a falling-edge on pin RST 9. revised system_deep_sleep,system_deep_sleep(0),set no wake up timer,connect a GPIO to pin RST, the chip will wake up by a falling-edge on pin RST
esp_iot_sdk_v0.9.4_14_12_19 Release Note esp_iot_sdk_v0.9.4_14_12_19 Release Note
---------------------------------------- ----------------------------------------

View File

@ -24,7 +24,7 @@ typedef void (* espconn_reconnect_callback)(void *arg, sint8 err);
#define ESPCONN_ISCONN -15 /* Already connected. */ #define ESPCONN_ISCONN -15 /* Already connected. */
#define ESPCONN_HANDSHAKE -28 /* ssl handshake failed */ #define ESPCONN_HANDSHAKE -28 /* ssl handshake failed */
#define ESPCONN_PROTO_MSG -61 /* ssl application invalid */ #define ESPCONN_SSL_INVALID_DATA -61 /* ssl application invalid */
/** Protocol family and type of the espconn */ /** Protocol family and type of the espconn */
enum espconn_type { enum espconn_type {
@ -267,6 +267,17 @@ sint8 espconn_regist_sentcb(struct espconn *espconn, espconn_sent_callback sent_
sint8 espconn_regist_write_finish(struct espconn *espconn, espconn_connect_callback write_finish_fn); sint8 espconn_regist_write_finish(struct espconn *espconn, espconn_connect_callback write_finish_fn);
/******************************************************************************
* FunctionName : espconn_send
* Description : sent data for client or server
* Parameters : espconn -- espconn to set for client or server
* psent -- data to send
* length -- length of data to send
* Returns : none
*******************************************************************************/
sint8 espconn_send(struct espconn *espconn, uint8 *psent, uint16 length);
/****************************************************************************** /******************************************************************************
* FunctionName : espconn_sent * FunctionName : espconn_sent
* Description : sent data for client or server * Description : sent data for client or server
@ -426,6 +437,17 @@ sint8 espconn_secure_connect(struct espconn *espconn);
sint8 espconn_secure_disconnect(struct espconn *espconn); sint8 espconn_secure_disconnect(struct espconn *espconn);
/******************************************************************************
* FunctionName : espconn_secure_send
* Description : sent data for client or server
* Parameters : espconn -- espconn to set for client or server
* psent -- data to send
* length -- length of data to send
* Returns : none
*******************************************************************************/
sint8 espconn_secure_send(struct espconn *espconn, uint8 *psent, uint16 length);
/****************************************************************************** /******************************************************************************
* FunctionName : espconn_encry_sent * FunctionName : espconn_encry_sent
* Description : sent data for client or server * Description : sent data for client or server

View File

@ -13,12 +13,16 @@ enum esp_now_role {
ESP_NOW_ROLE_MAX, ESP_NOW_ROLE_MAX,
}; };
typedef void (*esp_now_cb_t)(u8 *mac_addr, u8 *data, u8 len); typedef void (*esp_now_recv_cb_t)(u8 *mac_addr, u8 *data, u8 len);
typedef void (*esp_now_send_cb_t)(u8 *mac_addr, u8 status);
int esp_now_init(void); int esp_now_init(void);
int esp_now_deinit(void); int esp_now_deinit(void);
int esp_now_register_recv_cb(esp_now_cb_t cb); int esp_now_register_send_cb(esp_now_send_cb_t cb);
int esp_now_unregister_send_cb(void);
int esp_now_register_recv_cb(esp_now_recv_cb_t cb);
int esp_now_unregister_recv_cb(void); int esp_now_unregister_recv_cb(void);
int esp_now_send(u8 *da, u8 *data, int len); int esp_now_send(u8 *da, u8 *data, int len);
@ -44,4 +48,6 @@ int esp_now_is_peer_exist(u8 *mac_addr);
int esp_now_get_cnt_info(u8 *all_cnt, u8 *encrypt_cnt); int esp_now_get_cnt_info(u8 *all_cnt, u8 *encrypt_cnt);
int esp_now_set_kok(u8 *key, u8 len);
#endif #endif

View File

@ -23,7 +23,7 @@ typedef enum {
} GPIO_INT_TYPE; } GPIO_INT_TYPE;
#define GPIO_OUTPUT_SET(gpio_no, bit_value) \ #define GPIO_OUTPUT_SET(gpio_no, bit_value) \
gpio_output_set(bit_value<<gpio_no, ((~bit_value)&0x01)<<gpio_no, 1<<gpio_no,0) gpio_output_set((bit_value)<<gpio_no, ((~(bit_value))&0x01)<<gpio_no, 1<<gpio_no,0)
#define GPIO_DIS_OUTPUT(gpio_no) gpio_output_set(0,0,0, 1<<gpio_no) #define GPIO_DIS_OUTPUT(gpio_no) gpio_output_set(0,0,0, 1<<gpio_no)
#define GPIO_INPUT_GET(gpio_no) ((gpio_input_get()>>gpio_no)&BIT0) #define GPIO_INPUT_GET(gpio_no) ((gpio_input_get()>>gpio_no)&BIT0)

0
tools/sdk/include/json/json.h Executable file → Normal file
View File

0
tools/sdk/include/json/jsonparse.h Executable file → Normal file
View File

0
tools/sdk/include/json/jsontree.h Executable file → Normal file
View File

5
tools/sdk/include/upgrade.h Executable file → Normal file
View File

@ -2,6 +2,7 @@
#define __UPGRADE_H__ #define __UPGRADE_H__
#define SPI_FLASH_SEC_SIZE 4096 #define SPI_FLASH_SEC_SIZE 4096
#define LIMIT_ERASE_SIZE 0x10000
#define USER_BIN1 0x00 #define USER_BIN1 0x00
#define USER_BIN2 0x01 #define USER_BIN2 0x01
@ -37,14 +38,12 @@ struct upgrade_server_info {
#define UPGRADE_FLAG_START 0x01 #define UPGRADE_FLAG_START 0x01
#define UPGRADE_FLAG_FINISH 0x02 #define UPGRADE_FLAG_FINISH 0x02
//bool system_upgrade_start(struct upgrade_server_info *server);
bool system_upgrade_start_ssl(struct upgrade_server_info *server);
void system_upgrade_init(); void system_upgrade_init();
void system_upgrade_deinit(); void system_upgrade_deinit();
bool system_upgrade(uint8 *data, uint16 len); bool system_upgrade(uint8 *data, uint16 len);
#ifdef UPGRADE_SSL_ENABLE #ifdef UPGRADE_SSL_ENABLE
bool system_upgrade_start_ssl(struct upgrade_server_info *server); bool system_upgrade_start_ssl(struct upgrade_server_info *server); // not supported now
#else #else
bool system_upgrade_start(struct upgrade_server_info *server); bool system_upgrade_start(struct upgrade_server_info *server);
#endif #endif

View File

@ -28,10 +28,11 @@ enum rst_reason {
REASON_EXCEPTION_RST = 2, REASON_EXCEPTION_RST = 2,
REASON_SOFT_WDT_RST = 3, REASON_SOFT_WDT_RST = 3,
REASON_SOFT_RESTART = 4, REASON_SOFT_RESTART = 4,
REASON_DEEP_SLEEP_AWAKE = 5 REASON_DEEP_SLEEP_AWAKE = 5,
REASON_EXT_SYS_RST = 6
}; };
struct rst_info { struct rst_info{
uint32 reason; uint32 reason;
uint32 exccause; uint32 exccause;
uint32 epc1; uint32 epc1;
@ -137,6 +138,7 @@ bool system_param_load(uint16 start_sec, uint16 offset, void *param, uint16 len)
void system_soft_wdt_stop(void); void system_soft_wdt_stop(void);
void system_soft_wdt_restart(void); void system_soft_wdt_restart(void);
void system_soft_wdt_feed(void);
#define NULL_MODE 0x00 #define NULL_MODE 0x00
#define STATION_MODE 0x01 #define STATION_MODE 0x01
@ -283,6 +285,7 @@ void wifi_softap_free_station_info(void);
bool wifi_softap_dhcps_start(void); bool wifi_softap_dhcps_start(void);
bool wifi_softap_dhcps_stop(void); bool wifi_softap_dhcps_stop(void);
bool wifi_softap_set_dhcps_lease(struct dhcps_lease *please); bool wifi_softap_set_dhcps_lease(struct dhcps_lease *please);
bool wifi_softap_get_dhcps_lease(struct dhcps_lease *please);
enum dhcp_status wifi_softap_dhcps_status(void); enum dhcp_status wifi_softap_dhcps_status(void);
bool wifi_softap_set_dhcps_offer_option(uint8 level, void* optarg); bool wifi_softap_set_dhcps_offer_option(uint8 level, void* optarg);
@ -430,17 +433,18 @@ typedef enum wps_type {
WPS_TYPE_MAX WPS_TYPE_MAX
} WPS_TYPE_t; } WPS_TYPE_t;
typedef enum wps_cb_status { enum wps_cb_status {
WPS_CB_ST_SUCCESS = 0, WPS_CB_ST_SUCCESS = 0,
WPS_CB_ST_FAILED, WPS_CB_ST_FAILED,
WPS_CB_ST_TIMEOUT WPS_CB_ST_TIMEOUT,
} WPS_CB_STATUS_t; WPS_CB_ST_WEP,
};
bool wifi_wps_enable(WPS_TYPE_t wps_type); bool wifi_wps_enable(WPS_TYPE_t wps_type);
bool wifi_wps_disable(void); bool wifi_wps_disable(void);
bool wifi_wps_start(void); bool wifi_wps_start(void);
typedef void (*wps_st_cb_t)(WPS_CB_STATUS_t status); typedef void (*wps_st_cb_t)(int status);
bool wifi_set_wps_cb(wps_st_cb_t cb); bool wifi_set_wps_cb(wps_st_cb_t cb);
#endif #endif

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1 +1 @@
1.2.0_15_07_13_p4 1.3.0