• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

SDK 1.2.0

pvvx

Активный участник сообщества
ESP8266 SDK(esp_iot_sdk_v1.2.0_15_07_03)
esp_iot_sdk_v1.2.0_15_07_03 Release Note
Resolved Issues(Bugs below are eligible for Bug Bounty Program):
1.TLS server disconnect to ESP8266 may cause crash. [孙新虎]

Optimization:
1.Update SmartConfig to version 2.4 , corresponding to ESPTOUCH APP v0.3.4 (https://github.com/EspressifApp/), delete parameter "sc_type type" in smartconfig_start, SmartConfig type can be got automatically.
2.Add parameter "sint16 freq_offset; " in structure "bss_info" to get AP's frequency offset.
3.Folder "ld" is updated, please use the latest one (\esp_iot_sdk_v1.2.0\ld )
4.Add UDP transparent transmission example in documentation "4B-ESP8266__AT Command Examples"
5.Revise the scan issue that may cause Wi-Fi connection break.
6.Add ESP-NOW function, more details in "Add APIs"
7.Add WPS function,more details in "Add APIs"
8.Fixed a DNS fail issue with special router
9.Optimize espconn,revise issues below:
(1) enter sent callback late in UDP transmission
(2) TCP shakehand may fail issue
(3) SSL connection fail may cause crash
(4) optimize SSL error handler
10. Memory optimization

Add APIs:
1.ESP-NOW APIs
esp_now_init: init ESP-NOW function
esp_now_deinit: deinit ESP-NOW function
esp_now_register_recv_cb: register ESP-NOW receive callback
esp_now_unregister_recv_cb: unregister ESP-NOW receive callback
esp_now_send: send ESP-NOW packet
esp_now_add_peer: add 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_get_self_role: get ESP-NOW role of device itself
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_set_peer_key: set ESP-NOW key of a device
esp_now_get_peer_key: get ESP-NOW key of a device

2. WPS APIs
wifi_wps_enable : enable WPS function
wifi_wps_disable: disable WPS function
wifi_wps_start: start WPS communication
wifi_set_wps_cb: set WPS callback

3.software watchdog APIs
system_soft_wdt_stop: stop software watchdog
system_soft_wdt_restart: restart software watchdog

4.sntp_get_timezone: get SNTP timezone

AT_v0.30 Release Note:
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.
2.AP's frequency offset can be got by command "AT+CWLAP"
3.Memory optimization
 

pvvx

Активный участник сообщества
Memory optimization = китайская оптимаза :)
Различия по используемой памяти для примера IoT_Demo:
Код:
В SDK 1.1.1:
   Section|                   Description| Start (hex)|   End (hex)|Used space
------------------------------------------------------------------------------
      data|        Initialized Data (RAM)|    3FFE8000|    3FFE8D80|    3456
    rodata|           ReadOnly Data (RAM)|    3FFE8D80|    3FFE9F70|    4592
       bss|      Uninitialized Data (RAM)|    3FFE9F70|    3FFF4378|   41992
      text|            Cached Code (IRAM)|    40100000|    40107466|   29798
irom0_text|           Uncached Code (SPI)|    40240000|    4026DD3C|  187708
Total Used RAM : 50040
Free RAM : 31880
Free IRam : 2988

В SDK 1.1.2:
   Section|                   Description| Start (hex)|   End (hex)|Used space
------------------------------------------------------------------------------
      data|        Initialized Data (RAM)|    3FFE8000|    3FFE8D80|    3456
    rodata|           ReadOnly Data (RAM)|    3FFE8D80|    3FFE9F74|    4596
       bss|      Uninitialized Data (RAM)|    3FFE9F78|    3FFF4388|   42000
      text|            Cached Code (IRAM)|    40100000|    401074AA|   29866
irom0_text|           Uncached Code (SPI)|    40240000|    4026DEEC|  188140
Total Used RAM : 50052
Free RAM : 31868
Free IRam : 2920

В SDK 1.2.0:
   Section|                   Description| Start (hex)|   End (hex)|Used space
------------------------------------------------------------------------------
      data|        Initialized Data (RAM)|    3FFE8000|    3FFE8D70|    3440
    rodata|           ReadOnly Data (RAM)|    3FFE8D70|    3FFE9F1C|    4524
       bss|      Uninitialized Data (RAM)|    3FFE9F20|    3FFF43E8|   42184
      text|            Cached Code (IRAM)|    40100000|    40106DEA|   28138
irom0_text|           Uncached Code (SPI)|    40240000|    4026F78C|  194444
Total Used RAM : 50148
Free RAM : 31772
Free IRam : 4648
Итого, по сравнению с прошлой SDK 1.1.2:
Free RAM: меньше на 96 байт
Free IRam: больше на 1728 байт
Flash Code: больше на 6304 байт
Total: 96-1728+6304 = больше на 4672 байт
 

pvvx

Активный участник сообщества
альтернатива есть?
Вот и я о том же.
О чем? Альтернатива всегда есть. Выбираете из предыдущих версий, где необходимые либы связанные с WiFi, а их и так пару шт нужных, работают нормально и патчите. Остальное меняете на своё. Граница "рабочести" где-то за версией 1.0.0.
 

nikolz

Well-known member
тоже вариант.
подскажите, каким образом растащить библиотеки на функции
если возможно дайте ссылку на документацию по компилятору линковщику и сборщику библиотек (если такой имеется).
Спасибо
 

pvvx

Активный участник сообщества
тоже вариант.
подскажите, каким образом растащить библиотеки на функции
если возможно дайте ссылку на документацию по компилятору линковщику и сборщику библиотек (если такой имеется).
Спасибо
https://gcc.gnu.org/
https://gcc.gnu.org/onlinedocs/
Примеры разборки и сборки библиотек https://github.com/pvvx/esp8266web/blob/master/lib/new_libmmain.bat
Оставляет только функции из eagle_lib.o user_interface.o, остальное замещаем своими, из https://github.com/pvvx/esp8266web/tree/master/app/main
 
Последнее редактирование:

pvvx

Активный участник сообщества
Баг: wifi_station_scan(NULL, wifi_scan_cb) требует установки wifi_set_opmode(STATION_MODE), а в wifi_scan_cb() нельзя вернуть opmode на AP или AP+ST = protected :)
 
Сверху Снизу