Skip to content

ESP8266_RTOS_SDK Release v3.4

Latest
Compare
Choose a tag to compare
@donghengqaz donghengqaz released this 08 Apr 07:24
· 80 commits to release/v3.4 since this release

This is the list of changes since release v3.3.

1. Important Notes

  • Removed aws-iot component and related example, if you need to implement aws-iot, please refer to https://github.com/espressif/esp-aws-iot.
  • Removed ibm-mqtt component and related example, if you need to implement MQTT, please refer to https://github.com/espressif/esp-mqtt.
  • Added support policy for each SDK version.
  • Supported WPA3/PMF/802.11kv.
  • Updated GCC to version 8.4.0, you can run ./install.sh in the root directory of RTOS SDK to install GCC and its related components.
  • For security, with RTOS v3.4, if user sets a password to connect to an AP, then it cannot connect to an open AP with the same SSID.
  • Supported SmartConfig V2 and provided example.

2. Changes in Functions and Features:

2.1 App Update

  • Added App description section in the compiled firmware.

2.2 COAP

  • Synced COAP component and example from ESP-IDF.
  • Added examples of COAP multicast client and sever.

2.3 Driver

  • Supported SPI Flash GD25Q64 QIO mode.
  • Added API reference document for I2S.
  • Removed i2s_bbpll_clk_enable since I2S clock is enabled by default during initialization.
  • LEDC: Fixed PWM duty setting error.
  • Supported float number in PWM.
  • Optimized PWM hardware timer enable/disable, to ensure it will not be affected by other hardware drivers.
  • Fixed an issue of ADC read.

2.4 ESP Common

  • Added esp-common component, moved some common functions into it, synced from ESP-IDF.

2.5 ESP Event

  • Added esp-event component.
  • Optimized example to use esp-event APIs.

2.6 ESP HTTP Client

  • Synced esp_http_client component and example from ESP-IDF.

2.7 ESP MQTT

  • Synced esp-mqtt component and example from ESP-IDF.

2.8 ESP TLS

  • Fixed an incorrect definition issue in example.
  • Fixed a compiling error with mbedTLS.
  • Fixed a wolfSSL_set_tlsext_host_name missing error when compiling with wolfSSL.

2.9 FatFS

  • Added FatFS.

2.10 Free ModBus

  • Added free-modbus.
  • modbus protocol supports TCP transmission.

2.11 FreeRTOS

  • Added a hardware detection for task stack overflow.
  • Optimized interrupt workflow to speed it up.
  • Added errno for thread safety.
  • Added a feature to modify task stack depth dynamically.

2.12 Heap

  • Added a configuration to enable/disable heap trace. If it is disabled, then malloc/free will be speeded up.
  • Add integer overflow checks

2.13 LwIP

  • Synced esp-lwip component and example from ESP-IDF.
  • Added a configuration to enable auto-config for IPv6 address.
  • Fixed an issue that system returns OK even if it actually fails to send data when ran out of Wi-Fi TX buffer.
  • Increased the default TCP buffer size for sending data from 2880 bytes to 5760 bytes.
  • Added an iperf example to test TCP/UDP throughput.
  • Optimized the time that DHCP client needs to get an IP address.
  • Supported enabling more LwIP debug log in menuconfig.
  • Added IPv6 ICMP example.
  • Fixed an issue of IPv6 multicast.

2.14 MbedTLS

  • Fixed compiling error of unit test.
  • Improved calculate speed of bignum.

2.15 mDNS

  • Synced mDNS component and example from ESP-IDF.

2.16 System

  • Supported print "%" with ets_printf.
  • Supported GDB stub in panic.
  • Added rtc uninitialized section and data uninitialized section.
  • Fixed a deep sleep failure issue.
  • Refactored ets timer to save memory.
  • Supported link application firmware to the SPI flash's first 8MB space.
  • Optimized compilation configuration, user can configure it by . ./export.sh.
  • Added esp_random to get hardware random number.
  • Fixed an issue of calling esp_restart.
  • Changed the default frequency to be 160MHz since CPU starts.
  • Added non-mask watchdog to monitor the system in critical section.
  • Changed the task priority of app_main from 15 to be 1.
  • Added fast boot mode, the system start-up time is about 20ms in this mode.
  • Added a function to get the value of RTC hardware clock.
  • Fixed a deep sleep time overflow issue.
  • Fixed an issue of calling ets_printf when read/write SPI flash.
  • Updated GCC to version 8.4.0.
  • Disabled warning detection by default when compiling with cmake.
  • Added a configuration to support 40MHz crystal oscillator.
  • Fixed an issue of closing NMI
  • Fixed an issue that the system may fail to wake up if set it deep sleep for a very short time (1~6us).

2.17 TCP Transport

  • Synced TCP transport component and example from ESP-IDF.

2.18 TCPIP Adapter

  • Added esp_netif_init and esp_netif_deinit to sync the same framework with ESP-IDF.
  • Increased efficiency of getting an IP address by disabling power save function during DHCP.

2.19 Util

  • Removed Util component, and move arithmetic codes into mbedtls component and esp8266 component.

2.20 VFS

  • Synced VFS component from ESP-IDF to support FatFS.

2.21 Wear Levelling

  • Added wear-levelling component for FatFS.

2.22 Wi-Fi

  • Updated libphy.a to version 1163.0, which saved more memory and optimized Wi-Fi performance.
  • Optimized Wi-Fi sleep arithmetic to save more power in modem/light sleep mode.
  • Refactor softap sleep arithmetic to increase efficiency of sending data to station.
  • Refactored MAC arithmetic of sending data to increase efficiency and save memory.
  • Supported WPA3.
  • Supported PMF.
  • Supported PMF & ESP-NOW coexistence.
  • Fixed a connecting fail issue of iPhone in ESP8266 softAP mode.
  • Fixed a possible beacon attack issue during beacon auth mode change.
  • Fixed a possible system restart issue when Wi-Fi and PWM are used at the same time.
  • Fixed some ESP-Now issues.
  • Supported getting frequency offset by scanning.
  • Supported rssi info and phy mode in esp_wifi_sta_get_ap_info() api.
  • Fixed an issue that softAP may fail to store PMK if system powers down unexpectedly.
  • Fixed some Wi-Fi country code issues.
  • Supported receiving multicast packets in ESP-NOW.
  • Fixed an issue that Wi-Fi mode changed when enters deep sleep.
  • esp_wifi_scan_start() returns error, if user calls it during station connecting to an AP.
  • Fixed an issue that device will send 802.11 ACK even if sta or softap is stopped.
  • Fixed an issue that softap checked dis-assoc packet sequence with data sequence.
  • Fixed an issue that softap still does 4-way handshake when station tries to connect to it with wrong ssid.
  • Refactored Wi-Fi connecting arithmetic to improve its performance if there are many APs with a same SSID but different passwords.
  • Fixed an issue that device may receive packets which are forwarded by AP but originally sent by itself.
  • Fixed an issue that device will rewrite flash even if sets the same station config.
  • Supported 802.11kv, added Wi-Fi roaming example.
  • Changed default DTIM in softAP mode from 2 to be 1.
  • Added a configuration to set maximum and minimum packet length in sniffer mode.
  • Improved the performance of catching packets in the air in sniffer mode.
  • Fixed cipher mode error when scanning AP info.
  • Optimized SmartConfig efficiency.
  • Changed SmartConfig to use esp_event to sync status.
  • For security, with RTOS v3.4, if user sets a password to connect to an AP, then it cannot connect to an open AP with the same SSID.
  • Supported SmartConfig V2 and provided example.
  • Fixed an issue that Wi-Fi RX buffer may fail to release with some specific router.
  • Fixed connecting fail issues with some specific routers.
  • Fixed an issue that if scanning more than 5 seconds then it will fail.
  • Fixed an issue that if ESP8266 station connects to a router and also enables ESP-Now, its key pn will be updated incorrectly and Wi-Fi data may loss.
  • Fixed a possible system crash issue when AMPDU registers were rewrote
  • Fixed dump CCMP length error
  • Fixed RF state error when scan again in scan callback function

2.23 Wi-Fi Provisioning

  • Synced Wi-Fi Provisioning component and example from ESP-IDF.

2.24 WPA Supplicant

  • Refactored WPA Supplicant to support WPA3, and keep the same framework with ESP-IDF.