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
63 lines
1.2 KiB
Protocol Buffer
63 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;
|
|
}
|
|
}
|