433 lines
		
	
	
		
			9.4 KiB
		
	
	
	
		
			Protocol Buffer
		
	
	
	
	
	
			
		
		
	
	
			433 lines
		
	
	
		
			9.4 KiB
		
	
	
	
		
			Protocol Buffer
		
	
	
	
	
	
| syntax = "proto3";
 | |
| 
 | |
| /* Enums similar to ESP IDF */
 | |
| enum Ctrl_VendorIEType {
 | |
|     Beacon = 0;
 | |
|     Probe_req = 1;
 | |
|     Probe_resp = 2;
 | |
|     Assoc_req = 3;
 | |
|     Assoc_resp = 4;
 | |
| }
 | |
| 
 | |
| enum Ctrl_VendorIEID {
 | |
|     ID_0 = 0;
 | |
|     ID_1 = 1;
 | |
| }
 | |
| 
 | |
| enum Ctrl_WifiMode {
 | |
|     NONE = 0;
 | |
|     STA = 1;
 | |
|     AP = 2;
 | |
|     APSTA = 3;
 | |
| }
 | |
| 
 | |
| enum Ctrl_WifiBw {
 | |
|     BW_Invalid = 0;
 | |
|     HT20 = 1;
 | |
|     HT40 = 2;
 | |
| }
 | |
| 
 | |
| enum Ctrl_WifiPowerSave {
 | |
|     PS_Invalid = 0;
 | |
|     MIN_MODEM = 1;
 | |
|     MAX_MODEM = 2;
 | |
| }
 | |
| 
 | |
| enum Ctrl_WifiSecProt {
 | |
|     Open = 0;
 | |
|     WEP = 1;
 | |
|     WPA_PSK = 2;
 | |
|     WPA2_PSK = 3;
 | |
|     WPA_WPA2_PSK = 4;
 | |
|     WPA2_ENTERPRISE = 5;
 | |
|     WPA3_PSK = 6;
 | |
|     WPA2_WPA3_PSK = 7;
 | |
| }
 | |
| 
 | |
| /* enums for Control path */
 | |
| enum Ctrl_Status {
 | |
|     Connected = 0;
 | |
|     Not_Connected = 1;
 | |
|     No_AP_Found = 2;
 | |
|     Connection_Fail = 3;
 | |
|     Invalid_Argument = 4;
 | |
|     Out_Of_Range = 5;
 | |
| }
 | |
| 
 | |
| 
 | |
| enum CtrlMsgType {
 | |
|     MsgType_Invalid = 0;
 | |
|     Req = 1;
 | |
|     Resp = 2;
 | |
|     Event = 3;
 | |
|     MsgType_Max = 4;
 | |
| }
 | |
| 
 | |
| enum CtrlMsgId {
 | |
|     MsgId_Invalid = 0;
 | |
| 
 | |
|     /** Request Msgs **/
 | |
|     Req_Base = 100;
 | |
| 
 | |
|     Req_GetMACAddress = 101;
 | |
|     Req_SetMacAddress = 102;
 | |
|     Req_GetWifiMode = 103;
 | |
|     Req_SetWifiMode = 104;
 | |
| 
 | |
|     Req_GetAPScanList = 105;
 | |
|     Req_GetAPConfig = 106;
 | |
|     Req_ConnectAP = 107;
 | |
|     Req_DisconnectAP = 108;
 | |
| 
 | |
|     Req_GetSoftAPConfig = 109;
 | |
|     Req_SetSoftAPVendorSpecificIE = 110;
 | |
|     Req_StartSoftAP = 111;
 | |
|     Req_GetSoftAPConnectedSTAList = 112;
 | |
|     Req_StopSoftAP = 113;
 | |
| 
 | |
|     Req_SetPowerSaveMode = 114;
 | |
|     Req_GetPowerSaveMode = 115;
 | |
| 
 | |
|     Req_OTABegin = 116;
 | |
|     Req_OTAWrite = 117;
 | |
|     Req_OTAEnd = 118;
 | |
| 
 | |
|     Req_SetWifiMaxTxPower = 119;
 | |
|     Req_GetWifiCurrTxPower = 120;
 | |
| 
 | |
|     Req_ConfigHeartbeat = 121;
 | |
|     /* Add new control path command response before Req_Max
 | |
|      * and update Req_Max */
 | |
|     Req_Max = 122;
 | |
| 
 | |
|     /** Response Msgs **/
 | |
|     Resp_Base = 200;
 | |
| 
 | |
|     Resp_GetMACAddress = 201;
 | |
|     Resp_SetMacAddress = 202;
 | |
|     Resp_GetWifiMode = 203;
 | |
|     Resp_SetWifiMode = 204;
 | |
| 
 | |
|     Resp_GetAPScanList = 205;
 | |
|     Resp_GetAPConfig = 206;
 | |
|     Resp_ConnectAP = 207;
 | |
|     Resp_DisconnectAP = 208;
 | |
| 
 | |
|     Resp_GetSoftAPConfig = 209;
 | |
|     Resp_SetSoftAPVendorSpecificIE = 210;
 | |
|     Resp_StartSoftAP = 211;
 | |
|     Resp_GetSoftAPConnectedSTAList = 212;
 | |
|     Resp_StopSoftAP = 213;
 | |
| 
 | |
|     Resp_SetPowerSaveMode = 214;
 | |
|     Resp_GetPowerSaveMode = 215;
 | |
| 
 | |
|     Resp_OTABegin = 216;
 | |
|     Resp_OTAWrite = 217;
 | |
|     Resp_OTAEnd = 218;
 | |
| 
 | |
|     Resp_SetWifiMaxTxPower = 219;
 | |
|     Resp_GetWifiCurrTxPower = 220;
 | |
| 
 | |
|     Resp_ConfigHeartbeat = 221;
 | |
|     /* Add new control path command response before Resp_Max
 | |
|      * and update Resp_Max */
 | |
|     Resp_Max = 222;
 | |
| 
 | |
|     /** Event Msgs **/
 | |
|     Event_Base = 300;
 | |
|     Event_ESPInit = 301;
 | |
|     Event_Heartbeat = 302;
 | |
|     Event_StationDisconnectFromAP = 303;
 | |
|     Event_StationDisconnectFromESPSoftAP = 304;
 | |
|     /* Add new control path command notification before Event_Max
 | |
|      * and update Event_Max */
 | |
|     Event_Max = 305;
 | |
| }
 | |
| 
 | |
| /* internal supporting structures for CtrlMsg */
 | |
| message ScanResult {
 | |
|     bytes ssid = 1;
 | |
|     uint32 chnl = 2;
 | |
|     int32 rssi = 3;
 | |
|     bytes bssid = 4;
 | |
|     Ctrl_WifiSecProt sec_prot = 5;
 | |
| }
 | |
| 
 | |
| message ConnectedSTAList {
 | |
|     bytes mac = 1;
 | |
|     int32 rssi = 2;
 | |
| }
 | |
| 
 | |
| 
 | |
| /* Control path structures */
 | |
| /** Req/Resp structure **/
 | |
| message CtrlMsg_Req_GetMacAddress {
 | |
|     int32 mode = 1;
 | |
| }
 | |
| 
 | |
| message CtrlMsg_Resp_GetMacAddress {
 | |
|     bytes mac = 1;
 | |
|     int32 resp = 2;
 | |
| }
 | |
| 
 | |
| message CtrlMsg_Req_GetMode {
 | |
| }
 | |
| 
 | |
| message CtrlMsg_Resp_GetMode {
 | |
|     int32 mode = 1;
 | |
|     int32 resp = 2;
 | |
| }
 | |
| 
 | |
| message CtrlMsg_Req_SetMode {
 | |
|     int32 mode = 1;
 | |
| }
 | |
| 
 | |
| message CtrlMsg_Resp_SetMode {
 | |
|     int32 resp = 1;
 | |
| }
 | |
| 
 | |
| message CtrlMsg_Req_GetStatus {
 | |
| }
 | |
| 
 | |
| message CtrlMsg_Resp_GetStatus {
 | |
|     int32 resp = 1;
 | |
| }
 | |
| 
 | |
| message CtrlMsg_Req_SetMacAddress {
 | |
|     bytes mac = 1;
 | |
|     int32 mode = 2;
 | |
| }
 | |
| 
 | |
| message CtrlMsg_Resp_SetMacAddress {
 | |
|     int32 resp = 1;
 | |
| }
 | |
| 
 | |
| message CtrlMsg_Req_GetAPConfig {
 | |
| }
 | |
| 
 | |
| message CtrlMsg_Resp_GetAPConfig {
 | |
|     bytes ssid = 1;
 | |
|     bytes bssid = 2;
 | |
|     int32 rssi = 3;
 | |
|     int32 chnl = 4;
 | |
|     Ctrl_WifiSecProt sec_prot = 5;
 | |
|     int32 resp = 6;
 | |
| }
 | |
| 
 | |
| message CtrlMsg_Req_ConnectAP {
 | |
|     string ssid = 1;
 | |
|     string pwd = 2;
 | |
|     string bssid = 3;
 | |
|     bool is_wpa3_supported = 4;
 | |
|     int32 listen_interval = 5;
 | |
| }
 | |
| 
 | |
| message  CtrlMsg_Resp_ConnectAP {
 | |
|     int32 resp = 1;
 | |
|     bytes mac = 2;
 | |
| }
 | |
| 
 | |
| message CtrlMsg_Req_GetSoftAPConfig {
 | |
| }
 | |
| 
 | |
| message CtrlMsg_Resp_GetSoftAPConfig {
 | |
|     bytes ssid = 1;
 | |
|     bytes pwd = 2;
 | |
|     int32 chnl = 3;
 | |
|     Ctrl_WifiSecProt sec_prot = 4;
 | |
|     int32 max_conn = 5;
 | |
|     bool ssid_hidden = 6;
 | |
|     int32 bw = 7;
 | |
|     int32 resp = 8;
 | |
| }
 | |
| 
 | |
| message CtrlMsg_Req_StartSoftAP {
 | |
|     string ssid = 1;
 | |
|     string pwd = 2;
 | |
|     int32 chnl = 3;
 | |
|     Ctrl_WifiSecProt sec_prot = 4;
 | |
|     int32 max_conn = 5;
 | |
|     bool ssid_hidden = 6;
 | |
|     int32 bw = 7;
 | |
| }
 | |
| 
 | |
| message CtrlMsg_Resp_StartSoftAP {
 | |
|     int32 resp = 1;
 | |
|     bytes mac = 2;
 | |
| }
 | |
| 
 | |
| message CtrlMsg_Req_ScanResult {
 | |
| }
 | |
| 
 | |
| message CtrlMsg_Resp_ScanResult {
 | |
|     uint32 count = 1;
 | |
|     repeated ScanResult entries = 2;
 | |
|     int32 resp = 3;
 | |
| }
 | |
| 
 | |
| message CtrlMsg_Req_SoftAPConnectedSTA {
 | |
| }
 | |
| 
 | |
| message CtrlMsg_Resp_SoftAPConnectedSTA {
 | |
|     uint32 num = 1;
 | |
|     repeated ConnectedSTAList stations = 2;
 | |
|     int32 resp = 3;
 | |
| }
 | |
| 
 | |
| message CtrlMsg_Req_OTABegin {
 | |
| }
 | |
| 
 | |
| message CtrlMsg_Resp_OTABegin {
 | |
|     int32 resp = 1;
 | |
| }
 | |
| 
 | |
| message CtrlMsg_Req_OTAWrite {
 | |
|     bytes ota_data = 1;
 | |
| }
 | |
| 
 | |
| message CtrlMsg_Resp_OTAWrite {
 | |
|     int32 resp = 1;
 | |
| }
 | |
| 
 | |
| message CtrlMsg_Req_OTAEnd {
 | |
| }
 | |
| 
 | |
| message CtrlMsg_Resp_OTAEnd {
 | |
|     int32 resp = 1;
 | |
| }
 | |
| 
 | |
| message CtrlMsg_Req_VendorIEData {
 | |
|     int32 element_id = 1;
 | |
|     int32 length = 2;
 | |
|     bytes vendor_oui = 3;
 | |
|     int32 vendor_oui_type = 4;
 | |
|     bytes payload = 5; 
 | |
| }
 | |
| 
 | |
| message CtrlMsg_Req_SetSoftAPVendorSpecificIE {
 | |
|     bool enable = 1;
 | |
|     Ctrl_VendorIEType type = 2;
 | |
|     Ctrl_VendorIEID idx = 3;
 | |
|     CtrlMsg_Req_VendorIEData vendor_ie_data = 4;
 | |
| }
 | |
| 
 | |
| message CtrlMsg_Resp_SetSoftAPVendorSpecificIE {
 | |
|     int32 resp = 1;
 | |
| }
 | |
| 
 | |
| message CtrlMsg_Req_SetWifiMaxTxPower {
 | |
|     int32 wifi_max_tx_power = 1;
 | |
| }
 | |
| 
 | |
| message CtrlMsg_Resp_SetWifiMaxTxPower {
 | |
|     int32 resp = 1;
 | |
| }
 | |
| 
 | |
| message CtrlMsg_Req_GetWifiCurrTxPower {
 | |
| }
 | |
| 
 | |
| message CtrlMsg_Resp_GetWifiCurrTxPower {
 | |
|     int32 wifi_curr_tx_power = 1;
 | |
|     int32 resp = 2;
 | |
| }
 | |
| 
 | |
| message CtrlMsg_Req_ConfigHeartbeat {
 | |
|     bool enable = 1;
 | |
|     int32 duration = 2;
 | |
| }
 | |
| 
 | |
| message CtrlMsg_Resp_ConfigHeartbeat {
 | |
|     int32 resp = 1;
 | |
| }
 | |
| 
 | |
| /** Event structure **/
 | |
| message CtrlMsg_Event_ESPInit {
 | |
|     bytes init_data = 1;
 | |
| }
 | |
| 
 | |
| message CtrlMsg_Event_Heartbeat {
 | |
|     int32 hb_num = 1;
 | |
| }
 | |
| 
 | |
| message CtrlMsg_Event_StationDisconnectFromAP {
 | |
|     int32 resp = 1;
 | |
| }
 | |
| 
 | |
| message CtrlMsg_Event_StationDisconnectFromESPSoftAP {
 | |
|     int32 resp = 1;
 | |
|     bytes mac = 2;
 | |
| }
 | |
| 
 | |
| message CtrlMsg {
 | |
|     /* msg_type could be req, resp or Event */
 | |
|     CtrlMsgType msg_type = 1;
 | |
| 
 | |
|     /* msg id */
 | |
|     CtrlMsgId msg_id = 2;
 | |
| 
 | |
|     /* union of all msg ids */
 | |
|     oneof payload {
 | |
|         /** Requests **/
 | |
|         CtrlMsg_Req_GetMacAddress req_get_mac_address = 101;
 | |
|         CtrlMsg_Req_SetMacAddress req_set_mac_address = 102;
 | |
|         CtrlMsg_Req_GetMode req_get_wifi_mode = 103;
 | |
|         CtrlMsg_Req_SetMode req_set_wifi_mode = 104;
 | |
| 
 | |
|         CtrlMsg_Req_ScanResult req_scan_ap_list = 105;
 | |
|         CtrlMsg_Req_GetAPConfig req_get_ap_config = 106;
 | |
|         CtrlMsg_Req_ConnectAP req_connect_ap = 107;
 | |
|         CtrlMsg_Req_GetStatus req_disconnect_ap = 108;
 | |
| 
 | |
|         CtrlMsg_Req_GetSoftAPConfig req_get_softap_config = 109;
 | |
|         CtrlMsg_Req_SetSoftAPVendorSpecificIE req_set_softap_vendor_specific_ie = 110;
 | |
|         CtrlMsg_Req_StartSoftAP req_start_softap = 111;
 | |
|         CtrlMsg_Req_SoftAPConnectedSTA req_softap_connected_stas_list = 112;
 | |
|         CtrlMsg_Req_GetStatus req_stop_softap = 113;
 | |
| 
 | |
|         CtrlMsg_Req_SetMode req_set_power_save_mode = 114;
 | |
|         CtrlMsg_Req_GetMode req_get_power_save_mode = 115;
 | |
| 
 | |
|         CtrlMsg_Req_OTABegin req_ota_begin = 116;
 | |
|         CtrlMsg_Req_OTAWrite req_ota_write = 117;
 | |
|         CtrlMsg_Req_OTAEnd req_ota_end = 118;
 | |
| 
 | |
|         CtrlMsg_Req_SetWifiMaxTxPower req_set_wifi_max_tx_power = 119;
 | |
|         CtrlMsg_Req_GetWifiCurrTxPower req_get_wifi_curr_tx_power = 120;
 | |
|         CtrlMsg_Req_ConfigHeartbeat req_config_heartbeat = 121;
 | |
| 
 | |
|         /** Responses **/
 | |
|         CtrlMsg_Resp_GetMacAddress resp_get_mac_address = 201;
 | |
|         CtrlMsg_Resp_SetMacAddress resp_set_mac_address = 202;
 | |
|         CtrlMsg_Resp_GetMode resp_get_wifi_mode = 203;
 | |
|         CtrlMsg_Resp_SetMode resp_set_wifi_mode = 204;
 | |
| 
 | |
|         CtrlMsg_Resp_ScanResult resp_scan_ap_list = 205;
 | |
|         CtrlMsg_Resp_GetAPConfig resp_get_ap_config = 206;
 | |
|         CtrlMsg_Resp_ConnectAP resp_connect_ap = 207;
 | |
|         CtrlMsg_Resp_GetStatus resp_disconnect_ap = 208;
 | |
| 
 | |
|         CtrlMsg_Resp_GetSoftAPConfig resp_get_softap_config = 209;
 | |
|         CtrlMsg_Resp_SetSoftAPVendorSpecificIE resp_set_softap_vendor_specific_ie = 210;
 | |
|         CtrlMsg_Resp_StartSoftAP resp_start_softap = 211;
 | |
|         CtrlMsg_Resp_SoftAPConnectedSTA resp_softap_connected_stas_list = 212;
 | |
|         CtrlMsg_Resp_GetStatus resp_stop_softap = 213;
 | |
| 
 | |
|         CtrlMsg_Resp_SetMode resp_set_power_save_mode = 214;
 | |
|         CtrlMsg_Resp_GetMode resp_get_power_save_mode = 215;
 | |
| 
 | |
|         CtrlMsg_Resp_OTABegin resp_ota_begin = 216;
 | |
|         CtrlMsg_Resp_OTAWrite resp_ota_write = 217;
 | |
|         CtrlMsg_Resp_OTAEnd resp_ota_end = 218;
 | |
|         CtrlMsg_Resp_SetWifiMaxTxPower resp_set_wifi_max_tx_power = 219;
 | |
|         CtrlMsg_Resp_GetWifiCurrTxPower resp_get_wifi_curr_tx_power = 220;
 | |
|         CtrlMsg_Resp_ConfigHeartbeat resp_config_heartbeat = 221;
 | |
| 
 | |
|         /** Notifications **/
 | |
|         CtrlMsg_Event_ESPInit event_esp_init = 301;
 | |
|         CtrlMsg_Event_Heartbeat event_heartbeat = 302;
 | |
|         CtrlMsg_Event_StationDisconnectFromAP event_station_disconnect_from_AP = 303;
 | |
|         CtrlMsg_Event_StationDisconnectFromESPSoftAP event_station_disconnect_from_ESP_SoftAP = 304;
 | |
|     }
 | |
| }
 |