Skip to content

v3.2.0.0

Compare
Choose a tag to compare
@xcguang xcguang released this 28 Jul 12:10
· 2 commits to release/v3.2.0.0 since this release

v3.2.0.0 Release Notes

v3.2.0.0 is released for ESP32 and ESP32-C3. The changes since the previous version are as follows.

ESP32-AT

Documentation for Release v3.2.0.0 is available at https://docs.espressif.com/projects/esp-at/en/release-v3.2.0.0/esp32/index.html
ESP32-AT v3.2.0.0 is a major update for ESP32-AT v2.4.0.0.

The firmwares:

This is the list of changes since release v2.4.0.0:

Breaking Changes

  • esp-idf version updated to release/v5.0 (24b9d38a)
  • AT+SYSFLASH: If you previously used v2.4.0.0 firmware and now directly flash v3.2.0.0 firmware, and MCU reads/writes parameters through AT+SYSFLASH command, the two versions will return different data, causing incompatibility (because v2.4.0.0 reads/writes parameters using partition method, while v3.2.0.0 uses NVS method). You can choose any of the following methods to resolve the compatibility issue:
    • Modify MCU code. For v2.4.0.0 firmware version, use AT+SYSFLASH command to read/write parameters; for v3.2.0.0 firmware version, use AT+SYSMFG command to read/write parameters.
    • Upgrade to v3.2.0.0 firmware using AT+USEROTA or AT+CIUPDATE command instead of directly flashing firmware.
    • Customize AT firmware. In the firmware released with v2.4.0.0, replace the esp-at.bin file with the esp-at.bin file from v3.1.0.0, and recompile it into a new 4MB firmware.
  • AT+RFPOWER: The default value of ble tx power changed from 2 to 0

1. Feature

1.1 Wi-Fi

  • AT+CWSTAPROTO and AT+CWAPPROTO commands added WIFI_PROTOCOL_LR support
  • Added the AT+CWINIT command to init or deinit Wi-Fi
  • AT+WEBSERVER: Wi-Fi provisioning supports special characters in SSIDs and passwords

1.2 TCP/IP

  • Added the AT+CIPFWVER? command to query firmware versions
  • AT+CIUPDATE: Added CDN network support
  • Added the AT+TRANSINTVL command to support configurable intervals in passthrough mode

1.3 Application Layer

  • Added the AT+MQTTLONGCLIENTID command to set MQTT client ID
  • Added the AT+MQTTLONGUSERNAME command to set MQTT username
  • Added the AT+MQTTLONGPASSWORD command to set MQTT password
  • Added the AT+HTTPCHEAD commands to set more request headers
  • Added AT+HTTPCPUT command to put HTTP data of specified length
  • AT+HTTPGETSIZE: Added tx_size, rx_size, timeout parameters
  • Added WebSocket AT commands
  • AT+WEBSERVER: Added the customized partition upgrade function
  • AT+CIPSNTPCFG: Added timezone query and timezone set when SNTP was disabled

1.4 System

  • Added the AT+SYSMSGFILTER and AT+SYSMSGFILTERCFG commands to filter system messages
  • Added the AT+USERWKMCUCFG and AT+USERMCUSLEEP commands to wake up MCU
  • Added esp_at_get_para_as_float() API to get the float type parameter

1.5 Bluetooth

  • AT+BLUFI: BluFi supports getting AP lists and sending custom data
  • AT+BLEWL: Added ble whitelist command
  • AT+BLUFINAME: Modified maximum length of BluFi name to 29 bytes
  • AT+SAVETRANSLINK: Support Bluetooth LE passthrough mode
  • AT+BLERDRSSI: Support reading the RSSI of Bluetooth LE connection
  • Support sending exchange MTU requests when init server role

2. Bugfix

2.1 Wi-Fi

  • Fixed that Wi-Fi mode was changed after waking up from deep sleep (AT+GSLP)
  • Fixed that AT+CWQIF fails to disconnect the station if connected by multiple stations
  • Fixed that AT+CWJAP returned the wrong reason code sometimes
  • Fixed the crash caused by frequently enabling and disabling web server (AT+WEBSERVER)
  • Fixed that Wi-Fi stopped reconnection if AT+BLUFI command was sent
  • Fixed the issue of occasional network configuration failure in smartconfig (due to the lack of SSID validity check, which resulted in incorrect Wi-Fi auto-connection after power-up, further terminating the smartconfig network configuration).
  • Fixed a potential issue that SoftAP could not work if powered down when saving the SoftAP configurations
  • AT+CWJEAP: Fixed the issue that the EAP-TLS method does not work due to the last byte of PKI was not NULL terminated
  • Fixed that AT+RFPOWER command could not set ble tx power when Wi-Fi mode was 0

2.2 TCP/IP

  • Fixed that AT+CIPSTO could not work in passthrough mode
  • Fixed that AT+CIPTCPOPT cannot work if AT works as a server
  • Fixed that AT+CIPTCPOPT query command may return the wrong keep-alive value
  • Added a workaround that AT+CIPCLOSE might block forever if ESP-AT works as a TCP client and SO_LINGER option is set (due to the LwIP SO_LINGER issue in some cases)
  • Fixed that AT+CIPRECVDATA may cause a busy p issue
  • Fixed that AT+CIPSSLCCONF, AT+CIPSSLCCN, AT+CIPSSLCSNI, AT+CIPSSLCALPN, AT+CIPSSLCPSK, AT+CIPTCPOPT returns multiple items in single connection
  • Fixed a type and remote host parameter unmatched issue in AT+CIPSTART command
  • Fixed a potential crash if the hostname length is bigger than 64 bytes in AT+CIPSTART command
  • AT+CIPSEND: Fixed a data sent issue due to the changed link_id
  • Fixed that AT+CIUPDATE returned ERROR if the OTA server returned too many OTA versions
  • Fixed that AT+CIPSTART could not establish multiple UDP transmissions on the same port
  • Fixed the issue of TLS connection failures caused by incorrect CN settings
  • Fixed the issue of returning OK when setting AT+CIPSERVER twice

2.3 Application Layer

  • Fixed that AT+HTTPURLCFG? returned the wrong URL
  • Fixed that rx_size parameter could not work when set to 0 in AT+HTTPCGET command
  • Fixed that AT+HTTPCPOST response returns the wrong command name if appended more post data
  • Fixed the issue of AT blocking when MQTT broker actively closed MQTT client connection

2.4 System

  • Fixed that busy p issue if an SSL connection was established and data was read in a weak network
  • Fixed that GPIO32/GPIO33 could not work as UART pins due to conflict with the external 32 KHz crystal oscillator configuration
  • Fixed that esp_at_port_write_data() crashed if input length < 0
  • Fixed the high power consumption in light sleep if set the wake-up source
  • Fixed the memory leak issue of AT+FS command
  • SPI: Fixed a global issue where incorrect length was returned when reading data by SPI (For example, AT+HTTPCPOST command cannot read out all the data from SPI due to wanted data length being returned instead of the actual data length)

2.5 Bluetooth

  • Fixed that device name was missing in adv packets
  • Fixed some BluFi issues
  • Fixed the issue of occasional restart caused by the AT+BLEGATTCPRIMSRV=0 command
  • Fixed the ble tx power set fail issue

2.6 Tools

  • Fixed that factory firmware cannot be generated on Windows OS
  • build.py: Installed compilation environment depends on the target
  • build.py: Used the python of esp-idf environment instead of external deprecated python
  • at.py Support modifying manufacturing NVS

3. Optimization

  • Refactored the storage mode of factory parameters to use the manufacturing NVS operation instead of partition operation. (see Why are we using manufacturing nvs way on the master? for more details)
  • Simplified GitHub CI workflow
  • Enabled power_management for the station when disconnected (Chip will do modem-sleep when rf module is not in use any more)
  • Disable PMF to improve Wi-Fi compatibility when AT works in SoftAP mode
  • Used Python to generate fatfs.bin instead of the deprecated mkfatfs component
  • Support jihulab redirects in build.py
  • Migrated AT firmware resources from download.espressif.com server to dl.espressif.com server
  • Enhanced the documentation with the addition of more and detailed descriptions and addressed some document errors.

ESP32C3-AT

Documentation for Release v3.2.0.0 is available at https://docs.espressif.com/projects/esp-at/en/release-v3.2.0.0/esp32c3/index.html
ESP32C3-AT v3.2.0.0 is a major update for ESP32C3-AT v2.4.2.0.

The firmwares:

This is the list of changes since release v2.4.2.0:

Breaking Changes

  • esp-idf version updated to release/v5.0 (24b9d38a)
  • AT+SYSFLASH: If you previously used v2.4.0.0 firmware and now directly flash v3.2.0.0 firmware, and MCU reads/writes parameters through AT+SYSFLASH command, the two versions will return different data, causing incompatibility (because v2.4.0.0 reads/writes parameters using partition method, while v3.2.0.0 uses NVS method). You can choose any of the following methods to resolve the compatibility issue:
    • Modify MCU code. For v2.4.0.0 firmware version, use AT+SYSFLASH command to read/write parameters; for v3.2.0.0 firmware version, use AT+SYSMFG command to read/write parameters.
    • Upgrade to v3.2.0.0 firmware using AT+USEROTA or AT+CIUPDATE command instead of directly flashing firmware.
    • Customize AT firmware. In the firmware released with v2.4.0.0, replace the esp-at.bin file with the esp-at.bin file from v3.1.0.0, and recompile it into a new 4MB firmware.
  • AT+RFPOWER: The default value of ble tx power changed from 10 to 11

1. Feature

1.1 Wi-Fi

  • AT+CWSTAPROTO and AT+CWAPPROTO commands added WIFI_PROTOCOL_LR support
  • Added the AT+CWINIT command to init or deinit Wi-Fi
  • AT+WEBSERVER: Wi-Fi provisioning supports the special character in SSID and password

1.2 TCP/IP

  • AT+CIUPDATE: Added CDN network support
  • Added the AT+TRANSINTVL command to support configurable intervals in passthrough mode

1.3 Application Layer

  • Added the AT+HTTPCHEAD commands to set more request headers
  • Added AT+HTTPCPUT command to put HTTP data of specified length
  • AT+HTTPGETSIZE: Added tx_size, rx_size, timeout parameters
  • Added WebSocket AT commands
  • AT+WEBSERVER: Added the customized partition upgrade function
  • AT+CIPSNTPCFG: Added timezone query and timezone set when SNTP was disabled
  • Added RainMaker AT Commands and Firmware

1.4 System

  • Added the AT+SYSMSGFILTER and AT+SYSMSGFILTERCFG commands to filter system messages
  • Added the AT+RST setup command to set the chip to enter normal running mode or firmware downloading mode
  • Enable the external 32 KHz oscillator option by default and it works regardless of whether a 32K crystal oscillator is connected or not

1.5 Bluetooth

  • AT+BLUFI: BluFi supports getting AP lists and sending custom data
  • AT+BLEWL: Added Bluetooth LE whitelist command
  • AT+BLUFINAME: Modified maximum length of Blu-Fi name to 29 bytes
  • AT+SAVETRANSLINK: Support Bluetooth LE passthrough mode
  • AT+BLERDRSSI: Support reading the RSSI of Bluetooth LE connection
  • Support sending exchange MTU requests when init server role

2. Bugfix

2.1 Wi-Fi

  • Fixed that AT+CWQIF fails to disconnect the station if connected by multiple stations
  • Fixed that AT+CWJAP returned the wrong reason code sometimes
  • Fixed a crash caused by frequently enabling and disabling web server (AT+WEBSERVER)
  • Fixed that Wi-Fi stopped reconnection if sent AT+BLUFI command
  • Fixed the issue of occasional network configuration failure in smartconfig (due to the lack of SSID validity check, which resulted in incorrect Wi-Fi auto-connection after power-up, further terminating the smartconfig network configuration).
  • Fixed a potential issue that SoftAP cannot work if powered down when saving the SoftAP configurations
  • AT+CWJEAP: Fixed the issue that the EAP-TLS method does not work due to the last byte of PKI not NULL terminated
  • Fixed that AT+RFPOWER command cannot set ble tx power when Wi-Fi mode is 0

2.2 TCP/IP

  • Added a workaround that AT+CIPCLOSE might block forever if ESP-AT works as a TCP client and SO_LINGER option is set (due to the LwIP SO_LINGER issue in some cases)
  • Fixed that AT+CIPRECVDATA may cause a busy p issue
  • Fixed that AT+CIPSSLCCONF, AT+CIPSSLCCN, AT+CIPSSLCSNI, AT+CIPSSLCALPN, AT+CIPSSLCPSK, AT+CIPTCPOPT returns multiple items in single connection
  • Fixed a type and remote host parameter unmatched issue in AT+CIPSTART command
  • Fixed a potential crash if hostname length is bigger than 64 bytes in AT+CIPSTART command
  • AT+CIPSEND: Fixed a data sent issue due to changed link_id
  • Fixed that AT+CIUPDATE returns ERROR if the OTA server returned too many ota versions
  • Fixed that AT+CIPSTART cannot establish multiple UDP transmissions on the same port
  • Fixed the issue of TLS connection failures caused by incorrect CN settings
  • Fixed the issue of returning OK when setting AT+CIPSERVER twice

2.3 Application Layer

  • Fixed that AT+HTTPCPOST response returns the wrong command name if appended more post data
  • Fixed an issue of AT blocking when the MQTT broker actively closes MQTT client connection
  • Fixed a memory leak issue when using AT+MQTTLONGCLIENTID, AT+MQTTLONGUSERNAME, or AT+MQTTLONGPASSWORD command

2.4 System

  • Fixed that busy p issue if established an SSL connection and read data in a weak network
  • Fixed the high power consumption in light sleep if set the wake-up source
  • Fixed the memory leak issue of AT+FS command
  • SPI: Fixed a global issue where incorrect length was returned when reading data by SPI (For example, AT+HTTPCPOST command cannot read out all the data from SPI due to wanted data length being returned instead of the actual data length)

2.5 Bluetooth

  • Fixed that the second BluFi net config failed if BluFi net config failed the first time
  • Fixed the ble tx power set fail issue

2.6 Tools

  • build.py: Installed compilation environment depends on the target
  • build.py: Used the python of esp-idf environment instead of external deprecated python
  • at.py Support modifying manufacturing NVS

3. Optimization

  • Refactored the storage mode of factory parameters to use the manufacturing NVS operation instead of partition operation. (see Why are we using manufacturing nvs way on the master? for more details)
  • Simplified GitHub CI workflow
  • Disable PMF to improve Wi-Fi compatibility when AT works in SoftAP mode
  • Used Python to generate fatfs.bin instead of the deprecated mkfatfs component
  • Support jihulab redirects in build.py
  • Migrated AT firmware resources from download.espressif.com server to dl.espressif.com server
  • Disabled the JTAG function to support flashing the firmware by USB
  • Enhanced the documentation with the addition of more and detailed descriptions and addressed some document errors.