mirror of
				https://github.com/espressif/esp-idf.git
				synced 2025-11-03 22:08:28 +00:00 
			
		
		
		
	List of changes in components/wifi_provisioning: * Manager version is now v1.1 * .proto files and protocomm handler added for sending Wi-Fi scan command and receiving scan results * Implemented handlers for wifi_scan protocomm endpoint * Update manager context data structure to hold scan state and results * scheme_softap now runs Wi-Fi in APSTA mode * Wi-Fi is started in AP mode when provisioning is started. This is necessary for scan list to work * Docs updates with information about new wifi_scan endpoint List of changes in tools/esp_prov: * Added functions for sending and receiving protobuf messages compatible with wifi_scan protocomm endpoint * Added feature to display/refresh scan results and accept user selection at runtime * New functions: * get_version() : only returns the protocol version string * has_capability() : check is a capability is present according to proto-ver response * wifi_scan feature is provided only if the `wifi_scan` capability is present Other changes: * Replace recursive mutex with plain mutex * assert on return value of mutex give / take calls * replace all calls with macros ACQUIRE_LOCK and RELEASE_LOCK * some checks added in scanning related private APIs * free and nullify scanning context and state if service is stopped while ongoing scan
		
			
				
	
	
		
			64 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Protocol Buffer
		
	
	
	
	
	
			
		
		
	
	
			64 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Protocol Buffer
		
	
	
	
	
	
syntax = "proto3";
 | 
						|
 | 
						|
import "constants.proto";
 | 
						|
import "wifi_constants.proto";
 | 
						|
 | 
						|
message CmdScanStart {
 | 
						|
    bool blocking = 1;
 | 
						|
    bool passive = 2;
 | 
						|
    uint32 group_channels = 3;
 | 
						|
    uint32 period_ms = 4;
 | 
						|
}
 | 
						|
 | 
						|
message RespScanStart {
 | 
						|
 | 
						|
}
 | 
						|
 | 
						|
message CmdScanStatus {
 | 
						|
 | 
						|
}
 | 
						|
 | 
						|
message RespScanStatus {
 | 
						|
    bool scan_finished = 1;
 | 
						|
    uint32 result_count = 2;
 | 
						|
}
 | 
						|
 | 
						|
message CmdScanResult {
 | 
						|
    uint32 start_index = 1;
 | 
						|
    uint32 count = 2;
 | 
						|
}
 | 
						|
 | 
						|
message WiFiScanResult {
 | 
						|
    bytes ssid = 1;
 | 
						|
    uint32 channel = 2;
 | 
						|
    int32 rssi = 3;
 | 
						|
    bytes bssid = 4;
 | 
						|
    WifiAuthMode auth = 5;
 | 
						|
}
 | 
						|
 | 
						|
message RespScanResult {
 | 
						|
    repeated WiFiScanResult entries = 1;
 | 
						|
}
 | 
						|
 | 
						|
enum WiFiScanMsgType {
 | 
						|
    TypeCmdScanStart = 0;
 | 
						|
    TypeRespScanStart = 1;
 | 
						|
    TypeCmdScanStatus = 2;
 | 
						|
    TypeRespScanStatus = 3;
 | 
						|
    TypeCmdScanResult = 4;
 | 
						|
    TypeRespScanResult = 5;
 | 
						|
}
 | 
						|
 | 
						|
message WiFiScanPayload {
 | 
						|
    WiFiScanMsgType msg = 1;
 | 
						|
    Status status = 2;
 | 
						|
    oneof payload {
 | 
						|
        CmdScanStart cmd_scan_start = 10;
 | 
						|
        RespScanStart resp_scan_start = 11;
 | 
						|
        CmdScanStatus cmd_scan_status = 12;
 | 
						|
        RespScanStatus resp_scan_status = 13;
 | 
						|
        CmdScanResult cmd_scan_result = 14;
 | 
						|
        RespScanResult resp_scan_result = 15;
 | 
						|
    }
 | 
						|
}
 |