Proto commits in espressif/esp-hosted

These 56 commits are when the Protocol Buffers files have changed:

Commit:0a6eca0
Author:sohkamyung
Committer:Yogesh Mantri

feat(esp_hosted_fg) Add Set/Get Country Code

The documentation is generated from this commit.

Commit:488a063
Author:Soh Kam Yung
Committer:Soh Kam Yung

feature/c5_support Added C5 support as Hosted Slave - added Chip ID for C5 - extended protobuf with band_mode - when scanning, switch band_mode to AUTO to get all SSIDs on 2.4g and 5g - added band_mode configuration to ap join - added band_mode configuration to start softap - added band_mode configuration to get softap configuration - added documentation for building for C5 from ESP-IDF master branch

Commit:d518421
Author:Soh Kam Yung
Committer:Soh Kam Yung

feature/esp32c5_support Added ESP32-C5 support - add partition table for C5 as Hosted slave - add Kconfig to configure C5 as Hosted slave - add new esp_wifi_x commands and RPC calls - add esp_wifi_weak to resolve missing esp_wifi_x() calls not yet covered by WiFi-Remote - fixed assert() in spi_hd IDF driver: don't send more Tx transactions than spi_hd driver queue can fully handle - updated S3 spi pins to use

Commit:81e1547
Author:Yogesh Mantri
Committer:Yogesh Mantri

feat(rpc_events) : Add connected events for stta and softap mode 1. Correct events structures 2. Populate failure response of rpc'd procedure till host application 3. Add cpu perf options in rpi_init.sh 4. integrate dnsmaq in python 5. Change parttition table for ESP32 6. reduce retry timeout for station connect at slave

Commit:81bb7dd
Author:Soh Kam Yung
Committer:Yogesh Mantri

feature/fg_version_system Added version info - define a header file to hold version info - CMake extracts version info from header during build - added version into to slave init data - host driver can extract and verify slave version from init data - updated c test_app to query fw version info - fixed bug in python app: add uid field in python ctrl_api header - added get_fw_version command in python app - added feature command to enable/disable wifi/bt in python app

Commit:8824a3f
Author:Yogesh Mantri
Committer:Yogesh Mantri

feat(module_param): Add module parameters for SPI for - spi_bus, spi_cs, spi_mode, spi_handshake, spi_dataready fix(proto): add build_proto.sh for proto building

Commit:dcb2176
Author:Yogesh Mantri

feat(rpc): enable or disable wifi and/or bluetooth from host using rpc fix(drop): Remove skb dropping code if esp_tx_pause() fix(partition): ESP32-C6 parttition table changed fix(freertos): Update FreeRTOS tick to 1000 for all chips feat(clockspeed): Add clockspeed as module param

Commit:ecc3a69
Author:Soh Kam Yung
Committer:Soh Kam Yung

feature/uid Add uid to link responses to requests Added a uid to link responses to requests. The uid from the response is checked against the uid of the request. If there is a mismatch, the response is discarded. This allows the ctrl_core to discard responses that the app may not handle, preventing a memory leak. For example, the response timeout occurred before the response was received. In this case, the request already got the timeout response, and not handle the delayed response. For backward compatability with older fw, if returned uid is 0, UID checking is ignored. Added req_resp_type for future use.

Commit:2a520bf
Author:Soh Kam Yung
Committer:Soh Kam Yung

feature/error_codes Return ESP error codes from slave to app on host - errors encountered by slave while executing commands are now correctly passed to the caller on the host - clean-up and re-implemented some RPC calls on slave to use macros: - get/set mac address: originally mac address is a byte string ("aa:bb:cc:dd:ee"). Now data is an array of bytes as required by ESP-IDF API - get/set wifi mode - get/set ps - get/set max tx power - added RCP proto structs for get/set ps - was using RPC struct for get/set mode - added rcp wrapper and esp hosted for get/set max tx power - to be called by wifi remote component - clean up LOG messages - clean up code - removed BSSID_LENGTH - used MACSTR and MAC2STR macros - removed some unused code

Commit:0034f2f
Author:Soh Kam Yung
Committer:Soh Kam Yung

feature/use_uid Use a uid to link RPC response to requests Added an incrementing uid to each RPC request, which is returned in the RPC response. This is to link each RPC transactions, even when there are multiple RPC transactions in progress with the same msg_id. uid in RPC response is copied from RPC request. Converted the sem and cb tables to an array buffer struct which includes the uid. Triggering of sem or cb is by matching the uid for the sem or cb with the uid from the RPC response. CONFIG_ESP_MAX_SIMULTANEOUS_SYNC_RPC_REQUESTS and CONFIG_ESP_MAX_SIMULTANEOUS_ASYNC_RPC_REQUESTS controls max number of simultaneous synchronous and asynchronous RPCs to handle. Removed is_async_resp_callback_registered(). Not used. Testing: sending multiple connect cmd in iperf test program. Originally, second connect command would cause a hang as original array only registers one sem for both connect commands (same msg_id). Now, both connect cmds are handled correctly (same msg_id, but different uids).

Commit:2aa4a9c
Author:Yogesh Mantri

Tested with esp-wifi-remote component locally

Commit:f0bbd02
Author:Yogesh Mantri
Committer:Yogesh Mantri

esp as mcu host, simplified code

Commit:5279028
Author:Yogesh Mantri
Committer:Yogesh Mantri

lwip ported over stm32 as host

Commit:0e16a91
Author:Soh Kam Yung
Committer:Yogesh Mantri

fix/remove_wifi_event_id Removed wifi_event_id from protobuf field and slave code. Corrected log print for Scan Done Event. Updated log print for AP Sta Connect/Disconnect Events.

Commit:6297c1c
Author:Soh Kam Yung
Committer:Yogesh Mantri

feature/header Update esp_wifi_types.h, add events with data Merged esp_wifi_types.h changes from IDF release/5.1 branch Adds: - aid into sta_connected event data - phy_11x bit into sta info associated with SoftAp - sae_pwe_h2e to wifi_ap_config - he_ap to ap records - he_bitmask and sae_h2e_identifier to wifi_set_config - wifi_ap_get_sta_list, wifi_ap_get_sta_aid, wifi_sta_get_rssi Changes: - Updated scan station info with new 11ax field. - Added wifi_event_sta_connected_t data to sta connection event. - Added wifi_event_sta_dicconnected_t data to sta disconnection event. - Clean up printing of ap records - Fixed memory leak in cleanup of sta_get_ap_info - Make a copy of event data before sending it, as original event data may be cleared before RCP message can be created. - Fixed memory overallocation in creating list of AP records from scan result - Corrected various MAX_USED_BIT values so that its use in bit shifting operations doesn't cause it to overwrite lower bit values - Check that memory was allocated before freeing memory in esp_rpc_cleanup()

Commit:218849b
Author:Yogesh Mantri
Committer:Yogesh Mantri

lwip ported over stm32 as host

Commit:f7352a0
Author:Yogesh Mantri
Committer:Yogesh Mantri

some wifi apis added

Commit:d178c95
Author:Yogesh Mantri
Committer:Yogesh Mantri

Wi-Fi scan example added

Commit:317d04f
Author:Soh Kam Yung
Committer:Yogesh Mantri

fix/remove_wifi_event_id Removed wifi_event_id from protobuf field and slave code. Corrected log print for Scan Done Event. Updated log print for AP Sta Connect/Disconnect Events.

Commit:35218d4
Author:Soh Kam Yung
Committer:Yogesh Mantri

feature/wifi_protocol Added wifi_get/set_protocol On slave: - implemented esp_wifi_get/set_protocol calls - removed esp_wifi_set_protocol() call during wifi_connect() - removed esp_wifi_set_bandwidth() call during wifi_connect() On host: - implemented hosted calls to get/set_protocol - enabled set_protocol call in iperf example Others: - fixed formatting

Commit:46c4393
Author:Soh Kam Yung
Committer:Yogesh Mantri

fix/events_buffers_wifi Fixes to events and buffer handling Fixed generation of WifiEventNoArgs so that event_id can copied to buffer correctly. Removed special handling for WifiEventNoArgs. Allocated buffers for events and data in protocomm_pserial_data_ready() before putting data into sending queue. Buffers are freed in pserial_task() after removal from queue and processing it. Removed unneeded Rpc_Event_StationDisconnectFromAP. Use Rpc_Event_StaDisconnected which comes with required event data. Added home_chan_dwell_time in wifi_scan_config. Removed unused 'block' in protobuf wifi_scan_config struct. Added reason field to AP_StaDisconnected event Removed wifi_event_id field from ESP-IDF Wifi header, mapped RPC Event IDs to ESP-IDF Event IDs. Fixed Slave Target for ESP32C6

Commit:85975c8
Author:Soh Kam Yung
Committer:Yogesh Mantri

feature/header Update esp_wifi_types.h, add events with data Merged esp_wifi_types.h changes from IDF release/5.1 branch Adds: - aid into sta_connected event data - phy_11x bit into sta info associated with SoftAp - sae_pwe_h2e to wifi_ap_config - he_ap to ap records - he_bitmask and sae_h2e_identifier to wifi_set_config - wifi_ap_get_sta_list, wifi_ap_get_sta_aid, wifi_sta_get_rssi Changes: - Updated scan station info with new 11ax field. - Added wifi_event_sta_connected_t data to sta connection event. - Added wifi_event_sta_dicconnected_t data to sta disconnection event. - Clean up printing of ap records - Fixed memory leak in cleanup of sta_get_ap_info - Make a copy of event data before sending it, as original event data may be cleared before RCP message can be created. - Fixed memory overallocation in creating list of AP records from scan result - Corrected various MAX_USED_BIT values so that its use in bit shifting operations doesn't cause it to overwrite lower bit values - Check that memory was allocated before freeing memory in esp_rpc_cleanup()

Commit:faa07d6
Author:Yogesh Mantri
Committer:Yogesh Mantri

station example without lwip

Commit:bd8bdba
Author:Yogesh Mantri
Committer:Yogesh Mantri

Wi-Fi scan example added

Commit:2a94c45
Author:Yogesh Mantri
Committer:Yogesh Mantri

Port lwip with ESP-Hosted

Commit:5064303
Author:Yogesh Mantri
Committer:Yogesh Mantri

Softap events

Commit:c8acf0f
Author:Yogesh Mantri
Committer:Yogesh Mantri

Add softAP example without netif

Commit:d36d873
Author:Soh Kam Yung
Committer:Yogesh Mantri

feature(hosted): Add wifi_set_storage to host, remove from slave Added RPC call for esp_wifi_set_storage() Removed calls to init wifi, set storage, start wifi from slave side Convert printf() to ESP_LOGI()

Commit:2cf3818
Author:Soh Kam Yung
Committer:Yogesh Mantri

Draft: feature/wifi_commands Implement Wifi Commands, Bugfixes Added wifi interfaces: - esp_wifi_set_bandwidth - esp_wifi_get_bandwidth - esp_wifi_set_channel - esp_wifi_get_channel - esp_set_country_code - esp_get_country_code - esp_set_country - esp_get_country Bugfixes: - SoftAP in slave not routing of data packets to host - SSID not being copied when setting up SoftAP operation - Scan Done event not being processed on host Clean up slave app_main.c

Commit:f29599b
Author:Yogesh Mantri
Committer:Yogesh Mantri

lwip ported over stm32 as host

Commit:14ed07c
Author:Yogesh Mantri
Committer:Yogesh Mantri

some wifi apis added

Commit:e8b168e
Author:Soh Kam Yung
Committer:Soh Kam Yung

fix/corrected_licenses Corrected SPDX-License-Identifier Corrected SPDX-License-Identifier wording for dual licensed files Added SPDX-License-Identifier to files Changed SPDX-License-Identifier "GPL-2.0" to "GPL-2.0-only" Reformatted SPDX-License-Identifier for linux code

Commit:a829887
Author:Soh Kam Yung
Committer:Soh Kam Yung

fix/corrected_licenses Updated language for dual licensed files Made explicit the licensed of some files under GPL-2.0 or Apache-2.0.

Commit:1d37176
Author:Soh Kam Yung

fix/add_license Added license header to esp_hosted_fg proto file

Commit:b184ca3
Author:Sonika Rathi
Committer:Mangesh Malusare

Changed esp-hosted directory structure to incorporate both FG and NG variant in same repo

Commit:774e9b2
Author:Mangesh Malusare
Committer:Mangesh Malusare

ESP-Hosted cfg80211 support -- This commit implements support for standard wi-fi interface for Linux host -- This implements support for cfg80211 based configuration -- Trnasport layers supported: SDIO/SPI/UART -- Features supported: Wi-Fi station mode, BT/BLE Co-Authored-By: Yogesh Mantri <Yogesh.Mantri@espressif.com Co-Authored-By: Mangesh Malusare <mangesh.malusare@espressif.com>

This commit does not contain any .proto files.

Commit:8674d80
Author:ajita.chavan
Committer:ajita.chavan

control lib in python Signed-off-by: ajita.chavan <ajita.chavan@espressif.com>

Commit:a5943cd
Author:Yogesh Mantri
Committer:Yogesh Mantri

control path - a. add events support b. flexible way of handling response (synchronous/asynchronous)

Commit:35dad04
Author:ajita.chavan
Committer:ajita.chavan

wifi get/set tx power control path command added Signed-off-by: ajita.chavan <ajita.chavan@espressif.com>

Commit:9625f63
Author:ajita.chavan
Committer:ajita.chavan

vendor specific ie control path command added Signed-off-by: ajita.chavan <ajita.chavan@espressif.com>

Commit:cdd6c7d
Author:Yogesh Mantri
Committer:Mangesh Malusare

OTA support added to flash new image at ESP Co-authored-by: Ajita Chavan <ajita.chavan@espressif.com> Co-authored-by: Mangesh Malusare <mangesh.malusare@espressif.com> Co-authored-by: Yogesh Mantri <yogesh.mantri@espressif.com>

Commit:65ccf78
Author:ajita.chavan
Committer:ajita.chavan

cmd_set_ap_config_handler API updated with return code for wrong SSID and password of AP. It returns error code as follows: TYPE_NO_AP_FOUND - given AP is not available TYPE_CONNECTION_FAIL - wrong password entered Signed-off-by: ajita.chavan <ajita.chavan@espressif.com>

Commit:6e029e3
Author:ajita.chavan
Committer:ajita.chavan

Restructured .proto file, added more error checks in commands.c and commands.py, restructured test.c and cleanup in slave commands.c Signed-off-by: ajita.chavan <ajita.chavan@espressif.com>

Commit:fb00c9b
Author:ajita.chavan
Committer:ajita.chavan

Fix for HMW-25 Issue: get/set power save mode command not present Fix: set power save mode to WIFI_PS_MIN_MODEM or WIFI_PS_MAX_MODEM. Also get power save mode from ESP32 Fix Verification: Tested get/set power save commands using test.c and test.py with RPi and ESP32. Signed-off-by: ajita.chavan <ajita.chavan@espressif.com>

Commit:c618ef9
Author:ajita.chavan
Committer:ajita.chavan

Fix for HMW-23 Issue: Set MAC address command added Fix: Sets custom MAC address assigned by user to station and softAP interface. Fix Verification: Used test.py to set MAC address for station and softAP Interface. Validate operation by using get MAC address command. After rebooting ESP32, Interface gets their original MAC addresses. Signed-off-by: ajita.chavan <ajita.chavan@espressif.com>

Commit:f8683f8
Author:ajita.chavan
Committer:ajita.chavan

protobuf structures name modified. Signed-off-by: ajita.chavan <ajita.chavan@espressif.com>

Commit:804b6f8
Author:ajita.chavan
Committer:ajita.chavan

wpa3 supplicant support option added. Signed-off-by: ajita.chavan <ajita.chavan@espressif.com>

Commit:f275385
Author:ajita.chavan
Committer:ajita.chavan

Moved proto folder into common folder. Renamed SlaveConfigPayload to EspHostedConfigPayload , SlaveConfigMsgType to EspHostedConfigMsgType. Respective generated .pb-c.c, .pb-c.h, _pb2.py files added. Changes in CMakeLists.txt, Makefile, slave_command.c . README.md file added in proto folder for reference of user. Signed-off-by: ajita.chavan <ajita.chavan@espressif.com>

Commit:f178876
Author:ajita.chavan
Committer:ajita.chavan

User parameter 'scan_count' is removed from ap_scan_list function. respective changes in slave_config.proto, slave_commands.c, slave_comm.py. python script ap_scan_list.py added to scan available APs. Signed-off-by: ajita.chavan <ajita.chavan@espressif.com>

Commit:b212974
Author:ajita.chavan
Committer:ajita.chavan

Scan AP list Command added in C and python side and respective changes in .proto file. `transport/transport_pserial.py` is modified for read and write of `5120` size. Signed-off-by: ajita.chavan <ajita.chavan@espressif.com>

Commit:f04eec7
Author:ajita.chavan
Committer:ajita.chavan

`station_connect.py` `station_disconnect.py` `softap_config.py` python scripts are changed. memory freed, few comments removed, Previous mode preserved in `slave_commands.c` and `slave_commands.h`,`protocomm_pserial.h` added. Signed-off-by: ajita.chavan <ajita.chavan@espressif.com>

Commit:1175ec3
Author:ajita.chavan
Committer:ajita.chavan

`connected stations list` function is implemented in Python and respective function handler in C. Signed-off-by: ajita.chavan <ajita.chavan@espressif.com>

Commit:5cad9ea
Author:ajita.chavan
Committer:ajita.chavan

Removal of print commands in `slave_commands.c`, user input for connected stations list removed from proto file, interface downed after respective disconnect/stop scripts run, variable renamed in python scripts. Signed-off-by: ajita.chavan <ajita.chavan@espressif.com>

Commit:259f989
Author:ajita.chavan
Committer:ajita.chavan

memory freed for scan AP case, prinf changed by ESP_LOGI, connect to AP using BSSID is added, indentation changes in `slave_commands.c`, Read `/esps0` file till EOF in `/transport_pserial.py`, count variable position changed in `.proto` file, return value added in `protocomm_pserial.c` Signed-off-by: ajita.chavan <ajita.chavan@espressif.com>

Commit:2cb25fb
Author:ajita.chavan
Committer:ajita.chavan

get/set SoftAp configuration code added on C and python side. Bandwidth parameter added in .proto file Signed-off-by: ajita.chavan <ajita.chavan@espressif.com>

Commit:f956a62
Author:ajita.chavan
Committer:ajita.chavan

set/get wifi mode, get mac address of AP/station, get/set AP config functions implemented in c and python side Signed-off-by: ajita.chavan <ajita.chavan@espressif.com>