• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе 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 :)
 
Сверху Снизу