657 lines
		
	
	
		
			20 KiB
		
	
	
	
		
			Rust
		
	
	
	
	
	
			
		
		
	
	
			657 lines
		
	
	
		
			20 KiB
		
	
	
	
		
			Rust
		
	
	
	
	
	
| #![allow(unused)]
 | |
| 
 | |
| use heapless::{String, Vec};
 | |
| 
 | |
| /// internal supporting structures for CtrlMsg
 | |
| 
 | |
| #[derive(Debug, Default, Clone, Eq, PartialEq, noproto::Message)]
 | |
| #[cfg_attr(feature = "defmt", derive(defmt::Format))]
 | |
| pub(crate) struct ScanResult {
 | |
|     #[noproto(tag = "1")]
 | |
|     pub ssid: String<32>,
 | |
|     #[noproto(tag = "2")]
 | |
|     pub chnl: u32,
 | |
|     #[noproto(tag = "3")]
 | |
|     pub rssi: u32,
 | |
|     #[noproto(tag = "4")]
 | |
|     pub bssid: String<32>,
 | |
|     #[noproto(tag = "5")]
 | |
|     pub sec_prot: CtrlWifiSecProt,
 | |
| }
 | |
| 
 | |
| #[derive(Debug, Default, Clone, Eq, PartialEq, noproto::Message)]
 | |
| #[cfg_attr(feature = "defmt", derive(defmt::Format))]
 | |
| pub(crate) struct ConnectedStaList {
 | |
|     #[noproto(tag = "1")]
 | |
|     pub mac: String<32>,
 | |
|     #[noproto(tag = "2")]
 | |
|     pub rssi: u32,
 | |
| }
 | |
| /// * Req/Resp structure *
 | |
| 
 | |
| #[derive(Debug, Default, Clone, Eq, PartialEq, noproto::Message)]
 | |
| #[cfg_attr(feature = "defmt", derive(defmt::Format))]
 | |
| pub(crate) struct CtrlMsgReqGetMacAddress {
 | |
|     #[noproto(tag = "1")]
 | |
|     pub mode: u32,
 | |
| }
 | |
| 
 | |
| #[derive(Debug, Default, Clone, Eq, PartialEq, noproto::Message)]
 | |
| #[cfg_attr(feature = "defmt", derive(defmt::Format))]
 | |
| pub(crate) struct CtrlMsgRespGetMacAddress {
 | |
|     #[noproto(tag = "1")]
 | |
|     pub mac: String<32>,
 | |
|     #[noproto(tag = "2")]
 | |
|     pub resp: u32,
 | |
| }
 | |
| 
 | |
| #[derive(Debug, Default, Clone, Eq, PartialEq, noproto::Message)]
 | |
| #[cfg_attr(feature = "defmt", derive(defmt::Format))]
 | |
| pub(crate) struct CtrlMsgReqGetMode {}
 | |
| 
 | |
| #[derive(Debug, Default, Clone, Eq, PartialEq, noproto::Message)]
 | |
| #[cfg_attr(feature = "defmt", derive(defmt::Format))]
 | |
| pub(crate) struct CtrlMsgRespGetMode {
 | |
|     #[noproto(tag = "1")]
 | |
|     pub mode: u32,
 | |
|     #[noproto(tag = "2")]
 | |
|     pub resp: u32,
 | |
| }
 | |
| 
 | |
| #[derive(Debug, Default, Clone, Eq, PartialEq, noproto::Message)]
 | |
| #[cfg_attr(feature = "defmt", derive(defmt::Format))]
 | |
| pub(crate) struct CtrlMsgReqSetMode {
 | |
|     #[noproto(tag = "1")]
 | |
|     pub mode: u32,
 | |
| }
 | |
| 
 | |
| #[derive(Debug, Default, Clone, Eq, PartialEq, noproto::Message)]
 | |
| #[cfg_attr(feature = "defmt", derive(defmt::Format))]
 | |
| pub(crate) struct CtrlMsgRespSetMode {
 | |
|     #[noproto(tag = "1")]
 | |
|     pub resp: u32,
 | |
| }
 | |
| 
 | |
| #[derive(Debug, Default, Clone, Eq, PartialEq, noproto::Message)]
 | |
| #[cfg_attr(feature = "defmt", derive(defmt::Format))]
 | |
| pub(crate) struct CtrlMsgReqGetStatus {}
 | |
| 
 | |
| #[derive(Debug, Default, Clone, Eq, PartialEq, noproto::Message)]
 | |
| #[cfg_attr(feature = "defmt", derive(defmt::Format))]
 | |
| pub(crate) struct CtrlMsgRespGetStatus {
 | |
|     #[noproto(tag = "1")]
 | |
|     pub resp: u32,
 | |
| }
 | |
| 
 | |
| #[derive(Debug, Default, Clone, Eq, PartialEq, noproto::Message)]
 | |
| #[cfg_attr(feature = "defmt", derive(defmt::Format))]
 | |
| pub(crate) struct CtrlMsgReqSetMacAddress {
 | |
|     #[noproto(tag = "1")]
 | |
|     pub mac: String<32>,
 | |
|     #[noproto(tag = "2")]
 | |
|     pub mode: u32,
 | |
| }
 | |
| 
 | |
| #[derive(Debug, Default, Clone, Eq, PartialEq, noproto::Message)]
 | |
| #[cfg_attr(feature = "defmt", derive(defmt::Format))]
 | |
| pub(crate) struct CtrlMsgRespSetMacAddress {
 | |
|     #[noproto(tag = "1")]
 | |
|     pub resp: u32,
 | |
| }
 | |
| 
 | |
| #[derive(Debug, Default, Clone, Eq, PartialEq, noproto::Message)]
 | |
| #[cfg_attr(feature = "defmt", derive(defmt::Format))]
 | |
| pub(crate) struct CtrlMsgReqGetApConfig {}
 | |
| 
 | |
| #[derive(Debug, Default, Clone, Eq, PartialEq, noproto::Message)]
 | |
| #[cfg_attr(feature = "defmt", derive(defmt::Format))]
 | |
| pub(crate) struct CtrlMsgRespGetApConfig {
 | |
|     #[noproto(tag = "1")]
 | |
|     pub ssid: String<32>,
 | |
|     #[noproto(tag = "2")]
 | |
|     pub bssid: String<32>,
 | |
|     #[noproto(tag = "3")]
 | |
|     pub rssi: u32,
 | |
|     #[noproto(tag = "4")]
 | |
|     pub chnl: u32,
 | |
|     #[noproto(tag = "5")]
 | |
|     pub sec_prot: CtrlWifiSecProt,
 | |
|     #[noproto(tag = "6")]
 | |
|     pub resp: u32,
 | |
| }
 | |
| 
 | |
| #[derive(Debug, Default, Clone, Eq, PartialEq, noproto::Message)]
 | |
| #[cfg_attr(feature = "defmt", derive(defmt::Format))]
 | |
| pub(crate) struct CtrlMsgReqConnectAp {
 | |
|     #[noproto(tag = "1")]
 | |
|     pub ssid: String<32>,
 | |
|     #[noproto(tag = "2")]
 | |
|     pub pwd: String<32>,
 | |
|     #[noproto(tag = "3")]
 | |
|     pub bssid: String<32>,
 | |
|     #[noproto(tag = "4")]
 | |
|     pub is_wpa3_supported: bool,
 | |
|     #[noproto(tag = "5")]
 | |
|     pub listen_interval: u32,
 | |
| }
 | |
| 
 | |
| #[derive(Debug, Default, Clone, Eq, PartialEq, noproto::Message)]
 | |
| #[cfg_attr(feature = "defmt", derive(defmt::Format))]
 | |
| pub(crate) struct CtrlMsgRespConnectAp {
 | |
|     #[noproto(tag = "1")]
 | |
|     pub resp: u32,
 | |
|     #[noproto(tag = "2")]
 | |
|     pub mac: String<32>,
 | |
| }
 | |
| 
 | |
| #[derive(Debug, Default, Clone, Eq, PartialEq, noproto::Message)]
 | |
| #[cfg_attr(feature = "defmt", derive(defmt::Format))]
 | |
| pub(crate) struct CtrlMsgReqGetSoftApConfig {}
 | |
| 
 | |
| #[derive(Debug, Default, Clone, Eq, PartialEq, noproto::Message)]
 | |
| #[cfg_attr(feature = "defmt", derive(defmt::Format))]
 | |
| pub(crate) struct CtrlMsgRespGetSoftApConfig {
 | |
|     #[noproto(tag = "1")]
 | |
|     pub ssid: String<32>,
 | |
|     #[noproto(tag = "2")]
 | |
|     pub pwd: String<32>,
 | |
|     #[noproto(tag = "3")]
 | |
|     pub chnl: u32,
 | |
|     #[noproto(tag = "4")]
 | |
|     pub sec_prot: CtrlWifiSecProt,
 | |
|     #[noproto(tag = "5")]
 | |
|     pub max_conn: u32,
 | |
|     #[noproto(tag = "6")]
 | |
|     pub ssid_hidden: bool,
 | |
|     #[noproto(tag = "7")]
 | |
|     pub bw: u32,
 | |
|     #[noproto(tag = "8")]
 | |
|     pub resp: u32,
 | |
| }
 | |
| 
 | |
| #[derive(Debug, Default, Clone, Eq, PartialEq, noproto::Message)]
 | |
| #[cfg_attr(feature = "defmt", derive(defmt::Format))]
 | |
| pub(crate) struct CtrlMsgReqStartSoftAp {
 | |
|     #[noproto(tag = "1")]
 | |
|     pub ssid: String<32>,
 | |
|     #[noproto(tag = "2")]
 | |
|     pub pwd: String<32>,
 | |
|     #[noproto(tag = "3")]
 | |
|     pub chnl: u32,
 | |
|     #[noproto(tag = "4")]
 | |
|     pub sec_prot: CtrlWifiSecProt,
 | |
|     #[noproto(tag = "5")]
 | |
|     pub max_conn: u32,
 | |
|     #[noproto(tag = "6")]
 | |
|     pub ssid_hidden: bool,
 | |
|     #[noproto(tag = "7")]
 | |
|     pub bw: u32,
 | |
| }
 | |
| 
 | |
| #[derive(Debug, Default, Clone, Eq, PartialEq, noproto::Message)]
 | |
| #[cfg_attr(feature = "defmt", derive(defmt::Format))]
 | |
| pub(crate) struct CtrlMsgRespStartSoftAp {
 | |
|     #[noproto(tag = "1")]
 | |
|     pub resp: u32,
 | |
|     #[noproto(tag = "2")]
 | |
|     pub mac: String<32>,
 | |
| }
 | |
| 
 | |
| #[derive(Debug, Default, Clone, Eq, PartialEq, noproto::Message)]
 | |
| #[cfg_attr(feature = "defmt", derive(defmt::Format))]
 | |
| pub(crate) struct CtrlMsgReqScanResult {}
 | |
| 
 | |
| #[derive(Debug, Default, Clone, Eq, PartialEq, noproto::Message)]
 | |
| #[cfg_attr(feature = "defmt", derive(defmt::Format))]
 | |
| pub(crate) struct CtrlMsgRespScanResult {
 | |
|     #[noproto(tag = "1")]
 | |
|     pub count: u32,
 | |
|     #[noproto(repeated, tag = "2")]
 | |
|     pub entries: Vec<ScanResult, 16>,
 | |
|     #[noproto(tag = "3")]
 | |
|     pub resp: u32,
 | |
| }
 | |
| 
 | |
| #[derive(Debug, Default, Clone, Eq, PartialEq, noproto::Message)]
 | |
| #[cfg_attr(feature = "defmt", derive(defmt::Format))]
 | |
| pub(crate) struct CtrlMsgReqSoftApConnectedSta {}
 | |
| 
 | |
| #[derive(Debug, Default, Clone, Eq, PartialEq, noproto::Message)]
 | |
| #[cfg_attr(feature = "defmt", derive(defmt::Format))]
 | |
| pub(crate) struct CtrlMsgRespSoftApConnectedSta {
 | |
|     #[noproto(tag = "1")]
 | |
|     pub num: u32,
 | |
|     #[noproto(repeated, tag = "2")]
 | |
|     pub stations: Vec<ConnectedStaList, 16>,
 | |
|     #[noproto(tag = "3")]
 | |
|     pub resp: u32,
 | |
| }
 | |
| 
 | |
| #[derive(Debug, Default, Clone, Eq, PartialEq, noproto::Message)]
 | |
| #[cfg_attr(feature = "defmt", derive(defmt::Format))]
 | |
| pub(crate) struct CtrlMsgReqOtaBegin {}
 | |
| 
 | |
| #[derive(Debug, Default, Clone, Eq, PartialEq, noproto::Message)]
 | |
| #[cfg_attr(feature = "defmt", derive(defmt::Format))]
 | |
| pub(crate) struct CtrlMsgRespOtaBegin {
 | |
|     #[noproto(tag = "1")]
 | |
|     pub resp: u32,
 | |
| }
 | |
| 
 | |
| #[derive(Debug, Default, Clone, Eq, PartialEq, noproto::Message)]
 | |
| #[cfg_attr(feature = "defmt", derive(defmt::Format))]
 | |
| pub(crate) struct CtrlMsgReqOtaWrite {
 | |
|     #[noproto(tag = "1")]
 | |
|     pub ota_data: Vec<u8, 1024>,
 | |
| }
 | |
| 
 | |
| #[derive(Debug, Default, Clone, Eq, PartialEq, noproto::Message)]
 | |
| #[cfg_attr(feature = "defmt", derive(defmt::Format))]
 | |
| pub(crate) struct CtrlMsgRespOtaWrite {
 | |
|     #[noproto(tag = "1")]
 | |
|     pub resp: u32,
 | |
| }
 | |
| 
 | |
| #[derive(Debug, Default, Clone, Eq, PartialEq, noproto::Message)]
 | |
| #[cfg_attr(feature = "defmt", derive(defmt::Format))]
 | |
| pub(crate) struct CtrlMsgReqOtaEnd {}
 | |
| 
 | |
| #[derive(Debug, Default, Clone, Eq, PartialEq, noproto::Message)]
 | |
| #[cfg_attr(feature = "defmt", derive(defmt::Format))]
 | |
| pub(crate) struct CtrlMsgRespOtaEnd {
 | |
|     #[noproto(tag = "1")]
 | |
|     pub resp: u32,
 | |
| }
 | |
| 
 | |
| #[derive(Debug, Default, Clone, Eq, PartialEq, noproto::Message)]
 | |
| #[cfg_attr(feature = "defmt", derive(defmt::Format))]
 | |
| pub(crate) struct CtrlMsgReqVendorIeData {
 | |
|     #[noproto(tag = "1")]
 | |
|     pub element_id: u32,
 | |
|     #[noproto(tag = "2")]
 | |
|     pub length: u32,
 | |
|     #[noproto(tag = "3")]
 | |
|     pub vendor_oui: Vec<u8, 8>,
 | |
|     #[noproto(tag = "4")]
 | |
|     pub vendor_oui_type: u32,
 | |
|     #[noproto(tag = "5")]
 | |
|     pub payload: Vec<u8, 64>,
 | |
| }
 | |
| 
 | |
| #[derive(Debug, Default, Clone, Eq, PartialEq, noproto::Message)]
 | |
| #[cfg_attr(feature = "defmt", derive(defmt::Format))]
 | |
| pub(crate) struct CtrlMsgReqSetSoftApVendorSpecificIe {
 | |
|     #[noproto(tag = "1")]
 | |
|     pub enable: bool,
 | |
|     #[noproto(tag = "2")]
 | |
|     pub r#type: CtrlVendorIeType,
 | |
|     #[noproto(tag = "3")]
 | |
|     pub idx: CtrlVendorIeid,
 | |
|     #[noproto(optional, tag = "4")]
 | |
|     pub vendor_ie_data: Option<CtrlMsgReqVendorIeData>,
 | |
| }
 | |
| 
 | |
| #[derive(Debug, Default, Clone, Eq, PartialEq, noproto::Message)]
 | |
| #[cfg_attr(feature = "defmt", derive(defmt::Format))]
 | |
| pub(crate) struct CtrlMsgRespSetSoftApVendorSpecificIe {
 | |
|     #[noproto(tag = "1")]
 | |
|     pub resp: u32,
 | |
| }
 | |
| 
 | |
| #[derive(Debug, Default, Clone, Eq, PartialEq, noproto::Message)]
 | |
| #[cfg_attr(feature = "defmt", derive(defmt::Format))]
 | |
| pub(crate) struct CtrlMsgReqSetWifiMaxTxPower {
 | |
|     #[noproto(tag = "1")]
 | |
|     pub wifi_max_tx_power: u32,
 | |
| }
 | |
| 
 | |
| #[derive(Debug, Default, Clone, Eq, PartialEq, noproto::Message)]
 | |
| #[cfg_attr(feature = "defmt", derive(defmt::Format))]
 | |
| pub(crate) struct CtrlMsgRespSetWifiMaxTxPower {
 | |
|     #[noproto(tag = "1")]
 | |
|     pub resp: u32,
 | |
| }
 | |
| 
 | |
| #[derive(Debug, Default, Clone, Eq, PartialEq, noproto::Message)]
 | |
| #[cfg_attr(feature = "defmt", derive(defmt::Format))]
 | |
| pub(crate) struct CtrlMsgReqGetWifiCurrTxPower {}
 | |
| 
 | |
| #[derive(Debug, Default, Clone, Eq, PartialEq, noproto::Message)]
 | |
| #[cfg_attr(feature = "defmt", derive(defmt::Format))]
 | |
| pub(crate) struct CtrlMsgRespGetWifiCurrTxPower {
 | |
|     #[noproto(tag = "1")]
 | |
|     pub wifi_curr_tx_power: u32,
 | |
|     #[noproto(tag = "2")]
 | |
|     pub resp: u32,
 | |
| }
 | |
| 
 | |
| #[derive(Debug, Default, Clone, Eq, PartialEq, noproto::Message)]
 | |
| #[cfg_attr(feature = "defmt", derive(defmt::Format))]
 | |
| pub(crate) struct CtrlMsgReqConfigHeartbeat {
 | |
|     #[noproto(tag = "1")]
 | |
|     pub enable: bool,
 | |
|     #[noproto(tag = "2")]
 | |
|     pub duration: u32,
 | |
| }
 | |
| 
 | |
| #[derive(Debug, Default, Clone, Eq, PartialEq, noproto::Message)]
 | |
| #[cfg_attr(feature = "defmt", derive(defmt::Format))]
 | |
| pub(crate) struct CtrlMsgRespConfigHeartbeat {
 | |
|     #[noproto(tag = "1")]
 | |
|     pub resp: u32,
 | |
| }
 | |
| /// * Event structure *
 | |
| 
 | |
| #[derive(Debug, Default, Clone, Eq, PartialEq, noproto::Message)]
 | |
| #[cfg_attr(feature = "defmt", derive(defmt::Format))]
 | |
| pub(crate) struct CtrlMsgEventEspInit {
 | |
|     #[noproto(tag = "1")]
 | |
|     pub init_data: Vec<u8, 64>,
 | |
| }
 | |
| 
 | |
| #[derive(Debug, Default, Clone, Eq, PartialEq, noproto::Message)]
 | |
| #[cfg_attr(feature = "defmt", derive(defmt::Format))]
 | |
| pub(crate) struct CtrlMsgEventHeartbeat {
 | |
|     #[noproto(tag = "1")]
 | |
|     pub hb_num: u32,
 | |
| }
 | |
| 
 | |
| #[derive(Debug, Default, Clone, Eq, PartialEq, noproto::Message)]
 | |
| #[cfg_attr(feature = "defmt", derive(defmt::Format))]
 | |
| pub(crate) struct CtrlMsgEventStationDisconnectFromAp {
 | |
|     #[noproto(tag = "1")]
 | |
|     pub resp: u32,
 | |
| }
 | |
| 
 | |
| #[derive(Debug, Default, Clone, Eq, PartialEq, noproto::Message)]
 | |
| #[cfg_attr(feature = "defmt", derive(defmt::Format))]
 | |
| pub(crate) struct CtrlMsgEventStationDisconnectFromEspSoftAp {
 | |
|     #[noproto(tag = "1")]
 | |
|     pub resp: u32,
 | |
|     #[noproto(tag = "2")]
 | |
|     pub mac: String<32>,
 | |
| }
 | |
| 
 | |
| #[derive(Debug, Default, Clone, Eq, PartialEq, noproto::Message)]
 | |
| #[cfg_attr(feature = "defmt", derive(defmt::Format))]
 | |
| pub(crate) struct CtrlMsg {
 | |
|     /// msg_type could be req, resp or Event
 | |
|     #[noproto(tag = "1")]
 | |
|     pub msg_type: CtrlMsgType,
 | |
|     /// msg id
 | |
|     #[noproto(tag = "2")]
 | |
|     pub msg_id: CtrlMsgId,
 | |
|     /// union of all msg ids
 | |
|     #[noproto(
 | |
|         oneof,
 | |
|         tags = "101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 301, 302, 303, 304"
 | |
|     )]
 | |
|     pub payload: Option<CtrlMsgPayload>,
 | |
| }
 | |
| 
 | |
| /// union of all msg ids
 | |
| #[derive(Debug, Clone, Eq, PartialEq, noproto::Oneof)]
 | |
| #[cfg_attr(feature = "defmt", derive(defmt::Format))]
 | |
| pub(crate) enum CtrlMsgPayload {
 | |
|     /// * Requests *
 | |
|     #[noproto(tag = "101")]
 | |
|     ReqGetMacAddress(CtrlMsgReqGetMacAddress),
 | |
|     #[noproto(tag = "102")]
 | |
|     ReqSetMacAddress(CtrlMsgReqSetMacAddress),
 | |
|     #[noproto(tag = "103")]
 | |
|     ReqGetWifiMode(CtrlMsgReqGetMode),
 | |
|     #[noproto(tag = "104")]
 | |
|     ReqSetWifiMode(CtrlMsgReqSetMode),
 | |
|     #[noproto(tag = "105")]
 | |
|     ReqScanApList(CtrlMsgReqScanResult),
 | |
|     #[noproto(tag = "106")]
 | |
|     ReqGetApConfig(CtrlMsgReqGetApConfig),
 | |
|     #[noproto(tag = "107")]
 | |
|     ReqConnectAp(CtrlMsgReqConnectAp),
 | |
|     #[noproto(tag = "108")]
 | |
|     ReqDisconnectAp(CtrlMsgReqGetStatus),
 | |
|     #[noproto(tag = "109")]
 | |
|     ReqGetSoftapConfig(CtrlMsgReqGetSoftApConfig),
 | |
|     #[noproto(tag = "110")]
 | |
|     ReqSetSoftapVendorSpecificIe(CtrlMsgReqSetSoftApVendorSpecificIe),
 | |
|     #[noproto(tag = "111")]
 | |
|     ReqStartSoftap(CtrlMsgReqStartSoftAp),
 | |
|     #[noproto(tag = "112")]
 | |
|     ReqSoftapConnectedStasList(CtrlMsgReqSoftApConnectedSta),
 | |
|     #[noproto(tag = "113")]
 | |
|     ReqStopSoftap(CtrlMsgReqGetStatus),
 | |
|     #[noproto(tag = "114")]
 | |
|     ReqSetPowerSaveMode(CtrlMsgReqSetMode),
 | |
|     #[noproto(tag = "115")]
 | |
|     ReqGetPowerSaveMode(CtrlMsgReqGetMode),
 | |
|     #[noproto(tag = "116")]
 | |
|     ReqOtaBegin(CtrlMsgReqOtaBegin),
 | |
|     #[noproto(tag = "117")]
 | |
|     ReqOtaWrite(CtrlMsgReqOtaWrite),
 | |
|     #[noproto(tag = "118")]
 | |
|     ReqOtaEnd(CtrlMsgReqOtaEnd),
 | |
|     #[noproto(tag = "119")]
 | |
|     ReqSetWifiMaxTxPower(CtrlMsgReqSetWifiMaxTxPower),
 | |
|     #[noproto(tag = "120")]
 | |
|     ReqGetWifiCurrTxPower(CtrlMsgReqGetWifiCurrTxPower),
 | |
|     #[noproto(tag = "121")]
 | |
|     ReqConfigHeartbeat(CtrlMsgReqConfigHeartbeat),
 | |
|     /// * Responses *
 | |
|     #[noproto(tag = "201")]
 | |
|     RespGetMacAddress(CtrlMsgRespGetMacAddress),
 | |
|     #[noproto(tag = "202")]
 | |
|     RespSetMacAddress(CtrlMsgRespSetMacAddress),
 | |
|     #[noproto(tag = "203")]
 | |
|     RespGetWifiMode(CtrlMsgRespGetMode),
 | |
|     #[noproto(tag = "204")]
 | |
|     RespSetWifiMode(CtrlMsgRespSetMode),
 | |
|     #[noproto(tag = "205")]
 | |
|     RespScanApList(CtrlMsgRespScanResult),
 | |
|     #[noproto(tag = "206")]
 | |
|     RespGetApConfig(CtrlMsgRespGetApConfig),
 | |
|     #[noproto(tag = "207")]
 | |
|     RespConnectAp(CtrlMsgRespConnectAp),
 | |
|     #[noproto(tag = "208")]
 | |
|     RespDisconnectAp(CtrlMsgRespGetStatus),
 | |
|     #[noproto(tag = "209")]
 | |
|     RespGetSoftapConfig(CtrlMsgRespGetSoftApConfig),
 | |
|     #[noproto(tag = "210")]
 | |
|     RespSetSoftapVendorSpecificIe(CtrlMsgRespSetSoftApVendorSpecificIe),
 | |
|     #[noproto(tag = "211")]
 | |
|     RespStartSoftap(CtrlMsgRespStartSoftAp),
 | |
|     #[noproto(tag = "212")]
 | |
|     RespSoftapConnectedStasList(CtrlMsgRespSoftApConnectedSta),
 | |
|     #[noproto(tag = "213")]
 | |
|     RespStopSoftap(CtrlMsgRespGetStatus),
 | |
|     #[noproto(tag = "214")]
 | |
|     RespSetPowerSaveMode(CtrlMsgRespSetMode),
 | |
|     #[noproto(tag = "215")]
 | |
|     RespGetPowerSaveMode(CtrlMsgRespGetMode),
 | |
|     #[noproto(tag = "216")]
 | |
|     RespOtaBegin(CtrlMsgRespOtaBegin),
 | |
|     #[noproto(tag = "217")]
 | |
|     RespOtaWrite(CtrlMsgRespOtaWrite),
 | |
|     #[noproto(tag = "218")]
 | |
|     RespOtaEnd(CtrlMsgRespOtaEnd),
 | |
|     #[noproto(tag = "219")]
 | |
|     RespSetWifiMaxTxPower(CtrlMsgRespSetWifiMaxTxPower),
 | |
|     #[noproto(tag = "220")]
 | |
|     RespGetWifiCurrTxPower(CtrlMsgRespGetWifiCurrTxPower),
 | |
|     #[noproto(tag = "221")]
 | |
|     RespConfigHeartbeat(CtrlMsgRespConfigHeartbeat),
 | |
|     /// * Notifications *
 | |
|     #[noproto(tag = "301")]
 | |
|     EventEspInit(CtrlMsgEventEspInit),
 | |
|     #[noproto(tag = "302")]
 | |
|     EventHeartbeat(CtrlMsgEventHeartbeat),
 | |
|     #[noproto(tag = "303")]
 | |
|     EventStationDisconnectFromAp(CtrlMsgEventStationDisconnectFromAp),
 | |
|     #[noproto(tag = "304")]
 | |
|     EventStationDisconnectFromEspSoftAp(CtrlMsgEventStationDisconnectFromEspSoftAp),
 | |
| }
 | |
| 
 | |
| /// Enums similar to ESP IDF
 | |
| #[derive(Debug, Default, Clone, Copy, Eq, PartialEq, Hash, PartialOrd, Ord, noproto::Enumeration)]
 | |
| #[repr(u32)]
 | |
| #[cfg_attr(feature = "defmt", derive(defmt::Format))]
 | |
| pub(crate) enum CtrlVendorIeType {
 | |
|     #[default]
 | |
|     Beacon = 0,
 | |
|     ProbeReq = 1,
 | |
|     ProbeResp = 2,
 | |
|     AssocReq = 3,
 | |
|     AssocResp = 4,
 | |
| }
 | |
| 
 | |
| #[derive(Debug, Default, Clone, Copy, Eq, PartialEq, Hash, PartialOrd, Ord, noproto::Enumeration)]
 | |
| #[repr(u32)]
 | |
| #[cfg_attr(feature = "defmt", derive(defmt::Format))]
 | |
| pub(crate) enum CtrlVendorIeid {
 | |
|     #[default]
 | |
|     Id0 = 0,
 | |
|     Id1 = 1,
 | |
| }
 | |
| 
 | |
| #[derive(Debug, Default, Clone, Copy, Eq, PartialEq, Hash, PartialOrd, Ord, noproto::Enumeration)]
 | |
| #[repr(u32)]
 | |
| #[cfg_attr(feature = "defmt", derive(defmt::Format))]
 | |
| pub(crate) enum CtrlWifiMode {
 | |
|     #[default]
 | |
|     None = 0,
 | |
|     Sta = 1,
 | |
|     Ap = 2,
 | |
|     Apsta = 3,
 | |
| }
 | |
| 
 | |
| #[derive(Debug, Default, Clone, Copy, Eq, PartialEq, Hash, PartialOrd, Ord, noproto::Enumeration)]
 | |
| #[repr(u32)]
 | |
| #[cfg_attr(feature = "defmt", derive(defmt::Format))]
 | |
| pub(crate) enum CtrlWifiBw {
 | |
|     #[default]
 | |
|     BwInvalid = 0,
 | |
|     Ht20 = 1,
 | |
|     Ht40 = 2,
 | |
| }
 | |
| 
 | |
| #[derive(Debug, Default, Clone, Copy, Eq, PartialEq, Hash, PartialOrd, Ord, noproto::Enumeration)]
 | |
| #[repr(u32)]
 | |
| #[cfg_attr(feature = "defmt", derive(defmt::Format))]
 | |
| pub(crate) enum CtrlWifiPowerSave {
 | |
|     #[default]
 | |
|     PsInvalid = 0,
 | |
|     MinModem = 1,
 | |
|     MaxModem = 2,
 | |
| }
 | |
| 
 | |
| /// Wifi Security Settings
 | |
| #[allow(missing_docs)]
 | |
| #[derive(Debug, Default, Clone, Copy, Eq, PartialEq, Hash, PartialOrd, Ord, noproto::Enumeration)]
 | |
| #[repr(u32)]
 | |
| #[cfg_attr(feature = "defmt", derive(defmt::Format))]
 | |
| pub enum CtrlWifiSecProt {
 | |
|     #[default]
 | |
|     Open = 0,
 | |
|     Wep = 1,
 | |
|     WpaPsk = 2,
 | |
|     Wpa2Psk = 3,
 | |
|     WpaWpa2Psk = 4,
 | |
|     Wpa2Enterprise = 5,
 | |
|     Wpa3Psk = 6,
 | |
|     Wpa2Wpa3Psk = 7,
 | |
| }
 | |
| 
 | |
| /// enums for Control path
 | |
| #[derive(Debug, Default, Clone, Copy, Eq, PartialEq, Hash, PartialOrd, Ord, noproto::Enumeration)]
 | |
| #[repr(u32)]
 | |
| #[cfg_attr(feature = "defmt", derive(defmt::Format))]
 | |
| pub(crate) enum CtrlStatus {
 | |
|     #[default]
 | |
|     Connected = 0,
 | |
|     NotConnected = 1,
 | |
|     NoApFound = 2,
 | |
|     ConnectionFail = 3,
 | |
|     InvalidArgument = 4,
 | |
|     OutOfRange = 5,
 | |
| }
 | |
| 
 | |
| #[derive(Debug, Default, Clone, Copy, Eq, PartialEq, Hash, PartialOrd, Ord, noproto::Enumeration)]
 | |
| #[repr(u32)]
 | |
| #[cfg_attr(feature = "defmt", derive(defmt::Format))]
 | |
| pub(crate) enum CtrlMsgType {
 | |
|     #[default]
 | |
|     MsgTypeInvalid = 0,
 | |
|     Req = 1,
 | |
|     Resp = 2,
 | |
|     Event = 3,
 | |
|     MsgTypeMax = 4,
 | |
| }
 | |
| 
 | |
| #[derive(Debug, Default, Clone, Copy, Eq, PartialEq, Hash, PartialOrd, Ord, noproto::Enumeration)]
 | |
| #[repr(u32)]
 | |
| #[cfg_attr(feature = "defmt", derive(defmt::Format))]
 | |
| pub(crate) enum CtrlMsgId {
 | |
|     #[default]
 | |
|     MsgIdInvalid = 0,
 | |
|     /// * Request Msgs *
 | |
|     ReqBase = 100,
 | |
|     ReqGetMacAddress = 101,
 | |
|     ReqSetMacAddress = 102,
 | |
|     ReqGetWifiMode = 103,
 | |
|     ReqSetWifiMode = 104,
 | |
|     ReqGetApScanList = 105,
 | |
|     ReqGetApConfig = 106,
 | |
|     ReqConnectAp = 107,
 | |
|     ReqDisconnectAp = 108,
 | |
|     ReqGetSoftApConfig = 109,
 | |
|     ReqSetSoftApVendorSpecificIe = 110,
 | |
|     ReqStartSoftAp = 111,
 | |
|     ReqGetSoftApConnectedStaList = 112,
 | |
|     ReqStopSoftAp = 113,
 | |
|     ReqSetPowerSaveMode = 114,
 | |
|     ReqGetPowerSaveMode = 115,
 | |
|     ReqOtaBegin = 116,
 | |
|     ReqOtaWrite = 117,
 | |
|     ReqOtaEnd = 118,
 | |
|     ReqSetWifiMaxTxPower = 119,
 | |
|     ReqGetWifiCurrTxPower = 120,
 | |
|     ReqConfigHeartbeat = 121,
 | |
|     /// Add new control path command response before Req_Max
 | |
|     /// and update Req_Max
 | |
|     ReqMax = 122,
 | |
|     /// * Response Msgs *
 | |
|     RespBase = 200,
 | |
|     RespGetMacAddress = 201,
 | |
|     RespSetMacAddress = 202,
 | |
|     RespGetWifiMode = 203,
 | |
|     RespSetWifiMode = 204,
 | |
|     RespGetApScanList = 205,
 | |
|     RespGetApConfig = 206,
 | |
|     RespConnectAp = 207,
 | |
|     RespDisconnectAp = 208,
 | |
|     RespGetSoftApConfig = 209,
 | |
|     RespSetSoftApVendorSpecificIe = 210,
 | |
|     RespStartSoftAp = 211,
 | |
|     RespGetSoftApConnectedStaList = 212,
 | |
|     RespStopSoftAp = 213,
 | |
|     RespSetPowerSaveMode = 214,
 | |
|     RespGetPowerSaveMode = 215,
 | |
|     RespOtaBegin = 216,
 | |
|     RespOtaWrite = 217,
 | |
|     RespOtaEnd = 218,
 | |
|     RespSetWifiMaxTxPower = 219,
 | |
|     RespGetWifiCurrTxPower = 220,
 | |
|     RespConfigHeartbeat = 221,
 | |
|     /// Add new control path command response before Resp_Max
 | |
|     /// and update Resp_Max
 | |
|     RespMax = 222,
 | |
|     /// * Event Msgs *
 | |
|     EventBase = 300,
 | |
|     EventEspInit = 301,
 | |
|     EventHeartbeat = 302,
 | |
|     EventStationDisconnectFromAp = 303,
 | |
|     EventStationDisconnectFromEspSoftAp = 304,
 | |
|     /// Add new control path command notification before Event_Max
 | |
|     /// and update Event_Max
 | |
|     EventMax = 305,
 | |
| }
 |