esp_hosted/
proto.rs

1#![allow(warnings)]
2#![allow(clippy::all)]
3
4#[derive(Debug, Default, PartialEq, Clone)]
5pub struct r#wifi_init_config {
6    pub r#static_rx_buf_num: i32,
7    pub r#dynamic_rx_buf_num: i32,
8    pub r#tx_buf_type: i32,
9    pub r#static_tx_buf_num: i32,
10    pub r#dynamic_tx_buf_num: i32,
11    pub r#cache_tx_buf_num: i32,
12    pub r#csi_enable: i32,
13    pub r#ampdu_rx_enable: i32,
14    pub r#ampdu_tx_enable: i32,
15    pub r#amsdu_tx_enable: i32,
16    pub r#nvs_enable: i32,
17    pub r#nano_enable: i32,
18    pub r#rx_ba_win: i32,
19    pub r#wifi_task_core_id: i32,
20    pub r#beacon_max_len: i32,
21    pub r#mgmt_sbuf_num: i32,
22    pub r#feature_caps: u64,
23    pub r#sta_disconnected_pm: bool,
24    pub r#espnow_max_encrypt_num: i32,
25    pub r#magic: i32,
26}
27impl r#wifi_init_config {
28    ///Return a reference to `static_rx_buf_num`
29    #[inline]
30    pub fn r#static_rx_buf_num(&self) -> &i32 {
31        &self.r#static_rx_buf_num
32    }
33    ///Return a mutable reference to `static_rx_buf_num`
34    #[inline]
35    pub fn mut_static_rx_buf_num(&mut self) -> &mut i32 {
36        &mut self.r#static_rx_buf_num
37    }
38    ///Set the value of `static_rx_buf_num`
39    #[inline]
40    pub fn set_static_rx_buf_num(&mut self, value: i32) -> &mut Self {
41        self.r#static_rx_buf_num = value.into();
42        self
43    }
44    ///Builder method that sets the value of `static_rx_buf_num`. Useful for initializing the message.
45    #[inline]
46    pub fn init_static_rx_buf_num(mut self, value: i32) -> Self {
47        self.r#static_rx_buf_num = value.into();
48        self
49    }
50    ///Return a reference to `dynamic_rx_buf_num`
51    #[inline]
52    pub fn r#dynamic_rx_buf_num(&self) -> &i32 {
53        &self.r#dynamic_rx_buf_num
54    }
55    ///Return a mutable reference to `dynamic_rx_buf_num`
56    #[inline]
57    pub fn mut_dynamic_rx_buf_num(&mut self) -> &mut i32 {
58        &mut self.r#dynamic_rx_buf_num
59    }
60    ///Set the value of `dynamic_rx_buf_num`
61    #[inline]
62    pub fn set_dynamic_rx_buf_num(&mut self, value: i32) -> &mut Self {
63        self.r#dynamic_rx_buf_num = value.into();
64        self
65    }
66    ///Builder method that sets the value of `dynamic_rx_buf_num`. Useful for initializing the message.
67    #[inline]
68    pub fn init_dynamic_rx_buf_num(mut self, value: i32) -> Self {
69        self.r#dynamic_rx_buf_num = value.into();
70        self
71    }
72    ///Return a reference to `tx_buf_type`
73    #[inline]
74    pub fn r#tx_buf_type(&self) -> &i32 {
75        &self.r#tx_buf_type
76    }
77    ///Return a mutable reference to `tx_buf_type`
78    #[inline]
79    pub fn mut_tx_buf_type(&mut self) -> &mut i32 {
80        &mut self.r#tx_buf_type
81    }
82    ///Set the value of `tx_buf_type`
83    #[inline]
84    pub fn set_tx_buf_type(&mut self, value: i32) -> &mut Self {
85        self.r#tx_buf_type = value.into();
86        self
87    }
88    ///Builder method that sets the value of `tx_buf_type`. Useful for initializing the message.
89    #[inline]
90    pub fn init_tx_buf_type(mut self, value: i32) -> Self {
91        self.r#tx_buf_type = value.into();
92        self
93    }
94    ///Return a reference to `static_tx_buf_num`
95    #[inline]
96    pub fn r#static_tx_buf_num(&self) -> &i32 {
97        &self.r#static_tx_buf_num
98    }
99    ///Return a mutable reference to `static_tx_buf_num`
100    #[inline]
101    pub fn mut_static_tx_buf_num(&mut self) -> &mut i32 {
102        &mut self.r#static_tx_buf_num
103    }
104    ///Set the value of `static_tx_buf_num`
105    #[inline]
106    pub fn set_static_tx_buf_num(&mut self, value: i32) -> &mut Self {
107        self.r#static_tx_buf_num = value.into();
108        self
109    }
110    ///Builder method that sets the value of `static_tx_buf_num`. Useful for initializing the message.
111    #[inline]
112    pub fn init_static_tx_buf_num(mut self, value: i32) -> Self {
113        self.r#static_tx_buf_num = value.into();
114        self
115    }
116    ///Return a reference to `dynamic_tx_buf_num`
117    #[inline]
118    pub fn r#dynamic_tx_buf_num(&self) -> &i32 {
119        &self.r#dynamic_tx_buf_num
120    }
121    ///Return a mutable reference to `dynamic_tx_buf_num`
122    #[inline]
123    pub fn mut_dynamic_tx_buf_num(&mut self) -> &mut i32 {
124        &mut self.r#dynamic_tx_buf_num
125    }
126    ///Set the value of `dynamic_tx_buf_num`
127    #[inline]
128    pub fn set_dynamic_tx_buf_num(&mut self, value: i32) -> &mut Self {
129        self.r#dynamic_tx_buf_num = value.into();
130        self
131    }
132    ///Builder method that sets the value of `dynamic_tx_buf_num`. Useful for initializing the message.
133    #[inline]
134    pub fn init_dynamic_tx_buf_num(mut self, value: i32) -> Self {
135        self.r#dynamic_tx_buf_num = value.into();
136        self
137    }
138    ///Return a reference to `cache_tx_buf_num`
139    #[inline]
140    pub fn r#cache_tx_buf_num(&self) -> &i32 {
141        &self.r#cache_tx_buf_num
142    }
143    ///Return a mutable reference to `cache_tx_buf_num`
144    #[inline]
145    pub fn mut_cache_tx_buf_num(&mut self) -> &mut i32 {
146        &mut self.r#cache_tx_buf_num
147    }
148    ///Set the value of `cache_tx_buf_num`
149    #[inline]
150    pub fn set_cache_tx_buf_num(&mut self, value: i32) -> &mut Self {
151        self.r#cache_tx_buf_num = value.into();
152        self
153    }
154    ///Builder method that sets the value of `cache_tx_buf_num`. Useful for initializing the message.
155    #[inline]
156    pub fn init_cache_tx_buf_num(mut self, value: i32) -> Self {
157        self.r#cache_tx_buf_num = value.into();
158        self
159    }
160    ///Return a reference to `csi_enable`
161    #[inline]
162    pub fn r#csi_enable(&self) -> &i32 {
163        &self.r#csi_enable
164    }
165    ///Return a mutable reference to `csi_enable`
166    #[inline]
167    pub fn mut_csi_enable(&mut self) -> &mut i32 {
168        &mut self.r#csi_enable
169    }
170    ///Set the value of `csi_enable`
171    #[inline]
172    pub fn set_csi_enable(&mut self, value: i32) -> &mut Self {
173        self.r#csi_enable = value.into();
174        self
175    }
176    ///Builder method that sets the value of `csi_enable`. Useful for initializing the message.
177    #[inline]
178    pub fn init_csi_enable(mut self, value: i32) -> Self {
179        self.r#csi_enable = value.into();
180        self
181    }
182    ///Return a reference to `ampdu_rx_enable`
183    #[inline]
184    pub fn r#ampdu_rx_enable(&self) -> &i32 {
185        &self.r#ampdu_rx_enable
186    }
187    ///Return a mutable reference to `ampdu_rx_enable`
188    #[inline]
189    pub fn mut_ampdu_rx_enable(&mut self) -> &mut i32 {
190        &mut self.r#ampdu_rx_enable
191    }
192    ///Set the value of `ampdu_rx_enable`
193    #[inline]
194    pub fn set_ampdu_rx_enable(&mut self, value: i32) -> &mut Self {
195        self.r#ampdu_rx_enable = value.into();
196        self
197    }
198    ///Builder method that sets the value of `ampdu_rx_enable`. Useful for initializing the message.
199    #[inline]
200    pub fn init_ampdu_rx_enable(mut self, value: i32) -> Self {
201        self.r#ampdu_rx_enable = value.into();
202        self
203    }
204    ///Return a reference to `ampdu_tx_enable`
205    #[inline]
206    pub fn r#ampdu_tx_enable(&self) -> &i32 {
207        &self.r#ampdu_tx_enable
208    }
209    ///Return a mutable reference to `ampdu_tx_enable`
210    #[inline]
211    pub fn mut_ampdu_tx_enable(&mut self) -> &mut i32 {
212        &mut self.r#ampdu_tx_enable
213    }
214    ///Set the value of `ampdu_tx_enable`
215    #[inline]
216    pub fn set_ampdu_tx_enable(&mut self, value: i32) -> &mut Self {
217        self.r#ampdu_tx_enable = value.into();
218        self
219    }
220    ///Builder method that sets the value of `ampdu_tx_enable`. Useful for initializing the message.
221    #[inline]
222    pub fn init_ampdu_tx_enable(mut self, value: i32) -> Self {
223        self.r#ampdu_tx_enable = value.into();
224        self
225    }
226    ///Return a reference to `amsdu_tx_enable`
227    #[inline]
228    pub fn r#amsdu_tx_enable(&self) -> &i32 {
229        &self.r#amsdu_tx_enable
230    }
231    ///Return a mutable reference to `amsdu_tx_enable`
232    #[inline]
233    pub fn mut_amsdu_tx_enable(&mut self) -> &mut i32 {
234        &mut self.r#amsdu_tx_enable
235    }
236    ///Set the value of `amsdu_tx_enable`
237    #[inline]
238    pub fn set_amsdu_tx_enable(&mut self, value: i32) -> &mut Self {
239        self.r#amsdu_tx_enable = value.into();
240        self
241    }
242    ///Builder method that sets the value of `amsdu_tx_enable`. Useful for initializing the message.
243    #[inline]
244    pub fn init_amsdu_tx_enable(mut self, value: i32) -> Self {
245        self.r#amsdu_tx_enable = value.into();
246        self
247    }
248    ///Return a reference to `nvs_enable`
249    #[inline]
250    pub fn r#nvs_enable(&self) -> &i32 {
251        &self.r#nvs_enable
252    }
253    ///Return a mutable reference to `nvs_enable`
254    #[inline]
255    pub fn mut_nvs_enable(&mut self) -> &mut i32 {
256        &mut self.r#nvs_enable
257    }
258    ///Set the value of `nvs_enable`
259    #[inline]
260    pub fn set_nvs_enable(&mut self, value: i32) -> &mut Self {
261        self.r#nvs_enable = value.into();
262        self
263    }
264    ///Builder method that sets the value of `nvs_enable`. Useful for initializing the message.
265    #[inline]
266    pub fn init_nvs_enable(mut self, value: i32) -> Self {
267        self.r#nvs_enable = value.into();
268        self
269    }
270    ///Return a reference to `nano_enable`
271    #[inline]
272    pub fn r#nano_enable(&self) -> &i32 {
273        &self.r#nano_enable
274    }
275    ///Return a mutable reference to `nano_enable`
276    #[inline]
277    pub fn mut_nano_enable(&mut self) -> &mut i32 {
278        &mut self.r#nano_enable
279    }
280    ///Set the value of `nano_enable`
281    #[inline]
282    pub fn set_nano_enable(&mut self, value: i32) -> &mut Self {
283        self.r#nano_enable = value.into();
284        self
285    }
286    ///Builder method that sets the value of `nano_enable`. Useful for initializing the message.
287    #[inline]
288    pub fn init_nano_enable(mut self, value: i32) -> Self {
289        self.r#nano_enable = value.into();
290        self
291    }
292    ///Return a reference to `rx_ba_win`
293    #[inline]
294    pub fn r#rx_ba_win(&self) -> &i32 {
295        &self.r#rx_ba_win
296    }
297    ///Return a mutable reference to `rx_ba_win`
298    #[inline]
299    pub fn mut_rx_ba_win(&mut self) -> &mut i32 {
300        &mut self.r#rx_ba_win
301    }
302    ///Set the value of `rx_ba_win`
303    #[inline]
304    pub fn set_rx_ba_win(&mut self, value: i32) -> &mut Self {
305        self.r#rx_ba_win = value.into();
306        self
307    }
308    ///Builder method that sets the value of `rx_ba_win`. Useful for initializing the message.
309    #[inline]
310    pub fn init_rx_ba_win(mut self, value: i32) -> Self {
311        self.r#rx_ba_win = value.into();
312        self
313    }
314    ///Return a reference to `wifi_task_core_id`
315    #[inline]
316    pub fn r#wifi_task_core_id(&self) -> &i32 {
317        &self.r#wifi_task_core_id
318    }
319    ///Return a mutable reference to `wifi_task_core_id`
320    #[inline]
321    pub fn mut_wifi_task_core_id(&mut self) -> &mut i32 {
322        &mut self.r#wifi_task_core_id
323    }
324    ///Set the value of `wifi_task_core_id`
325    #[inline]
326    pub fn set_wifi_task_core_id(&mut self, value: i32) -> &mut Self {
327        self.r#wifi_task_core_id = value.into();
328        self
329    }
330    ///Builder method that sets the value of `wifi_task_core_id`. Useful for initializing the message.
331    #[inline]
332    pub fn init_wifi_task_core_id(mut self, value: i32) -> Self {
333        self.r#wifi_task_core_id = value.into();
334        self
335    }
336    ///Return a reference to `beacon_max_len`
337    #[inline]
338    pub fn r#beacon_max_len(&self) -> &i32 {
339        &self.r#beacon_max_len
340    }
341    ///Return a mutable reference to `beacon_max_len`
342    #[inline]
343    pub fn mut_beacon_max_len(&mut self) -> &mut i32 {
344        &mut self.r#beacon_max_len
345    }
346    ///Set the value of `beacon_max_len`
347    #[inline]
348    pub fn set_beacon_max_len(&mut self, value: i32) -> &mut Self {
349        self.r#beacon_max_len = value.into();
350        self
351    }
352    ///Builder method that sets the value of `beacon_max_len`. Useful for initializing the message.
353    #[inline]
354    pub fn init_beacon_max_len(mut self, value: i32) -> Self {
355        self.r#beacon_max_len = value.into();
356        self
357    }
358    ///Return a reference to `mgmt_sbuf_num`
359    #[inline]
360    pub fn r#mgmt_sbuf_num(&self) -> &i32 {
361        &self.r#mgmt_sbuf_num
362    }
363    ///Return a mutable reference to `mgmt_sbuf_num`
364    #[inline]
365    pub fn mut_mgmt_sbuf_num(&mut self) -> &mut i32 {
366        &mut self.r#mgmt_sbuf_num
367    }
368    ///Set the value of `mgmt_sbuf_num`
369    #[inline]
370    pub fn set_mgmt_sbuf_num(&mut self, value: i32) -> &mut Self {
371        self.r#mgmt_sbuf_num = value.into();
372        self
373    }
374    ///Builder method that sets the value of `mgmt_sbuf_num`. Useful for initializing the message.
375    #[inline]
376    pub fn init_mgmt_sbuf_num(mut self, value: i32) -> Self {
377        self.r#mgmt_sbuf_num = value.into();
378        self
379    }
380    ///Return a reference to `feature_caps`
381    #[inline]
382    pub fn r#feature_caps(&self) -> &u64 {
383        &self.r#feature_caps
384    }
385    ///Return a mutable reference to `feature_caps`
386    #[inline]
387    pub fn mut_feature_caps(&mut self) -> &mut u64 {
388        &mut self.r#feature_caps
389    }
390    ///Set the value of `feature_caps`
391    #[inline]
392    pub fn set_feature_caps(&mut self, value: u64) -> &mut Self {
393        self.r#feature_caps = value.into();
394        self
395    }
396    ///Builder method that sets the value of `feature_caps`. Useful for initializing the message.
397    #[inline]
398    pub fn init_feature_caps(mut self, value: u64) -> Self {
399        self.r#feature_caps = value.into();
400        self
401    }
402    ///Return a reference to `sta_disconnected_pm`
403    #[inline]
404    pub fn r#sta_disconnected_pm(&self) -> &bool {
405        &self.r#sta_disconnected_pm
406    }
407    ///Return a mutable reference to `sta_disconnected_pm`
408    #[inline]
409    pub fn mut_sta_disconnected_pm(&mut self) -> &mut bool {
410        &mut self.r#sta_disconnected_pm
411    }
412    ///Set the value of `sta_disconnected_pm`
413    #[inline]
414    pub fn set_sta_disconnected_pm(&mut self, value: bool) -> &mut Self {
415        self.r#sta_disconnected_pm = value.into();
416        self
417    }
418    ///Builder method that sets the value of `sta_disconnected_pm`. Useful for initializing the message.
419    #[inline]
420    pub fn init_sta_disconnected_pm(mut self, value: bool) -> Self {
421        self.r#sta_disconnected_pm = value.into();
422        self
423    }
424    ///Return a reference to `espnow_max_encrypt_num`
425    #[inline]
426    pub fn r#espnow_max_encrypt_num(&self) -> &i32 {
427        &self.r#espnow_max_encrypt_num
428    }
429    ///Return a mutable reference to `espnow_max_encrypt_num`
430    #[inline]
431    pub fn mut_espnow_max_encrypt_num(&mut self) -> &mut i32 {
432        &mut self.r#espnow_max_encrypt_num
433    }
434    ///Set the value of `espnow_max_encrypt_num`
435    #[inline]
436    pub fn set_espnow_max_encrypt_num(&mut self, value: i32) -> &mut Self {
437        self.r#espnow_max_encrypt_num = value.into();
438        self
439    }
440    ///Builder method that sets the value of `espnow_max_encrypt_num`. Useful for initializing the message.
441    #[inline]
442    pub fn init_espnow_max_encrypt_num(mut self, value: i32) -> Self {
443        self.r#espnow_max_encrypt_num = value.into();
444        self
445    }
446    ///Return a reference to `magic`
447    #[inline]
448    pub fn r#magic(&self) -> &i32 {
449        &self.r#magic
450    }
451    ///Return a mutable reference to `magic`
452    #[inline]
453    pub fn mut_magic(&mut self) -> &mut i32 {
454        &mut self.r#magic
455    }
456    ///Set the value of `magic`
457    #[inline]
458    pub fn set_magic(&mut self, value: i32) -> &mut Self {
459        self.r#magic = value.into();
460        self
461    }
462    ///Builder method that sets the value of `magic`. Useful for initializing the message.
463    #[inline]
464    pub fn init_magic(mut self, value: i32) -> Self {
465        self.r#magic = value.into();
466        self
467    }
468}
469impl ::micropb::MessageDecode for r#wifi_init_config {
470    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
471        &mut self,
472        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
473        len: usize,
474    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
475        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
476        let before = decoder.bytes_read();
477        while decoder.bytes_read() - before < len {
478            let tag = decoder.decode_tag()?;
479            match tag.field_num() {
480                0 => return Err(::micropb::DecodeError::ZeroField),
481                1u32 => {
482                    let mut_ref = &mut self.r#static_rx_buf_num;
483                    {
484                        let val = decoder.decode_int32()?;
485                        let val_ref = &val;
486                        if *val_ref != 0 {
487                            *mut_ref = val as _;
488                        }
489                    };
490                }
491                2u32 => {
492                    let mut_ref = &mut self.r#dynamic_rx_buf_num;
493                    {
494                        let val = decoder.decode_int32()?;
495                        let val_ref = &val;
496                        if *val_ref != 0 {
497                            *mut_ref = val as _;
498                        }
499                    };
500                }
501                3u32 => {
502                    let mut_ref = &mut self.r#tx_buf_type;
503                    {
504                        let val = decoder.decode_int32()?;
505                        let val_ref = &val;
506                        if *val_ref != 0 {
507                            *mut_ref = val as _;
508                        }
509                    };
510                }
511                4u32 => {
512                    let mut_ref = &mut self.r#static_tx_buf_num;
513                    {
514                        let val = decoder.decode_int32()?;
515                        let val_ref = &val;
516                        if *val_ref != 0 {
517                            *mut_ref = val as _;
518                        }
519                    };
520                }
521                5u32 => {
522                    let mut_ref = &mut self.r#dynamic_tx_buf_num;
523                    {
524                        let val = decoder.decode_int32()?;
525                        let val_ref = &val;
526                        if *val_ref != 0 {
527                            *mut_ref = val as _;
528                        }
529                    };
530                }
531                6u32 => {
532                    let mut_ref = &mut self.r#cache_tx_buf_num;
533                    {
534                        let val = decoder.decode_int32()?;
535                        let val_ref = &val;
536                        if *val_ref != 0 {
537                            *mut_ref = val as _;
538                        }
539                    };
540                }
541                7u32 => {
542                    let mut_ref = &mut self.r#csi_enable;
543                    {
544                        let val = decoder.decode_int32()?;
545                        let val_ref = &val;
546                        if *val_ref != 0 {
547                            *mut_ref = val as _;
548                        }
549                    };
550                }
551                8u32 => {
552                    let mut_ref = &mut self.r#ampdu_rx_enable;
553                    {
554                        let val = decoder.decode_int32()?;
555                        let val_ref = &val;
556                        if *val_ref != 0 {
557                            *mut_ref = val as _;
558                        }
559                    };
560                }
561                9u32 => {
562                    let mut_ref = &mut self.r#ampdu_tx_enable;
563                    {
564                        let val = decoder.decode_int32()?;
565                        let val_ref = &val;
566                        if *val_ref != 0 {
567                            *mut_ref = val as _;
568                        }
569                    };
570                }
571                10u32 => {
572                    let mut_ref = &mut self.r#amsdu_tx_enable;
573                    {
574                        let val = decoder.decode_int32()?;
575                        let val_ref = &val;
576                        if *val_ref != 0 {
577                            *mut_ref = val as _;
578                        }
579                    };
580                }
581                11u32 => {
582                    let mut_ref = &mut self.r#nvs_enable;
583                    {
584                        let val = decoder.decode_int32()?;
585                        let val_ref = &val;
586                        if *val_ref != 0 {
587                            *mut_ref = val as _;
588                        }
589                    };
590                }
591                12u32 => {
592                    let mut_ref = &mut self.r#nano_enable;
593                    {
594                        let val = decoder.decode_int32()?;
595                        let val_ref = &val;
596                        if *val_ref != 0 {
597                            *mut_ref = val as _;
598                        }
599                    };
600                }
601                13u32 => {
602                    let mut_ref = &mut self.r#rx_ba_win;
603                    {
604                        let val = decoder.decode_int32()?;
605                        let val_ref = &val;
606                        if *val_ref != 0 {
607                            *mut_ref = val as _;
608                        }
609                    };
610                }
611                14u32 => {
612                    let mut_ref = &mut self.r#wifi_task_core_id;
613                    {
614                        let val = decoder.decode_int32()?;
615                        let val_ref = &val;
616                        if *val_ref != 0 {
617                            *mut_ref = val as _;
618                        }
619                    };
620                }
621                15u32 => {
622                    let mut_ref = &mut self.r#beacon_max_len;
623                    {
624                        let val = decoder.decode_int32()?;
625                        let val_ref = &val;
626                        if *val_ref != 0 {
627                            *mut_ref = val as _;
628                        }
629                    };
630                }
631                16u32 => {
632                    let mut_ref = &mut self.r#mgmt_sbuf_num;
633                    {
634                        let val = decoder.decode_int32()?;
635                        let val_ref = &val;
636                        if *val_ref != 0 {
637                            *mut_ref = val as _;
638                        }
639                    };
640                }
641                17u32 => {
642                    let mut_ref = &mut self.r#feature_caps;
643                    {
644                        let val = decoder.decode_varint64()?;
645                        let val_ref = &val;
646                        if *val_ref != 0 {
647                            *mut_ref = val as _;
648                        }
649                    };
650                }
651                18u32 => {
652                    let mut_ref = &mut self.r#sta_disconnected_pm;
653                    {
654                        let val = decoder.decode_bool()?;
655                        let val_ref = &val;
656                        if *val_ref {
657                            *mut_ref = val as _;
658                        }
659                    };
660                }
661                19u32 => {
662                    let mut_ref = &mut self.r#espnow_max_encrypt_num;
663                    {
664                        let val = decoder.decode_int32()?;
665                        let val_ref = &val;
666                        if *val_ref != 0 {
667                            *mut_ref = val as _;
668                        }
669                    };
670                }
671                20u32 => {
672                    let mut_ref = &mut self.r#magic;
673                    {
674                        let val = decoder.decode_int32()?;
675                        let val_ref = &val;
676                        if *val_ref != 0 {
677                            *mut_ref = val as _;
678                        }
679                    };
680                }
681                _ => {
682                    decoder.skip_wire_value(tag.wire_type())?;
683                }
684            }
685        }
686        Ok(())
687    }
688}
689impl ::micropb::MessageEncode for r#wifi_init_config {
690    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
691        let mut max_size = 0;
692        if let ::core::option::Option::Some(size) =
693            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
694        {
695            max_size += size;
696        } else {
697            break 'msg (::core::option::Option::<usize>::None);
698        };
699        if let ::core::option::Option::Some(size) =
700            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
701        {
702            max_size += size;
703        } else {
704            break 'msg (::core::option::Option::<usize>::None);
705        };
706        if let ::core::option::Option::Some(size) =
707            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
708        {
709            max_size += size;
710        } else {
711            break 'msg (::core::option::Option::<usize>::None);
712        };
713        if let ::core::option::Option::Some(size) =
714            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
715        {
716            max_size += size;
717        } else {
718            break 'msg (::core::option::Option::<usize>::None);
719        };
720        if let ::core::option::Option::Some(size) =
721            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
722        {
723            max_size += size;
724        } else {
725            break 'msg (::core::option::Option::<usize>::None);
726        };
727        if let ::core::option::Option::Some(size) =
728            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
729        {
730            max_size += size;
731        } else {
732            break 'msg (::core::option::Option::<usize>::None);
733        };
734        if let ::core::option::Option::Some(size) =
735            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
736        {
737            max_size += size;
738        } else {
739            break 'msg (::core::option::Option::<usize>::None);
740        };
741        if let ::core::option::Option::Some(size) =
742            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
743        {
744            max_size += size;
745        } else {
746            break 'msg (::core::option::Option::<usize>::None);
747        };
748        if let ::core::option::Option::Some(size) =
749            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
750        {
751            max_size += size;
752        } else {
753            break 'msg (::core::option::Option::<usize>::None);
754        };
755        if let ::core::option::Option::Some(size) =
756            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
757        {
758            max_size += size;
759        } else {
760            break 'msg (::core::option::Option::<usize>::None);
761        };
762        if let ::core::option::Option::Some(size) =
763            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
764        {
765            max_size += size;
766        } else {
767            break 'msg (::core::option::Option::<usize>::None);
768        };
769        if let ::core::option::Option::Some(size) =
770            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
771        {
772            max_size += size;
773        } else {
774            break 'msg (::core::option::Option::<usize>::None);
775        };
776        if let ::core::option::Option::Some(size) =
777            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
778        {
779            max_size += size;
780        } else {
781            break 'msg (::core::option::Option::<usize>::None);
782        };
783        if let ::core::option::Option::Some(size) =
784            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
785        {
786            max_size += size;
787        } else {
788            break 'msg (::core::option::Option::<usize>::None);
789        };
790        if let ::core::option::Option::Some(size) =
791            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
792        {
793            max_size += size;
794        } else {
795            break 'msg (::core::option::Option::<usize>::None);
796        };
797        if let ::core::option::Option::Some(size) =
798            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 2usize)
799        {
800            max_size += size;
801        } else {
802            break 'msg (::core::option::Option::<usize>::None);
803        };
804        if let ::core::option::Option::Some(size) =
805            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 2usize)
806        {
807            max_size += size;
808        } else {
809            break 'msg (::core::option::Option::<usize>::None);
810        };
811        if let ::core::option::Option::Some(size) =
812            ::micropb::const_map!(::core::option::Option::Some(1usize), |size| size + 2usize)
813        {
814            max_size += size;
815        } else {
816            break 'msg (::core::option::Option::<usize>::None);
817        };
818        if let ::core::option::Option::Some(size) =
819            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 2usize)
820        {
821            max_size += size;
822        } else {
823            break 'msg (::core::option::Option::<usize>::None);
824        };
825        if let ::core::option::Option::Some(size) =
826            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 2usize)
827        {
828            max_size += size;
829        } else {
830            break 'msg (::core::option::Option::<usize>::None);
831        };
832        ::core::option::Option::Some(max_size)
833    };
834    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
835        &self,
836        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
837    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
838        use ::micropb::{FieldEncode, PbMap};
839        {
840            let val_ref = &self.r#static_rx_buf_num;
841            if *val_ref != 0 {
842                encoder.encode_varint32(8u32)?;
843                encoder.encode_int32(*val_ref as _)?;
844            }
845        }
846        {
847            let val_ref = &self.r#dynamic_rx_buf_num;
848            if *val_ref != 0 {
849                encoder.encode_varint32(16u32)?;
850                encoder.encode_int32(*val_ref as _)?;
851            }
852        }
853        {
854            let val_ref = &self.r#tx_buf_type;
855            if *val_ref != 0 {
856                encoder.encode_varint32(24u32)?;
857                encoder.encode_int32(*val_ref as _)?;
858            }
859        }
860        {
861            let val_ref = &self.r#static_tx_buf_num;
862            if *val_ref != 0 {
863                encoder.encode_varint32(32u32)?;
864                encoder.encode_int32(*val_ref as _)?;
865            }
866        }
867        {
868            let val_ref = &self.r#dynamic_tx_buf_num;
869            if *val_ref != 0 {
870                encoder.encode_varint32(40u32)?;
871                encoder.encode_int32(*val_ref as _)?;
872            }
873        }
874        {
875            let val_ref = &self.r#cache_tx_buf_num;
876            if *val_ref != 0 {
877                encoder.encode_varint32(48u32)?;
878                encoder.encode_int32(*val_ref as _)?;
879            }
880        }
881        {
882            let val_ref = &self.r#csi_enable;
883            if *val_ref != 0 {
884                encoder.encode_varint32(56u32)?;
885                encoder.encode_int32(*val_ref as _)?;
886            }
887        }
888        {
889            let val_ref = &self.r#ampdu_rx_enable;
890            if *val_ref != 0 {
891                encoder.encode_varint32(64u32)?;
892                encoder.encode_int32(*val_ref as _)?;
893            }
894        }
895        {
896            let val_ref = &self.r#ampdu_tx_enable;
897            if *val_ref != 0 {
898                encoder.encode_varint32(72u32)?;
899                encoder.encode_int32(*val_ref as _)?;
900            }
901        }
902        {
903            let val_ref = &self.r#amsdu_tx_enable;
904            if *val_ref != 0 {
905                encoder.encode_varint32(80u32)?;
906                encoder.encode_int32(*val_ref as _)?;
907            }
908        }
909        {
910            let val_ref = &self.r#nvs_enable;
911            if *val_ref != 0 {
912                encoder.encode_varint32(88u32)?;
913                encoder.encode_int32(*val_ref as _)?;
914            }
915        }
916        {
917            let val_ref = &self.r#nano_enable;
918            if *val_ref != 0 {
919                encoder.encode_varint32(96u32)?;
920                encoder.encode_int32(*val_ref as _)?;
921            }
922        }
923        {
924            let val_ref = &self.r#rx_ba_win;
925            if *val_ref != 0 {
926                encoder.encode_varint32(104u32)?;
927                encoder.encode_int32(*val_ref as _)?;
928            }
929        }
930        {
931            let val_ref = &self.r#wifi_task_core_id;
932            if *val_ref != 0 {
933                encoder.encode_varint32(112u32)?;
934                encoder.encode_int32(*val_ref as _)?;
935            }
936        }
937        {
938            let val_ref = &self.r#beacon_max_len;
939            if *val_ref != 0 {
940                encoder.encode_varint32(120u32)?;
941                encoder.encode_int32(*val_ref as _)?;
942            }
943        }
944        {
945            let val_ref = &self.r#mgmt_sbuf_num;
946            if *val_ref != 0 {
947                encoder.encode_varint32(128u32)?;
948                encoder.encode_int32(*val_ref as _)?;
949            }
950        }
951        {
952            let val_ref = &self.r#feature_caps;
953            if *val_ref != 0 {
954                encoder.encode_varint32(136u32)?;
955                encoder.encode_varint64(*val_ref as _)?;
956            }
957        }
958        {
959            let val_ref = &self.r#sta_disconnected_pm;
960            if *val_ref {
961                encoder.encode_varint32(144u32)?;
962                encoder.encode_bool(*val_ref)?;
963            }
964        }
965        {
966            let val_ref = &self.r#espnow_max_encrypt_num;
967            if *val_ref != 0 {
968                encoder.encode_varint32(152u32)?;
969                encoder.encode_int32(*val_ref as _)?;
970            }
971        }
972        {
973            let val_ref = &self.r#magic;
974            if *val_ref != 0 {
975                encoder.encode_varint32(160u32)?;
976                encoder.encode_int32(*val_ref as _)?;
977            }
978        }
979        Ok(())
980    }
981    fn compute_size(&self) -> usize {
982        use ::micropb::{FieldEncode, PbMap};
983        let mut size = 0;
984        {
985            let val_ref = &self.r#static_rx_buf_num;
986            if *val_ref != 0 {
987                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
988            }
989        }
990        {
991            let val_ref = &self.r#dynamic_rx_buf_num;
992            if *val_ref != 0 {
993                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
994            }
995        }
996        {
997            let val_ref = &self.r#tx_buf_type;
998            if *val_ref != 0 {
999                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
1000            }
1001        }
1002        {
1003            let val_ref = &self.r#static_tx_buf_num;
1004            if *val_ref != 0 {
1005                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
1006            }
1007        }
1008        {
1009            let val_ref = &self.r#dynamic_tx_buf_num;
1010            if *val_ref != 0 {
1011                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
1012            }
1013        }
1014        {
1015            let val_ref = &self.r#cache_tx_buf_num;
1016            if *val_ref != 0 {
1017                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
1018            }
1019        }
1020        {
1021            let val_ref = &self.r#csi_enable;
1022            if *val_ref != 0 {
1023                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
1024            }
1025        }
1026        {
1027            let val_ref = &self.r#ampdu_rx_enable;
1028            if *val_ref != 0 {
1029                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
1030            }
1031        }
1032        {
1033            let val_ref = &self.r#ampdu_tx_enable;
1034            if *val_ref != 0 {
1035                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
1036            }
1037        }
1038        {
1039            let val_ref = &self.r#amsdu_tx_enable;
1040            if *val_ref != 0 {
1041                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
1042            }
1043        }
1044        {
1045            let val_ref = &self.r#nvs_enable;
1046            if *val_ref != 0 {
1047                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
1048            }
1049        }
1050        {
1051            let val_ref = &self.r#nano_enable;
1052            if *val_ref != 0 {
1053                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
1054            }
1055        }
1056        {
1057            let val_ref = &self.r#rx_ba_win;
1058            if *val_ref != 0 {
1059                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
1060            }
1061        }
1062        {
1063            let val_ref = &self.r#wifi_task_core_id;
1064            if *val_ref != 0 {
1065                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
1066            }
1067        }
1068        {
1069            let val_ref = &self.r#beacon_max_len;
1070            if *val_ref != 0 {
1071                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
1072            }
1073        }
1074        {
1075            let val_ref = &self.r#mgmt_sbuf_num;
1076            if *val_ref != 0 {
1077                size += 2usize + ::micropb::size::sizeof_int32(*val_ref as _);
1078            }
1079        }
1080        {
1081            let val_ref = &self.r#feature_caps;
1082            if *val_ref != 0 {
1083                size += 2usize + ::micropb::size::sizeof_varint64(*val_ref as _);
1084            }
1085        }
1086        {
1087            let val_ref = &self.r#sta_disconnected_pm;
1088            if *val_ref {
1089                size += 2usize + 1;
1090            }
1091        }
1092        {
1093            let val_ref = &self.r#espnow_max_encrypt_num;
1094            if *val_ref != 0 {
1095                size += 2usize + ::micropb::size::sizeof_int32(*val_ref as _);
1096            }
1097        }
1098        {
1099            let val_ref = &self.r#magic;
1100            if *val_ref != 0 {
1101                size += 2usize + ::micropb::size::sizeof_int32(*val_ref as _);
1102            }
1103        }
1104        size
1105    }
1106}
1107#[derive(Debug, Default, PartialEq, Clone)]
1108pub struct r#wifi_country {
1109    pub r#cc: ::micropb::heapless::Vec<u8, 3>,
1110    pub r#schan: u32,
1111    pub r#nchan: u32,
1112    pub r#max_tx_power: i32,
1113    pub r#policy: i32,
1114}
1115impl r#wifi_country {
1116    ///Return a reference to `cc`
1117    #[inline]
1118    pub fn r#cc(&self) -> &::micropb::heapless::Vec<u8, 3> {
1119        &self.r#cc
1120    }
1121    ///Return a mutable reference to `cc`
1122    #[inline]
1123    pub fn mut_cc(&mut self) -> &mut ::micropb::heapless::Vec<u8, 3> {
1124        &mut self.r#cc
1125    }
1126    ///Set the value of `cc`
1127    #[inline]
1128    pub fn set_cc(&mut self, value: ::micropb::heapless::Vec<u8, 3>) -> &mut Self {
1129        self.r#cc = value.into();
1130        self
1131    }
1132    ///Builder method that sets the value of `cc`. Useful for initializing the message.
1133    #[inline]
1134    pub fn init_cc(mut self, value: ::micropb::heapless::Vec<u8, 3>) -> Self {
1135        self.r#cc = value.into();
1136        self
1137    }
1138    ///Return a reference to `schan`
1139    #[inline]
1140    pub fn r#schan(&self) -> &u32 {
1141        &self.r#schan
1142    }
1143    ///Return a mutable reference to `schan`
1144    #[inline]
1145    pub fn mut_schan(&mut self) -> &mut u32 {
1146        &mut self.r#schan
1147    }
1148    ///Set the value of `schan`
1149    #[inline]
1150    pub fn set_schan(&mut self, value: u32) -> &mut Self {
1151        self.r#schan = value.into();
1152        self
1153    }
1154    ///Builder method that sets the value of `schan`. Useful for initializing the message.
1155    #[inline]
1156    pub fn init_schan(mut self, value: u32) -> Self {
1157        self.r#schan = value.into();
1158        self
1159    }
1160    ///Return a reference to `nchan`
1161    #[inline]
1162    pub fn r#nchan(&self) -> &u32 {
1163        &self.r#nchan
1164    }
1165    ///Return a mutable reference to `nchan`
1166    #[inline]
1167    pub fn mut_nchan(&mut self) -> &mut u32 {
1168        &mut self.r#nchan
1169    }
1170    ///Set the value of `nchan`
1171    #[inline]
1172    pub fn set_nchan(&mut self, value: u32) -> &mut Self {
1173        self.r#nchan = value.into();
1174        self
1175    }
1176    ///Builder method that sets the value of `nchan`. Useful for initializing the message.
1177    #[inline]
1178    pub fn init_nchan(mut self, value: u32) -> Self {
1179        self.r#nchan = value.into();
1180        self
1181    }
1182    ///Return a reference to `max_tx_power`
1183    #[inline]
1184    pub fn r#max_tx_power(&self) -> &i32 {
1185        &self.r#max_tx_power
1186    }
1187    ///Return a mutable reference to `max_tx_power`
1188    #[inline]
1189    pub fn mut_max_tx_power(&mut self) -> &mut i32 {
1190        &mut self.r#max_tx_power
1191    }
1192    ///Set the value of `max_tx_power`
1193    #[inline]
1194    pub fn set_max_tx_power(&mut self, value: i32) -> &mut Self {
1195        self.r#max_tx_power = value.into();
1196        self
1197    }
1198    ///Builder method that sets the value of `max_tx_power`. Useful for initializing the message.
1199    #[inline]
1200    pub fn init_max_tx_power(mut self, value: i32) -> Self {
1201        self.r#max_tx_power = value.into();
1202        self
1203    }
1204    ///Return a reference to `policy`
1205    #[inline]
1206    pub fn r#policy(&self) -> &i32 {
1207        &self.r#policy
1208    }
1209    ///Return a mutable reference to `policy`
1210    #[inline]
1211    pub fn mut_policy(&mut self) -> &mut i32 {
1212        &mut self.r#policy
1213    }
1214    ///Set the value of `policy`
1215    #[inline]
1216    pub fn set_policy(&mut self, value: i32) -> &mut Self {
1217        self.r#policy = value.into();
1218        self
1219    }
1220    ///Builder method that sets the value of `policy`. Useful for initializing the message.
1221    #[inline]
1222    pub fn init_policy(mut self, value: i32) -> Self {
1223        self.r#policy = value.into();
1224        self
1225    }
1226}
1227impl ::micropb::MessageDecode for r#wifi_country {
1228    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
1229        &mut self,
1230        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
1231        len: usize,
1232    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
1233        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
1234        let before = decoder.bytes_read();
1235        while decoder.bytes_read() - before < len {
1236            let tag = decoder.decode_tag()?;
1237            match tag.field_num() {
1238                0 => return Err(::micropb::DecodeError::ZeroField),
1239                1u32 => {
1240                    let mut_ref = &mut self.r#cc;
1241                    {
1242                        decoder.decode_bytes(mut_ref, ::micropb::Presence::Implicit)?;
1243                    };
1244                }
1245                2u32 => {
1246                    let mut_ref = &mut self.r#schan;
1247                    {
1248                        let val = decoder.decode_varint32()?;
1249                        let val_ref = &val;
1250                        if *val_ref != 0 {
1251                            *mut_ref = val as _;
1252                        }
1253                    };
1254                }
1255                3u32 => {
1256                    let mut_ref = &mut self.r#nchan;
1257                    {
1258                        let val = decoder.decode_varint32()?;
1259                        let val_ref = &val;
1260                        if *val_ref != 0 {
1261                            *mut_ref = val as _;
1262                        }
1263                    };
1264                }
1265                4u32 => {
1266                    let mut_ref = &mut self.r#max_tx_power;
1267                    {
1268                        let val = decoder.decode_int32()?;
1269                        let val_ref = &val;
1270                        if *val_ref != 0 {
1271                            *mut_ref = val as _;
1272                        }
1273                    };
1274                }
1275                5u32 => {
1276                    let mut_ref = &mut self.r#policy;
1277                    {
1278                        let val = decoder.decode_int32()?;
1279                        let val_ref = &val;
1280                        if *val_ref != 0 {
1281                            *mut_ref = val as _;
1282                        }
1283                    };
1284                }
1285                _ => {
1286                    decoder.skip_wire_value(tag.wire_type())?;
1287                }
1288            }
1289        }
1290        Ok(())
1291    }
1292}
1293impl ::micropb::MessageEncode for r#wifi_country {
1294    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
1295        let mut max_size = 0;
1296        if let ::core::option::Option::Some(size) =
1297            ::micropb::const_map!(::core::option::Option::Some(4usize), |size| size + 1usize)
1298        {
1299            max_size += size;
1300        } else {
1301            break 'msg (::core::option::Option::<usize>::None);
1302        };
1303        if let ::core::option::Option::Some(size) =
1304            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
1305        {
1306            max_size += size;
1307        } else {
1308            break 'msg (::core::option::Option::<usize>::None);
1309        };
1310        if let ::core::option::Option::Some(size) =
1311            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
1312        {
1313            max_size += size;
1314        } else {
1315            break 'msg (::core::option::Option::<usize>::None);
1316        };
1317        if let ::core::option::Option::Some(size) =
1318            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
1319        {
1320            max_size += size;
1321        } else {
1322            break 'msg (::core::option::Option::<usize>::None);
1323        };
1324        if let ::core::option::Option::Some(size) =
1325            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
1326        {
1327            max_size += size;
1328        } else {
1329            break 'msg (::core::option::Option::<usize>::None);
1330        };
1331        ::core::option::Option::Some(max_size)
1332    };
1333    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
1334        &self,
1335        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
1336    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
1337        use ::micropb::{FieldEncode, PbMap};
1338        {
1339            let val_ref = &self.r#cc;
1340            if !val_ref.is_empty() {
1341                encoder.encode_varint32(10u32)?;
1342                encoder.encode_bytes(val_ref)?;
1343            }
1344        }
1345        {
1346            let val_ref = &self.r#schan;
1347            if *val_ref != 0 {
1348                encoder.encode_varint32(16u32)?;
1349                encoder.encode_varint32(*val_ref as _)?;
1350            }
1351        }
1352        {
1353            let val_ref = &self.r#nchan;
1354            if *val_ref != 0 {
1355                encoder.encode_varint32(24u32)?;
1356                encoder.encode_varint32(*val_ref as _)?;
1357            }
1358        }
1359        {
1360            let val_ref = &self.r#max_tx_power;
1361            if *val_ref != 0 {
1362                encoder.encode_varint32(32u32)?;
1363                encoder.encode_int32(*val_ref as _)?;
1364            }
1365        }
1366        {
1367            let val_ref = &self.r#policy;
1368            if *val_ref != 0 {
1369                encoder.encode_varint32(40u32)?;
1370                encoder.encode_int32(*val_ref as _)?;
1371            }
1372        }
1373        Ok(())
1374    }
1375    fn compute_size(&self) -> usize {
1376        use ::micropb::{FieldEncode, PbMap};
1377        let mut size = 0;
1378        {
1379            let val_ref = &self.r#cc;
1380            if !val_ref.is_empty() {
1381                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.len());
1382            }
1383        }
1384        {
1385            let val_ref = &self.r#schan;
1386            if *val_ref != 0 {
1387                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
1388            }
1389        }
1390        {
1391            let val_ref = &self.r#nchan;
1392            if *val_ref != 0 {
1393                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
1394            }
1395        }
1396        {
1397            let val_ref = &self.r#max_tx_power;
1398            if *val_ref != 0 {
1399                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
1400            }
1401        }
1402        {
1403            let val_ref = &self.r#policy;
1404            if *val_ref != 0 {
1405                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
1406            }
1407        }
1408        size
1409    }
1410}
1411#[derive(Debug, Default, PartialEq, Clone)]
1412pub struct r#wifi_active_scan_time {
1413    pub r#min: u32,
1414    pub r#max: u32,
1415}
1416impl r#wifi_active_scan_time {
1417    ///Return a reference to `min`
1418    #[inline]
1419    pub fn r#min(&self) -> &u32 {
1420        &self.r#min
1421    }
1422    ///Return a mutable reference to `min`
1423    #[inline]
1424    pub fn mut_min(&mut self) -> &mut u32 {
1425        &mut self.r#min
1426    }
1427    ///Set the value of `min`
1428    #[inline]
1429    pub fn set_min(&mut self, value: u32) -> &mut Self {
1430        self.r#min = value.into();
1431        self
1432    }
1433    ///Builder method that sets the value of `min`. Useful for initializing the message.
1434    #[inline]
1435    pub fn init_min(mut self, value: u32) -> Self {
1436        self.r#min = value.into();
1437        self
1438    }
1439    ///Return a reference to `max`
1440    #[inline]
1441    pub fn r#max(&self) -> &u32 {
1442        &self.r#max
1443    }
1444    ///Return a mutable reference to `max`
1445    #[inline]
1446    pub fn mut_max(&mut self) -> &mut u32 {
1447        &mut self.r#max
1448    }
1449    ///Set the value of `max`
1450    #[inline]
1451    pub fn set_max(&mut self, value: u32) -> &mut Self {
1452        self.r#max = value.into();
1453        self
1454    }
1455    ///Builder method that sets the value of `max`. Useful for initializing the message.
1456    #[inline]
1457    pub fn init_max(mut self, value: u32) -> Self {
1458        self.r#max = value.into();
1459        self
1460    }
1461}
1462impl ::micropb::MessageDecode for r#wifi_active_scan_time {
1463    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
1464        &mut self,
1465        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
1466        len: usize,
1467    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
1468        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
1469        let before = decoder.bytes_read();
1470        while decoder.bytes_read() - before < len {
1471            let tag = decoder.decode_tag()?;
1472            match tag.field_num() {
1473                0 => return Err(::micropb::DecodeError::ZeroField),
1474                1u32 => {
1475                    let mut_ref = &mut self.r#min;
1476                    {
1477                        let val = decoder.decode_varint32()?;
1478                        let val_ref = &val;
1479                        if *val_ref != 0 {
1480                            *mut_ref = val as _;
1481                        }
1482                    };
1483                }
1484                2u32 => {
1485                    let mut_ref = &mut self.r#max;
1486                    {
1487                        let val = decoder.decode_varint32()?;
1488                        let val_ref = &val;
1489                        if *val_ref != 0 {
1490                            *mut_ref = val as _;
1491                        }
1492                    };
1493                }
1494                _ => {
1495                    decoder.skip_wire_value(tag.wire_type())?;
1496                }
1497            }
1498        }
1499        Ok(())
1500    }
1501}
1502impl ::micropb::MessageEncode for r#wifi_active_scan_time {
1503    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
1504        let mut max_size = 0;
1505        if let ::core::option::Option::Some(size) =
1506            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
1507        {
1508            max_size += size;
1509        } else {
1510            break 'msg (::core::option::Option::<usize>::None);
1511        };
1512        if let ::core::option::Option::Some(size) =
1513            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
1514        {
1515            max_size += size;
1516        } else {
1517            break 'msg (::core::option::Option::<usize>::None);
1518        };
1519        ::core::option::Option::Some(max_size)
1520    };
1521    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
1522        &self,
1523        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
1524    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
1525        use ::micropb::{FieldEncode, PbMap};
1526        {
1527            let val_ref = &self.r#min;
1528            if *val_ref != 0 {
1529                encoder.encode_varint32(8u32)?;
1530                encoder.encode_varint32(*val_ref as _)?;
1531            }
1532        }
1533        {
1534            let val_ref = &self.r#max;
1535            if *val_ref != 0 {
1536                encoder.encode_varint32(16u32)?;
1537                encoder.encode_varint32(*val_ref as _)?;
1538            }
1539        }
1540        Ok(())
1541    }
1542    fn compute_size(&self) -> usize {
1543        use ::micropb::{FieldEncode, PbMap};
1544        let mut size = 0;
1545        {
1546            let val_ref = &self.r#min;
1547            if *val_ref != 0 {
1548                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
1549            }
1550        }
1551        {
1552            let val_ref = &self.r#max;
1553            if *val_ref != 0 {
1554                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
1555            }
1556        }
1557        size
1558    }
1559}
1560pub mod wifi_scan_time_ {
1561    #[derive(Debug, Default, PartialEq, Clone)]
1562    pub struct _Hazzer([u8; 1]);
1563    impl _Hazzer {
1564        ///New hazzer with all fields set to off
1565        #[inline]
1566        pub const fn _new() -> Self {
1567            Self([0; 1])
1568        }
1569        ///Query presence of `active`
1570        #[inline]
1571        pub const fn r#active(&self) -> bool {
1572            (self.0[0] & 1) != 0
1573        }
1574        ///Set presence of `active`
1575        #[inline]
1576        pub const fn set_active(&mut self) -> &mut Self {
1577            let elem = &mut self.0[0];
1578            *elem |= 1;
1579            self
1580        }
1581        ///Clear presence of `active`
1582        #[inline]
1583        pub const fn clear_active(&mut self) -> &mut Self {
1584            let elem = &mut self.0[0];
1585            *elem &= !1;
1586            self
1587        }
1588        ///Builder method that sets the presence of `active`. Useful for initializing the Hazzer.
1589        #[inline]
1590        pub const fn init_active(mut self) -> Self {
1591            self.set_active();
1592            self
1593        }
1594    }
1595}
1596#[derive(Debug, Default, Clone)]
1597pub struct r#wifi_scan_time {
1598    pub r#active: r#wifi_active_scan_time,
1599    pub r#passive: u32,
1600    pub _has: wifi_scan_time_::_Hazzer,
1601}
1602impl ::core::cmp::PartialEq for r#wifi_scan_time {
1603    fn eq(&self, other: &Self) -> bool {
1604        let mut ret = true;
1605        ret &= (self.r#active() == other.r#active());
1606        ret &= (self.r#passive == other.r#passive);
1607        ret
1608    }
1609}
1610impl r#wifi_scan_time {
1611    ///Return a reference to `active` as an `Option`
1612    #[inline]
1613    pub fn r#active(&self) -> ::core::option::Option<&r#wifi_active_scan_time> {
1614        self._has.r#active().then_some(&self.r#active)
1615    }
1616    ///Set the value and presence of `active`
1617    #[inline]
1618    pub fn set_active(&mut self, value: r#wifi_active_scan_time) -> &mut Self {
1619        self._has.set_active();
1620        self.r#active = value.into();
1621        self
1622    }
1623    ///Return a mutable reference to `active` as an `Option`
1624    #[inline]
1625    pub fn mut_active(&mut self) -> ::core::option::Option<&mut r#wifi_active_scan_time> {
1626        self._has.r#active().then_some(&mut self.r#active)
1627    }
1628    ///Clear the presence of `active`
1629    #[inline]
1630    pub fn clear_active(&mut self) -> &mut Self {
1631        self._has.clear_active();
1632        self
1633    }
1634    ///Take the value of `active` and clear its presence
1635    #[inline]
1636    pub fn take_active(&mut self) -> ::core::option::Option<r#wifi_active_scan_time> {
1637        let val = self
1638            ._has
1639            .r#active()
1640            .then(|| ::core::mem::take(&mut self.r#active));
1641        self._has.clear_active();
1642        val
1643    }
1644    ///Builder method that sets the value of `active`. Useful for initializing the message.
1645    #[inline]
1646    pub fn init_active(mut self, value: r#wifi_active_scan_time) -> Self {
1647        self.set_active(value);
1648        self
1649    }
1650    ///Return a reference to `passive`
1651    #[inline]
1652    pub fn r#passive(&self) -> &u32 {
1653        &self.r#passive
1654    }
1655    ///Return a mutable reference to `passive`
1656    #[inline]
1657    pub fn mut_passive(&mut self) -> &mut u32 {
1658        &mut self.r#passive
1659    }
1660    ///Set the value of `passive`
1661    #[inline]
1662    pub fn set_passive(&mut self, value: u32) -> &mut Self {
1663        self.r#passive = value.into();
1664        self
1665    }
1666    ///Builder method that sets the value of `passive`. Useful for initializing the message.
1667    #[inline]
1668    pub fn init_passive(mut self, value: u32) -> Self {
1669        self.r#passive = value.into();
1670        self
1671    }
1672}
1673impl ::micropb::MessageDecode for r#wifi_scan_time {
1674    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
1675        &mut self,
1676        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
1677        len: usize,
1678    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
1679        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
1680        let before = decoder.bytes_read();
1681        while decoder.bytes_read() - before < len {
1682            let tag = decoder.decode_tag()?;
1683            match tag.field_num() {
1684                0 => return Err(::micropb::DecodeError::ZeroField),
1685                1u32 => {
1686                    let mut_ref = &mut self.r#active;
1687                    {
1688                        mut_ref.decode_len_delimited(decoder)?;
1689                    };
1690                    self._has.set_active();
1691                }
1692                2u32 => {
1693                    let mut_ref = &mut self.r#passive;
1694                    {
1695                        let val = decoder.decode_varint32()?;
1696                        let val_ref = &val;
1697                        if *val_ref != 0 {
1698                            *mut_ref = val as _;
1699                        }
1700                    };
1701                }
1702                _ => {
1703                    decoder.skip_wire_value(tag.wire_type())?;
1704                }
1705            }
1706        }
1707        Ok(())
1708    }
1709}
1710impl ::micropb::MessageEncode for r#wifi_scan_time {
1711    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
1712        let mut max_size = 0;
1713        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
1714            ::micropb::const_map!(
1715                <r#wifi_active_scan_time as ::micropb::MessageEncode>::MAX_SIZE,
1716                |size| ::micropb::size::sizeof_len_record(size)
1717            ),
1718            |size| size + 1usize
1719        ) {
1720            max_size += size;
1721        } else {
1722            break 'msg (::core::option::Option::<usize>::None);
1723        };
1724        if let ::core::option::Option::Some(size) =
1725            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
1726        {
1727            max_size += size;
1728        } else {
1729            break 'msg (::core::option::Option::<usize>::None);
1730        };
1731        ::core::option::Option::Some(max_size)
1732    };
1733    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
1734        &self,
1735        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
1736    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
1737        use ::micropb::{FieldEncode, PbMap};
1738        {
1739            if let ::core::option::Option::Some(val_ref) = self.r#active() {
1740                encoder.encode_varint32(10u32)?;
1741                val_ref.encode_len_delimited(encoder)?;
1742            }
1743        }
1744        {
1745            let val_ref = &self.r#passive;
1746            if *val_ref != 0 {
1747                encoder.encode_varint32(16u32)?;
1748                encoder.encode_varint32(*val_ref as _)?;
1749            }
1750        }
1751        Ok(())
1752    }
1753    fn compute_size(&self) -> usize {
1754        use ::micropb::{FieldEncode, PbMap};
1755        let mut size = 0;
1756        {
1757            if let ::core::option::Option::Some(val_ref) = self.r#active() {
1758                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
1759            }
1760        }
1761        {
1762            let val_ref = &self.r#passive;
1763            if *val_ref != 0 {
1764                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
1765            }
1766        }
1767        size
1768    }
1769}
1770pub mod wifi_scan_config_ {
1771    #[derive(Debug, Default, PartialEq, Clone)]
1772    pub struct _Hazzer([u8; 1]);
1773    impl _Hazzer {
1774        ///New hazzer with all fields set to off
1775        #[inline]
1776        pub const fn _new() -> Self {
1777            Self([0; 1])
1778        }
1779        ///Query presence of `scan_time`
1780        #[inline]
1781        pub const fn r#scan_time(&self) -> bool {
1782            (self.0[0] & 1) != 0
1783        }
1784        ///Set presence of `scan_time`
1785        #[inline]
1786        pub const fn set_scan_time(&mut self) -> &mut Self {
1787            let elem = &mut self.0[0];
1788            *elem |= 1;
1789            self
1790        }
1791        ///Clear presence of `scan_time`
1792        #[inline]
1793        pub const fn clear_scan_time(&mut self) -> &mut Self {
1794            let elem = &mut self.0[0];
1795            *elem &= !1;
1796            self
1797        }
1798        ///Builder method that sets the presence of `scan_time`. Useful for initializing the Hazzer.
1799        #[inline]
1800        pub const fn init_scan_time(mut self) -> Self {
1801            self.set_scan_time();
1802            self
1803        }
1804    }
1805}
1806#[derive(Debug, Default, Clone)]
1807pub struct r#wifi_scan_config {
1808    pub r#ssid: ::micropb::heapless::Vec<u8, 33>,
1809    pub r#bssid: ::micropb::heapless::Vec<u8, 6>,
1810    pub r#channel: u32,
1811    pub r#show_hidden: bool,
1812    pub r#scan_type: i32,
1813    pub r#scan_time: r#wifi_scan_time,
1814    pub r#home_chan_dwell_time: u32,
1815    pub _has: wifi_scan_config_::_Hazzer,
1816}
1817impl ::core::cmp::PartialEq for r#wifi_scan_config {
1818    fn eq(&self, other: &Self) -> bool {
1819        let mut ret = true;
1820        ret &= (self.r#ssid == other.r#ssid);
1821        ret &= (self.r#bssid == other.r#bssid);
1822        ret &= (self.r#channel == other.r#channel);
1823        ret &= (self.r#show_hidden == other.r#show_hidden);
1824        ret &= (self.r#scan_type == other.r#scan_type);
1825        ret &= (self.r#scan_time() == other.r#scan_time());
1826        ret &= (self.r#home_chan_dwell_time == other.r#home_chan_dwell_time);
1827        ret
1828    }
1829}
1830impl r#wifi_scan_config {
1831    ///Return a reference to `ssid`
1832    #[inline]
1833    pub fn r#ssid(&self) -> &::micropb::heapless::Vec<u8, 33> {
1834        &self.r#ssid
1835    }
1836    ///Return a mutable reference to `ssid`
1837    #[inline]
1838    pub fn mut_ssid(&mut self) -> &mut ::micropb::heapless::Vec<u8, 33> {
1839        &mut self.r#ssid
1840    }
1841    ///Set the value of `ssid`
1842    #[inline]
1843    pub fn set_ssid(&mut self, value: ::micropb::heapless::Vec<u8, 33>) -> &mut Self {
1844        self.r#ssid = value.into();
1845        self
1846    }
1847    ///Builder method that sets the value of `ssid`. Useful for initializing the message.
1848    #[inline]
1849    pub fn init_ssid(mut self, value: ::micropb::heapless::Vec<u8, 33>) -> Self {
1850        self.r#ssid = value.into();
1851        self
1852    }
1853    ///Return a reference to `bssid`
1854    #[inline]
1855    pub fn r#bssid(&self) -> &::micropb::heapless::Vec<u8, 6> {
1856        &self.r#bssid
1857    }
1858    ///Return a mutable reference to `bssid`
1859    #[inline]
1860    pub fn mut_bssid(&mut self) -> &mut ::micropb::heapless::Vec<u8, 6> {
1861        &mut self.r#bssid
1862    }
1863    ///Set the value of `bssid`
1864    #[inline]
1865    pub fn set_bssid(&mut self, value: ::micropb::heapless::Vec<u8, 6>) -> &mut Self {
1866        self.r#bssid = value.into();
1867        self
1868    }
1869    ///Builder method that sets the value of `bssid`. Useful for initializing the message.
1870    #[inline]
1871    pub fn init_bssid(mut self, value: ::micropb::heapless::Vec<u8, 6>) -> Self {
1872        self.r#bssid = value.into();
1873        self
1874    }
1875    ///Return a reference to `channel`
1876    #[inline]
1877    pub fn r#channel(&self) -> &u32 {
1878        &self.r#channel
1879    }
1880    ///Return a mutable reference to `channel`
1881    #[inline]
1882    pub fn mut_channel(&mut self) -> &mut u32 {
1883        &mut self.r#channel
1884    }
1885    ///Set the value of `channel`
1886    #[inline]
1887    pub fn set_channel(&mut self, value: u32) -> &mut Self {
1888        self.r#channel = value.into();
1889        self
1890    }
1891    ///Builder method that sets the value of `channel`. Useful for initializing the message.
1892    #[inline]
1893    pub fn init_channel(mut self, value: u32) -> Self {
1894        self.r#channel = value.into();
1895        self
1896    }
1897    ///Return a reference to `show_hidden`
1898    #[inline]
1899    pub fn r#show_hidden(&self) -> &bool {
1900        &self.r#show_hidden
1901    }
1902    ///Return a mutable reference to `show_hidden`
1903    #[inline]
1904    pub fn mut_show_hidden(&mut self) -> &mut bool {
1905        &mut self.r#show_hidden
1906    }
1907    ///Set the value of `show_hidden`
1908    #[inline]
1909    pub fn set_show_hidden(&mut self, value: bool) -> &mut Self {
1910        self.r#show_hidden = value.into();
1911        self
1912    }
1913    ///Builder method that sets the value of `show_hidden`. Useful for initializing the message.
1914    #[inline]
1915    pub fn init_show_hidden(mut self, value: bool) -> Self {
1916        self.r#show_hidden = value.into();
1917        self
1918    }
1919    ///Return a reference to `scan_type`
1920    #[inline]
1921    pub fn r#scan_type(&self) -> &i32 {
1922        &self.r#scan_type
1923    }
1924    ///Return a mutable reference to `scan_type`
1925    #[inline]
1926    pub fn mut_scan_type(&mut self) -> &mut i32 {
1927        &mut self.r#scan_type
1928    }
1929    ///Set the value of `scan_type`
1930    #[inline]
1931    pub fn set_scan_type(&mut self, value: i32) -> &mut Self {
1932        self.r#scan_type = value.into();
1933        self
1934    }
1935    ///Builder method that sets the value of `scan_type`. Useful for initializing the message.
1936    #[inline]
1937    pub fn init_scan_type(mut self, value: i32) -> Self {
1938        self.r#scan_type = value.into();
1939        self
1940    }
1941    ///Return a reference to `scan_time` as an `Option`
1942    #[inline]
1943    pub fn r#scan_time(&self) -> ::core::option::Option<&r#wifi_scan_time> {
1944        self._has.r#scan_time().then_some(&self.r#scan_time)
1945    }
1946    ///Set the value and presence of `scan_time`
1947    #[inline]
1948    pub fn set_scan_time(&mut self, value: r#wifi_scan_time) -> &mut Self {
1949        self._has.set_scan_time();
1950        self.r#scan_time = value.into();
1951        self
1952    }
1953    ///Return a mutable reference to `scan_time` as an `Option`
1954    #[inline]
1955    pub fn mut_scan_time(&mut self) -> ::core::option::Option<&mut r#wifi_scan_time> {
1956        self._has.r#scan_time().then_some(&mut self.r#scan_time)
1957    }
1958    ///Clear the presence of `scan_time`
1959    #[inline]
1960    pub fn clear_scan_time(&mut self) -> &mut Self {
1961        self._has.clear_scan_time();
1962        self
1963    }
1964    ///Take the value of `scan_time` and clear its presence
1965    #[inline]
1966    pub fn take_scan_time(&mut self) -> ::core::option::Option<r#wifi_scan_time> {
1967        let val = self
1968            ._has
1969            .r#scan_time()
1970            .then(|| ::core::mem::take(&mut self.r#scan_time));
1971        self._has.clear_scan_time();
1972        val
1973    }
1974    ///Builder method that sets the value of `scan_time`. Useful for initializing the message.
1975    #[inline]
1976    pub fn init_scan_time(mut self, value: r#wifi_scan_time) -> Self {
1977        self.set_scan_time(value);
1978        self
1979    }
1980    ///Return a reference to `home_chan_dwell_time`
1981    #[inline]
1982    pub fn r#home_chan_dwell_time(&self) -> &u32 {
1983        &self.r#home_chan_dwell_time
1984    }
1985    ///Return a mutable reference to `home_chan_dwell_time`
1986    #[inline]
1987    pub fn mut_home_chan_dwell_time(&mut self) -> &mut u32 {
1988        &mut self.r#home_chan_dwell_time
1989    }
1990    ///Set the value of `home_chan_dwell_time`
1991    #[inline]
1992    pub fn set_home_chan_dwell_time(&mut self, value: u32) -> &mut Self {
1993        self.r#home_chan_dwell_time = value.into();
1994        self
1995    }
1996    ///Builder method that sets the value of `home_chan_dwell_time`. Useful for initializing the message.
1997    #[inline]
1998    pub fn init_home_chan_dwell_time(mut self, value: u32) -> Self {
1999        self.r#home_chan_dwell_time = value.into();
2000        self
2001    }
2002}
2003impl ::micropb::MessageDecode for r#wifi_scan_config {
2004    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
2005        &mut self,
2006        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
2007        len: usize,
2008    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
2009        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
2010        let before = decoder.bytes_read();
2011        while decoder.bytes_read() - before < len {
2012            let tag = decoder.decode_tag()?;
2013            match tag.field_num() {
2014                0 => return Err(::micropb::DecodeError::ZeroField),
2015                1u32 => {
2016                    let mut_ref = &mut self.r#ssid;
2017                    {
2018                        decoder.decode_bytes(mut_ref, ::micropb::Presence::Implicit)?;
2019                    };
2020                }
2021                2u32 => {
2022                    let mut_ref = &mut self.r#bssid;
2023                    {
2024                        decoder.decode_bytes(mut_ref, ::micropb::Presence::Implicit)?;
2025                    };
2026                }
2027                3u32 => {
2028                    let mut_ref = &mut self.r#channel;
2029                    {
2030                        let val = decoder.decode_varint32()?;
2031                        let val_ref = &val;
2032                        if *val_ref != 0 {
2033                            *mut_ref = val as _;
2034                        }
2035                    };
2036                }
2037                4u32 => {
2038                    let mut_ref = &mut self.r#show_hidden;
2039                    {
2040                        let val = decoder.decode_bool()?;
2041                        let val_ref = &val;
2042                        if *val_ref {
2043                            *mut_ref = val as _;
2044                        }
2045                    };
2046                }
2047                5u32 => {
2048                    let mut_ref = &mut self.r#scan_type;
2049                    {
2050                        let val = decoder.decode_int32()?;
2051                        let val_ref = &val;
2052                        if *val_ref != 0 {
2053                            *mut_ref = val as _;
2054                        }
2055                    };
2056                }
2057                6u32 => {
2058                    let mut_ref = &mut self.r#scan_time;
2059                    {
2060                        mut_ref.decode_len_delimited(decoder)?;
2061                    };
2062                    self._has.set_scan_time();
2063                }
2064                7u32 => {
2065                    let mut_ref = &mut self.r#home_chan_dwell_time;
2066                    {
2067                        let val = decoder.decode_varint32()?;
2068                        let val_ref = &val;
2069                        if *val_ref != 0 {
2070                            *mut_ref = val as _;
2071                        }
2072                    };
2073                }
2074                _ => {
2075                    decoder.skip_wire_value(tag.wire_type())?;
2076                }
2077            }
2078        }
2079        Ok(())
2080    }
2081}
2082impl ::micropb::MessageEncode for r#wifi_scan_config {
2083    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
2084        let mut max_size = 0;
2085        if let ::core::option::Option::Some(size) =
2086            ::micropb::const_map!(::core::option::Option::Some(34usize), |size| size + 1usize)
2087        {
2088            max_size += size;
2089        } else {
2090            break 'msg (::core::option::Option::<usize>::None);
2091        };
2092        if let ::core::option::Option::Some(size) =
2093            ::micropb::const_map!(::core::option::Option::Some(7usize), |size| size + 1usize)
2094        {
2095            max_size += size;
2096        } else {
2097            break 'msg (::core::option::Option::<usize>::None);
2098        };
2099        if let ::core::option::Option::Some(size) =
2100            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
2101        {
2102            max_size += size;
2103        } else {
2104            break 'msg (::core::option::Option::<usize>::None);
2105        };
2106        if let ::core::option::Option::Some(size) =
2107            ::micropb::const_map!(::core::option::Option::Some(1usize), |size| size + 1usize)
2108        {
2109            max_size += size;
2110        } else {
2111            break 'msg (::core::option::Option::<usize>::None);
2112        };
2113        if let ::core::option::Option::Some(size) =
2114            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
2115        {
2116            max_size += size;
2117        } else {
2118            break 'msg (::core::option::Option::<usize>::None);
2119        };
2120        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
2121            ::micropb::const_map!(
2122                <r#wifi_scan_time as ::micropb::MessageEncode>::MAX_SIZE,
2123                |size| ::micropb::size::sizeof_len_record(size)
2124            ),
2125            |size| size + 1usize
2126        ) {
2127            max_size += size;
2128        } else {
2129            break 'msg (::core::option::Option::<usize>::None);
2130        };
2131        if let ::core::option::Option::Some(size) =
2132            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
2133        {
2134            max_size += size;
2135        } else {
2136            break 'msg (::core::option::Option::<usize>::None);
2137        };
2138        ::core::option::Option::Some(max_size)
2139    };
2140    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
2141        &self,
2142        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
2143    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
2144        use ::micropb::{FieldEncode, PbMap};
2145        {
2146            let val_ref = &self.r#ssid;
2147            if !val_ref.is_empty() {
2148                encoder.encode_varint32(10u32)?;
2149                encoder.encode_bytes(val_ref)?;
2150            }
2151        }
2152        {
2153            let val_ref = &self.r#bssid;
2154            if !val_ref.is_empty() {
2155                encoder.encode_varint32(18u32)?;
2156                encoder.encode_bytes(val_ref)?;
2157            }
2158        }
2159        {
2160            let val_ref = &self.r#channel;
2161            if *val_ref != 0 {
2162                encoder.encode_varint32(24u32)?;
2163                encoder.encode_varint32(*val_ref as _)?;
2164            }
2165        }
2166        {
2167            let val_ref = &self.r#show_hidden;
2168            if *val_ref {
2169                encoder.encode_varint32(32u32)?;
2170                encoder.encode_bool(*val_ref)?;
2171            }
2172        }
2173        {
2174            let val_ref = &self.r#scan_type;
2175            if *val_ref != 0 {
2176                encoder.encode_varint32(40u32)?;
2177                encoder.encode_int32(*val_ref as _)?;
2178            }
2179        }
2180        {
2181            if let ::core::option::Option::Some(val_ref) = self.r#scan_time() {
2182                encoder.encode_varint32(50u32)?;
2183                val_ref.encode_len_delimited(encoder)?;
2184            }
2185        }
2186        {
2187            let val_ref = &self.r#home_chan_dwell_time;
2188            if *val_ref != 0 {
2189                encoder.encode_varint32(56u32)?;
2190                encoder.encode_varint32(*val_ref as _)?;
2191            }
2192        }
2193        Ok(())
2194    }
2195    fn compute_size(&self) -> usize {
2196        use ::micropb::{FieldEncode, PbMap};
2197        let mut size = 0;
2198        {
2199            let val_ref = &self.r#ssid;
2200            if !val_ref.is_empty() {
2201                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.len());
2202            }
2203        }
2204        {
2205            let val_ref = &self.r#bssid;
2206            if !val_ref.is_empty() {
2207                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.len());
2208            }
2209        }
2210        {
2211            let val_ref = &self.r#channel;
2212            if *val_ref != 0 {
2213                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
2214            }
2215        }
2216        {
2217            let val_ref = &self.r#show_hidden;
2218            if *val_ref {
2219                size += 1usize + 1;
2220            }
2221        }
2222        {
2223            let val_ref = &self.r#scan_type;
2224            if *val_ref != 0 {
2225                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
2226            }
2227        }
2228        {
2229            if let ::core::option::Option::Some(val_ref) = self.r#scan_time() {
2230                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
2231            }
2232        }
2233        {
2234            let val_ref = &self.r#home_chan_dwell_time;
2235            if *val_ref != 0 {
2236                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
2237            }
2238        }
2239        size
2240    }
2241}
2242#[derive(Debug, Default, PartialEq, Clone)]
2243pub struct r#wifi_he_ap_info {
2244    pub r#bitmask: u32,
2245    pub r#bssid_index: u32,
2246}
2247impl r#wifi_he_ap_info {
2248    ///Return a reference to `bitmask`
2249    #[inline]
2250    pub fn r#bitmask(&self) -> &u32 {
2251        &self.r#bitmask
2252    }
2253    ///Return a mutable reference to `bitmask`
2254    #[inline]
2255    pub fn mut_bitmask(&mut self) -> &mut u32 {
2256        &mut self.r#bitmask
2257    }
2258    ///Set the value of `bitmask`
2259    #[inline]
2260    pub fn set_bitmask(&mut self, value: u32) -> &mut Self {
2261        self.r#bitmask = value.into();
2262        self
2263    }
2264    ///Builder method that sets the value of `bitmask`. Useful for initializing the message.
2265    #[inline]
2266    pub fn init_bitmask(mut self, value: u32) -> Self {
2267        self.r#bitmask = value.into();
2268        self
2269    }
2270    ///Return a reference to `bssid_index`
2271    #[inline]
2272    pub fn r#bssid_index(&self) -> &u32 {
2273        &self.r#bssid_index
2274    }
2275    ///Return a mutable reference to `bssid_index`
2276    #[inline]
2277    pub fn mut_bssid_index(&mut self) -> &mut u32 {
2278        &mut self.r#bssid_index
2279    }
2280    ///Set the value of `bssid_index`
2281    #[inline]
2282    pub fn set_bssid_index(&mut self, value: u32) -> &mut Self {
2283        self.r#bssid_index = value.into();
2284        self
2285    }
2286    ///Builder method that sets the value of `bssid_index`. Useful for initializing the message.
2287    #[inline]
2288    pub fn init_bssid_index(mut self, value: u32) -> Self {
2289        self.r#bssid_index = value.into();
2290        self
2291    }
2292}
2293impl ::micropb::MessageDecode for r#wifi_he_ap_info {
2294    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
2295        &mut self,
2296        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
2297        len: usize,
2298    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
2299        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
2300        let before = decoder.bytes_read();
2301        while decoder.bytes_read() - before < len {
2302            let tag = decoder.decode_tag()?;
2303            match tag.field_num() {
2304                0 => return Err(::micropb::DecodeError::ZeroField),
2305                1u32 => {
2306                    let mut_ref = &mut self.r#bitmask;
2307                    {
2308                        let val = decoder.decode_varint32()?;
2309                        let val_ref = &val;
2310                        if *val_ref != 0 {
2311                            *mut_ref = val as _;
2312                        }
2313                    };
2314                }
2315                2u32 => {
2316                    let mut_ref = &mut self.r#bssid_index;
2317                    {
2318                        let val = decoder.decode_varint32()?;
2319                        let val_ref = &val;
2320                        if *val_ref != 0 {
2321                            *mut_ref = val as _;
2322                        }
2323                    };
2324                }
2325                _ => {
2326                    decoder.skip_wire_value(tag.wire_type())?;
2327                }
2328            }
2329        }
2330        Ok(())
2331    }
2332}
2333impl ::micropb::MessageEncode for r#wifi_he_ap_info {
2334    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
2335        let mut max_size = 0;
2336        if let ::core::option::Option::Some(size) =
2337            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
2338        {
2339            max_size += size;
2340        } else {
2341            break 'msg (::core::option::Option::<usize>::None);
2342        };
2343        if let ::core::option::Option::Some(size) =
2344            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
2345        {
2346            max_size += size;
2347        } else {
2348            break 'msg (::core::option::Option::<usize>::None);
2349        };
2350        ::core::option::Option::Some(max_size)
2351    };
2352    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
2353        &self,
2354        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
2355    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
2356        use ::micropb::{FieldEncode, PbMap};
2357        {
2358            let val_ref = &self.r#bitmask;
2359            if *val_ref != 0 {
2360                encoder.encode_varint32(8u32)?;
2361                encoder.encode_varint32(*val_ref as _)?;
2362            }
2363        }
2364        {
2365            let val_ref = &self.r#bssid_index;
2366            if *val_ref != 0 {
2367                encoder.encode_varint32(16u32)?;
2368                encoder.encode_varint32(*val_ref as _)?;
2369            }
2370        }
2371        Ok(())
2372    }
2373    fn compute_size(&self) -> usize {
2374        use ::micropb::{FieldEncode, PbMap};
2375        let mut size = 0;
2376        {
2377            let val_ref = &self.r#bitmask;
2378            if *val_ref != 0 {
2379                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
2380            }
2381        }
2382        {
2383            let val_ref = &self.r#bssid_index;
2384            if *val_ref != 0 {
2385                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
2386            }
2387        }
2388        size
2389    }
2390}
2391pub mod wifi_ap_record_ {
2392    #[derive(Debug, Default, PartialEq, Clone)]
2393    pub struct _Hazzer([u8; 1]);
2394    impl _Hazzer {
2395        ///New hazzer with all fields set to off
2396        #[inline]
2397        pub const fn _new() -> Self {
2398            Self([0; 1])
2399        }
2400        ///Query presence of `country`
2401        #[inline]
2402        pub const fn r#country(&self) -> bool {
2403            (self.0[0] & 1) != 0
2404        }
2405        ///Set presence of `country`
2406        #[inline]
2407        pub const fn set_country(&mut self) -> &mut Self {
2408            let elem = &mut self.0[0];
2409            *elem |= 1;
2410            self
2411        }
2412        ///Clear presence of `country`
2413        #[inline]
2414        pub const fn clear_country(&mut self) -> &mut Self {
2415            let elem = &mut self.0[0];
2416            *elem &= !1;
2417            self
2418        }
2419        ///Builder method that sets the presence of `country`. Useful for initializing the Hazzer.
2420        #[inline]
2421        pub const fn init_country(mut self) -> Self {
2422            self.set_country();
2423            self
2424        }
2425        ///Query presence of `he_ap`
2426        #[inline]
2427        pub const fn r#he_ap(&self) -> bool {
2428            (self.0[0] & 2) != 0
2429        }
2430        ///Set presence of `he_ap`
2431        #[inline]
2432        pub const fn set_he_ap(&mut self) -> &mut Self {
2433            let elem = &mut self.0[0];
2434            *elem |= 2;
2435            self
2436        }
2437        ///Clear presence of `he_ap`
2438        #[inline]
2439        pub const fn clear_he_ap(&mut self) -> &mut Self {
2440            let elem = &mut self.0[0];
2441            *elem &= !2;
2442            self
2443        }
2444        ///Builder method that sets the presence of `he_ap`. Useful for initializing the Hazzer.
2445        #[inline]
2446        pub const fn init_he_ap(mut self) -> Self {
2447            self.set_he_ap();
2448            self
2449        }
2450    }
2451}
2452#[derive(Debug, Default, Clone)]
2453pub struct r#wifi_ap_record {
2454    pub r#bssid: ::micropb::heapless::Vec<u8, 6>,
2455    pub r#ssid: ::micropb::heapless::Vec<u8, 33>,
2456    pub r#primary: u32,
2457    pub r#second: i32,
2458    pub r#rssi: i32,
2459    pub r#authmode: i32,
2460    pub r#pairwise_cipher: i32,
2461    pub r#group_cipher: i32,
2462    pub r#ant: i32,
2463    pub r#bitmask: u32,
2464    pub r#country: r#wifi_country,
2465    pub r#he_ap: r#wifi_he_ap_info,
2466    pub r#bandwidth: u32,
2467    pub r#vht_ch_freq1: u32,
2468    pub r#vht_ch_freq2: u32,
2469    pub _has: wifi_ap_record_::_Hazzer,
2470}
2471impl ::core::cmp::PartialEq for r#wifi_ap_record {
2472    fn eq(&self, other: &Self) -> bool {
2473        let mut ret = true;
2474        ret &= (self.r#bssid == other.r#bssid);
2475        ret &= (self.r#ssid == other.r#ssid);
2476        ret &= (self.r#primary == other.r#primary);
2477        ret &= (self.r#second == other.r#second);
2478        ret &= (self.r#rssi == other.r#rssi);
2479        ret &= (self.r#authmode == other.r#authmode);
2480        ret &= (self.r#pairwise_cipher == other.r#pairwise_cipher);
2481        ret &= (self.r#group_cipher == other.r#group_cipher);
2482        ret &= (self.r#ant == other.r#ant);
2483        ret &= (self.r#bitmask == other.r#bitmask);
2484        ret &= (self.r#country() == other.r#country());
2485        ret &= (self.r#he_ap() == other.r#he_ap());
2486        ret &= (self.r#bandwidth == other.r#bandwidth);
2487        ret &= (self.r#vht_ch_freq1 == other.r#vht_ch_freq1);
2488        ret &= (self.r#vht_ch_freq2 == other.r#vht_ch_freq2);
2489        ret
2490    }
2491}
2492impl r#wifi_ap_record {
2493    ///Return a reference to `bssid`
2494    #[inline]
2495    pub fn r#bssid(&self) -> &::micropb::heapless::Vec<u8, 6> {
2496        &self.r#bssid
2497    }
2498    ///Return a mutable reference to `bssid`
2499    #[inline]
2500    pub fn mut_bssid(&mut self) -> &mut ::micropb::heapless::Vec<u8, 6> {
2501        &mut self.r#bssid
2502    }
2503    ///Set the value of `bssid`
2504    #[inline]
2505    pub fn set_bssid(&mut self, value: ::micropb::heapless::Vec<u8, 6>) -> &mut Self {
2506        self.r#bssid = value.into();
2507        self
2508    }
2509    ///Builder method that sets the value of `bssid`. Useful for initializing the message.
2510    #[inline]
2511    pub fn init_bssid(mut self, value: ::micropb::heapless::Vec<u8, 6>) -> Self {
2512        self.r#bssid = value.into();
2513        self
2514    }
2515    ///Return a reference to `ssid`
2516    #[inline]
2517    pub fn r#ssid(&self) -> &::micropb::heapless::Vec<u8, 33> {
2518        &self.r#ssid
2519    }
2520    ///Return a mutable reference to `ssid`
2521    #[inline]
2522    pub fn mut_ssid(&mut self) -> &mut ::micropb::heapless::Vec<u8, 33> {
2523        &mut self.r#ssid
2524    }
2525    ///Set the value of `ssid`
2526    #[inline]
2527    pub fn set_ssid(&mut self, value: ::micropb::heapless::Vec<u8, 33>) -> &mut Self {
2528        self.r#ssid = value.into();
2529        self
2530    }
2531    ///Builder method that sets the value of `ssid`. Useful for initializing the message.
2532    #[inline]
2533    pub fn init_ssid(mut self, value: ::micropb::heapless::Vec<u8, 33>) -> Self {
2534        self.r#ssid = value.into();
2535        self
2536    }
2537    ///Return a reference to `primary`
2538    #[inline]
2539    pub fn r#primary(&self) -> &u32 {
2540        &self.r#primary
2541    }
2542    ///Return a mutable reference to `primary`
2543    #[inline]
2544    pub fn mut_primary(&mut self) -> &mut u32 {
2545        &mut self.r#primary
2546    }
2547    ///Set the value of `primary`
2548    #[inline]
2549    pub fn set_primary(&mut self, value: u32) -> &mut Self {
2550        self.r#primary = value.into();
2551        self
2552    }
2553    ///Builder method that sets the value of `primary`. Useful for initializing the message.
2554    #[inline]
2555    pub fn init_primary(mut self, value: u32) -> Self {
2556        self.r#primary = value.into();
2557        self
2558    }
2559    ///Return a reference to `second`
2560    #[inline]
2561    pub fn r#second(&self) -> &i32 {
2562        &self.r#second
2563    }
2564    ///Return a mutable reference to `second`
2565    #[inline]
2566    pub fn mut_second(&mut self) -> &mut i32 {
2567        &mut self.r#second
2568    }
2569    ///Set the value of `second`
2570    #[inline]
2571    pub fn set_second(&mut self, value: i32) -> &mut Self {
2572        self.r#second = value.into();
2573        self
2574    }
2575    ///Builder method that sets the value of `second`. Useful for initializing the message.
2576    #[inline]
2577    pub fn init_second(mut self, value: i32) -> Self {
2578        self.r#second = value.into();
2579        self
2580    }
2581    ///Return a reference to `rssi`
2582    #[inline]
2583    pub fn r#rssi(&self) -> &i32 {
2584        &self.r#rssi
2585    }
2586    ///Return a mutable reference to `rssi`
2587    #[inline]
2588    pub fn mut_rssi(&mut self) -> &mut i32 {
2589        &mut self.r#rssi
2590    }
2591    ///Set the value of `rssi`
2592    #[inline]
2593    pub fn set_rssi(&mut self, value: i32) -> &mut Self {
2594        self.r#rssi = value.into();
2595        self
2596    }
2597    ///Builder method that sets the value of `rssi`. Useful for initializing the message.
2598    #[inline]
2599    pub fn init_rssi(mut self, value: i32) -> Self {
2600        self.r#rssi = value.into();
2601        self
2602    }
2603    ///Return a reference to `authmode`
2604    #[inline]
2605    pub fn r#authmode(&self) -> &i32 {
2606        &self.r#authmode
2607    }
2608    ///Return a mutable reference to `authmode`
2609    #[inline]
2610    pub fn mut_authmode(&mut self) -> &mut i32 {
2611        &mut self.r#authmode
2612    }
2613    ///Set the value of `authmode`
2614    #[inline]
2615    pub fn set_authmode(&mut self, value: i32) -> &mut Self {
2616        self.r#authmode = value.into();
2617        self
2618    }
2619    ///Builder method that sets the value of `authmode`. Useful for initializing the message.
2620    #[inline]
2621    pub fn init_authmode(mut self, value: i32) -> Self {
2622        self.r#authmode = value.into();
2623        self
2624    }
2625    ///Return a reference to `pairwise_cipher`
2626    #[inline]
2627    pub fn r#pairwise_cipher(&self) -> &i32 {
2628        &self.r#pairwise_cipher
2629    }
2630    ///Return a mutable reference to `pairwise_cipher`
2631    #[inline]
2632    pub fn mut_pairwise_cipher(&mut self) -> &mut i32 {
2633        &mut self.r#pairwise_cipher
2634    }
2635    ///Set the value of `pairwise_cipher`
2636    #[inline]
2637    pub fn set_pairwise_cipher(&mut self, value: i32) -> &mut Self {
2638        self.r#pairwise_cipher = value.into();
2639        self
2640    }
2641    ///Builder method that sets the value of `pairwise_cipher`. Useful for initializing the message.
2642    #[inline]
2643    pub fn init_pairwise_cipher(mut self, value: i32) -> Self {
2644        self.r#pairwise_cipher = value.into();
2645        self
2646    }
2647    ///Return a reference to `group_cipher`
2648    #[inline]
2649    pub fn r#group_cipher(&self) -> &i32 {
2650        &self.r#group_cipher
2651    }
2652    ///Return a mutable reference to `group_cipher`
2653    #[inline]
2654    pub fn mut_group_cipher(&mut self) -> &mut i32 {
2655        &mut self.r#group_cipher
2656    }
2657    ///Set the value of `group_cipher`
2658    #[inline]
2659    pub fn set_group_cipher(&mut self, value: i32) -> &mut Self {
2660        self.r#group_cipher = value.into();
2661        self
2662    }
2663    ///Builder method that sets the value of `group_cipher`. Useful for initializing the message.
2664    #[inline]
2665    pub fn init_group_cipher(mut self, value: i32) -> Self {
2666        self.r#group_cipher = value.into();
2667        self
2668    }
2669    ///Return a reference to `ant`
2670    #[inline]
2671    pub fn r#ant(&self) -> &i32 {
2672        &self.r#ant
2673    }
2674    ///Return a mutable reference to `ant`
2675    #[inline]
2676    pub fn mut_ant(&mut self) -> &mut i32 {
2677        &mut self.r#ant
2678    }
2679    ///Set the value of `ant`
2680    #[inline]
2681    pub fn set_ant(&mut self, value: i32) -> &mut Self {
2682        self.r#ant = value.into();
2683        self
2684    }
2685    ///Builder method that sets the value of `ant`. Useful for initializing the message.
2686    #[inline]
2687    pub fn init_ant(mut self, value: i32) -> Self {
2688        self.r#ant = value.into();
2689        self
2690    }
2691    ///Return a reference to `bitmask`
2692    #[inline]
2693    pub fn r#bitmask(&self) -> &u32 {
2694        &self.r#bitmask
2695    }
2696    ///Return a mutable reference to `bitmask`
2697    #[inline]
2698    pub fn mut_bitmask(&mut self) -> &mut u32 {
2699        &mut self.r#bitmask
2700    }
2701    ///Set the value of `bitmask`
2702    #[inline]
2703    pub fn set_bitmask(&mut self, value: u32) -> &mut Self {
2704        self.r#bitmask = value.into();
2705        self
2706    }
2707    ///Builder method that sets the value of `bitmask`. Useful for initializing the message.
2708    #[inline]
2709    pub fn init_bitmask(mut self, value: u32) -> Self {
2710        self.r#bitmask = value.into();
2711        self
2712    }
2713    ///Return a reference to `country` as an `Option`
2714    #[inline]
2715    pub fn r#country(&self) -> ::core::option::Option<&r#wifi_country> {
2716        self._has.r#country().then_some(&self.r#country)
2717    }
2718    ///Set the value and presence of `country`
2719    #[inline]
2720    pub fn set_country(&mut self, value: r#wifi_country) -> &mut Self {
2721        self._has.set_country();
2722        self.r#country = value.into();
2723        self
2724    }
2725    ///Return a mutable reference to `country` as an `Option`
2726    #[inline]
2727    pub fn mut_country(&mut self) -> ::core::option::Option<&mut r#wifi_country> {
2728        self._has.r#country().then_some(&mut self.r#country)
2729    }
2730    ///Clear the presence of `country`
2731    #[inline]
2732    pub fn clear_country(&mut self) -> &mut Self {
2733        self._has.clear_country();
2734        self
2735    }
2736    ///Take the value of `country` and clear its presence
2737    #[inline]
2738    pub fn take_country(&mut self) -> ::core::option::Option<r#wifi_country> {
2739        let val = self
2740            ._has
2741            .r#country()
2742            .then(|| ::core::mem::take(&mut self.r#country));
2743        self._has.clear_country();
2744        val
2745    }
2746    ///Builder method that sets the value of `country`. Useful for initializing the message.
2747    #[inline]
2748    pub fn init_country(mut self, value: r#wifi_country) -> Self {
2749        self.set_country(value);
2750        self
2751    }
2752    ///Return a reference to `he_ap` as an `Option`
2753    #[inline]
2754    pub fn r#he_ap(&self) -> ::core::option::Option<&r#wifi_he_ap_info> {
2755        self._has.r#he_ap().then_some(&self.r#he_ap)
2756    }
2757    ///Set the value and presence of `he_ap`
2758    #[inline]
2759    pub fn set_he_ap(&mut self, value: r#wifi_he_ap_info) -> &mut Self {
2760        self._has.set_he_ap();
2761        self.r#he_ap = value.into();
2762        self
2763    }
2764    ///Return a mutable reference to `he_ap` as an `Option`
2765    #[inline]
2766    pub fn mut_he_ap(&mut self) -> ::core::option::Option<&mut r#wifi_he_ap_info> {
2767        self._has.r#he_ap().then_some(&mut self.r#he_ap)
2768    }
2769    ///Clear the presence of `he_ap`
2770    #[inline]
2771    pub fn clear_he_ap(&mut self) -> &mut Self {
2772        self._has.clear_he_ap();
2773        self
2774    }
2775    ///Take the value of `he_ap` and clear its presence
2776    #[inline]
2777    pub fn take_he_ap(&mut self) -> ::core::option::Option<r#wifi_he_ap_info> {
2778        let val = self
2779            ._has
2780            .r#he_ap()
2781            .then(|| ::core::mem::take(&mut self.r#he_ap));
2782        self._has.clear_he_ap();
2783        val
2784    }
2785    ///Builder method that sets the value of `he_ap`. Useful for initializing the message.
2786    #[inline]
2787    pub fn init_he_ap(mut self, value: r#wifi_he_ap_info) -> Self {
2788        self.set_he_ap(value);
2789        self
2790    }
2791    ///Return a reference to `bandwidth`
2792    #[inline]
2793    pub fn r#bandwidth(&self) -> &u32 {
2794        &self.r#bandwidth
2795    }
2796    ///Return a mutable reference to `bandwidth`
2797    #[inline]
2798    pub fn mut_bandwidth(&mut self) -> &mut u32 {
2799        &mut self.r#bandwidth
2800    }
2801    ///Set the value of `bandwidth`
2802    #[inline]
2803    pub fn set_bandwidth(&mut self, value: u32) -> &mut Self {
2804        self.r#bandwidth = value.into();
2805        self
2806    }
2807    ///Builder method that sets the value of `bandwidth`. Useful for initializing the message.
2808    #[inline]
2809    pub fn init_bandwidth(mut self, value: u32) -> Self {
2810        self.r#bandwidth = value.into();
2811        self
2812    }
2813    ///Return a reference to `vht_ch_freq1`
2814    #[inline]
2815    pub fn r#vht_ch_freq1(&self) -> &u32 {
2816        &self.r#vht_ch_freq1
2817    }
2818    ///Return a mutable reference to `vht_ch_freq1`
2819    #[inline]
2820    pub fn mut_vht_ch_freq1(&mut self) -> &mut u32 {
2821        &mut self.r#vht_ch_freq1
2822    }
2823    ///Set the value of `vht_ch_freq1`
2824    #[inline]
2825    pub fn set_vht_ch_freq1(&mut self, value: u32) -> &mut Self {
2826        self.r#vht_ch_freq1 = value.into();
2827        self
2828    }
2829    ///Builder method that sets the value of `vht_ch_freq1`. Useful for initializing the message.
2830    #[inline]
2831    pub fn init_vht_ch_freq1(mut self, value: u32) -> Self {
2832        self.r#vht_ch_freq1 = value.into();
2833        self
2834    }
2835    ///Return a reference to `vht_ch_freq2`
2836    #[inline]
2837    pub fn r#vht_ch_freq2(&self) -> &u32 {
2838        &self.r#vht_ch_freq2
2839    }
2840    ///Return a mutable reference to `vht_ch_freq2`
2841    #[inline]
2842    pub fn mut_vht_ch_freq2(&mut self) -> &mut u32 {
2843        &mut self.r#vht_ch_freq2
2844    }
2845    ///Set the value of `vht_ch_freq2`
2846    #[inline]
2847    pub fn set_vht_ch_freq2(&mut self, value: u32) -> &mut Self {
2848        self.r#vht_ch_freq2 = value.into();
2849        self
2850    }
2851    ///Builder method that sets the value of `vht_ch_freq2`. Useful for initializing the message.
2852    #[inline]
2853    pub fn init_vht_ch_freq2(mut self, value: u32) -> Self {
2854        self.r#vht_ch_freq2 = value.into();
2855        self
2856    }
2857}
2858impl ::micropb::MessageDecode for r#wifi_ap_record {
2859    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
2860        &mut self,
2861        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
2862        len: usize,
2863    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
2864        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
2865        let before = decoder.bytes_read();
2866        while decoder.bytes_read() - before < len {
2867            let tag = decoder.decode_tag()?;
2868            match tag.field_num() {
2869                0 => return Err(::micropb::DecodeError::ZeroField),
2870                1u32 => {
2871                    let mut_ref = &mut self.r#bssid;
2872                    {
2873                        decoder.decode_bytes(mut_ref, ::micropb::Presence::Implicit)?;
2874                    };
2875                }
2876                2u32 => {
2877                    let mut_ref = &mut self.r#ssid;
2878                    {
2879                        decoder.decode_bytes(mut_ref, ::micropb::Presence::Implicit)?;
2880                    };
2881                }
2882                3u32 => {
2883                    let mut_ref = &mut self.r#primary;
2884                    {
2885                        let val = decoder.decode_varint32()?;
2886                        let val_ref = &val;
2887                        if *val_ref != 0 {
2888                            *mut_ref = val as _;
2889                        }
2890                    };
2891                }
2892                4u32 => {
2893                    let mut_ref = &mut self.r#second;
2894                    {
2895                        let val = decoder.decode_int32()?;
2896                        let val_ref = &val;
2897                        if *val_ref != 0 {
2898                            *mut_ref = val as _;
2899                        }
2900                    };
2901                }
2902                5u32 => {
2903                    let mut_ref = &mut self.r#rssi;
2904                    {
2905                        let val = decoder.decode_int32()?;
2906                        let val_ref = &val;
2907                        if *val_ref != 0 {
2908                            *mut_ref = val as _;
2909                        }
2910                    };
2911                }
2912                6u32 => {
2913                    let mut_ref = &mut self.r#authmode;
2914                    {
2915                        let val = decoder.decode_int32()?;
2916                        let val_ref = &val;
2917                        if *val_ref != 0 {
2918                            *mut_ref = val as _;
2919                        }
2920                    };
2921                }
2922                7u32 => {
2923                    let mut_ref = &mut self.r#pairwise_cipher;
2924                    {
2925                        let val = decoder.decode_int32()?;
2926                        let val_ref = &val;
2927                        if *val_ref != 0 {
2928                            *mut_ref = val as _;
2929                        }
2930                    };
2931                }
2932                8u32 => {
2933                    let mut_ref = &mut self.r#group_cipher;
2934                    {
2935                        let val = decoder.decode_int32()?;
2936                        let val_ref = &val;
2937                        if *val_ref != 0 {
2938                            *mut_ref = val as _;
2939                        }
2940                    };
2941                }
2942                9u32 => {
2943                    let mut_ref = &mut self.r#ant;
2944                    {
2945                        let val = decoder.decode_int32()?;
2946                        let val_ref = &val;
2947                        if *val_ref != 0 {
2948                            *mut_ref = val as _;
2949                        }
2950                    };
2951                }
2952                10u32 => {
2953                    let mut_ref = &mut self.r#bitmask;
2954                    {
2955                        let val = decoder.decode_varint32()?;
2956                        let val_ref = &val;
2957                        if *val_ref != 0 {
2958                            *mut_ref = val as _;
2959                        }
2960                    };
2961                }
2962                11u32 => {
2963                    let mut_ref = &mut self.r#country;
2964                    {
2965                        mut_ref.decode_len_delimited(decoder)?;
2966                    };
2967                    self._has.set_country();
2968                }
2969                12u32 => {
2970                    let mut_ref = &mut self.r#he_ap;
2971                    {
2972                        mut_ref.decode_len_delimited(decoder)?;
2973                    };
2974                    self._has.set_he_ap();
2975                }
2976                13u32 => {
2977                    let mut_ref = &mut self.r#bandwidth;
2978                    {
2979                        let val = decoder.decode_varint32()?;
2980                        let val_ref = &val;
2981                        if *val_ref != 0 {
2982                            *mut_ref = val as _;
2983                        }
2984                    };
2985                }
2986                14u32 => {
2987                    let mut_ref = &mut self.r#vht_ch_freq1;
2988                    {
2989                        let val = decoder.decode_varint32()?;
2990                        let val_ref = &val;
2991                        if *val_ref != 0 {
2992                            *mut_ref = val as _;
2993                        }
2994                    };
2995                }
2996                15u32 => {
2997                    let mut_ref = &mut self.r#vht_ch_freq2;
2998                    {
2999                        let val = decoder.decode_varint32()?;
3000                        let val_ref = &val;
3001                        if *val_ref != 0 {
3002                            *mut_ref = val as _;
3003                        }
3004                    };
3005                }
3006                _ => {
3007                    decoder.skip_wire_value(tag.wire_type())?;
3008                }
3009            }
3010        }
3011        Ok(())
3012    }
3013}
3014impl ::micropb::MessageEncode for r#wifi_ap_record {
3015    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
3016        let mut max_size = 0;
3017        if let ::core::option::Option::Some(size) =
3018            ::micropb::const_map!(::core::option::Option::Some(7usize), |size| size + 1usize)
3019        {
3020            max_size += size;
3021        } else {
3022            break 'msg (::core::option::Option::<usize>::None);
3023        };
3024        if let ::core::option::Option::Some(size) =
3025            ::micropb::const_map!(::core::option::Option::Some(34usize), |size| size + 1usize)
3026        {
3027            max_size += size;
3028        } else {
3029            break 'msg (::core::option::Option::<usize>::None);
3030        };
3031        if let ::core::option::Option::Some(size) =
3032            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
3033        {
3034            max_size += size;
3035        } else {
3036            break 'msg (::core::option::Option::<usize>::None);
3037        };
3038        if let ::core::option::Option::Some(size) =
3039            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
3040        {
3041            max_size += size;
3042        } else {
3043            break 'msg (::core::option::Option::<usize>::None);
3044        };
3045        if let ::core::option::Option::Some(size) =
3046            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
3047        {
3048            max_size += size;
3049        } else {
3050            break 'msg (::core::option::Option::<usize>::None);
3051        };
3052        if let ::core::option::Option::Some(size) =
3053            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
3054        {
3055            max_size += size;
3056        } else {
3057            break 'msg (::core::option::Option::<usize>::None);
3058        };
3059        if let ::core::option::Option::Some(size) =
3060            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
3061        {
3062            max_size += size;
3063        } else {
3064            break 'msg (::core::option::Option::<usize>::None);
3065        };
3066        if let ::core::option::Option::Some(size) =
3067            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
3068        {
3069            max_size += size;
3070        } else {
3071            break 'msg (::core::option::Option::<usize>::None);
3072        };
3073        if let ::core::option::Option::Some(size) =
3074            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
3075        {
3076            max_size += size;
3077        } else {
3078            break 'msg (::core::option::Option::<usize>::None);
3079        };
3080        if let ::core::option::Option::Some(size) =
3081            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
3082        {
3083            max_size += size;
3084        } else {
3085            break 'msg (::core::option::Option::<usize>::None);
3086        };
3087        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
3088            ::micropb::const_map!(
3089                <r#wifi_country as ::micropb::MessageEncode>::MAX_SIZE,
3090                |size| ::micropb::size::sizeof_len_record(size)
3091            ),
3092            |size| size + 1usize
3093        ) {
3094            max_size += size;
3095        } else {
3096            break 'msg (::core::option::Option::<usize>::None);
3097        };
3098        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
3099            ::micropb::const_map!(
3100                <r#wifi_he_ap_info as ::micropb::MessageEncode>::MAX_SIZE,
3101                |size| ::micropb::size::sizeof_len_record(size)
3102            ),
3103            |size| size + 1usize
3104        ) {
3105            max_size += size;
3106        } else {
3107            break 'msg (::core::option::Option::<usize>::None);
3108        };
3109        if let ::core::option::Option::Some(size) =
3110            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
3111        {
3112            max_size += size;
3113        } else {
3114            break 'msg (::core::option::Option::<usize>::None);
3115        };
3116        if let ::core::option::Option::Some(size) =
3117            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
3118        {
3119            max_size += size;
3120        } else {
3121            break 'msg (::core::option::Option::<usize>::None);
3122        };
3123        if let ::core::option::Option::Some(size) =
3124            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
3125        {
3126            max_size += size;
3127        } else {
3128            break 'msg (::core::option::Option::<usize>::None);
3129        };
3130        ::core::option::Option::Some(max_size)
3131    };
3132    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
3133        &self,
3134        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
3135    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
3136        use ::micropb::{FieldEncode, PbMap};
3137        {
3138            let val_ref = &self.r#bssid;
3139            if !val_ref.is_empty() {
3140                encoder.encode_varint32(10u32)?;
3141                encoder.encode_bytes(val_ref)?;
3142            }
3143        }
3144        {
3145            let val_ref = &self.r#ssid;
3146            if !val_ref.is_empty() {
3147                encoder.encode_varint32(18u32)?;
3148                encoder.encode_bytes(val_ref)?;
3149            }
3150        }
3151        {
3152            let val_ref = &self.r#primary;
3153            if *val_ref != 0 {
3154                encoder.encode_varint32(24u32)?;
3155                encoder.encode_varint32(*val_ref as _)?;
3156            }
3157        }
3158        {
3159            let val_ref = &self.r#second;
3160            if *val_ref != 0 {
3161                encoder.encode_varint32(32u32)?;
3162                encoder.encode_int32(*val_ref as _)?;
3163            }
3164        }
3165        {
3166            let val_ref = &self.r#rssi;
3167            if *val_ref != 0 {
3168                encoder.encode_varint32(40u32)?;
3169                encoder.encode_int32(*val_ref as _)?;
3170            }
3171        }
3172        {
3173            let val_ref = &self.r#authmode;
3174            if *val_ref != 0 {
3175                encoder.encode_varint32(48u32)?;
3176                encoder.encode_int32(*val_ref as _)?;
3177            }
3178        }
3179        {
3180            let val_ref = &self.r#pairwise_cipher;
3181            if *val_ref != 0 {
3182                encoder.encode_varint32(56u32)?;
3183                encoder.encode_int32(*val_ref as _)?;
3184            }
3185        }
3186        {
3187            let val_ref = &self.r#group_cipher;
3188            if *val_ref != 0 {
3189                encoder.encode_varint32(64u32)?;
3190                encoder.encode_int32(*val_ref as _)?;
3191            }
3192        }
3193        {
3194            let val_ref = &self.r#ant;
3195            if *val_ref != 0 {
3196                encoder.encode_varint32(72u32)?;
3197                encoder.encode_int32(*val_ref as _)?;
3198            }
3199        }
3200        {
3201            let val_ref = &self.r#bitmask;
3202            if *val_ref != 0 {
3203                encoder.encode_varint32(80u32)?;
3204                encoder.encode_varint32(*val_ref as _)?;
3205            }
3206        }
3207        {
3208            if let ::core::option::Option::Some(val_ref) = self.r#country() {
3209                encoder.encode_varint32(90u32)?;
3210                val_ref.encode_len_delimited(encoder)?;
3211            }
3212        }
3213        {
3214            if let ::core::option::Option::Some(val_ref) = self.r#he_ap() {
3215                encoder.encode_varint32(98u32)?;
3216                val_ref.encode_len_delimited(encoder)?;
3217            }
3218        }
3219        {
3220            let val_ref = &self.r#bandwidth;
3221            if *val_ref != 0 {
3222                encoder.encode_varint32(104u32)?;
3223                encoder.encode_varint32(*val_ref as _)?;
3224            }
3225        }
3226        {
3227            let val_ref = &self.r#vht_ch_freq1;
3228            if *val_ref != 0 {
3229                encoder.encode_varint32(112u32)?;
3230                encoder.encode_varint32(*val_ref as _)?;
3231            }
3232        }
3233        {
3234            let val_ref = &self.r#vht_ch_freq2;
3235            if *val_ref != 0 {
3236                encoder.encode_varint32(120u32)?;
3237                encoder.encode_varint32(*val_ref as _)?;
3238            }
3239        }
3240        Ok(())
3241    }
3242    fn compute_size(&self) -> usize {
3243        use ::micropb::{FieldEncode, PbMap};
3244        let mut size = 0;
3245        {
3246            let val_ref = &self.r#bssid;
3247            if !val_ref.is_empty() {
3248                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.len());
3249            }
3250        }
3251        {
3252            let val_ref = &self.r#ssid;
3253            if !val_ref.is_empty() {
3254                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.len());
3255            }
3256        }
3257        {
3258            let val_ref = &self.r#primary;
3259            if *val_ref != 0 {
3260                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
3261            }
3262        }
3263        {
3264            let val_ref = &self.r#second;
3265            if *val_ref != 0 {
3266                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
3267            }
3268        }
3269        {
3270            let val_ref = &self.r#rssi;
3271            if *val_ref != 0 {
3272                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
3273            }
3274        }
3275        {
3276            let val_ref = &self.r#authmode;
3277            if *val_ref != 0 {
3278                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
3279            }
3280        }
3281        {
3282            let val_ref = &self.r#pairwise_cipher;
3283            if *val_ref != 0 {
3284                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
3285            }
3286        }
3287        {
3288            let val_ref = &self.r#group_cipher;
3289            if *val_ref != 0 {
3290                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
3291            }
3292        }
3293        {
3294            let val_ref = &self.r#ant;
3295            if *val_ref != 0 {
3296                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
3297            }
3298        }
3299        {
3300            let val_ref = &self.r#bitmask;
3301            if *val_ref != 0 {
3302                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
3303            }
3304        }
3305        {
3306            if let ::core::option::Option::Some(val_ref) = self.r#country() {
3307                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
3308            }
3309        }
3310        {
3311            if let ::core::option::Option::Some(val_ref) = self.r#he_ap() {
3312                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
3313            }
3314        }
3315        {
3316            let val_ref = &self.r#bandwidth;
3317            if *val_ref != 0 {
3318                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
3319            }
3320        }
3321        {
3322            let val_ref = &self.r#vht_ch_freq1;
3323            if *val_ref != 0 {
3324                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
3325            }
3326        }
3327        {
3328            let val_ref = &self.r#vht_ch_freq2;
3329            if *val_ref != 0 {
3330                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
3331            }
3332        }
3333        size
3334    }
3335}
3336#[derive(Debug, Default, PartialEq, Clone)]
3337pub struct r#wifi_scan_threshold {
3338    pub r#rssi: i32,
3339    pub r#authmode: i32,
3340}
3341impl r#wifi_scan_threshold {
3342    ///Return a reference to `rssi`
3343    #[inline]
3344    pub fn r#rssi(&self) -> &i32 {
3345        &self.r#rssi
3346    }
3347    ///Return a mutable reference to `rssi`
3348    #[inline]
3349    pub fn mut_rssi(&mut self) -> &mut i32 {
3350        &mut self.r#rssi
3351    }
3352    ///Set the value of `rssi`
3353    #[inline]
3354    pub fn set_rssi(&mut self, value: i32) -> &mut Self {
3355        self.r#rssi = value.into();
3356        self
3357    }
3358    ///Builder method that sets the value of `rssi`. Useful for initializing the message.
3359    #[inline]
3360    pub fn init_rssi(mut self, value: i32) -> Self {
3361        self.r#rssi = value.into();
3362        self
3363    }
3364    ///Return a reference to `authmode`
3365    #[inline]
3366    pub fn r#authmode(&self) -> &i32 {
3367        &self.r#authmode
3368    }
3369    ///Return a mutable reference to `authmode`
3370    #[inline]
3371    pub fn mut_authmode(&mut self) -> &mut i32 {
3372        &mut self.r#authmode
3373    }
3374    ///Set the value of `authmode`
3375    #[inline]
3376    pub fn set_authmode(&mut self, value: i32) -> &mut Self {
3377        self.r#authmode = value.into();
3378        self
3379    }
3380    ///Builder method that sets the value of `authmode`. Useful for initializing the message.
3381    #[inline]
3382    pub fn init_authmode(mut self, value: i32) -> Self {
3383        self.r#authmode = value.into();
3384        self
3385    }
3386}
3387impl ::micropb::MessageDecode for r#wifi_scan_threshold {
3388    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
3389        &mut self,
3390        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
3391        len: usize,
3392    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
3393        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
3394        let before = decoder.bytes_read();
3395        while decoder.bytes_read() - before < len {
3396            let tag = decoder.decode_tag()?;
3397            match tag.field_num() {
3398                0 => return Err(::micropb::DecodeError::ZeroField),
3399                1u32 => {
3400                    let mut_ref = &mut self.r#rssi;
3401                    {
3402                        let val = decoder.decode_int32()?;
3403                        let val_ref = &val;
3404                        if *val_ref != 0 {
3405                            *mut_ref = val as _;
3406                        }
3407                    };
3408                }
3409                2u32 => {
3410                    let mut_ref = &mut self.r#authmode;
3411                    {
3412                        let val = decoder.decode_int32()?;
3413                        let val_ref = &val;
3414                        if *val_ref != 0 {
3415                            *mut_ref = val as _;
3416                        }
3417                    };
3418                }
3419                _ => {
3420                    decoder.skip_wire_value(tag.wire_type())?;
3421                }
3422            }
3423        }
3424        Ok(())
3425    }
3426}
3427impl ::micropb::MessageEncode for r#wifi_scan_threshold {
3428    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
3429        let mut max_size = 0;
3430        if let ::core::option::Option::Some(size) =
3431            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
3432        {
3433            max_size += size;
3434        } else {
3435            break 'msg (::core::option::Option::<usize>::None);
3436        };
3437        if let ::core::option::Option::Some(size) =
3438            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
3439        {
3440            max_size += size;
3441        } else {
3442            break 'msg (::core::option::Option::<usize>::None);
3443        };
3444        ::core::option::Option::Some(max_size)
3445    };
3446    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
3447        &self,
3448        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
3449    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
3450        use ::micropb::{FieldEncode, PbMap};
3451        {
3452            let val_ref = &self.r#rssi;
3453            if *val_ref != 0 {
3454                encoder.encode_varint32(8u32)?;
3455                encoder.encode_int32(*val_ref as _)?;
3456            }
3457        }
3458        {
3459            let val_ref = &self.r#authmode;
3460            if *val_ref != 0 {
3461                encoder.encode_varint32(16u32)?;
3462                encoder.encode_int32(*val_ref as _)?;
3463            }
3464        }
3465        Ok(())
3466    }
3467    fn compute_size(&self) -> usize {
3468        use ::micropb::{FieldEncode, PbMap};
3469        let mut size = 0;
3470        {
3471            let val_ref = &self.r#rssi;
3472            if *val_ref != 0 {
3473                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
3474            }
3475        }
3476        {
3477            let val_ref = &self.r#authmode;
3478            if *val_ref != 0 {
3479                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
3480            }
3481        }
3482        size
3483    }
3484}
3485#[derive(Debug, Default, PartialEq, Clone)]
3486pub struct r#wifi_pmf_config {
3487    pub r#capable: bool,
3488    pub r#required: bool,
3489}
3490impl r#wifi_pmf_config {
3491    ///Return a reference to `capable`
3492    #[inline]
3493    pub fn r#capable(&self) -> &bool {
3494        &self.r#capable
3495    }
3496    ///Return a mutable reference to `capable`
3497    #[inline]
3498    pub fn mut_capable(&mut self) -> &mut bool {
3499        &mut self.r#capable
3500    }
3501    ///Set the value of `capable`
3502    #[inline]
3503    pub fn set_capable(&mut self, value: bool) -> &mut Self {
3504        self.r#capable = value.into();
3505        self
3506    }
3507    ///Builder method that sets the value of `capable`. Useful for initializing the message.
3508    #[inline]
3509    pub fn init_capable(mut self, value: bool) -> Self {
3510        self.r#capable = value.into();
3511        self
3512    }
3513    ///Return a reference to `required`
3514    #[inline]
3515    pub fn r#required(&self) -> &bool {
3516        &self.r#required
3517    }
3518    ///Return a mutable reference to `required`
3519    #[inline]
3520    pub fn mut_required(&mut self) -> &mut bool {
3521        &mut self.r#required
3522    }
3523    ///Set the value of `required`
3524    #[inline]
3525    pub fn set_required(&mut self, value: bool) -> &mut Self {
3526        self.r#required = value.into();
3527        self
3528    }
3529    ///Builder method that sets the value of `required`. Useful for initializing the message.
3530    #[inline]
3531    pub fn init_required(mut self, value: bool) -> Self {
3532        self.r#required = value.into();
3533        self
3534    }
3535}
3536impl ::micropb::MessageDecode for r#wifi_pmf_config {
3537    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
3538        &mut self,
3539        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
3540        len: usize,
3541    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
3542        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
3543        let before = decoder.bytes_read();
3544        while decoder.bytes_read() - before < len {
3545            let tag = decoder.decode_tag()?;
3546            match tag.field_num() {
3547                0 => return Err(::micropb::DecodeError::ZeroField),
3548                1u32 => {
3549                    let mut_ref = &mut self.r#capable;
3550                    {
3551                        let val = decoder.decode_bool()?;
3552                        let val_ref = &val;
3553                        if *val_ref {
3554                            *mut_ref = val as _;
3555                        }
3556                    };
3557                }
3558                2u32 => {
3559                    let mut_ref = &mut self.r#required;
3560                    {
3561                        let val = decoder.decode_bool()?;
3562                        let val_ref = &val;
3563                        if *val_ref {
3564                            *mut_ref = val as _;
3565                        }
3566                    };
3567                }
3568                _ => {
3569                    decoder.skip_wire_value(tag.wire_type())?;
3570                }
3571            }
3572        }
3573        Ok(())
3574    }
3575}
3576impl ::micropb::MessageEncode for r#wifi_pmf_config {
3577    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
3578        let mut max_size = 0;
3579        if let ::core::option::Option::Some(size) =
3580            ::micropb::const_map!(::core::option::Option::Some(1usize), |size| size + 1usize)
3581        {
3582            max_size += size;
3583        } else {
3584            break 'msg (::core::option::Option::<usize>::None);
3585        };
3586        if let ::core::option::Option::Some(size) =
3587            ::micropb::const_map!(::core::option::Option::Some(1usize), |size| size + 1usize)
3588        {
3589            max_size += size;
3590        } else {
3591            break 'msg (::core::option::Option::<usize>::None);
3592        };
3593        ::core::option::Option::Some(max_size)
3594    };
3595    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
3596        &self,
3597        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
3598    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
3599        use ::micropb::{FieldEncode, PbMap};
3600        {
3601            let val_ref = &self.r#capable;
3602            if *val_ref {
3603                encoder.encode_varint32(8u32)?;
3604                encoder.encode_bool(*val_ref)?;
3605            }
3606        }
3607        {
3608            let val_ref = &self.r#required;
3609            if *val_ref {
3610                encoder.encode_varint32(16u32)?;
3611                encoder.encode_bool(*val_ref)?;
3612            }
3613        }
3614        Ok(())
3615    }
3616    fn compute_size(&self) -> usize {
3617        use ::micropb::{FieldEncode, PbMap};
3618        let mut size = 0;
3619        {
3620            let val_ref = &self.r#capable;
3621            if *val_ref {
3622                size += 1usize + 1;
3623            }
3624        }
3625        {
3626            let val_ref = &self.r#required;
3627            if *val_ref {
3628                size += 1usize + 1;
3629            }
3630        }
3631        size
3632    }
3633}
3634pub mod wifi_ap_config_ {
3635    #[derive(Debug, Default, PartialEq, Clone)]
3636    pub struct _Hazzer([u8; 1]);
3637    impl _Hazzer {
3638        ///New hazzer with all fields set to off
3639        #[inline]
3640        pub const fn _new() -> Self {
3641            Self([0; 1])
3642        }
3643        ///Query presence of `pmf_cfg`
3644        #[inline]
3645        pub const fn r#pmf_cfg(&self) -> bool {
3646            (self.0[0] & 1) != 0
3647        }
3648        ///Set presence of `pmf_cfg`
3649        #[inline]
3650        pub const fn set_pmf_cfg(&mut self) -> &mut Self {
3651            let elem = &mut self.0[0];
3652            *elem |= 1;
3653            self
3654        }
3655        ///Clear presence of `pmf_cfg`
3656        #[inline]
3657        pub const fn clear_pmf_cfg(&mut self) -> &mut Self {
3658            let elem = &mut self.0[0];
3659            *elem &= !1;
3660            self
3661        }
3662        ///Builder method that sets the presence of `pmf_cfg`. Useful for initializing the Hazzer.
3663        #[inline]
3664        pub const fn init_pmf_cfg(mut self) -> Self {
3665            self.set_pmf_cfg();
3666            self
3667        }
3668    }
3669}
3670#[derive(Debug, Default, Clone)]
3671pub struct r#wifi_ap_config {
3672    pub r#ssid: ::micropb::heapless::Vec<u8, 33>,
3673    pub r#password: ::micropb::heapless::Vec<u8, 64>,
3674    pub r#ssid_len: u32,
3675    pub r#channel: u32,
3676    pub r#authmode: i32,
3677    pub r#ssid_hidden: u32,
3678    pub r#max_connection: u32,
3679    pub r#beacon_interval: u32,
3680    pub r#pairwise_cipher: i32,
3681    pub r#ftm_responder: bool,
3682    pub r#pmf_cfg: r#wifi_pmf_config,
3683    pub r#sae_pwe_h2e: i32,
3684    pub _has: wifi_ap_config_::_Hazzer,
3685}
3686impl ::core::cmp::PartialEq for r#wifi_ap_config {
3687    fn eq(&self, other: &Self) -> bool {
3688        let mut ret = true;
3689        ret &= (self.r#ssid == other.r#ssid);
3690        ret &= (self.r#password == other.r#password);
3691        ret &= (self.r#ssid_len == other.r#ssid_len);
3692        ret &= (self.r#channel == other.r#channel);
3693        ret &= (self.r#authmode == other.r#authmode);
3694        ret &= (self.r#ssid_hidden == other.r#ssid_hidden);
3695        ret &= (self.r#max_connection == other.r#max_connection);
3696        ret &= (self.r#beacon_interval == other.r#beacon_interval);
3697        ret &= (self.r#pairwise_cipher == other.r#pairwise_cipher);
3698        ret &= (self.r#ftm_responder == other.r#ftm_responder);
3699        ret &= (self.r#pmf_cfg() == other.r#pmf_cfg());
3700        ret &= (self.r#sae_pwe_h2e == other.r#sae_pwe_h2e);
3701        ret
3702    }
3703}
3704impl r#wifi_ap_config {
3705    ///Return a reference to `ssid`
3706    #[inline]
3707    pub fn r#ssid(&self) -> &::micropb::heapless::Vec<u8, 33> {
3708        &self.r#ssid
3709    }
3710    ///Return a mutable reference to `ssid`
3711    #[inline]
3712    pub fn mut_ssid(&mut self) -> &mut ::micropb::heapless::Vec<u8, 33> {
3713        &mut self.r#ssid
3714    }
3715    ///Set the value of `ssid`
3716    #[inline]
3717    pub fn set_ssid(&mut self, value: ::micropb::heapless::Vec<u8, 33>) -> &mut Self {
3718        self.r#ssid = value.into();
3719        self
3720    }
3721    ///Builder method that sets the value of `ssid`. Useful for initializing the message.
3722    #[inline]
3723    pub fn init_ssid(mut self, value: ::micropb::heapless::Vec<u8, 33>) -> Self {
3724        self.r#ssid = value.into();
3725        self
3726    }
3727    ///Return a reference to `password`
3728    #[inline]
3729    pub fn r#password(&self) -> &::micropb::heapless::Vec<u8, 64> {
3730        &self.r#password
3731    }
3732    ///Return a mutable reference to `password`
3733    #[inline]
3734    pub fn mut_password(&mut self) -> &mut ::micropb::heapless::Vec<u8, 64> {
3735        &mut self.r#password
3736    }
3737    ///Set the value of `password`
3738    #[inline]
3739    pub fn set_password(&mut self, value: ::micropb::heapless::Vec<u8, 64>) -> &mut Self {
3740        self.r#password = value.into();
3741        self
3742    }
3743    ///Builder method that sets the value of `password`. Useful for initializing the message.
3744    #[inline]
3745    pub fn init_password(mut self, value: ::micropb::heapless::Vec<u8, 64>) -> Self {
3746        self.r#password = value.into();
3747        self
3748    }
3749    ///Return a reference to `ssid_len`
3750    #[inline]
3751    pub fn r#ssid_len(&self) -> &u32 {
3752        &self.r#ssid_len
3753    }
3754    ///Return a mutable reference to `ssid_len`
3755    #[inline]
3756    pub fn mut_ssid_len(&mut self) -> &mut u32 {
3757        &mut self.r#ssid_len
3758    }
3759    ///Set the value of `ssid_len`
3760    #[inline]
3761    pub fn set_ssid_len(&mut self, value: u32) -> &mut Self {
3762        self.r#ssid_len = value.into();
3763        self
3764    }
3765    ///Builder method that sets the value of `ssid_len`. Useful for initializing the message.
3766    #[inline]
3767    pub fn init_ssid_len(mut self, value: u32) -> Self {
3768        self.r#ssid_len = value.into();
3769        self
3770    }
3771    ///Return a reference to `channel`
3772    #[inline]
3773    pub fn r#channel(&self) -> &u32 {
3774        &self.r#channel
3775    }
3776    ///Return a mutable reference to `channel`
3777    #[inline]
3778    pub fn mut_channel(&mut self) -> &mut u32 {
3779        &mut self.r#channel
3780    }
3781    ///Set the value of `channel`
3782    #[inline]
3783    pub fn set_channel(&mut self, value: u32) -> &mut Self {
3784        self.r#channel = value.into();
3785        self
3786    }
3787    ///Builder method that sets the value of `channel`. Useful for initializing the message.
3788    #[inline]
3789    pub fn init_channel(mut self, value: u32) -> Self {
3790        self.r#channel = value.into();
3791        self
3792    }
3793    ///Return a reference to `authmode`
3794    #[inline]
3795    pub fn r#authmode(&self) -> &i32 {
3796        &self.r#authmode
3797    }
3798    ///Return a mutable reference to `authmode`
3799    #[inline]
3800    pub fn mut_authmode(&mut self) -> &mut i32 {
3801        &mut self.r#authmode
3802    }
3803    ///Set the value of `authmode`
3804    #[inline]
3805    pub fn set_authmode(&mut self, value: i32) -> &mut Self {
3806        self.r#authmode = value.into();
3807        self
3808    }
3809    ///Builder method that sets the value of `authmode`. Useful for initializing the message.
3810    #[inline]
3811    pub fn init_authmode(mut self, value: i32) -> Self {
3812        self.r#authmode = value.into();
3813        self
3814    }
3815    ///Return a reference to `ssid_hidden`
3816    #[inline]
3817    pub fn r#ssid_hidden(&self) -> &u32 {
3818        &self.r#ssid_hidden
3819    }
3820    ///Return a mutable reference to `ssid_hidden`
3821    #[inline]
3822    pub fn mut_ssid_hidden(&mut self) -> &mut u32 {
3823        &mut self.r#ssid_hidden
3824    }
3825    ///Set the value of `ssid_hidden`
3826    #[inline]
3827    pub fn set_ssid_hidden(&mut self, value: u32) -> &mut Self {
3828        self.r#ssid_hidden = value.into();
3829        self
3830    }
3831    ///Builder method that sets the value of `ssid_hidden`. Useful for initializing the message.
3832    #[inline]
3833    pub fn init_ssid_hidden(mut self, value: u32) -> Self {
3834        self.r#ssid_hidden = value.into();
3835        self
3836    }
3837    ///Return a reference to `max_connection`
3838    #[inline]
3839    pub fn r#max_connection(&self) -> &u32 {
3840        &self.r#max_connection
3841    }
3842    ///Return a mutable reference to `max_connection`
3843    #[inline]
3844    pub fn mut_max_connection(&mut self) -> &mut u32 {
3845        &mut self.r#max_connection
3846    }
3847    ///Set the value of `max_connection`
3848    #[inline]
3849    pub fn set_max_connection(&mut self, value: u32) -> &mut Self {
3850        self.r#max_connection = value.into();
3851        self
3852    }
3853    ///Builder method that sets the value of `max_connection`. Useful for initializing the message.
3854    #[inline]
3855    pub fn init_max_connection(mut self, value: u32) -> Self {
3856        self.r#max_connection = value.into();
3857        self
3858    }
3859    ///Return a reference to `beacon_interval`
3860    #[inline]
3861    pub fn r#beacon_interval(&self) -> &u32 {
3862        &self.r#beacon_interval
3863    }
3864    ///Return a mutable reference to `beacon_interval`
3865    #[inline]
3866    pub fn mut_beacon_interval(&mut self) -> &mut u32 {
3867        &mut self.r#beacon_interval
3868    }
3869    ///Set the value of `beacon_interval`
3870    #[inline]
3871    pub fn set_beacon_interval(&mut self, value: u32) -> &mut Self {
3872        self.r#beacon_interval = value.into();
3873        self
3874    }
3875    ///Builder method that sets the value of `beacon_interval`. Useful for initializing the message.
3876    #[inline]
3877    pub fn init_beacon_interval(mut self, value: u32) -> Self {
3878        self.r#beacon_interval = value.into();
3879        self
3880    }
3881    ///Return a reference to `pairwise_cipher`
3882    #[inline]
3883    pub fn r#pairwise_cipher(&self) -> &i32 {
3884        &self.r#pairwise_cipher
3885    }
3886    ///Return a mutable reference to `pairwise_cipher`
3887    #[inline]
3888    pub fn mut_pairwise_cipher(&mut self) -> &mut i32 {
3889        &mut self.r#pairwise_cipher
3890    }
3891    ///Set the value of `pairwise_cipher`
3892    #[inline]
3893    pub fn set_pairwise_cipher(&mut self, value: i32) -> &mut Self {
3894        self.r#pairwise_cipher = value.into();
3895        self
3896    }
3897    ///Builder method that sets the value of `pairwise_cipher`. Useful for initializing the message.
3898    #[inline]
3899    pub fn init_pairwise_cipher(mut self, value: i32) -> Self {
3900        self.r#pairwise_cipher = value.into();
3901        self
3902    }
3903    ///Return a reference to `ftm_responder`
3904    #[inline]
3905    pub fn r#ftm_responder(&self) -> &bool {
3906        &self.r#ftm_responder
3907    }
3908    ///Return a mutable reference to `ftm_responder`
3909    #[inline]
3910    pub fn mut_ftm_responder(&mut self) -> &mut bool {
3911        &mut self.r#ftm_responder
3912    }
3913    ///Set the value of `ftm_responder`
3914    #[inline]
3915    pub fn set_ftm_responder(&mut self, value: bool) -> &mut Self {
3916        self.r#ftm_responder = value.into();
3917        self
3918    }
3919    ///Builder method that sets the value of `ftm_responder`. Useful for initializing the message.
3920    #[inline]
3921    pub fn init_ftm_responder(mut self, value: bool) -> Self {
3922        self.r#ftm_responder = value.into();
3923        self
3924    }
3925    ///Return a reference to `pmf_cfg` as an `Option`
3926    #[inline]
3927    pub fn r#pmf_cfg(&self) -> ::core::option::Option<&r#wifi_pmf_config> {
3928        self._has.r#pmf_cfg().then_some(&self.r#pmf_cfg)
3929    }
3930    ///Set the value and presence of `pmf_cfg`
3931    #[inline]
3932    pub fn set_pmf_cfg(&mut self, value: r#wifi_pmf_config) -> &mut Self {
3933        self._has.set_pmf_cfg();
3934        self.r#pmf_cfg = value.into();
3935        self
3936    }
3937    ///Return a mutable reference to `pmf_cfg` as an `Option`
3938    #[inline]
3939    pub fn mut_pmf_cfg(&mut self) -> ::core::option::Option<&mut r#wifi_pmf_config> {
3940        self._has.r#pmf_cfg().then_some(&mut self.r#pmf_cfg)
3941    }
3942    ///Clear the presence of `pmf_cfg`
3943    #[inline]
3944    pub fn clear_pmf_cfg(&mut self) -> &mut Self {
3945        self._has.clear_pmf_cfg();
3946        self
3947    }
3948    ///Take the value of `pmf_cfg` and clear its presence
3949    #[inline]
3950    pub fn take_pmf_cfg(&mut self) -> ::core::option::Option<r#wifi_pmf_config> {
3951        let val = self
3952            ._has
3953            .r#pmf_cfg()
3954            .then(|| ::core::mem::take(&mut self.r#pmf_cfg));
3955        self._has.clear_pmf_cfg();
3956        val
3957    }
3958    ///Builder method that sets the value of `pmf_cfg`. Useful for initializing the message.
3959    #[inline]
3960    pub fn init_pmf_cfg(mut self, value: r#wifi_pmf_config) -> Self {
3961        self.set_pmf_cfg(value);
3962        self
3963    }
3964    ///Return a reference to `sae_pwe_h2e`
3965    #[inline]
3966    pub fn r#sae_pwe_h2e(&self) -> &i32 {
3967        &self.r#sae_pwe_h2e
3968    }
3969    ///Return a mutable reference to `sae_pwe_h2e`
3970    #[inline]
3971    pub fn mut_sae_pwe_h2e(&mut self) -> &mut i32 {
3972        &mut self.r#sae_pwe_h2e
3973    }
3974    ///Set the value of `sae_pwe_h2e`
3975    #[inline]
3976    pub fn set_sae_pwe_h2e(&mut self, value: i32) -> &mut Self {
3977        self.r#sae_pwe_h2e = value.into();
3978        self
3979    }
3980    ///Builder method that sets the value of `sae_pwe_h2e`. Useful for initializing the message.
3981    #[inline]
3982    pub fn init_sae_pwe_h2e(mut self, value: i32) -> Self {
3983        self.r#sae_pwe_h2e = value.into();
3984        self
3985    }
3986}
3987impl ::micropb::MessageDecode for r#wifi_ap_config {
3988    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
3989        &mut self,
3990        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
3991        len: usize,
3992    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
3993        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
3994        let before = decoder.bytes_read();
3995        while decoder.bytes_read() - before < len {
3996            let tag = decoder.decode_tag()?;
3997            match tag.field_num() {
3998                0 => return Err(::micropb::DecodeError::ZeroField),
3999                1u32 => {
4000                    let mut_ref = &mut self.r#ssid;
4001                    {
4002                        decoder.decode_bytes(mut_ref, ::micropb::Presence::Implicit)?;
4003                    };
4004                }
4005                2u32 => {
4006                    let mut_ref = &mut self.r#password;
4007                    {
4008                        decoder.decode_bytes(mut_ref, ::micropb::Presence::Implicit)?;
4009                    };
4010                }
4011                3u32 => {
4012                    let mut_ref = &mut self.r#ssid_len;
4013                    {
4014                        let val = decoder.decode_varint32()?;
4015                        let val_ref = &val;
4016                        if *val_ref != 0 {
4017                            *mut_ref = val as _;
4018                        }
4019                    };
4020                }
4021                4u32 => {
4022                    let mut_ref = &mut self.r#channel;
4023                    {
4024                        let val = decoder.decode_varint32()?;
4025                        let val_ref = &val;
4026                        if *val_ref != 0 {
4027                            *mut_ref = val as _;
4028                        }
4029                    };
4030                }
4031                5u32 => {
4032                    let mut_ref = &mut self.r#authmode;
4033                    {
4034                        let val = decoder.decode_int32()?;
4035                        let val_ref = &val;
4036                        if *val_ref != 0 {
4037                            *mut_ref = val as _;
4038                        }
4039                    };
4040                }
4041                6u32 => {
4042                    let mut_ref = &mut self.r#ssid_hidden;
4043                    {
4044                        let val = decoder.decode_varint32()?;
4045                        let val_ref = &val;
4046                        if *val_ref != 0 {
4047                            *mut_ref = val as _;
4048                        }
4049                    };
4050                }
4051                7u32 => {
4052                    let mut_ref = &mut self.r#max_connection;
4053                    {
4054                        let val = decoder.decode_varint32()?;
4055                        let val_ref = &val;
4056                        if *val_ref != 0 {
4057                            *mut_ref = val as _;
4058                        }
4059                    };
4060                }
4061                8u32 => {
4062                    let mut_ref = &mut self.r#beacon_interval;
4063                    {
4064                        let val = decoder.decode_varint32()?;
4065                        let val_ref = &val;
4066                        if *val_ref != 0 {
4067                            *mut_ref = val as _;
4068                        }
4069                    };
4070                }
4071                9u32 => {
4072                    let mut_ref = &mut self.r#pairwise_cipher;
4073                    {
4074                        let val = decoder.decode_int32()?;
4075                        let val_ref = &val;
4076                        if *val_ref != 0 {
4077                            *mut_ref = val as _;
4078                        }
4079                    };
4080                }
4081                10u32 => {
4082                    let mut_ref = &mut self.r#ftm_responder;
4083                    {
4084                        let val = decoder.decode_bool()?;
4085                        let val_ref = &val;
4086                        if *val_ref {
4087                            *mut_ref = val as _;
4088                        }
4089                    };
4090                }
4091                11u32 => {
4092                    let mut_ref = &mut self.r#pmf_cfg;
4093                    {
4094                        mut_ref.decode_len_delimited(decoder)?;
4095                    };
4096                    self._has.set_pmf_cfg();
4097                }
4098                12u32 => {
4099                    let mut_ref = &mut self.r#sae_pwe_h2e;
4100                    {
4101                        let val = decoder.decode_int32()?;
4102                        let val_ref = &val;
4103                        if *val_ref != 0 {
4104                            *mut_ref = val as _;
4105                        }
4106                    };
4107                }
4108                _ => {
4109                    decoder.skip_wire_value(tag.wire_type())?;
4110                }
4111            }
4112        }
4113        Ok(())
4114    }
4115}
4116impl ::micropb::MessageEncode for r#wifi_ap_config {
4117    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
4118        let mut max_size = 0;
4119        if let ::core::option::Option::Some(size) =
4120            ::micropb::const_map!(::core::option::Option::Some(34usize), |size| size + 1usize)
4121        {
4122            max_size += size;
4123        } else {
4124            break 'msg (::core::option::Option::<usize>::None);
4125        };
4126        if let ::core::option::Option::Some(size) =
4127            ::micropb::const_map!(::core::option::Option::Some(65usize), |size| size + 1usize)
4128        {
4129            max_size += size;
4130        } else {
4131            break 'msg (::core::option::Option::<usize>::None);
4132        };
4133        if let ::core::option::Option::Some(size) =
4134            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
4135        {
4136            max_size += size;
4137        } else {
4138            break 'msg (::core::option::Option::<usize>::None);
4139        };
4140        if let ::core::option::Option::Some(size) =
4141            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
4142        {
4143            max_size += size;
4144        } else {
4145            break 'msg (::core::option::Option::<usize>::None);
4146        };
4147        if let ::core::option::Option::Some(size) =
4148            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
4149        {
4150            max_size += size;
4151        } else {
4152            break 'msg (::core::option::Option::<usize>::None);
4153        };
4154        if let ::core::option::Option::Some(size) =
4155            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
4156        {
4157            max_size += size;
4158        } else {
4159            break 'msg (::core::option::Option::<usize>::None);
4160        };
4161        if let ::core::option::Option::Some(size) =
4162            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
4163        {
4164            max_size += size;
4165        } else {
4166            break 'msg (::core::option::Option::<usize>::None);
4167        };
4168        if let ::core::option::Option::Some(size) =
4169            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
4170        {
4171            max_size += size;
4172        } else {
4173            break 'msg (::core::option::Option::<usize>::None);
4174        };
4175        if let ::core::option::Option::Some(size) =
4176            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
4177        {
4178            max_size += size;
4179        } else {
4180            break 'msg (::core::option::Option::<usize>::None);
4181        };
4182        if let ::core::option::Option::Some(size) =
4183            ::micropb::const_map!(::core::option::Option::Some(1usize), |size| size + 1usize)
4184        {
4185            max_size += size;
4186        } else {
4187            break 'msg (::core::option::Option::<usize>::None);
4188        };
4189        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
4190            ::micropb::const_map!(
4191                <r#wifi_pmf_config as ::micropb::MessageEncode>::MAX_SIZE,
4192                |size| ::micropb::size::sizeof_len_record(size)
4193            ),
4194            |size| size + 1usize
4195        ) {
4196            max_size += size;
4197        } else {
4198            break 'msg (::core::option::Option::<usize>::None);
4199        };
4200        if let ::core::option::Option::Some(size) =
4201            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
4202        {
4203            max_size += size;
4204        } else {
4205            break 'msg (::core::option::Option::<usize>::None);
4206        };
4207        ::core::option::Option::Some(max_size)
4208    };
4209    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
4210        &self,
4211        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
4212    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
4213        use ::micropb::{FieldEncode, PbMap};
4214        {
4215            let val_ref = &self.r#ssid;
4216            if !val_ref.is_empty() {
4217                encoder.encode_varint32(10u32)?;
4218                encoder.encode_bytes(val_ref)?;
4219            }
4220        }
4221        {
4222            let val_ref = &self.r#password;
4223            if !val_ref.is_empty() {
4224                encoder.encode_varint32(18u32)?;
4225                encoder.encode_bytes(val_ref)?;
4226            }
4227        }
4228        {
4229            let val_ref = &self.r#ssid_len;
4230            if *val_ref != 0 {
4231                encoder.encode_varint32(24u32)?;
4232                encoder.encode_varint32(*val_ref as _)?;
4233            }
4234        }
4235        {
4236            let val_ref = &self.r#channel;
4237            if *val_ref != 0 {
4238                encoder.encode_varint32(32u32)?;
4239                encoder.encode_varint32(*val_ref as _)?;
4240            }
4241        }
4242        {
4243            let val_ref = &self.r#authmode;
4244            if *val_ref != 0 {
4245                encoder.encode_varint32(40u32)?;
4246                encoder.encode_int32(*val_ref as _)?;
4247            }
4248        }
4249        {
4250            let val_ref = &self.r#ssid_hidden;
4251            if *val_ref != 0 {
4252                encoder.encode_varint32(48u32)?;
4253                encoder.encode_varint32(*val_ref as _)?;
4254            }
4255        }
4256        {
4257            let val_ref = &self.r#max_connection;
4258            if *val_ref != 0 {
4259                encoder.encode_varint32(56u32)?;
4260                encoder.encode_varint32(*val_ref as _)?;
4261            }
4262        }
4263        {
4264            let val_ref = &self.r#beacon_interval;
4265            if *val_ref != 0 {
4266                encoder.encode_varint32(64u32)?;
4267                encoder.encode_varint32(*val_ref as _)?;
4268            }
4269        }
4270        {
4271            let val_ref = &self.r#pairwise_cipher;
4272            if *val_ref != 0 {
4273                encoder.encode_varint32(72u32)?;
4274                encoder.encode_int32(*val_ref as _)?;
4275            }
4276        }
4277        {
4278            let val_ref = &self.r#ftm_responder;
4279            if *val_ref {
4280                encoder.encode_varint32(80u32)?;
4281                encoder.encode_bool(*val_ref)?;
4282            }
4283        }
4284        {
4285            if let ::core::option::Option::Some(val_ref) = self.r#pmf_cfg() {
4286                encoder.encode_varint32(90u32)?;
4287                val_ref.encode_len_delimited(encoder)?;
4288            }
4289        }
4290        {
4291            let val_ref = &self.r#sae_pwe_h2e;
4292            if *val_ref != 0 {
4293                encoder.encode_varint32(96u32)?;
4294                encoder.encode_int32(*val_ref as _)?;
4295            }
4296        }
4297        Ok(())
4298    }
4299    fn compute_size(&self) -> usize {
4300        use ::micropb::{FieldEncode, PbMap};
4301        let mut size = 0;
4302        {
4303            let val_ref = &self.r#ssid;
4304            if !val_ref.is_empty() {
4305                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.len());
4306            }
4307        }
4308        {
4309            let val_ref = &self.r#password;
4310            if !val_ref.is_empty() {
4311                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.len());
4312            }
4313        }
4314        {
4315            let val_ref = &self.r#ssid_len;
4316            if *val_ref != 0 {
4317                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
4318            }
4319        }
4320        {
4321            let val_ref = &self.r#channel;
4322            if *val_ref != 0 {
4323                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
4324            }
4325        }
4326        {
4327            let val_ref = &self.r#authmode;
4328            if *val_ref != 0 {
4329                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
4330            }
4331        }
4332        {
4333            let val_ref = &self.r#ssid_hidden;
4334            if *val_ref != 0 {
4335                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
4336            }
4337        }
4338        {
4339            let val_ref = &self.r#max_connection;
4340            if *val_ref != 0 {
4341                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
4342            }
4343        }
4344        {
4345            let val_ref = &self.r#beacon_interval;
4346            if *val_ref != 0 {
4347                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
4348            }
4349        }
4350        {
4351            let val_ref = &self.r#pairwise_cipher;
4352            if *val_ref != 0 {
4353                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
4354            }
4355        }
4356        {
4357            let val_ref = &self.r#ftm_responder;
4358            if *val_ref {
4359                size += 1usize + 1;
4360            }
4361        }
4362        {
4363            if let ::core::option::Option::Some(val_ref) = self.r#pmf_cfg() {
4364                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
4365            }
4366        }
4367        {
4368            let val_ref = &self.r#sae_pwe_h2e;
4369            if *val_ref != 0 {
4370                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
4371            }
4372        }
4373        size
4374    }
4375}
4376pub mod wifi_sta_config_ {
4377    #[derive(Debug, Default, PartialEq, Clone)]
4378    pub struct _Hazzer([u8; 1]);
4379    impl _Hazzer {
4380        ///New hazzer with all fields set to off
4381        #[inline]
4382        pub const fn _new() -> Self {
4383            Self([0; 1])
4384        }
4385        ///Query presence of `threshold`
4386        #[inline]
4387        pub const fn r#threshold(&self) -> bool {
4388            (self.0[0] & 1) != 0
4389        }
4390        ///Set presence of `threshold`
4391        #[inline]
4392        pub const fn set_threshold(&mut self) -> &mut Self {
4393            let elem = &mut self.0[0];
4394            *elem |= 1;
4395            self
4396        }
4397        ///Clear presence of `threshold`
4398        #[inline]
4399        pub const fn clear_threshold(&mut self) -> &mut Self {
4400            let elem = &mut self.0[0];
4401            *elem &= !1;
4402            self
4403        }
4404        ///Builder method that sets the presence of `threshold`. Useful for initializing the Hazzer.
4405        #[inline]
4406        pub const fn init_threshold(mut self) -> Self {
4407            self.set_threshold();
4408            self
4409        }
4410        ///Query presence of `pmf_cfg`
4411        #[inline]
4412        pub const fn r#pmf_cfg(&self) -> bool {
4413            (self.0[0] & 2) != 0
4414        }
4415        ///Set presence of `pmf_cfg`
4416        #[inline]
4417        pub const fn set_pmf_cfg(&mut self) -> &mut Self {
4418            let elem = &mut self.0[0];
4419            *elem |= 2;
4420            self
4421        }
4422        ///Clear presence of `pmf_cfg`
4423        #[inline]
4424        pub const fn clear_pmf_cfg(&mut self) -> &mut Self {
4425            let elem = &mut self.0[0];
4426            *elem &= !2;
4427            self
4428        }
4429        ///Builder method that sets the presence of `pmf_cfg`. Useful for initializing the Hazzer.
4430        #[inline]
4431        pub const fn init_pmf_cfg(mut self) -> Self {
4432            self.set_pmf_cfg();
4433            self
4434        }
4435    }
4436}
4437#[derive(Debug, Default, Clone)]
4438pub struct r#wifi_sta_config {
4439    pub r#ssid: ::micropb::heapless::Vec<u8, 33>,
4440    pub r#password: ::micropb::heapless::Vec<u8, 64>,
4441    pub r#scan_method: i32,
4442    pub r#bssid_set: bool,
4443    pub r#bssid: ::micropb::heapless::Vec<u8, 6>,
4444    pub r#channel: u32,
4445    pub r#listen_interval: u32,
4446    pub r#sort_method: i32,
4447    pub r#threshold: r#wifi_scan_threshold,
4448    pub r#pmf_cfg: r#wifi_pmf_config,
4449    pub r#bitmask: u32,
4450    pub r#sae_pwe_h2e: i32,
4451    pub r#failure_retry_cnt: u32,
4452    pub r#he_bitmask: u32,
4453    pub r#sae_h2e_identifier: ::micropb::heapless::Vec<u8, 16>,
4454    pub _has: wifi_sta_config_::_Hazzer,
4455}
4456impl ::core::cmp::PartialEq for r#wifi_sta_config {
4457    fn eq(&self, other: &Self) -> bool {
4458        let mut ret = true;
4459        ret &= (self.r#ssid == other.r#ssid);
4460        ret &= (self.r#password == other.r#password);
4461        ret &= (self.r#scan_method == other.r#scan_method);
4462        ret &= (self.r#bssid_set == other.r#bssid_set);
4463        ret &= (self.r#bssid == other.r#bssid);
4464        ret &= (self.r#channel == other.r#channel);
4465        ret &= (self.r#listen_interval == other.r#listen_interval);
4466        ret &= (self.r#sort_method == other.r#sort_method);
4467        ret &= (self.r#threshold() == other.r#threshold());
4468        ret &= (self.r#pmf_cfg() == other.r#pmf_cfg());
4469        ret &= (self.r#bitmask == other.r#bitmask);
4470        ret &= (self.r#sae_pwe_h2e == other.r#sae_pwe_h2e);
4471        ret &= (self.r#failure_retry_cnt == other.r#failure_retry_cnt);
4472        ret &= (self.r#he_bitmask == other.r#he_bitmask);
4473        ret &= (self.r#sae_h2e_identifier == other.r#sae_h2e_identifier);
4474        ret
4475    }
4476}
4477impl r#wifi_sta_config {
4478    ///Return a reference to `ssid`
4479    #[inline]
4480    pub fn r#ssid(&self) -> &::micropb::heapless::Vec<u8, 33> {
4481        &self.r#ssid
4482    }
4483    ///Return a mutable reference to `ssid`
4484    #[inline]
4485    pub fn mut_ssid(&mut self) -> &mut ::micropb::heapless::Vec<u8, 33> {
4486        &mut self.r#ssid
4487    }
4488    ///Set the value of `ssid`
4489    #[inline]
4490    pub fn set_ssid(&mut self, value: ::micropb::heapless::Vec<u8, 33>) -> &mut Self {
4491        self.r#ssid = value.into();
4492        self
4493    }
4494    ///Builder method that sets the value of `ssid`. Useful for initializing the message.
4495    #[inline]
4496    pub fn init_ssid(mut self, value: ::micropb::heapless::Vec<u8, 33>) -> Self {
4497        self.r#ssid = value.into();
4498        self
4499    }
4500    ///Return a reference to `password`
4501    #[inline]
4502    pub fn r#password(&self) -> &::micropb::heapless::Vec<u8, 64> {
4503        &self.r#password
4504    }
4505    ///Return a mutable reference to `password`
4506    #[inline]
4507    pub fn mut_password(&mut self) -> &mut ::micropb::heapless::Vec<u8, 64> {
4508        &mut self.r#password
4509    }
4510    ///Set the value of `password`
4511    #[inline]
4512    pub fn set_password(&mut self, value: ::micropb::heapless::Vec<u8, 64>) -> &mut Self {
4513        self.r#password = value.into();
4514        self
4515    }
4516    ///Builder method that sets the value of `password`. Useful for initializing the message.
4517    #[inline]
4518    pub fn init_password(mut self, value: ::micropb::heapless::Vec<u8, 64>) -> Self {
4519        self.r#password = value.into();
4520        self
4521    }
4522    ///Return a reference to `scan_method`
4523    #[inline]
4524    pub fn r#scan_method(&self) -> &i32 {
4525        &self.r#scan_method
4526    }
4527    ///Return a mutable reference to `scan_method`
4528    #[inline]
4529    pub fn mut_scan_method(&mut self) -> &mut i32 {
4530        &mut self.r#scan_method
4531    }
4532    ///Set the value of `scan_method`
4533    #[inline]
4534    pub fn set_scan_method(&mut self, value: i32) -> &mut Self {
4535        self.r#scan_method = value.into();
4536        self
4537    }
4538    ///Builder method that sets the value of `scan_method`. Useful for initializing the message.
4539    #[inline]
4540    pub fn init_scan_method(mut self, value: i32) -> Self {
4541        self.r#scan_method = value.into();
4542        self
4543    }
4544    ///Return a reference to `bssid_set`
4545    #[inline]
4546    pub fn r#bssid_set(&self) -> &bool {
4547        &self.r#bssid_set
4548    }
4549    ///Return a mutable reference to `bssid_set`
4550    #[inline]
4551    pub fn mut_bssid_set(&mut self) -> &mut bool {
4552        &mut self.r#bssid_set
4553    }
4554    ///Set the value of `bssid_set`
4555    #[inline]
4556    pub fn set_bssid_set(&mut self, value: bool) -> &mut Self {
4557        self.r#bssid_set = value.into();
4558        self
4559    }
4560    ///Builder method that sets the value of `bssid_set`. Useful for initializing the message.
4561    #[inline]
4562    pub fn init_bssid_set(mut self, value: bool) -> Self {
4563        self.r#bssid_set = value.into();
4564        self
4565    }
4566    ///Return a reference to `bssid`
4567    #[inline]
4568    pub fn r#bssid(&self) -> &::micropb::heapless::Vec<u8, 6> {
4569        &self.r#bssid
4570    }
4571    ///Return a mutable reference to `bssid`
4572    #[inline]
4573    pub fn mut_bssid(&mut self) -> &mut ::micropb::heapless::Vec<u8, 6> {
4574        &mut self.r#bssid
4575    }
4576    ///Set the value of `bssid`
4577    #[inline]
4578    pub fn set_bssid(&mut self, value: ::micropb::heapless::Vec<u8, 6>) -> &mut Self {
4579        self.r#bssid = value.into();
4580        self
4581    }
4582    ///Builder method that sets the value of `bssid`. Useful for initializing the message.
4583    #[inline]
4584    pub fn init_bssid(mut self, value: ::micropb::heapless::Vec<u8, 6>) -> Self {
4585        self.r#bssid = value.into();
4586        self
4587    }
4588    ///Return a reference to `channel`
4589    #[inline]
4590    pub fn r#channel(&self) -> &u32 {
4591        &self.r#channel
4592    }
4593    ///Return a mutable reference to `channel`
4594    #[inline]
4595    pub fn mut_channel(&mut self) -> &mut u32 {
4596        &mut self.r#channel
4597    }
4598    ///Set the value of `channel`
4599    #[inline]
4600    pub fn set_channel(&mut self, value: u32) -> &mut Self {
4601        self.r#channel = value.into();
4602        self
4603    }
4604    ///Builder method that sets the value of `channel`. Useful for initializing the message.
4605    #[inline]
4606    pub fn init_channel(mut self, value: u32) -> Self {
4607        self.r#channel = value.into();
4608        self
4609    }
4610    ///Return a reference to `listen_interval`
4611    #[inline]
4612    pub fn r#listen_interval(&self) -> &u32 {
4613        &self.r#listen_interval
4614    }
4615    ///Return a mutable reference to `listen_interval`
4616    #[inline]
4617    pub fn mut_listen_interval(&mut self) -> &mut u32 {
4618        &mut self.r#listen_interval
4619    }
4620    ///Set the value of `listen_interval`
4621    #[inline]
4622    pub fn set_listen_interval(&mut self, value: u32) -> &mut Self {
4623        self.r#listen_interval = value.into();
4624        self
4625    }
4626    ///Builder method that sets the value of `listen_interval`. Useful for initializing the message.
4627    #[inline]
4628    pub fn init_listen_interval(mut self, value: u32) -> Self {
4629        self.r#listen_interval = value.into();
4630        self
4631    }
4632    ///Return a reference to `sort_method`
4633    #[inline]
4634    pub fn r#sort_method(&self) -> &i32 {
4635        &self.r#sort_method
4636    }
4637    ///Return a mutable reference to `sort_method`
4638    #[inline]
4639    pub fn mut_sort_method(&mut self) -> &mut i32 {
4640        &mut self.r#sort_method
4641    }
4642    ///Set the value of `sort_method`
4643    #[inline]
4644    pub fn set_sort_method(&mut self, value: i32) -> &mut Self {
4645        self.r#sort_method = value.into();
4646        self
4647    }
4648    ///Builder method that sets the value of `sort_method`. Useful for initializing the message.
4649    #[inline]
4650    pub fn init_sort_method(mut self, value: i32) -> Self {
4651        self.r#sort_method = value.into();
4652        self
4653    }
4654    ///Return a reference to `threshold` as an `Option`
4655    #[inline]
4656    pub fn r#threshold(&self) -> ::core::option::Option<&r#wifi_scan_threshold> {
4657        self._has.r#threshold().then_some(&self.r#threshold)
4658    }
4659    ///Set the value and presence of `threshold`
4660    #[inline]
4661    pub fn set_threshold(&mut self, value: r#wifi_scan_threshold) -> &mut Self {
4662        self._has.set_threshold();
4663        self.r#threshold = value.into();
4664        self
4665    }
4666    ///Return a mutable reference to `threshold` as an `Option`
4667    #[inline]
4668    pub fn mut_threshold(&mut self) -> ::core::option::Option<&mut r#wifi_scan_threshold> {
4669        self._has.r#threshold().then_some(&mut self.r#threshold)
4670    }
4671    ///Clear the presence of `threshold`
4672    #[inline]
4673    pub fn clear_threshold(&mut self) -> &mut Self {
4674        self._has.clear_threshold();
4675        self
4676    }
4677    ///Take the value of `threshold` and clear its presence
4678    #[inline]
4679    pub fn take_threshold(&mut self) -> ::core::option::Option<r#wifi_scan_threshold> {
4680        let val = self
4681            ._has
4682            .r#threshold()
4683            .then(|| ::core::mem::take(&mut self.r#threshold));
4684        self._has.clear_threshold();
4685        val
4686    }
4687    ///Builder method that sets the value of `threshold`. Useful for initializing the message.
4688    #[inline]
4689    pub fn init_threshold(mut self, value: r#wifi_scan_threshold) -> Self {
4690        self.set_threshold(value);
4691        self
4692    }
4693    ///Return a reference to `pmf_cfg` as an `Option`
4694    #[inline]
4695    pub fn r#pmf_cfg(&self) -> ::core::option::Option<&r#wifi_pmf_config> {
4696        self._has.r#pmf_cfg().then_some(&self.r#pmf_cfg)
4697    }
4698    ///Set the value and presence of `pmf_cfg`
4699    #[inline]
4700    pub fn set_pmf_cfg(&mut self, value: r#wifi_pmf_config) -> &mut Self {
4701        self._has.set_pmf_cfg();
4702        self.r#pmf_cfg = value.into();
4703        self
4704    }
4705    ///Return a mutable reference to `pmf_cfg` as an `Option`
4706    #[inline]
4707    pub fn mut_pmf_cfg(&mut self) -> ::core::option::Option<&mut r#wifi_pmf_config> {
4708        self._has.r#pmf_cfg().then_some(&mut self.r#pmf_cfg)
4709    }
4710    ///Clear the presence of `pmf_cfg`
4711    #[inline]
4712    pub fn clear_pmf_cfg(&mut self) -> &mut Self {
4713        self._has.clear_pmf_cfg();
4714        self
4715    }
4716    ///Take the value of `pmf_cfg` and clear its presence
4717    #[inline]
4718    pub fn take_pmf_cfg(&mut self) -> ::core::option::Option<r#wifi_pmf_config> {
4719        let val = self
4720            ._has
4721            .r#pmf_cfg()
4722            .then(|| ::core::mem::take(&mut self.r#pmf_cfg));
4723        self._has.clear_pmf_cfg();
4724        val
4725    }
4726    ///Builder method that sets the value of `pmf_cfg`. Useful for initializing the message.
4727    #[inline]
4728    pub fn init_pmf_cfg(mut self, value: r#wifi_pmf_config) -> Self {
4729        self.set_pmf_cfg(value);
4730        self
4731    }
4732    ///Return a reference to `bitmask`
4733    #[inline]
4734    pub fn r#bitmask(&self) -> &u32 {
4735        &self.r#bitmask
4736    }
4737    ///Return a mutable reference to `bitmask`
4738    #[inline]
4739    pub fn mut_bitmask(&mut self) -> &mut u32 {
4740        &mut self.r#bitmask
4741    }
4742    ///Set the value of `bitmask`
4743    #[inline]
4744    pub fn set_bitmask(&mut self, value: u32) -> &mut Self {
4745        self.r#bitmask = value.into();
4746        self
4747    }
4748    ///Builder method that sets the value of `bitmask`. Useful for initializing the message.
4749    #[inline]
4750    pub fn init_bitmask(mut self, value: u32) -> Self {
4751        self.r#bitmask = value.into();
4752        self
4753    }
4754    ///Return a reference to `sae_pwe_h2e`
4755    #[inline]
4756    pub fn r#sae_pwe_h2e(&self) -> &i32 {
4757        &self.r#sae_pwe_h2e
4758    }
4759    ///Return a mutable reference to `sae_pwe_h2e`
4760    #[inline]
4761    pub fn mut_sae_pwe_h2e(&mut self) -> &mut i32 {
4762        &mut self.r#sae_pwe_h2e
4763    }
4764    ///Set the value of `sae_pwe_h2e`
4765    #[inline]
4766    pub fn set_sae_pwe_h2e(&mut self, value: i32) -> &mut Self {
4767        self.r#sae_pwe_h2e = value.into();
4768        self
4769    }
4770    ///Builder method that sets the value of `sae_pwe_h2e`. Useful for initializing the message.
4771    #[inline]
4772    pub fn init_sae_pwe_h2e(mut self, value: i32) -> Self {
4773        self.r#sae_pwe_h2e = value.into();
4774        self
4775    }
4776    ///Return a reference to `failure_retry_cnt`
4777    #[inline]
4778    pub fn r#failure_retry_cnt(&self) -> &u32 {
4779        &self.r#failure_retry_cnt
4780    }
4781    ///Return a mutable reference to `failure_retry_cnt`
4782    #[inline]
4783    pub fn mut_failure_retry_cnt(&mut self) -> &mut u32 {
4784        &mut self.r#failure_retry_cnt
4785    }
4786    ///Set the value of `failure_retry_cnt`
4787    #[inline]
4788    pub fn set_failure_retry_cnt(&mut self, value: u32) -> &mut Self {
4789        self.r#failure_retry_cnt = value.into();
4790        self
4791    }
4792    ///Builder method that sets the value of `failure_retry_cnt`. Useful for initializing the message.
4793    #[inline]
4794    pub fn init_failure_retry_cnt(mut self, value: u32) -> Self {
4795        self.r#failure_retry_cnt = value.into();
4796        self
4797    }
4798    ///Return a reference to `he_bitmask`
4799    #[inline]
4800    pub fn r#he_bitmask(&self) -> &u32 {
4801        &self.r#he_bitmask
4802    }
4803    ///Return a mutable reference to `he_bitmask`
4804    #[inline]
4805    pub fn mut_he_bitmask(&mut self) -> &mut u32 {
4806        &mut self.r#he_bitmask
4807    }
4808    ///Set the value of `he_bitmask`
4809    #[inline]
4810    pub fn set_he_bitmask(&mut self, value: u32) -> &mut Self {
4811        self.r#he_bitmask = value.into();
4812        self
4813    }
4814    ///Builder method that sets the value of `he_bitmask`. Useful for initializing the message.
4815    #[inline]
4816    pub fn init_he_bitmask(mut self, value: u32) -> Self {
4817        self.r#he_bitmask = value.into();
4818        self
4819    }
4820    ///Return a reference to `sae_h2e_identifier`
4821    #[inline]
4822    pub fn r#sae_h2e_identifier(&self) -> &::micropb::heapless::Vec<u8, 16> {
4823        &self.r#sae_h2e_identifier
4824    }
4825    ///Return a mutable reference to `sae_h2e_identifier`
4826    #[inline]
4827    pub fn mut_sae_h2e_identifier(&mut self) -> &mut ::micropb::heapless::Vec<u8, 16> {
4828        &mut self.r#sae_h2e_identifier
4829    }
4830    ///Set the value of `sae_h2e_identifier`
4831    #[inline]
4832    pub fn set_sae_h2e_identifier(&mut self, value: ::micropb::heapless::Vec<u8, 16>) -> &mut Self {
4833        self.r#sae_h2e_identifier = value.into();
4834        self
4835    }
4836    ///Builder method that sets the value of `sae_h2e_identifier`. Useful for initializing the message.
4837    #[inline]
4838    pub fn init_sae_h2e_identifier(mut self, value: ::micropb::heapless::Vec<u8, 16>) -> Self {
4839        self.r#sae_h2e_identifier = value.into();
4840        self
4841    }
4842}
4843impl ::micropb::MessageDecode for r#wifi_sta_config {
4844    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
4845        &mut self,
4846        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
4847        len: usize,
4848    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
4849        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
4850        let before = decoder.bytes_read();
4851        while decoder.bytes_read() - before < len {
4852            let tag = decoder.decode_tag()?;
4853            match tag.field_num() {
4854                0 => return Err(::micropb::DecodeError::ZeroField),
4855                1u32 => {
4856                    let mut_ref = &mut self.r#ssid;
4857                    {
4858                        decoder.decode_bytes(mut_ref, ::micropb::Presence::Implicit)?;
4859                    };
4860                }
4861                2u32 => {
4862                    let mut_ref = &mut self.r#password;
4863                    {
4864                        decoder.decode_bytes(mut_ref, ::micropb::Presence::Implicit)?;
4865                    };
4866                }
4867                3u32 => {
4868                    let mut_ref = &mut self.r#scan_method;
4869                    {
4870                        let val = decoder.decode_int32()?;
4871                        let val_ref = &val;
4872                        if *val_ref != 0 {
4873                            *mut_ref = val as _;
4874                        }
4875                    };
4876                }
4877                4u32 => {
4878                    let mut_ref = &mut self.r#bssid_set;
4879                    {
4880                        let val = decoder.decode_bool()?;
4881                        let val_ref = &val;
4882                        if *val_ref {
4883                            *mut_ref = val as _;
4884                        }
4885                    };
4886                }
4887                5u32 => {
4888                    let mut_ref = &mut self.r#bssid;
4889                    {
4890                        decoder.decode_bytes(mut_ref, ::micropb::Presence::Implicit)?;
4891                    };
4892                }
4893                6u32 => {
4894                    let mut_ref = &mut self.r#channel;
4895                    {
4896                        let val = decoder.decode_varint32()?;
4897                        let val_ref = &val;
4898                        if *val_ref != 0 {
4899                            *mut_ref = val as _;
4900                        }
4901                    };
4902                }
4903                7u32 => {
4904                    let mut_ref = &mut self.r#listen_interval;
4905                    {
4906                        let val = decoder.decode_varint32()?;
4907                        let val_ref = &val;
4908                        if *val_ref != 0 {
4909                            *mut_ref = val as _;
4910                        }
4911                    };
4912                }
4913                8u32 => {
4914                    let mut_ref = &mut self.r#sort_method;
4915                    {
4916                        let val = decoder.decode_int32()?;
4917                        let val_ref = &val;
4918                        if *val_ref != 0 {
4919                            *mut_ref = val as _;
4920                        }
4921                    };
4922                }
4923                9u32 => {
4924                    let mut_ref = &mut self.r#threshold;
4925                    {
4926                        mut_ref.decode_len_delimited(decoder)?;
4927                    };
4928                    self._has.set_threshold();
4929                }
4930                10u32 => {
4931                    let mut_ref = &mut self.r#pmf_cfg;
4932                    {
4933                        mut_ref.decode_len_delimited(decoder)?;
4934                    };
4935                    self._has.set_pmf_cfg();
4936                }
4937                11u32 => {
4938                    let mut_ref = &mut self.r#bitmask;
4939                    {
4940                        let val = decoder.decode_varint32()?;
4941                        let val_ref = &val;
4942                        if *val_ref != 0 {
4943                            *mut_ref = val as _;
4944                        }
4945                    };
4946                }
4947                12u32 => {
4948                    let mut_ref = &mut self.r#sae_pwe_h2e;
4949                    {
4950                        let val = decoder.decode_int32()?;
4951                        let val_ref = &val;
4952                        if *val_ref != 0 {
4953                            *mut_ref = val as _;
4954                        }
4955                    };
4956                }
4957                13u32 => {
4958                    let mut_ref = &mut self.r#failure_retry_cnt;
4959                    {
4960                        let val = decoder.decode_varint32()?;
4961                        let val_ref = &val;
4962                        if *val_ref != 0 {
4963                            *mut_ref = val as _;
4964                        }
4965                    };
4966                }
4967                14u32 => {
4968                    let mut_ref = &mut self.r#he_bitmask;
4969                    {
4970                        let val = decoder.decode_varint32()?;
4971                        let val_ref = &val;
4972                        if *val_ref != 0 {
4973                            *mut_ref = val as _;
4974                        }
4975                    };
4976                }
4977                15u32 => {
4978                    let mut_ref = &mut self.r#sae_h2e_identifier;
4979                    {
4980                        decoder.decode_bytes(mut_ref, ::micropb::Presence::Implicit)?;
4981                    };
4982                }
4983                _ => {
4984                    decoder.skip_wire_value(tag.wire_type())?;
4985                }
4986            }
4987        }
4988        Ok(())
4989    }
4990}
4991impl ::micropb::MessageEncode for r#wifi_sta_config {
4992    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
4993        let mut max_size = 0;
4994        if let ::core::option::Option::Some(size) =
4995            ::micropb::const_map!(::core::option::Option::Some(34usize), |size| size + 1usize)
4996        {
4997            max_size += size;
4998        } else {
4999            break 'msg (::core::option::Option::<usize>::None);
5000        };
5001        if let ::core::option::Option::Some(size) =
5002            ::micropb::const_map!(::core::option::Option::Some(65usize), |size| size + 1usize)
5003        {
5004            max_size += size;
5005        } else {
5006            break 'msg (::core::option::Option::<usize>::None);
5007        };
5008        if let ::core::option::Option::Some(size) =
5009            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
5010        {
5011            max_size += size;
5012        } else {
5013            break 'msg (::core::option::Option::<usize>::None);
5014        };
5015        if let ::core::option::Option::Some(size) =
5016            ::micropb::const_map!(::core::option::Option::Some(1usize), |size| size + 1usize)
5017        {
5018            max_size += size;
5019        } else {
5020            break 'msg (::core::option::Option::<usize>::None);
5021        };
5022        if let ::core::option::Option::Some(size) =
5023            ::micropb::const_map!(::core::option::Option::Some(7usize), |size| size + 1usize)
5024        {
5025            max_size += size;
5026        } else {
5027            break 'msg (::core::option::Option::<usize>::None);
5028        };
5029        if let ::core::option::Option::Some(size) =
5030            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
5031        {
5032            max_size += size;
5033        } else {
5034            break 'msg (::core::option::Option::<usize>::None);
5035        };
5036        if let ::core::option::Option::Some(size) =
5037            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
5038        {
5039            max_size += size;
5040        } else {
5041            break 'msg (::core::option::Option::<usize>::None);
5042        };
5043        if let ::core::option::Option::Some(size) =
5044            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
5045        {
5046            max_size += size;
5047        } else {
5048            break 'msg (::core::option::Option::<usize>::None);
5049        };
5050        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
5051            ::micropb::const_map!(
5052                <r#wifi_scan_threshold as ::micropb::MessageEncode>::MAX_SIZE,
5053                |size| ::micropb::size::sizeof_len_record(size)
5054            ),
5055            |size| size + 1usize
5056        ) {
5057            max_size += size;
5058        } else {
5059            break 'msg (::core::option::Option::<usize>::None);
5060        };
5061        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
5062            ::micropb::const_map!(
5063                <r#wifi_pmf_config as ::micropb::MessageEncode>::MAX_SIZE,
5064                |size| ::micropb::size::sizeof_len_record(size)
5065            ),
5066            |size| size + 1usize
5067        ) {
5068            max_size += size;
5069        } else {
5070            break 'msg (::core::option::Option::<usize>::None);
5071        };
5072        if let ::core::option::Option::Some(size) =
5073            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
5074        {
5075            max_size += size;
5076        } else {
5077            break 'msg (::core::option::Option::<usize>::None);
5078        };
5079        if let ::core::option::Option::Some(size) =
5080            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
5081        {
5082            max_size += size;
5083        } else {
5084            break 'msg (::core::option::Option::<usize>::None);
5085        };
5086        if let ::core::option::Option::Some(size) =
5087            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
5088        {
5089            max_size += size;
5090        } else {
5091            break 'msg (::core::option::Option::<usize>::None);
5092        };
5093        if let ::core::option::Option::Some(size) =
5094            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
5095        {
5096            max_size += size;
5097        } else {
5098            break 'msg (::core::option::Option::<usize>::None);
5099        };
5100        if let ::core::option::Option::Some(size) =
5101            ::micropb::const_map!(::core::option::Option::Some(17usize), |size| size + 1usize)
5102        {
5103            max_size += size;
5104        } else {
5105            break 'msg (::core::option::Option::<usize>::None);
5106        };
5107        ::core::option::Option::Some(max_size)
5108    };
5109    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
5110        &self,
5111        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
5112    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
5113        use ::micropb::{FieldEncode, PbMap};
5114        {
5115            let val_ref = &self.r#ssid;
5116            if !val_ref.is_empty() {
5117                encoder.encode_varint32(10u32)?;
5118                encoder.encode_bytes(val_ref)?;
5119            }
5120        }
5121        {
5122            let val_ref = &self.r#password;
5123            if !val_ref.is_empty() {
5124                encoder.encode_varint32(18u32)?;
5125                encoder.encode_bytes(val_ref)?;
5126            }
5127        }
5128        {
5129            let val_ref = &self.r#scan_method;
5130            if *val_ref != 0 {
5131                encoder.encode_varint32(24u32)?;
5132                encoder.encode_int32(*val_ref as _)?;
5133            }
5134        }
5135        {
5136            let val_ref = &self.r#bssid_set;
5137            if *val_ref {
5138                encoder.encode_varint32(32u32)?;
5139                encoder.encode_bool(*val_ref)?;
5140            }
5141        }
5142        {
5143            let val_ref = &self.r#bssid;
5144            if !val_ref.is_empty() {
5145                encoder.encode_varint32(42u32)?;
5146                encoder.encode_bytes(val_ref)?;
5147            }
5148        }
5149        {
5150            let val_ref = &self.r#channel;
5151            if *val_ref != 0 {
5152                encoder.encode_varint32(48u32)?;
5153                encoder.encode_varint32(*val_ref as _)?;
5154            }
5155        }
5156        {
5157            let val_ref = &self.r#listen_interval;
5158            if *val_ref != 0 {
5159                encoder.encode_varint32(56u32)?;
5160                encoder.encode_varint32(*val_ref as _)?;
5161            }
5162        }
5163        {
5164            let val_ref = &self.r#sort_method;
5165            if *val_ref != 0 {
5166                encoder.encode_varint32(64u32)?;
5167                encoder.encode_int32(*val_ref as _)?;
5168            }
5169        }
5170        {
5171            if let ::core::option::Option::Some(val_ref) = self.r#threshold() {
5172                encoder.encode_varint32(74u32)?;
5173                val_ref.encode_len_delimited(encoder)?;
5174            }
5175        }
5176        {
5177            if let ::core::option::Option::Some(val_ref) = self.r#pmf_cfg() {
5178                encoder.encode_varint32(82u32)?;
5179                val_ref.encode_len_delimited(encoder)?;
5180            }
5181        }
5182        {
5183            let val_ref = &self.r#bitmask;
5184            if *val_ref != 0 {
5185                encoder.encode_varint32(88u32)?;
5186                encoder.encode_varint32(*val_ref as _)?;
5187            }
5188        }
5189        {
5190            let val_ref = &self.r#sae_pwe_h2e;
5191            if *val_ref != 0 {
5192                encoder.encode_varint32(96u32)?;
5193                encoder.encode_int32(*val_ref as _)?;
5194            }
5195        }
5196        {
5197            let val_ref = &self.r#failure_retry_cnt;
5198            if *val_ref != 0 {
5199                encoder.encode_varint32(104u32)?;
5200                encoder.encode_varint32(*val_ref as _)?;
5201            }
5202        }
5203        {
5204            let val_ref = &self.r#he_bitmask;
5205            if *val_ref != 0 {
5206                encoder.encode_varint32(112u32)?;
5207                encoder.encode_varint32(*val_ref as _)?;
5208            }
5209        }
5210        {
5211            let val_ref = &self.r#sae_h2e_identifier;
5212            if !val_ref.is_empty() {
5213                encoder.encode_varint32(122u32)?;
5214                encoder.encode_bytes(val_ref)?;
5215            }
5216        }
5217        Ok(())
5218    }
5219    fn compute_size(&self) -> usize {
5220        use ::micropb::{FieldEncode, PbMap};
5221        let mut size = 0;
5222        {
5223            let val_ref = &self.r#ssid;
5224            if !val_ref.is_empty() {
5225                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.len());
5226            }
5227        }
5228        {
5229            let val_ref = &self.r#password;
5230            if !val_ref.is_empty() {
5231                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.len());
5232            }
5233        }
5234        {
5235            let val_ref = &self.r#scan_method;
5236            if *val_ref != 0 {
5237                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
5238            }
5239        }
5240        {
5241            let val_ref = &self.r#bssid_set;
5242            if *val_ref {
5243                size += 1usize + 1;
5244            }
5245        }
5246        {
5247            let val_ref = &self.r#bssid;
5248            if !val_ref.is_empty() {
5249                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.len());
5250            }
5251        }
5252        {
5253            let val_ref = &self.r#channel;
5254            if *val_ref != 0 {
5255                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
5256            }
5257        }
5258        {
5259            let val_ref = &self.r#listen_interval;
5260            if *val_ref != 0 {
5261                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
5262            }
5263        }
5264        {
5265            let val_ref = &self.r#sort_method;
5266            if *val_ref != 0 {
5267                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
5268            }
5269        }
5270        {
5271            if let ::core::option::Option::Some(val_ref) = self.r#threshold() {
5272                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
5273            }
5274        }
5275        {
5276            if let ::core::option::Option::Some(val_ref) = self.r#pmf_cfg() {
5277                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
5278            }
5279        }
5280        {
5281            let val_ref = &self.r#bitmask;
5282            if *val_ref != 0 {
5283                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
5284            }
5285        }
5286        {
5287            let val_ref = &self.r#sae_pwe_h2e;
5288            if *val_ref != 0 {
5289                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
5290            }
5291        }
5292        {
5293            let val_ref = &self.r#failure_retry_cnt;
5294            if *val_ref != 0 {
5295                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
5296            }
5297        }
5298        {
5299            let val_ref = &self.r#he_bitmask;
5300            if *val_ref != 0 {
5301                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
5302            }
5303        }
5304        {
5305            let val_ref = &self.r#sae_h2e_identifier;
5306            if !val_ref.is_empty() {
5307                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.len());
5308            }
5309        }
5310        size
5311    }
5312}
5313pub mod wifi_config_ {
5314    #[derive(Debug, PartialEq, Clone)]
5315    pub enum U {
5316        Ap(super::r#wifi_ap_config),
5317        Sta(super::r#wifi_sta_config),
5318    }
5319}
5320#[derive(Debug, Default, PartialEq, Clone)]
5321pub struct r#wifi_config {
5322    pub r#u: ::core::option::Option<wifi_config_::U>,
5323}
5324impl r#wifi_config {}
5325impl ::micropb::MessageDecode for r#wifi_config {
5326    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
5327        &mut self,
5328        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
5329        len: usize,
5330    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
5331        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
5332        let before = decoder.bytes_read();
5333        while decoder.bytes_read() - before < len {
5334            let tag = decoder.decode_tag()?;
5335            match tag.field_num() {
5336                0 => return Err(::micropb::DecodeError::ZeroField),
5337                1u32 => {
5338                    let mut_ref = loop {
5339                        if let ::core::option::Option::Some(variant) = &mut self.r#u {
5340                            if let wifi_config_::U::Ap(variant) = &mut *variant {
5341                                break &mut *variant;
5342                            }
5343                        }
5344                        self.r#u = ::core::option::Option::Some(wifi_config_::U::Ap(
5345                            ::core::default::Default::default(),
5346                        ));
5347                    };
5348                    mut_ref.decode_len_delimited(decoder)?;
5349                }
5350                2u32 => {
5351                    let mut_ref = loop {
5352                        if let ::core::option::Option::Some(variant) = &mut self.r#u {
5353                            if let wifi_config_::U::Sta(variant) = &mut *variant {
5354                                break &mut *variant;
5355                            }
5356                        }
5357                        self.r#u = ::core::option::Option::Some(wifi_config_::U::Sta(
5358                            ::core::default::Default::default(),
5359                        ));
5360                    };
5361                    mut_ref.decode_len_delimited(decoder)?;
5362                }
5363                _ => {
5364                    decoder.skip_wire_value(tag.wire_type())?;
5365                }
5366            }
5367        }
5368        Ok(())
5369    }
5370}
5371impl ::micropb::MessageEncode for r#wifi_config {
5372    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
5373        let mut max_size = 0;
5374        if let ::core::option::Option::Some(size) = 'oneof: {
5375            let mut max_size = 0;
5376            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
5377                ::micropb::const_map!(
5378                    <r#wifi_ap_config as ::micropb::MessageEncode>::MAX_SIZE,
5379                    |size| ::micropb::size::sizeof_len_record(size)
5380                ),
5381                |size| size + 1usize
5382            ) {
5383                if size > max_size {
5384                    max_size = size;
5385                }
5386            } else {
5387                break 'oneof (::core::option::Option::<usize>::None);
5388            }
5389            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
5390                ::micropb::const_map!(
5391                    <r#wifi_sta_config as ::micropb::MessageEncode>::MAX_SIZE,
5392                    |size| ::micropb::size::sizeof_len_record(size)
5393                ),
5394                |size| size + 1usize
5395            ) {
5396                if size > max_size {
5397                    max_size = size;
5398                }
5399            } else {
5400                break 'oneof (::core::option::Option::<usize>::None);
5401            }
5402            ::core::option::Option::Some(max_size)
5403        } {
5404            max_size += size;
5405        } else {
5406            break 'msg (::core::option::Option::<usize>::None);
5407        };
5408        ::core::option::Option::Some(max_size)
5409    };
5410    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
5411        &self,
5412        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
5413    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
5414        use ::micropb::{FieldEncode, PbMap};
5415        if let Some(oneof) = &self.r#u {
5416            match &*oneof {
5417                wifi_config_::U::Ap(val_ref) => {
5418                    let val_ref = &*val_ref;
5419                    encoder.encode_varint32(10u32)?;
5420                    val_ref.encode_len_delimited(encoder)?;
5421                }
5422                wifi_config_::U::Sta(val_ref) => {
5423                    let val_ref = &*val_ref;
5424                    encoder.encode_varint32(18u32)?;
5425                    val_ref.encode_len_delimited(encoder)?;
5426                }
5427            }
5428        }
5429        Ok(())
5430    }
5431    fn compute_size(&self) -> usize {
5432        use ::micropb::{FieldEncode, PbMap};
5433        let mut size = 0;
5434        if let Some(oneof) = &self.r#u {
5435            match &*oneof {
5436                wifi_config_::U::Ap(val_ref) => {
5437                    let val_ref = &*val_ref;
5438                    size += 1usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
5439                }
5440                wifi_config_::U::Sta(val_ref) => {
5441                    let val_ref = &*val_ref;
5442                    size += 1usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
5443                }
5444            }
5445        }
5446        size
5447    }
5448}
5449#[derive(Debug, Default, PartialEq, Clone)]
5450pub struct r#wifi_sta_info {
5451    pub r#mac: ::micropb::heapless::Vec<u8, 6>,
5452    pub r#rssi: i32,
5453    pub r#bitmask: u32,
5454}
5455impl r#wifi_sta_info {
5456    ///Return a reference to `mac`
5457    #[inline]
5458    pub fn r#mac(&self) -> &::micropb::heapless::Vec<u8, 6> {
5459        &self.r#mac
5460    }
5461    ///Return a mutable reference to `mac`
5462    #[inline]
5463    pub fn mut_mac(&mut self) -> &mut ::micropb::heapless::Vec<u8, 6> {
5464        &mut self.r#mac
5465    }
5466    ///Set the value of `mac`
5467    #[inline]
5468    pub fn set_mac(&mut self, value: ::micropb::heapless::Vec<u8, 6>) -> &mut Self {
5469        self.r#mac = value.into();
5470        self
5471    }
5472    ///Builder method that sets the value of `mac`. Useful for initializing the message.
5473    #[inline]
5474    pub fn init_mac(mut self, value: ::micropb::heapless::Vec<u8, 6>) -> Self {
5475        self.r#mac = value.into();
5476        self
5477    }
5478    ///Return a reference to `rssi`
5479    #[inline]
5480    pub fn r#rssi(&self) -> &i32 {
5481        &self.r#rssi
5482    }
5483    ///Return a mutable reference to `rssi`
5484    #[inline]
5485    pub fn mut_rssi(&mut self) -> &mut i32 {
5486        &mut self.r#rssi
5487    }
5488    ///Set the value of `rssi`
5489    #[inline]
5490    pub fn set_rssi(&mut self, value: i32) -> &mut Self {
5491        self.r#rssi = value.into();
5492        self
5493    }
5494    ///Builder method that sets the value of `rssi`. Useful for initializing the message.
5495    #[inline]
5496    pub fn init_rssi(mut self, value: i32) -> Self {
5497        self.r#rssi = value.into();
5498        self
5499    }
5500    ///Return a reference to `bitmask`
5501    #[inline]
5502    pub fn r#bitmask(&self) -> &u32 {
5503        &self.r#bitmask
5504    }
5505    ///Return a mutable reference to `bitmask`
5506    #[inline]
5507    pub fn mut_bitmask(&mut self) -> &mut u32 {
5508        &mut self.r#bitmask
5509    }
5510    ///Set the value of `bitmask`
5511    #[inline]
5512    pub fn set_bitmask(&mut self, value: u32) -> &mut Self {
5513        self.r#bitmask = value.into();
5514        self
5515    }
5516    ///Builder method that sets the value of `bitmask`. Useful for initializing the message.
5517    #[inline]
5518    pub fn init_bitmask(mut self, value: u32) -> Self {
5519        self.r#bitmask = value.into();
5520        self
5521    }
5522}
5523impl ::micropb::MessageDecode for r#wifi_sta_info {
5524    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
5525        &mut self,
5526        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
5527        len: usize,
5528    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
5529        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
5530        let before = decoder.bytes_read();
5531        while decoder.bytes_read() - before < len {
5532            let tag = decoder.decode_tag()?;
5533            match tag.field_num() {
5534                0 => return Err(::micropb::DecodeError::ZeroField),
5535                1u32 => {
5536                    let mut_ref = &mut self.r#mac;
5537                    {
5538                        decoder.decode_bytes(mut_ref, ::micropb::Presence::Implicit)?;
5539                    };
5540                }
5541                2u32 => {
5542                    let mut_ref = &mut self.r#rssi;
5543                    {
5544                        let val = decoder.decode_int32()?;
5545                        let val_ref = &val;
5546                        if *val_ref != 0 {
5547                            *mut_ref = val as _;
5548                        }
5549                    };
5550                }
5551                3u32 => {
5552                    let mut_ref = &mut self.r#bitmask;
5553                    {
5554                        let val = decoder.decode_varint32()?;
5555                        let val_ref = &val;
5556                        if *val_ref != 0 {
5557                            *mut_ref = val as _;
5558                        }
5559                    };
5560                }
5561                _ => {
5562                    decoder.skip_wire_value(tag.wire_type())?;
5563                }
5564            }
5565        }
5566        Ok(())
5567    }
5568}
5569impl ::micropb::MessageEncode for r#wifi_sta_info {
5570    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
5571        let mut max_size = 0;
5572        if let ::core::option::Option::Some(size) =
5573            ::micropb::const_map!(::core::option::Option::Some(7usize), |size| size + 1usize)
5574        {
5575            max_size += size;
5576        } else {
5577            break 'msg (::core::option::Option::<usize>::None);
5578        };
5579        if let ::core::option::Option::Some(size) =
5580            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
5581        {
5582            max_size += size;
5583        } else {
5584            break 'msg (::core::option::Option::<usize>::None);
5585        };
5586        if let ::core::option::Option::Some(size) =
5587            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
5588        {
5589            max_size += size;
5590        } else {
5591            break 'msg (::core::option::Option::<usize>::None);
5592        };
5593        ::core::option::Option::Some(max_size)
5594    };
5595    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
5596        &self,
5597        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
5598    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
5599        use ::micropb::{FieldEncode, PbMap};
5600        {
5601            let val_ref = &self.r#mac;
5602            if !val_ref.is_empty() {
5603                encoder.encode_varint32(10u32)?;
5604                encoder.encode_bytes(val_ref)?;
5605            }
5606        }
5607        {
5608            let val_ref = &self.r#rssi;
5609            if *val_ref != 0 {
5610                encoder.encode_varint32(16u32)?;
5611                encoder.encode_int32(*val_ref as _)?;
5612            }
5613        }
5614        {
5615            let val_ref = &self.r#bitmask;
5616            if *val_ref != 0 {
5617                encoder.encode_varint32(24u32)?;
5618                encoder.encode_varint32(*val_ref as _)?;
5619            }
5620        }
5621        Ok(())
5622    }
5623    fn compute_size(&self) -> usize {
5624        use ::micropb::{FieldEncode, PbMap};
5625        let mut size = 0;
5626        {
5627            let val_ref = &self.r#mac;
5628            if !val_ref.is_empty() {
5629                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.len());
5630            }
5631        }
5632        {
5633            let val_ref = &self.r#rssi;
5634            if *val_ref != 0 {
5635                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
5636            }
5637        }
5638        {
5639            let val_ref = &self.r#bitmask;
5640            if *val_ref != 0 {
5641                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
5642            }
5643        }
5644        size
5645    }
5646}
5647#[derive(Debug, Default, PartialEq, Clone)]
5648pub struct r#wifi_sta_list {
5649    pub r#sta: ::micropb::heapless::Vec<r#wifi_sta_info, 20>,
5650    pub r#num: i32,
5651}
5652impl r#wifi_sta_list {
5653    ///Return a reference to `num`
5654    #[inline]
5655    pub fn r#num(&self) -> &i32 {
5656        &self.r#num
5657    }
5658    ///Return a mutable reference to `num`
5659    #[inline]
5660    pub fn mut_num(&mut self) -> &mut i32 {
5661        &mut self.r#num
5662    }
5663    ///Set the value of `num`
5664    #[inline]
5665    pub fn set_num(&mut self, value: i32) -> &mut Self {
5666        self.r#num = value.into();
5667        self
5668    }
5669    ///Builder method that sets the value of `num`. Useful for initializing the message.
5670    #[inline]
5671    pub fn init_num(mut self, value: i32) -> Self {
5672        self.r#num = value.into();
5673        self
5674    }
5675}
5676impl ::micropb::MessageDecode for r#wifi_sta_list {
5677    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
5678        &mut self,
5679        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
5680        len: usize,
5681    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
5682        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
5683        let before = decoder.bytes_read();
5684        while decoder.bytes_read() - before < len {
5685            let tag = decoder.decode_tag()?;
5686            match tag.field_num() {
5687                0 => return Err(::micropb::DecodeError::ZeroField),
5688                1u32 => {
5689                    let mut val: r#wifi_sta_info = ::core::default::Default::default();
5690                    let mut_ref = &mut val;
5691                    {
5692                        mut_ref.decode_len_delimited(decoder)?;
5693                    };
5694                    if let (Err(_), false) =
5695                        (self.r#sta.pb_push(val), decoder.ignore_repeated_cap_err)
5696                    {
5697                        return Err(::micropb::DecodeError::Capacity);
5698                    }
5699                }
5700                2u32 => {
5701                    let mut_ref = &mut self.r#num;
5702                    {
5703                        let val = decoder.decode_int32()?;
5704                        let val_ref = &val;
5705                        if *val_ref != 0 {
5706                            *mut_ref = val as _;
5707                        }
5708                    };
5709                }
5710                _ => {
5711                    decoder.skip_wire_value(tag.wire_type())?;
5712                }
5713            }
5714        }
5715        Ok(())
5716    }
5717}
5718impl ::micropb::MessageEncode for r#wifi_sta_list {
5719    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
5720        let mut max_size = 0;
5721        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
5722            ::micropb::const_map!(
5723                <r#wifi_sta_info as ::micropb::MessageEncode>::MAX_SIZE,
5724                |size| ::micropb::size::sizeof_len_record(size)
5725            ),
5726            |size| (size + 1usize) * 20usize
5727        ) {
5728            max_size += size;
5729        } else {
5730            break 'msg (::core::option::Option::<usize>::None);
5731        };
5732        if let ::core::option::Option::Some(size) =
5733            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
5734        {
5735            max_size += size;
5736        } else {
5737            break 'msg (::core::option::Option::<usize>::None);
5738        };
5739        ::core::option::Option::Some(max_size)
5740    };
5741    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
5742        &self,
5743        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
5744    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
5745        use ::micropb::{FieldEncode, PbMap};
5746        {
5747            for val_ref in self.r#sta.iter() {
5748                encoder.encode_varint32(10u32)?;
5749                val_ref.encode_len_delimited(encoder)?;
5750            }
5751        }
5752        {
5753            let val_ref = &self.r#num;
5754            if *val_ref != 0 {
5755                encoder.encode_varint32(16u32)?;
5756                encoder.encode_int32(*val_ref as _)?;
5757            }
5758        }
5759        Ok(())
5760    }
5761    fn compute_size(&self) -> usize {
5762        use ::micropb::{FieldEncode, PbMap};
5763        let mut size = 0;
5764        {
5765            for val_ref in self.r#sta.iter() {
5766                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
5767            }
5768        }
5769        {
5770            let val_ref = &self.r#num;
5771            if *val_ref != 0 {
5772                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
5773            }
5774        }
5775        size
5776    }
5777}
5778#[derive(Debug, Default, PartialEq, Clone)]
5779pub struct r#wifi_pkt_rx_ctrl {
5780    pub r#rssi: i32,
5781    pub r#rate: u32,
5782    pub r#sig_mode: u32,
5783    pub r#mcs: u32,
5784    pub r#cwb: u32,
5785    pub r#smoothing: u32,
5786    pub r#not_sounding: u32,
5787    pub r#aggregation: u32,
5788    pub r#stbc: u32,
5789    pub r#fec_coding: u32,
5790    pub r#sgi: u32,
5791    pub r#noise_floor: i32,
5792    pub r#ampdu_cnt: u32,
5793    pub r#channel: u32,
5794    pub r#secondary_channel: u32,
5795    pub r#timestamp: u32,
5796    pub r#ant: u32,
5797    pub r#sig_len: u32,
5798    pub r#rx_state: u32,
5799}
5800impl r#wifi_pkt_rx_ctrl {
5801    ///Return a reference to `rssi`
5802    #[inline]
5803    pub fn r#rssi(&self) -> &i32 {
5804        &self.r#rssi
5805    }
5806    ///Return a mutable reference to `rssi`
5807    #[inline]
5808    pub fn mut_rssi(&mut self) -> &mut i32 {
5809        &mut self.r#rssi
5810    }
5811    ///Set the value of `rssi`
5812    #[inline]
5813    pub fn set_rssi(&mut self, value: i32) -> &mut Self {
5814        self.r#rssi = value.into();
5815        self
5816    }
5817    ///Builder method that sets the value of `rssi`. Useful for initializing the message.
5818    #[inline]
5819    pub fn init_rssi(mut self, value: i32) -> Self {
5820        self.r#rssi = value.into();
5821        self
5822    }
5823    ///Return a reference to `rate`
5824    #[inline]
5825    pub fn r#rate(&self) -> &u32 {
5826        &self.r#rate
5827    }
5828    ///Return a mutable reference to `rate`
5829    #[inline]
5830    pub fn mut_rate(&mut self) -> &mut u32 {
5831        &mut self.r#rate
5832    }
5833    ///Set the value of `rate`
5834    #[inline]
5835    pub fn set_rate(&mut self, value: u32) -> &mut Self {
5836        self.r#rate = value.into();
5837        self
5838    }
5839    ///Builder method that sets the value of `rate`. Useful for initializing the message.
5840    #[inline]
5841    pub fn init_rate(mut self, value: u32) -> Self {
5842        self.r#rate = value.into();
5843        self
5844    }
5845    ///Return a reference to `sig_mode`
5846    #[inline]
5847    pub fn r#sig_mode(&self) -> &u32 {
5848        &self.r#sig_mode
5849    }
5850    ///Return a mutable reference to `sig_mode`
5851    #[inline]
5852    pub fn mut_sig_mode(&mut self) -> &mut u32 {
5853        &mut self.r#sig_mode
5854    }
5855    ///Set the value of `sig_mode`
5856    #[inline]
5857    pub fn set_sig_mode(&mut self, value: u32) -> &mut Self {
5858        self.r#sig_mode = value.into();
5859        self
5860    }
5861    ///Builder method that sets the value of `sig_mode`. Useful for initializing the message.
5862    #[inline]
5863    pub fn init_sig_mode(mut self, value: u32) -> Self {
5864        self.r#sig_mode = value.into();
5865        self
5866    }
5867    ///Return a reference to `mcs`
5868    #[inline]
5869    pub fn r#mcs(&self) -> &u32 {
5870        &self.r#mcs
5871    }
5872    ///Return a mutable reference to `mcs`
5873    #[inline]
5874    pub fn mut_mcs(&mut self) -> &mut u32 {
5875        &mut self.r#mcs
5876    }
5877    ///Set the value of `mcs`
5878    #[inline]
5879    pub fn set_mcs(&mut self, value: u32) -> &mut Self {
5880        self.r#mcs = value.into();
5881        self
5882    }
5883    ///Builder method that sets the value of `mcs`. Useful for initializing the message.
5884    #[inline]
5885    pub fn init_mcs(mut self, value: u32) -> Self {
5886        self.r#mcs = value.into();
5887        self
5888    }
5889    ///Return a reference to `cwb`
5890    #[inline]
5891    pub fn r#cwb(&self) -> &u32 {
5892        &self.r#cwb
5893    }
5894    ///Return a mutable reference to `cwb`
5895    #[inline]
5896    pub fn mut_cwb(&mut self) -> &mut u32 {
5897        &mut self.r#cwb
5898    }
5899    ///Set the value of `cwb`
5900    #[inline]
5901    pub fn set_cwb(&mut self, value: u32) -> &mut Self {
5902        self.r#cwb = value.into();
5903        self
5904    }
5905    ///Builder method that sets the value of `cwb`. Useful for initializing the message.
5906    #[inline]
5907    pub fn init_cwb(mut self, value: u32) -> Self {
5908        self.r#cwb = value.into();
5909        self
5910    }
5911    ///Return a reference to `smoothing`
5912    #[inline]
5913    pub fn r#smoothing(&self) -> &u32 {
5914        &self.r#smoothing
5915    }
5916    ///Return a mutable reference to `smoothing`
5917    #[inline]
5918    pub fn mut_smoothing(&mut self) -> &mut u32 {
5919        &mut self.r#smoothing
5920    }
5921    ///Set the value of `smoothing`
5922    #[inline]
5923    pub fn set_smoothing(&mut self, value: u32) -> &mut Self {
5924        self.r#smoothing = value.into();
5925        self
5926    }
5927    ///Builder method that sets the value of `smoothing`. Useful for initializing the message.
5928    #[inline]
5929    pub fn init_smoothing(mut self, value: u32) -> Self {
5930        self.r#smoothing = value.into();
5931        self
5932    }
5933    ///Return a reference to `not_sounding`
5934    #[inline]
5935    pub fn r#not_sounding(&self) -> &u32 {
5936        &self.r#not_sounding
5937    }
5938    ///Return a mutable reference to `not_sounding`
5939    #[inline]
5940    pub fn mut_not_sounding(&mut self) -> &mut u32 {
5941        &mut self.r#not_sounding
5942    }
5943    ///Set the value of `not_sounding`
5944    #[inline]
5945    pub fn set_not_sounding(&mut self, value: u32) -> &mut Self {
5946        self.r#not_sounding = value.into();
5947        self
5948    }
5949    ///Builder method that sets the value of `not_sounding`. Useful for initializing the message.
5950    #[inline]
5951    pub fn init_not_sounding(mut self, value: u32) -> Self {
5952        self.r#not_sounding = value.into();
5953        self
5954    }
5955    ///Return a reference to `aggregation`
5956    #[inline]
5957    pub fn r#aggregation(&self) -> &u32 {
5958        &self.r#aggregation
5959    }
5960    ///Return a mutable reference to `aggregation`
5961    #[inline]
5962    pub fn mut_aggregation(&mut self) -> &mut u32 {
5963        &mut self.r#aggregation
5964    }
5965    ///Set the value of `aggregation`
5966    #[inline]
5967    pub fn set_aggregation(&mut self, value: u32) -> &mut Self {
5968        self.r#aggregation = value.into();
5969        self
5970    }
5971    ///Builder method that sets the value of `aggregation`. Useful for initializing the message.
5972    #[inline]
5973    pub fn init_aggregation(mut self, value: u32) -> Self {
5974        self.r#aggregation = value.into();
5975        self
5976    }
5977    ///Return a reference to `stbc`
5978    #[inline]
5979    pub fn r#stbc(&self) -> &u32 {
5980        &self.r#stbc
5981    }
5982    ///Return a mutable reference to `stbc`
5983    #[inline]
5984    pub fn mut_stbc(&mut self) -> &mut u32 {
5985        &mut self.r#stbc
5986    }
5987    ///Set the value of `stbc`
5988    #[inline]
5989    pub fn set_stbc(&mut self, value: u32) -> &mut Self {
5990        self.r#stbc = value.into();
5991        self
5992    }
5993    ///Builder method that sets the value of `stbc`. Useful for initializing the message.
5994    #[inline]
5995    pub fn init_stbc(mut self, value: u32) -> Self {
5996        self.r#stbc = value.into();
5997        self
5998    }
5999    ///Return a reference to `fec_coding`
6000    #[inline]
6001    pub fn r#fec_coding(&self) -> &u32 {
6002        &self.r#fec_coding
6003    }
6004    ///Return a mutable reference to `fec_coding`
6005    #[inline]
6006    pub fn mut_fec_coding(&mut self) -> &mut u32 {
6007        &mut self.r#fec_coding
6008    }
6009    ///Set the value of `fec_coding`
6010    #[inline]
6011    pub fn set_fec_coding(&mut self, value: u32) -> &mut Self {
6012        self.r#fec_coding = value.into();
6013        self
6014    }
6015    ///Builder method that sets the value of `fec_coding`. Useful for initializing the message.
6016    #[inline]
6017    pub fn init_fec_coding(mut self, value: u32) -> Self {
6018        self.r#fec_coding = value.into();
6019        self
6020    }
6021    ///Return a reference to `sgi`
6022    #[inline]
6023    pub fn r#sgi(&self) -> &u32 {
6024        &self.r#sgi
6025    }
6026    ///Return a mutable reference to `sgi`
6027    #[inline]
6028    pub fn mut_sgi(&mut self) -> &mut u32 {
6029        &mut self.r#sgi
6030    }
6031    ///Set the value of `sgi`
6032    #[inline]
6033    pub fn set_sgi(&mut self, value: u32) -> &mut Self {
6034        self.r#sgi = value.into();
6035        self
6036    }
6037    ///Builder method that sets the value of `sgi`. Useful for initializing the message.
6038    #[inline]
6039    pub fn init_sgi(mut self, value: u32) -> Self {
6040        self.r#sgi = value.into();
6041        self
6042    }
6043    ///Return a reference to `noise_floor`
6044    #[inline]
6045    pub fn r#noise_floor(&self) -> &i32 {
6046        &self.r#noise_floor
6047    }
6048    ///Return a mutable reference to `noise_floor`
6049    #[inline]
6050    pub fn mut_noise_floor(&mut self) -> &mut i32 {
6051        &mut self.r#noise_floor
6052    }
6053    ///Set the value of `noise_floor`
6054    #[inline]
6055    pub fn set_noise_floor(&mut self, value: i32) -> &mut Self {
6056        self.r#noise_floor = value.into();
6057        self
6058    }
6059    ///Builder method that sets the value of `noise_floor`. Useful for initializing the message.
6060    #[inline]
6061    pub fn init_noise_floor(mut self, value: i32) -> Self {
6062        self.r#noise_floor = value.into();
6063        self
6064    }
6065    ///Return a reference to `ampdu_cnt`
6066    #[inline]
6067    pub fn r#ampdu_cnt(&self) -> &u32 {
6068        &self.r#ampdu_cnt
6069    }
6070    ///Return a mutable reference to `ampdu_cnt`
6071    #[inline]
6072    pub fn mut_ampdu_cnt(&mut self) -> &mut u32 {
6073        &mut self.r#ampdu_cnt
6074    }
6075    ///Set the value of `ampdu_cnt`
6076    #[inline]
6077    pub fn set_ampdu_cnt(&mut self, value: u32) -> &mut Self {
6078        self.r#ampdu_cnt = value.into();
6079        self
6080    }
6081    ///Builder method that sets the value of `ampdu_cnt`. Useful for initializing the message.
6082    #[inline]
6083    pub fn init_ampdu_cnt(mut self, value: u32) -> Self {
6084        self.r#ampdu_cnt = value.into();
6085        self
6086    }
6087    ///Return a reference to `channel`
6088    #[inline]
6089    pub fn r#channel(&self) -> &u32 {
6090        &self.r#channel
6091    }
6092    ///Return a mutable reference to `channel`
6093    #[inline]
6094    pub fn mut_channel(&mut self) -> &mut u32 {
6095        &mut self.r#channel
6096    }
6097    ///Set the value of `channel`
6098    #[inline]
6099    pub fn set_channel(&mut self, value: u32) -> &mut Self {
6100        self.r#channel = value.into();
6101        self
6102    }
6103    ///Builder method that sets the value of `channel`. Useful for initializing the message.
6104    #[inline]
6105    pub fn init_channel(mut self, value: u32) -> Self {
6106        self.r#channel = value.into();
6107        self
6108    }
6109    ///Return a reference to `secondary_channel`
6110    #[inline]
6111    pub fn r#secondary_channel(&self) -> &u32 {
6112        &self.r#secondary_channel
6113    }
6114    ///Return a mutable reference to `secondary_channel`
6115    #[inline]
6116    pub fn mut_secondary_channel(&mut self) -> &mut u32 {
6117        &mut self.r#secondary_channel
6118    }
6119    ///Set the value of `secondary_channel`
6120    #[inline]
6121    pub fn set_secondary_channel(&mut self, value: u32) -> &mut Self {
6122        self.r#secondary_channel = value.into();
6123        self
6124    }
6125    ///Builder method that sets the value of `secondary_channel`. Useful for initializing the message.
6126    #[inline]
6127    pub fn init_secondary_channel(mut self, value: u32) -> Self {
6128        self.r#secondary_channel = value.into();
6129        self
6130    }
6131    ///Return a reference to `timestamp`
6132    #[inline]
6133    pub fn r#timestamp(&self) -> &u32 {
6134        &self.r#timestamp
6135    }
6136    ///Return a mutable reference to `timestamp`
6137    #[inline]
6138    pub fn mut_timestamp(&mut self) -> &mut u32 {
6139        &mut self.r#timestamp
6140    }
6141    ///Set the value of `timestamp`
6142    #[inline]
6143    pub fn set_timestamp(&mut self, value: u32) -> &mut Self {
6144        self.r#timestamp = value.into();
6145        self
6146    }
6147    ///Builder method that sets the value of `timestamp`. Useful for initializing the message.
6148    #[inline]
6149    pub fn init_timestamp(mut self, value: u32) -> Self {
6150        self.r#timestamp = value.into();
6151        self
6152    }
6153    ///Return a reference to `ant`
6154    #[inline]
6155    pub fn r#ant(&self) -> &u32 {
6156        &self.r#ant
6157    }
6158    ///Return a mutable reference to `ant`
6159    #[inline]
6160    pub fn mut_ant(&mut self) -> &mut u32 {
6161        &mut self.r#ant
6162    }
6163    ///Set the value of `ant`
6164    #[inline]
6165    pub fn set_ant(&mut self, value: u32) -> &mut Self {
6166        self.r#ant = value.into();
6167        self
6168    }
6169    ///Builder method that sets the value of `ant`. Useful for initializing the message.
6170    #[inline]
6171    pub fn init_ant(mut self, value: u32) -> Self {
6172        self.r#ant = value.into();
6173        self
6174    }
6175    ///Return a reference to `sig_len`
6176    #[inline]
6177    pub fn r#sig_len(&self) -> &u32 {
6178        &self.r#sig_len
6179    }
6180    ///Return a mutable reference to `sig_len`
6181    #[inline]
6182    pub fn mut_sig_len(&mut self) -> &mut u32 {
6183        &mut self.r#sig_len
6184    }
6185    ///Set the value of `sig_len`
6186    #[inline]
6187    pub fn set_sig_len(&mut self, value: u32) -> &mut Self {
6188        self.r#sig_len = value.into();
6189        self
6190    }
6191    ///Builder method that sets the value of `sig_len`. Useful for initializing the message.
6192    #[inline]
6193    pub fn init_sig_len(mut self, value: u32) -> Self {
6194        self.r#sig_len = value.into();
6195        self
6196    }
6197    ///Return a reference to `rx_state`
6198    #[inline]
6199    pub fn r#rx_state(&self) -> &u32 {
6200        &self.r#rx_state
6201    }
6202    ///Return a mutable reference to `rx_state`
6203    #[inline]
6204    pub fn mut_rx_state(&mut self) -> &mut u32 {
6205        &mut self.r#rx_state
6206    }
6207    ///Set the value of `rx_state`
6208    #[inline]
6209    pub fn set_rx_state(&mut self, value: u32) -> &mut Self {
6210        self.r#rx_state = value.into();
6211        self
6212    }
6213    ///Builder method that sets the value of `rx_state`. Useful for initializing the message.
6214    #[inline]
6215    pub fn init_rx_state(mut self, value: u32) -> Self {
6216        self.r#rx_state = value.into();
6217        self
6218    }
6219}
6220impl ::micropb::MessageDecode for r#wifi_pkt_rx_ctrl {
6221    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
6222        &mut self,
6223        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
6224        len: usize,
6225    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
6226        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
6227        let before = decoder.bytes_read();
6228        while decoder.bytes_read() - before < len {
6229            let tag = decoder.decode_tag()?;
6230            match tag.field_num() {
6231                0 => return Err(::micropb::DecodeError::ZeroField),
6232                1u32 => {
6233                    let mut_ref = &mut self.r#rssi;
6234                    {
6235                        let val = decoder.decode_int32()?;
6236                        let val_ref = &val;
6237                        if *val_ref != 0 {
6238                            *mut_ref = val as _;
6239                        }
6240                    };
6241                }
6242                2u32 => {
6243                    let mut_ref = &mut self.r#rate;
6244                    {
6245                        let val = decoder.decode_varint32()?;
6246                        let val_ref = &val;
6247                        if *val_ref != 0 {
6248                            *mut_ref = val as _;
6249                        }
6250                    };
6251                }
6252                3u32 => {
6253                    let mut_ref = &mut self.r#sig_mode;
6254                    {
6255                        let val = decoder.decode_varint32()?;
6256                        let val_ref = &val;
6257                        if *val_ref != 0 {
6258                            *mut_ref = val as _;
6259                        }
6260                    };
6261                }
6262                4u32 => {
6263                    let mut_ref = &mut self.r#mcs;
6264                    {
6265                        let val = decoder.decode_varint32()?;
6266                        let val_ref = &val;
6267                        if *val_ref != 0 {
6268                            *mut_ref = val as _;
6269                        }
6270                    };
6271                }
6272                5u32 => {
6273                    let mut_ref = &mut self.r#cwb;
6274                    {
6275                        let val = decoder.decode_varint32()?;
6276                        let val_ref = &val;
6277                        if *val_ref != 0 {
6278                            *mut_ref = val as _;
6279                        }
6280                    };
6281                }
6282                6u32 => {
6283                    let mut_ref = &mut self.r#smoothing;
6284                    {
6285                        let val = decoder.decode_varint32()?;
6286                        let val_ref = &val;
6287                        if *val_ref != 0 {
6288                            *mut_ref = val as _;
6289                        }
6290                    };
6291                }
6292                7u32 => {
6293                    let mut_ref = &mut self.r#not_sounding;
6294                    {
6295                        let val = decoder.decode_varint32()?;
6296                        let val_ref = &val;
6297                        if *val_ref != 0 {
6298                            *mut_ref = val as _;
6299                        }
6300                    };
6301                }
6302                8u32 => {
6303                    let mut_ref = &mut self.r#aggregation;
6304                    {
6305                        let val = decoder.decode_varint32()?;
6306                        let val_ref = &val;
6307                        if *val_ref != 0 {
6308                            *mut_ref = val as _;
6309                        }
6310                    };
6311                }
6312                9u32 => {
6313                    let mut_ref = &mut self.r#stbc;
6314                    {
6315                        let val = decoder.decode_varint32()?;
6316                        let val_ref = &val;
6317                        if *val_ref != 0 {
6318                            *mut_ref = val as _;
6319                        }
6320                    };
6321                }
6322                10u32 => {
6323                    let mut_ref = &mut self.r#fec_coding;
6324                    {
6325                        let val = decoder.decode_varint32()?;
6326                        let val_ref = &val;
6327                        if *val_ref != 0 {
6328                            *mut_ref = val as _;
6329                        }
6330                    };
6331                }
6332                11u32 => {
6333                    let mut_ref = &mut self.r#sgi;
6334                    {
6335                        let val = decoder.decode_varint32()?;
6336                        let val_ref = &val;
6337                        if *val_ref != 0 {
6338                            *mut_ref = val as _;
6339                        }
6340                    };
6341                }
6342                12u32 => {
6343                    let mut_ref = &mut self.r#noise_floor;
6344                    {
6345                        let val = decoder.decode_int32()?;
6346                        let val_ref = &val;
6347                        if *val_ref != 0 {
6348                            *mut_ref = val as _;
6349                        }
6350                    };
6351                }
6352                13u32 => {
6353                    let mut_ref = &mut self.r#ampdu_cnt;
6354                    {
6355                        let val = decoder.decode_varint32()?;
6356                        let val_ref = &val;
6357                        if *val_ref != 0 {
6358                            *mut_ref = val as _;
6359                        }
6360                    };
6361                }
6362                14u32 => {
6363                    let mut_ref = &mut self.r#channel;
6364                    {
6365                        let val = decoder.decode_varint32()?;
6366                        let val_ref = &val;
6367                        if *val_ref != 0 {
6368                            *mut_ref = val as _;
6369                        }
6370                    };
6371                }
6372                15u32 => {
6373                    let mut_ref = &mut self.r#secondary_channel;
6374                    {
6375                        let val = decoder.decode_varint32()?;
6376                        let val_ref = &val;
6377                        if *val_ref != 0 {
6378                            *mut_ref = val as _;
6379                        }
6380                    };
6381                }
6382                16u32 => {
6383                    let mut_ref = &mut self.r#timestamp;
6384                    {
6385                        let val = decoder.decode_varint32()?;
6386                        let val_ref = &val;
6387                        if *val_ref != 0 {
6388                            *mut_ref = val as _;
6389                        }
6390                    };
6391                }
6392                17u32 => {
6393                    let mut_ref = &mut self.r#ant;
6394                    {
6395                        let val = decoder.decode_varint32()?;
6396                        let val_ref = &val;
6397                        if *val_ref != 0 {
6398                            *mut_ref = val as _;
6399                        }
6400                    };
6401                }
6402                18u32 => {
6403                    let mut_ref = &mut self.r#sig_len;
6404                    {
6405                        let val = decoder.decode_varint32()?;
6406                        let val_ref = &val;
6407                        if *val_ref != 0 {
6408                            *mut_ref = val as _;
6409                        }
6410                    };
6411                }
6412                19u32 => {
6413                    let mut_ref = &mut self.r#rx_state;
6414                    {
6415                        let val = decoder.decode_varint32()?;
6416                        let val_ref = &val;
6417                        if *val_ref != 0 {
6418                            *mut_ref = val as _;
6419                        }
6420                    };
6421                }
6422                _ => {
6423                    decoder.skip_wire_value(tag.wire_type())?;
6424                }
6425            }
6426        }
6427        Ok(())
6428    }
6429}
6430impl ::micropb::MessageEncode for r#wifi_pkt_rx_ctrl {
6431    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
6432        let mut max_size = 0;
6433        if let ::core::option::Option::Some(size) =
6434            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
6435        {
6436            max_size += size;
6437        } else {
6438            break 'msg (::core::option::Option::<usize>::None);
6439        };
6440        if let ::core::option::Option::Some(size) =
6441            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
6442        {
6443            max_size += size;
6444        } else {
6445            break 'msg (::core::option::Option::<usize>::None);
6446        };
6447        if let ::core::option::Option::Some(size) =
6448            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
6449        {
6450            max_size += size;
6451        } else {
6452            break 'msg (::core::option::Option::<usize>::None);
6453        };
6454        if let ::core::option::Option::Some(size) =
6455            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
6456        {
6457            max_size += size;
6458        } else {
6459            break 'msg (::core::option::Option::<usize>::None);
6460        };
6461        if let ::core::option::Option::Some(size) =
6462            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
6463        {
6464            max_size += size;
6465        } else {
6466            break 'msg (::core::option::Option::<usize>::None);
6467        };
6468        if let ::core::option::Option::Some(size) =
6469            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
6470        {
6471            max_size += size;
6472        } else {
6473            break 'msg (::core::option::Option::<usize>::None);
6474        };
6475        if let ::core::option::Option::Some(size) =
6476            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
6477        {
6478            max_size += size;
6479        } else {
6480            break 'msg (::core::option::Option::<usize>::None);
6481        };
6482        if let ::core::option::Option::Some(size) =
6483            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
6484        {
6485            max_size += size;
6486        } else {
6487            break 'msg (::core::option::Option::<usize>::None);
6488        };
6489        if let ::core::option::Option::Some(size) =
6490            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
6491        {
6492            max_size += size;
6493        } else {
6494            break 'msg (::core::option::Option::<usize>::None);
6495        };
6496        if let ::core::option::Option::Some(size) =
6497            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
6498        {
6499            max_size += size;
6500        } else {
6501            break 'msg (::core::option::Option::<usize>::None);
6502        };
6503        if let ::core::option::Option::Some(size) =
6504            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
6505        {
6506            max_size += size;
6507        } else {
6508            break 'msg (::core::option::Option::<usize>::None);
6509        };
6510        if let ::core::option::Option::Some(size) =
6511            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
6512        {
6513            max_size += size;
6514        } else {
6515            break 'msg (::core::option::Option::<usize>::None);
6516        };
6517        if let ::core::option::Option::Some(size) =
6518            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
6519        {
6520            max_size += size;
6521        } else {
6522            break 'msg (::core::option::Option::<usize>::None);
6523        };
6524        if let ::core::option::Option::Some(size) =
6525            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
6526        {
6527            max_size += size;
6528        } else {
6529            break 'msg (::core::option::Option::<usize>::None);
6530        };
6531        if let ::core::option::Option::Some(size) =
6532            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
6533        {
6534            max_size += size;
6535        } else {
6536            break 'msg (::core::option::Option::<usize>::None);
6537        };
6538        if let ::core::option::Option::Some(size) =
6539            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 2usize)
6540        {
6541            max_size += size;
6542        } else {
6543            break 'msg (::core::option::Option::<usize>::None);
6544        };
6545        if let ::core::option::Option::Some(size) =
6546            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 2usize)
6547        {
6548            max_size += size;
6549        } else {
6550            break 'msg (::core::option::Option::<usize>::None);
6551        };
6552        if let ::core::option::Option::Some(size) =
6553            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 2usize)
6554        {
6555            max_size += size;
6556        } else {
6557            break 'msg (::core::option::Option::<usize>::None);
6558        };
6559        if let ::core::option::Option::Some(size) =
6560            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 2usize)
6561        {
6562            max_size += size;
6563        } else {
6564            break 'msg (::core::option::Option::<usize>::None);
6565        };
6566        ::core::option::Option::Some(max_size)
6567    };
6568    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
6569        &self,
6570        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
6571    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
6572        use ::micropb::{FieldEncode, PbMap};
6573        {
6574            let val_ref = &self.r#rssi;
6575            if *val_ref != 0 {
6576                encoder.encode_varint32(8u32)?;
6577                encoder.encode_int32(*val_ref as _)?;
6578            }
6579        }
6580        {
6581            let val_ref = &self.r#rate;
6582            if *val_ref != 0 {
6583                encoder.encode_varint32(16u32)?;
6584                encoder.encode_varint32(*val_ref as _)?;
6585            }
6586        }
6587        {
6588            let val_ref = &self.r#sig_mode;
6589            if *val_ref != 0 {
6590                encoder.encode_varint32(24u32)?;
6591                encoder.encode_varint32(*val_ref as _)?;
6592            }
6593        }
6594        {
6595            let val_ref = &self.r#mcs;
6596            if *val_ref != 0 {
6597                encoder.encode_varint32(32u32)?;
6598                encoder.encode_varint32(*val_ref as _)?;
6599            }
6600        }
6601        {
6602            let val_ref = &self.r#cwb;
6603            if *val_ref != 0 {
6604                encoder.encode_varint32(40u32)?;
6605                encoder.encode_varint32(*val_ref as _)?;
6606            }
6607        }
6608        {
6609            let val_ref = &self.r#smoothing;
6610            if *val_ref != 0 {
6611                encoder.encode_varint32(48u32)?;
6612                encoder.encode_varint32(*val_ref as _)?;
6613            }
6614        }
6615        {
6616            let val_ref = &self.r#not_sounding;
6617            if *val_ref != 0 {
6618                encoder.encode_varint32(56u32)?;
6619                encoder.encode_varint32(*val_ref as _)?;
6620            }
6621        }
6622        {
6623            let val_ref = &self.r#aggregation;
6624            if *val_ref != 0 {
6625                encoder.encode_varint32(64u32)?;
6626                encoder.encode_varint32(*val_ref as _)?;
6627            }
6628        }
6629        {
6630            let val_ref = &self.r#stbc;
6631            if *val_ref != 0 {
6632                encoder.encode_varint32(72u32)?;
6633                encoder.encode_varint32(*val_ref as _)?;
6634            }
6635        }
6636        {
6637            let val_ref = &self.r#fec_coding;
6638            if *val_ref != 0 {
6639                encoder.encode_varint32(80u32)?;
6640                encoder.encode_varint32(*val_ref as _)?;
6641            }
6642        }
6643        {
6644            let val_ref = &self.r#sgi;
6645            if *val_ref != 0 {
6646                encoder.encode_varint32(88u32)?;
6647                encoder.encode_varint32(*val_ref as _)?;
6648            }
6649        }
6650        {
6651            let val_ref = &self.r#noise_floor;
6652            if *val_ref != 0 {
6653                encoder.encode_varint32(96u32)?;
6654                encoder.encode_int32(*val_ref as _)?;
6655            }
6656        }
6657        {
6658            let val_ref = &self.r#ampdu_cnt;
6659            if *val_ref != 0 {
6660                encoder.encode_varint32(104u32)?;
6661                encoder.encode_varint32(*val_ref as _)?;
6662            }
6663        }
6664        {
6665            let val_ref = &self.r#channel;
6666            if *val_ref != 0 {
6667                encoder.encode_varint32(112u32)?;
6668                encoder.encode_varint32(*val_ref as _)?;
6669            }
6670        }
6671        {
6672            let val_ref = &self.r#secondary_channel;
6673            if *val_ref != 0 {
6674                encoder.encode_varint32(120u32)?;
6675                encoder.encode_varint32(*val_ref as _)?;
6676            }
6677        }
6678        {
6679            let val_ref = &self.r#timestamp;
6680            if *val_ref != 0 {
6681                encoder.encode_varint32(128u32)?;
6682                encoder.encode_varint32(*val_ref as _)?;
6683            }
6684        }
6685        {
6686            let val_ref = &self.r#ant;
6687            if *val_ref != 0 {
6688                encoder.encode_varint32(136u32)?;
6689                encoder.encode_varint32(*val_ref as _)?;
6690            }
6691        }
6692        {
6693            let val_ref = &self.r#sig_len;
6694            if *val_ref != 0 {
6695                encoder.encode_varint32(144u32)?;
6696                encoder.encode_varint32(*val_ref as _)?;
6697            }
6698        }
6699        {
6700            let val_ref = &self.r#rx_state;
6701            if *val_ref != 0 {
6702                encoder.encode_varint32(152u32)?;
6703                encoder.encode_varint32(*val_ref as _)?;
6704            }
6705        }
6706        Ok(())
6707    }
6708    fn compute_size(&self) -> usize {
6709        use ::micropb::{FieldEncode, PbMap};
6710        let mut size = 0;
6711        {
6712            let val_ref = &self.r#rssi;
6713            if *val_ref != 0 {
6714                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
6715            }
6716        }
6717        {
6718            let val_ref = &self.r#rate;
6719            if *val_ref != 0 {
6720                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
6721            }
6722        }
6723        {
6724            let val_ref = &self.r#sig_mode;
6725            if *val_ref != 0 {
6726                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
6727            }
6728        }
6729        {
6730            let val_ref = &self.r#mcs;
6731            if *val_ref != 0 {
6732                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
6733            }
6734        }
6735        {
6736            let val_ref = &self.r#cwb;
6737            if *val_ref != 0 {
6738                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
6739            }
6740        }
6741        {
6742            let val_ref = &self.r#smoothing;
6743            if *val_ref != 0 {
6744                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
6745            }
6746        }
6747        {
6748            let val_ref = &self.r#not_sounding;
6749            if *val_ref != 0 {
6750                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
6751            }
6752        }
6753        {
6754            let val_ref = &self.r#aggregation;
6755            if *val_ref != 0 {
6756                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
6757            }
6758        }
6759        {
6760            let val_ref = &self.r#stbc;
6761            if *val_ref != 0 {
6762                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
6763            }
6764        }
6765        {
6766            let val_ref = &self.r#fec_coding;
6767            if *val_ref != 0 {
6768                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
6769            }
6770        }
6771        {
6772            let val_ref = &self.r#sgi;
6773            if *val_ref != 0 {
6774                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
6775            }
6776        }
6777        {
6778            let val_ref = &self.r#noise_floor;
6779            if *val_ref != 0 {
6780                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
6781            }
6782        }
6783        {
6784            let val_ref = &self.r#ampdu_cnt;
6785            if *val_ref != 0 {
6786                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
6787            }
6788        }
6789        {
6790            let val_ref = &self.r#channel;
6791            if *val_ref != 0 {
6792                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
6793            }
6794        }
6795        {
6796            let val_ref = &self.r#secondary_channel;
6797            if *val_ref != 0 {
6798                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
6799            }
6800        }
6801        {
6802            let val_ref = &self.r#timestamp;
6803            if *val_ref != 0 {
6804                size += 2usize + ::micropb::size::sizeof_varint32(*val_ref as _);
6805            }
6806        }
6807        {
6808            let val_ref = &self.r#ant;
6809            if *val_ref != 0 {
6810                size += 2usize + ::micropb::size::sizeof_varint32(*val_ref as _);
6811            }
6812        }
6813        {
6814            let val_ref = &self.r#sig_len;
6815            if *val_ref != 0 {
6816                size += 2usize + ::micropb::size::sizeof_varint32(*val_ref as _);
6817            }
6818        }
6819        {
6820            let val_ref = &self.r#rx_state;
6821            if *val_ref != 0 {
6822                size += 2usize + ::micropb::size::sizeof_varint32(*val_ref as _);
6823            }
6824        }
6825        size
6826    }
6827}
6828pub mod wifi_promiscuous_pkt_ {
6829    #[derive(Debug, Default, PartialEq, Clone)]
6830    pub struct _Hazzer([u8; 1]);
6831    impl _Hazzer {
6832        ///New hazzer with all fields set to off
6833        #[inline]
6834        pub const fn _new() -> Self {
6835            Self([0; 1])
6836        }
6837        ///Query presence of `rx_ctrl`
6838        #[inline]
6839        pub const fn r#rx_ctrl(&self) -> bool {
6840            (self.0[0] & 1) != 0
6841        }
6842        ///Set presence of `rx_ctrl`
6843        #[inline]
6844        pub const fn set_rx_ctrl(&mut self) -> &mut Self {
6845            let elem = &mut self.0[0];
6846            *elem |= 1;
6847            self
6848        }
6849        ///Clear presence of `rx_ctrl`
6850        #[inline]
6851        pub const fn clear_rx_ctrl(&mut self) -> &mut Self {
6852            let elem = &mut self.0[0];
6853            *elem &= !1;
6854            self
6855        }
6856        ///Builder method that sets the presence of `rx_ctrl`. Useful for initializing the Hazzer.
6857        #[inline]
6858        pub const fn init_rx_ctrl(mut self) -> Self {
6859            self.set_rx_ctrl();
6860            self
6861        }
6862    }
6863}
6864#[derive(Debug, Default, Clone)]
6865pub struct r#wifi_promiscuous_pkt {
6866    pub r#rx_ctrl: r#wifi_pkt_rx_ctrl,
6867    pub r#payload: ::micropb::heapless::Vec<u8, 500>,
6868    pub _has: wifi_promiscuous_pkt_::_Hazzer,
6869}
6870impl ::core::cmp::PartialEq for r#wifi_promiscuous_pkt {
6871    fn eq(&self, other: &Self) -> bool {
6872        let mut ret = true;
6873        ret &= (self.r#rx_ctrl() == other.r#rx_ctrl());
6874        ret &= (self.r#payload == other.r#payload);
6875        ret
6876    }
6877}
6878impl r#wifi_promiscuous_pkt {
6879    ///Return a reference to `rx_ctrl` as an `Option`
6880    #[inline]
6881    pub fn r#rx_ctrl(&self) -> ::core::option::Option<&r#wifi_pkt_rx_ctrl> {
6882        self._has.r#rx_ctrl().then_some(&self.r#rx_ctrl)
6883    }
6884    ///Set the value and presence of `rx_ctrl`
6885    #[inline]
6886    pub fn set_rx_ctrl(&mut self, value: r#wifi_pkt_rx_ctrl) -> &mut Self {
6887        self._has.set_rx_ctrl();
6888        self.r#rx_ctrl = value.into();
6889        self
6890    }
6891    ///Return a mutable reference to `rx_ctrl` as an `Option`
6892    #[inline]
6893    pub fn mut_rx_ctrl(&mut self) -> ::core::option::Option<&mut r#wifi_pkt_rx_ctrl> {
6894        self._has.r#rx_ctrl().then_some(&mut self.r#rx_ctrl)
6895    }
6896    ///Clear the presence of `rx_ctrl`
6897    #[inline]
6898    pub fn clear_rx_ctrl(&mut self) -> &mut Self {
6899        self._has.clear_rx_ctrl();
6900        self
6901    }
6902    ///Take the value of `rx_ctrl` and clear its presence
6903    #[inline]
6904    pub fn take_rx_ctrl(&mut self) -> ::core::option::Option<r#wifi_pkt_rx_ctrl> {
6905        let val = self
6906            ._has
6907            .r#rx_ctrl()
6908            .then(|| ::core::mem::take(&mut self.r#rx_ctrl));
6909        self._has.clear_rx_ctrl();
6910        val
6911    }
6912    ///Builder method that sets the value of `rx_ctrl`. Useful for initializing the message.
6913    #[inline]
6914    pub fn init_rx_ctrl(mut self, value: r#wifi_pkt_rx_ctrl) -> Self {
6915        self.set_rx_ctrl(value);
6916        self
6917    }
6918    ///Return a reference to `payload`
6919    #[inline]
6920    pub fn r#payload(&self) -> &::micropb::heapless::Vec<u8, 500> {
6921        &self.r#payload
6922    }
6923    ///Return a mutable reference to `payload`
6924    #[inline]
6925    pub fn mut_payload(&mut self) -> &mut ::micropb::heapless::Vec<u8, 500> {
6926        &mut self.r#payload
6927    }
6928    ///Set the value of `payload`
6929    #[inline]
6930    pub fn set_payload(&mut self, value: ::micropb::heapless::Vec<u8, 500>) -> &mut Self {
6931        self.r#payload = value.into();
6932        self
6933    }
6934    ///Builder method that sets the value of `payload`. Useful for initializing the message.
6935    #[inline]
6936    pub fn init_payload(mut self, value: ::micropb::heapless::Vec<u8, 500>) -> Self {
6937        self.r#payload = value.into();
6938        self
6939    }
6940}
6941impl ::micropb::MessageDecode for r#wifi_promiscuous_pkt {
6942    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
6943        &mut self,
6944        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
6945        len: usize,
6946    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
6947        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
6948        let before = decoder.bytes_read();
6949        while decoder.bytes_read() - before < len {
6950            let tag = decoder.decode_tag()?;
6951            match tag.field_num() {
6952                0 => return Err(::micropb::DecodeError::ZeroField),
6953                1u32 => {
6954                    let mut_ref = &mut self.r#rx_ctrl;
6955                    {
6956                        mut_ref.decode_len_delimited(decoder)?;
6957                    };
6958                    self._has.set_rx_ctrl();
6959                }
6960                2u32 => {
6961                    let mut_ref = &mut self.r#payload;
6962                    {
6963                        decoder.decode_bytes(mut_ref, ::micropb::Presence::Implicit)?;
6964                    };
6965                }
6966                _ => {
6967                    decoder.skip_wire_value(tag.wire_type())?;
6968                }
6969            }
6970        }
6971        Ok(())
6972    }
6973}
6974impl ::micropb::MessageEncode for r#wifi_promiscuous_pkt {
6975    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
6976        let mut max_size = 0;
6977        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
6978            ::micropb::const_map!(
6979                <r#wifi_pkt_rx_ctrl as ::micropb::MessageEncode>::MAX_SIZE,
6980                |size| ::micropb::size::sizeof_len_record(size)
6981            ),
6982            |size| size + 1usize
6983        ) {
6984            max_size += size;
6985        } else {
6986            break 'msg (::core::option::Option::<usize>::None);
6987        };
6988        if let ::core::option::Option::Some(size) =
6989            ::micropb::const_map!(::core::option::Option::Some(502usize), |size| size + 1usize)
6990        {
6991            max_size += size;
6992        } else {
6993            break 'msg (::core::option::Option::<usize>::None);
6994        };
6995        ::core::option::Option::Some(max_size)
6996    };
6997    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
6998        &self,
6999        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
7000    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
7001        use ::micropb::{FieldEncode, PbMap};
7002        {
7003            if let ::core::option::Option::Some(val_ref) = self.r#rx_ctrl() {
7004                encoder.encode_varint32(10u32)?;
7005                val_ref.encode_len_delimited(encoder)?;
7006            }
7007        }
7008        {
7009            let val_ref = &self.r#payload;
7010            if !val_ref.is_empty() {
7011                encoder.encode_varint32(18u32)?;
7012                encoder.encode_bytes(val_ref)?;
7013            }
7014        }
7015        Ok(())
7016    }
7017    fn compute_size(&self) -> usize {
7018        use ::micropb::{FieldEncode, PbMap};
7019        let mut size = 0;
7020        {
7021            if let ::core::option::Option::Some(val_ref) = self.r#rx_ctrl() {
7022                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
7023            }
7024        }
7025        {
7026            let val_ref = &self.r#payload;
7027            if !val_ref.is_empty() {
7028                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.len());
7029            }
7030        }
7031        size
7032    }
7033}
7034#[derive(Debug, Default, PartialEq, Clone)]
7035pub struct r#wifi_promiscuous_filter {
7036    pub r#filter_mask: u32,
7037}
7038impl r#wifi_promiscuous_filter {
7039    ///Return a reference to `filter_mask`
7040    #[inline]
7041    pub fn r#filter_mask(&self) -> &u32 {
7042        &self.r#filter_mask
7043    }
7044    ///Return a mutable reference to `filter_mask`
7045    #[inline]
7046    pub fn mut_filter_mask(&mut self) -> &mut u32 {
7047        &mut self.r#filter_mask
7048    }
7049    ///Set the value of `filter_mask`
7050    #[inline]
7051    pub fn set_filter_mask(&mut self, value: u32) -> &mut Self {
7052        self.r#filter_mask = value.into();
7053        self
7054    }
7055    ///Builder method that sets the value of `filter_mask`. Useful for initializing the message.
7056    #[inline]
7057    pub fn init_filter_mask(mut self, value: u32) -> Self {
7058        self.r#filter_mask = value.into();
7059        self
7060    }
7061}
7062impl ::micropb::MessageDecode for r#wifi_promiscuous_filter {
7063    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
7064        &mut self,
7065        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
7066        len: usize,
7067    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
7068        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
7069        let before = decoder.bytes_read();
7070        while decoder.bytes_read() - before < len {
7071            let tag = decoder.decode_tag()?;
7072            match tag.field_num() {
7073                0 => return Err(::micropb::DecodeError::ZeroField),
7074                1u32 => {
7075                    let mut_ref = &mut self.r#filter_mask;
7076                    {
7077                        let val = decoder.decode_varint32()?;
7078                        let val_ref = &val;
7079                        if *val_ref != 0 {
7080                            *mut_ref = val as _;
7081                        }
7082                    };
7083                }
7084                _ => {
7085                    decoder.skip_wire_value(tag.wire_type())?;
7086                }
7087            }
7088        }
7089        Ok(())
7090    }
7091}
7092impl ::micropb::MessageEncode for r#wifi_promiscuous_filter {
7093    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
7094        let mut max_size = 0;
7095        if let ::core::option::Option::Some(size) =
7096            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
7097        {
7098            max_size += size;
7099        } else {
7100            break 'msg (::core::option::Option::<usize>::None);
7101        };
7102        ::core::option::Option::Some(max_size)
7103    };
7104    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
7105        &self,
7106        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
7107    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
7108        use ::micropb::{FieldEncode, PbMap};
7109        {
7110            let val_ref = &self.r#filter_mask;
7111            if *val_ref != 0 {
7112                encoder.encode_varint32(8u32)?;
7113                encoder.encode_varint32(*val_ref as _)?;
7114            }
7115        }
7116        Ok(())
7117    }
7118    fn compute_size(&self) -> usize {
7119        use ::micropb::{FieldEncode, PbMap};
7120        let mut size = 0;
7121        {
7122            let val_ref = &self.r#filter_mask;
7123            if *val_ref != 0 {
7124                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
7125            }
7126        }
7127        size
7128    }
7129}
7130#[derive(Debug, Default, PartialEq, Clone)]
7131pub struct r#wifi_csi_config {
7132    pub r#lltf_en: bool,
7133    pub r#htltf_en: bool,
7134    pub r#stbc_htltf2_en: bool,
7135    pub r#ltf_merge_en: bool,
7136    pub r#channel_filter_en: bool,
7137    pub r#manu_scale: bool,
7138    pub r#shift: u32,
7139}
7140impl r#wifi_csi_config {
7141    ///Return a reference to `lltf_en`
7142    #[inline]
7143    pub fn r#lltf_en(&self) -> &bool {
7144        &self.r#lltf_en
7145    }
7146    ///Return a mutable reference to `lltf_en`
7147    #[inline]
7148    pub fn mut_lltf_en(&mut self) -> &mut bool {
7149        &mut self.r#lltf_en
7150    }
7151    ///Set the value of `lltf_en`
7152    #[inline]
7153    pub fn set_lltf_en(&mut self, value: bool) -> &mut Self {
7154        self.r#lltf_en = value.into();
7155        self
7156    }
7157    ///Builder method that sets the value of `lltf_en`. Useful for initializing the message.
7158    #[inline]
7159    pub fn init_lltf_en(mut self, value: bool) -> Self {
7160        self.r#lltf_en = value.into();
7161        self
7162    }
7163    ///Return a reference to `htltf_en`
7164    #[inline]
7165    pub fn r#htltf_en(&self) -> &bool {
7166        &self.r#htltf_en
7167    }
7168    ///Return a mutable reference to `htltf_en`
7169    #[inline]
7170    pub fn mut_htltf_en(&mut self) -> &mut bool {
7171        &mut self.r#htltf_en
7172    }
7173    ///Set the value of `htltf_en`
7174    #[inline]
7175    pub fn set_htltf_en(&mut self, value: bool) -> &mut Self {
7176        self.r#htltf_en = value.into();
7177        self
7178    }
7179    ///Builder method that sets the value of `htltf_en`. Useful for initializing the message.
7180    #[inline]
7181    pub fn init_htltf_en(mut self, value: bool) -> Self {
7182        self.r#htltf_en = value.into();
7183        self
7184    }
7185    ///Return a reference to `stbc_htltf2_en`
7186    #[inline]
7187    pub fn r#stbc_htltf2_en(&self) -> &bool {
7188        &self.r#stbc_htltf2_en
7189    }
7190    ///Return a mutable reference to `stbc_htltf2_en`
7191    #[inline]
7192    pub fn mut_stbc_htltf2_en(&mut self) -> &mut bool {
7193        &mut self.r#stbc_htltf2_en
7194    }
7195    ///Set the value of `stbc_htltf2_en`
7196    #[inline]
7197    pub fn set_stbc_htltf2_en(&mut self, value: bool) -> &mut Self {
7198        self.r#stbc_htltf2_en = value.into();
7199        self
7200    }
7201    ///Builder method that sets the value of `stbc_htltf2_en`. Useful for initializing the message.
7202    #[inline]
7203    pub fn init_stbc_htltf2_en(mut self, value: bool) -> Self {
7204        self.r#stbc_htltf2_en = value.into();
7205        self
7206    }
7207    ///Return a reference to `ltf_merge_en`
7208    #[inline]
7209    pub fn r#ltf_merge_en(&self) -> &bool {
7210        &self.r#ltf_merge_en
7211    }
7212    ///Return a mutable reference to `ltf_merge_en`
7213    #[inline]
7214    pub fn mut_ltf_merge_en(&mut self) -> &mut bool {
7215        &mut self.r#ltf_merge_en
7216    }
7217    ///Set the value of `ltf_merge_en`
7218    #[inline]
7219    pub fn set_ltf_merge_en(&mut self, value: bool) -> &mut Self {
7220        self.r#ltf_merge_en = value.into();
7221        self
7222    }
7223    ///Builder method that sets the value of `ltf_merge_en`. Useful for initializing the message.
7224    #[inline]
7225    pub fn init_ltf_merge_en(mut self, value: bool) -> Self {
7226        self.r#ltf_merge_en = value.into();
7227        self
7228    }
7229    ///Return a reference to `channel_filter_en`
7230    #[inline]
7231    pub fn r#channel_filter_en(&self) -> &bool {
7232        &self.r#channel_filter_en
7233    }
7234    ///Return a mutable reference to `channel_filter_en`
7235    #[inline]
7236    pub fn mut_channel_filter_en(&mut self) -> &mut bool {
7237        &mut self.r#channel_filter_en
7238    }
7239    ///Set the value of `channel_filter_en`
7240    #[inline]
7241    pub fn set_channel_filter_en(&mut self, value: bool) -> &mut Self {
7242        self.r#channel_filter_en = value.into();
7243        self
7244    }
7245    ///Builder method that sets the value of `channel_filter_en`. Useful for initializing the message.
7246    #[inline]
7247    pub fn init_channel_filter_en(mut self, value: bool) -> Self {
7248        self.r#channel_filter_en = value.into();
7249        self
7250    }
7251    ///Return a reference to `manu_scale`
7252    #[inline]
7253    pub fn r#manu_scale(&self) -> &bool {
7254        &self.r#manu_scale
7255    }
7256    ///Return a mutable reference to `manu_scale`
7257    #[inline]
7258    pub fn mut_manu_scale(&mut self) -> &mut bool {
7259        &mut self.r#manu_scale
7260    }
7261    ///Set the value of `manu_scale`
7262    #[inline]
7263    pub fn set_manu_scale(&mut self, value: bool) -> &mut Self {
7264        self.r#manu_scale = value.into();
7265        self
7266    }
7267    ///Builder method that sets the value of `manu_scale`. Useful for initializing the message.
7268    #[inline]
7269    pub fn init_manu_scale(mut self, value: bool) -> Self {
7270        self.r#manu_scale = value.into();
7271        self
7272    }
7273    ///Return a reference to `shift`
7274    #[inline]
7275    pub fn r#shift(&self) -> &u32 {
7276        &self.r#shift
7277    }
7278    ///Return a mutable reference to `shift`
7279    #[inline]
7280    pub fn mut_shift(&mut self) -> &mut u32 {
7281        &mut self.r#shift
7282    }
7283    ///Set the value of `shift`
7284    #[inline]
7285    pub fn set_shift(&mut self, value: u32) -> &mut Self {
7286        self.r#shift = value.into();
7287        self
7288    }
7289    ///Builder method that sets the value of `shift`. Useful for initializing the message.
7290    #[inline]
7291    pub fn init_shift(mut self, value: u32) -> Self {
7292        self.r#shift = value.into();
7293        self
7294    }
7295}
7296impl ::micropb::MessageDecode for r#wifi_csi_config {
7297    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
7298        &mut self,
7299        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
7300        len: usize,
7301    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
7302        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
7303        let before = decoder.bytes_read();
7304        while decoder.bytes_read() - before < len {
7305            let tag = decoder.decode_tag()?;
7306            match tag.field_num() {
7307                0 => return Err(::micropb::DecodeError::ZeroField),
7308                1u32 => {
7309                    let mut_ref = &mut self.r#lltf_en;
7310                    {
7311                        let val = decoder.decode_bool()?;
7312                        let val_ref = &val;
7313                        if *val_ref {
7314                            *mut_ref = val as _;
7315                        }
7316                    };
7317                }
7318                2u32 => {
7319                    let mut_ref = &mut self.r#htltf_en;
7320                    {
7321                        let val = decoder.decode_bool()?;
7322                        let val_ref = &val;
7323                        if *val_ref {
7324                            *mut_ref = val as _;
7325                        }
7326                    };
7327                }
7328                3u32 => {
7329                    let mut_ref = &mut self.r#stbc_htltf2_en;
7330                    {
7331                        let val = decoder.decode_bool()?;
7332                        let val_ref = &val;
7333                        if *val_ref {
7334                            *mut_ref = val as _;
7335                        }
7336                    };
7337                }
7338                4u32 => {
7339                    let mut_ref = &mut self.r#ltf_merge_en;
7340                    {
7341                        let val = decoder.decode_bool()?;
7342                        let val_ref = &val;
7343                        if *val_ref {
7344                            *mut_ref = val as _;
7345                        }
7346                    };
7347                }
7348                5u32 => {
7349                    let mut_ref = &mut self.r#channel_filter_en;
7350                    {
7351                        let val = decoder.decode_bool()?;
7352                        let val_ref = &val;
7353                        if *val_ref {
7354                            *mut_ref = val as _;
7355                        }
7356                    };
7357                }
7358                6u32 => {
7359                    let mut_ref = &mut self.r#manu_scale;
7360                    {
7361                        let val = decoder.decode_bool()?;
7362                        let val_ref = &val;
7363                        if *val_ref {
7364                            *mut_ref = val as _;
7365                        }
7366                    };
7367                }
7368                7u32 => {
7369                    let mut_ref = &mut self.r#shift;
7370                    {
7371                        let val = decoder.decode_varint32()?;
7372                        let val_ref = &val;
7373                        if *val_ref != 0 {
7374                            *mut_ref = val as _;
7375                        }
7376                    };
7377                }
7378                _ => {
7379                    decoder.skip_wire_value(tag.wire_type())?;
7380                }
7381            }
7382        }
7383        Ok(())
7384    }
7385}
7386impl ::micropb::MessageEncode for r#wifi_csi_config {
7387    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
7388        let mut max_size = 0;
7389        if let ::core::option::Option::Some(size) =
7390            ::micropb::const_map!(::core::option::Option::Some(1usize), |size| size + 1usize)
7391        {
7392            max_size += size;
7393        } else {
7394            break 'msg (::core::option::Option::<usize>::None);
7395        };
7396        if let ::core::option::Option::Some(size) =
7397            ::micropb::const_map!(::core::option::Option::Some(1usize), |size| size + 1usize)
7398        {
7399            max_size += size;
7400        } else {
7401            break 'msg (::core::option::Option::<usize>::None);
7402        };
7403        if let ::core::option::Option::Some(size) =
7404            ::micropb::const_map!(::core::option::Option::Some(1usize), |size| size + 1usize)
7405        {
7406            max_size += size;
7407        } else {
7408            break 'msg (::core::option::Option::<usize>::None);
7409        };
7410        if let ::core::option::Option::Some(size) =
7411            ::micropb::const_map!(::core::option::Option::Some(1usize), |size| size + 1usize)
7412        {
7413            max_size += size;
7414        } else {
7415            break 'msg (::core::option::Option::<usize>::None);
7416        };
7417        if let ::core::option::Option::Some(size) =
7418            ::micropb::const_map!(::core::option::Option::Some(1usize), |size| size + 1usize)
7419        {
7420            max_size += size;
7421        } else {
7422            break 'msg (::core::option::Option::<usize>::None);
7423        };
7424        if let ::core::option::Option::Some(size) =
7425            ::micropb::const_map!(::core::option::Option::Some(1usize), |size| size + 1usize)
7426        {
7427            max_size += size;
7428        } else {
7429            break 'msg (::core::option::Option::<usize>::None);
7430        };
7431        if let ::core::option::Option::Some(size) =
7432            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
7433        {
7434            max_size += size;
7435        } else {
7436            break 'msg (::core::option::Option::<usize>::None);
7437        };
7438        ::core::option::Option::Some(max_size)
7439    };
7440    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
7441        &self,
7442        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
7443    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
7444        use ::micropb::{FieldEncode, PbMap};
7445        {
7446            let val_ref = &self.r#lltf_en;
7447            if *val_ref {
7448                encoder.encode_varint32(8u32)?;
7449                encoder.encode_bool(*val_ref)?;
7450            }
7451        }
7452        {
7453            let val_ref = &self.r#htltf_en;
7454            if *val_ref {
7455                encoder.encode_varint32(16u32)?;
7456                encoder.encode_bool(*val_ref)?;
7457            }
7458        }
7459        {
7460            let val_ref = &self.r#stbc_htltf2_en;
7461            if *val_ref {
7462                encoder.encode_varint32(24u32)?;
7463                encoder.encode_bool(*val_ref)?;
7464            }
7465        }
7466        {
7467            let val_ref = &self.r#ltf_merge_en;
7468            if *val_ref {
7469                encoder.encode_varint32(32u32)?;
7470                encoder.encode_bool(*val_ref)?;
7471            }
7472        }
7473        {
7474            let val_ref = &self.r#channel_filter_en;
7475            if *val_ref {
7476                encoder.encode_varint32(40u32)?;
7477                encoder.encode_bool(*val_ref)?;
7478            }
7479        }
7480        {
7481            let val_ref = &self.r#manu_scale;
7482            if *val_ref {
7483                encoder.encode_varint32(48u32)?;
7484                encoder.encode_bool(*val_ref)?;
7485            }
7486        }
7487        {
7488            let val_ref = &self.r#shift;
7489            if *val_ref != 0 {
7490                encoder.encode_varint32(56u32)?;
7491                encoder.encode_varint32(*val_ref as _)?;
7492            }
7493        }
7494        Ok(())
7495    }
7496    fn compute_size(&self) -> usize {
7497        use ::micropb::{FieldEncode, PbMap};
7498        let mut size = 0;
7499        {
7500            let val_ref = &self.r#lltf_en;
7501            if *val_ref {
7502                size += 1usize + 1;
7503            }
7504        }
7505        {
7506            let val_ref = &self.r#htltf_en;
7507            if *val_ref {
7508                size += 1usize + 1;
7509            }
7510        }
7511        {
7512            let val_ref = &self.r#stbc_htltf2_en;
7513            if *val_ref {
7514                size += 1usize + 1;
7515            }
7516        }
7517        {
7518            let val_ref = &self.r#ltf_merge_en;
7519            if *val_ref {
7520                size += 1usize + 1;
7521            }
7522        }
7523        {
7524            let val_ref = &self.r#channel_filter_en;
7525            if *val_ref {
7526                size += 1usize + 1;
7527            }
7528        }
7529        {
7530            let val_ref = &self.r#manu_scale;
7531            if *val_ref {
7532                size += 1usize + 1;
7533            }
7534        }
7535        {
7536            let val_ref = &self.r#shift;
7537            if *val_ref != 0 {
7538                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
7539            }
7540        }
7541        size
7542    }
7543}
7544pub mod wifi_csi_info_ {
7545    #[derive(Debug, Default, PartialEq, Clone)]
7546    pub struct _Hazzer([u8; 1]);
7547    impl _Hazzer {
7548        ///New hazzer with all fields set to off
7549        #[inline]
7550        pub const fn _new() -> Self {
7551            Self([0; 1])
7552        }
7553        ///Query presence of `rx_ctrl`
7554        #[inline]
7555        pub const fn r#rx_ctrl(&self) -> bool {
7556            (self.0[0] & 1) != 0
7557        }
7558        ///Set presence of `rx_ctrl`
7559        #[inline]
7560        pub const fn set_rx_ctrl(&mut self) -> &mut Self {
7561            let elem = &mut self.0[0];
7562            *elem |= 1;
7563            self
7564        }
7565        ///Clear presence of `rx_ctrl`
7566        #[inline]
7567        pub const fn clear_rx_ctrl(&mut self) -> &mut Self {
7568            let elem = &mut self.0[0];
7569            *elem &= !1;
7570            self
7571        }
7572        ///Builder method that sets the presence of `rx_ctrl`. Useful for initializing the Hazzer.
7573        #[inline]
7574        pub const fn init_rx_ctrl(mut self) -> Self {
7575            self.set_rx_ctrl();
7576            self
7577        }
7578    }
7579}
7580#[derive(Debug, Default, Clone)]
7581pub struct r#wifi_csi_info {
7582    pub r#rx_ctrl: r#wifi_pkt_rx_ctrl,
7583    pub r#mac: ::micropb::heapless::Vec<u8, 6>,
7584    pub r#dmac: ::micropb::heapless::Vec<u8, 6>,
7585    pub r#first_word_invalid: bool,
7586    pub r#buf: ::micropb::heapless::Vec<u8, 30>,
7587    pub r#len: u32,
7588    pub _has: wifi_csi_info_::_Hazzer,
7589}
7590impl ::core::cmp::PartialEq for r#wifi_csi_info {
7591    fn eq(&self, other: &Self) -> bool {
7592        let mut ret = true;
7593        ret &= (self.r#rx_ctrl() == other.r#rx_ctrl());
7594        ret &= (self.r#mac == other.r#mac);
7595        ret &= (self.r#dmac == other.r#dmac);
7596        ret &= (self.r#first_word_invalid == other.r#first_word_invalid);
7597        ret &= (self.r#buf == other.r#buf);
7598        ret &= (self.r#len == other.r#len);
7599        ret
7600    }
7601}
7602impl r#wifi_csi_info {
7603    ///Return a reference to `rx_ctrl` as an `Option`
7604    #[inline]
7605    pub fn r#rx_ctrl(&self) -> ::core::option::Option<&r#wifi_pkt_rx_ctrl> {
7606        self._has.r#rx_ctrl().then_some(&self.r#rx_ctrl)
7607    }
7608    ///Set the value and presence of `rx_ctrl`
7609    #[inline]
7610    pub fn set_rx_ctrl(&mut self, value: r#wifi_pkt_rx_ctrl) -> &mut Self {
7611        self._has.set_rx_ctrl();
7612        self.r#rx_ctrl = value.into();
7613        self
7614    }
7615    ///Return a mutable reference to `rx_ctrl` as an `Option`
7616    #[inline]
7617    pub fn mut_rx_ctrl(&mut self) -> ::core::option::Option<&mut r#wifi_pkt_rx_ctrl> {
7618        self._has.r#rx_ctrl().then_some(&mut self.r#rx_ctrl)
7619    }
7620    ///Clear the presence of `rx_ctrl`
7621    #[inline]
7622    pub fn clear_rx_ctrl(&mut self) -> &mut Self {
7623        self._has.clear_rx_ctrl();
7624        self
7625    }
7626    ///Take the value of `rx_ctrl` and clear its presence
7627    #[inline]
7628    pub fn take_rx_ctrl(&mut self) -> ::core::option::Option<r#wifi_pkt_rx_ctrl> {
7629        let val = self
7630            ._has
7631            .r#rx_ctrl()
7632            .then(|| ::core::mem::take(&mut self.r#rx_ctrl));
7633        self._has.clear_rx_ctrl();
7634        val
7635    }
7636    ///Builder method that sets the value of `rx_ctrl`. Useful for initializing the message.
7637    #[inline]
7638    pub fn init_rx_ctrl(mut self, value: r#wifi_pkt_rx_ctrl) -> Self {
7639        self.set_rx_ctrl(value);
7640        self
7641    }
7642    ///Return a reference to `mac`
7643    #[inline]
7644    pub fn r#mac(&self) -> &::micropb::heapless::Vec<u8, 6> {
7645        &self.r#mac
7646    }
7647    ///Return a mutable reference to `mac`
7648    #[inline]
7649    pub fn mut_mac(&mut self) -> &mut ::micropb::heapless::Vec<u8, 6> {
7650        &mut self.r#mac
7651    }
7652    ///Set the value of `mac`
7653    #[inline]
7654    pub fn set_mac(&mut self, value: ::micropb::heapless::Vec<u8, 6>) -> &mut Self {
7655        self.r#mac = value.into();
7656        self
7657    }
7658    ///Builder method that sets the value of `mac`. Useful for initializing the message.
7659    #[inline]
7660    pub fn init_mac(mut self, value: ::micropb::heapless::Vec<u8, 6>) -> Self {
7661        self.r#mac = value.into();
7662        self
7663    }
7664    ///Return a reference to `dmac`
7665    #[inline]
7666    pub fn r#dmac(&self) -> &::micropb::heapless::Vec<u8, 6> {
7667        &self.r#dmac
7668    }
7669    ///Return a mutable reference to `dmac`
7670    #[inline]
7671    pub fn mut_dmac(&mut self) -> &mut ::micropb::heapless::Vec<u8, 6> {
7672        &mut self.r#dmac
7673    }
7674    ///Set the value of `dmac`
7675    #[inline]
7676    pub fn set_dmac(&mut self, value: ::micropb::heapless::Vec<u8, 6>) -> &mut Self {
7677        self.r#dmac = value.into();
7678        self
7679    }
7680    ///Builder method that sets the value of `dmac`. Useful for initializing the message.
7681    #[inline]
7682    pub fn init_dmac(mut self, value: ::micropb::heapless::Vec<u8, 6>) -> Self {
7683        self.r#dmac = value.into();
7684        self
7685    }
7686    ///Return a reference to `first_word_invalid`
7687    #[inline]
7688    pub fn r#first_word_invalid(&self) -> &bool {
7689        &self.r#first_word_invalid
7690    }
7691    ///Return a mutable reference to `first_word_invalid`
7692    #[inline]
7693    pub fn mut_first_word_invalid(&mut self) -> &mut bool {
7694        &mut self.r#first_word_invalid
7695    }
7696    ///Set the value of `first_word_invalid`
7697    #[inline]
7698    pub fn set_first_word_invalid(&mut self, value: bool) -> &mut Self {
7699        self.r#first_word_invalid = value.into();
7700        self
7701    }
7702    ///Builder method that sets the value of `first_word_invalid`. Useful for initializing the message.
7703    #[inline]
7704    pub fn init_first_word_invalid(mut self, value: bool) -> Self {
7705        self.r#first_word_invalid = value.into();
7706        self
7707    }
7708    ///Return a reference to `buf`
7709    #[inline]
7710    pub fn r#buf(&self) -> &::micropb::heapless::Vec<u8, 30> {
7711        &self.r#buf
7712    }
7713    ///Return a mutable reference to `buf`
7714    #[inline]
7715    pub fn mut_buf(&mut self) -> &mut ::micropb::heapless::Vec<u8, 30> {
7716        &mut self.r#buf
7717    }
7718    ///Set the value of `buf`
7719    #[inline]
7720    pub fn set_buf(&mut self, value: ::micropb::heapless::Vec<u8, 30>) -> &mut Self {
7721        self.r#buf = value.into();
7722        self
7723    }
7724    ///Builder method that sets the value of `buf`. Useful for initializing the message.
7725    #[inline]
7726    pub fn init_buf(mut self, value: ::micropb::heapless::Vec<u8, 30>) -> Self {
7727        self.r#buf = value.into();
7728        self
7729    }
7730    ///Return a reference to `len`
7731    #[inline]
7732    pub fn r#len(&self) -> &u32 {
7733        &self.r#len
7734    }
7735    ///Return a mutable reference to `len`
7736    #[inline]
7737    pub fn mut_len(&mut self) -> &mut u32 {
7738        &mut self.r#len
7739    }
7740    ///Set the value of `len`
7741    #[inline]
7742    pub fn set_len(&mut self, value: u32) -> &mut Self {
7743        self.r#len = value.into();
7744        self
7745    }
7746    ///Builder method that sets the value of `len`. Useful for initializing the message.
7747    #[inline]
7748    pub fn init_len(mut self, value: u32) -> Self {
7749        self.r#len = value.into();
7750        self
7751    }
7752}
7753impl ::micropb::MessageDecode for r#wifi_csi_info {
7754    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
7755        &mut self,
7756        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
7757        len: usize,
7758    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
7759        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
7760        let before = decoder.bytes_read();
7761        while decoder.bytes_read() - before < len {
7762            let tag = decoder.decode_tag()?;
7763            match tag.field_num() {
7764                0 => return Err(::micropb::DecodeError::ZeroField),
7765                1u32 => {
7766                    let mut_ref = &mut self.r#rx_ctrl;
7767                    {
7768                        mut_ref.decode_len_delimited(decoder)?;
7769                    };
7770                    self._has.set_rx_ctrl();
7771                }
7772                2u32 => {
7773                    let mut_ref = &mut self.r#mac;
7774                    {
7775                        decoder.decode_bytes(mut_ref, ::micropb::Presence::Implicit)?;
7776                    };
7777                }
7778                3u32 => {
7779                    let mut_ref = &mut self.r#dmac;
7780                    {
7781                        decoder.decode_bytes(mut_ref, ::micropb::Presence::Implicit)?;
7782                    };
7783                }
7784                4u32 => {
7785                    let mut_ref = &mut self.r#first_word_invalid;
7786                    {
7787                        let val = decoder.decode_bool()?;
7788                        let val_ref = &val;
7789                        if *val_ref {
7790                            *mut_ref = val as _;
7791                        }
7792                    };
7793                }
7794                5u32 => {
7795                    let mut_ref = &mut self.r#buf;
7796                    {
7797                        decoder.decode_bytes(mut_ref, ::micropb::Presence::Implicit)?;
7798                    };
7799                }
7800                6u32 => {
7801                    let mut_ref = &mut self.r#len;
7802                    {
7803                        let val = decoder.decode_varint32()?;
7804                        let val_ref = &val;
7805                        if *val_ref != 0 {
7806                            *mut_ref = val as _;
7807                        }
7808                    };
7809                }
7810                _ => {
7811                    decoder.skip_wire_value(tag.wire_type())?;
7812                }
7813            }
7814        }
7815        Ok(())
7816    }
7817}
7818impl ::micropb::MessageEncode for r#wifi_csi_info {
7819    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
7820        let mut max_size = 0;
7821        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
7822            ::micropb::const_map!(
7823                <r#wifi_pkt_rx_ctrl as ::micropb::MessageEncode>::MAX_SIZE,
7824                |size| ::micropb::size::sizeof_len_record(size)
7825            ),
7826            |size| size + 1usize
7827        ) {
7828            max_size += size;
7829        } else {
7830            break 'msg (::core::option::Option::<usize>::None);
7831        };
7832        if let ::core::option::Option::Some(size) =
7833            ::micropb::const_map!(::core::option::Option::Some(7usize), |size| size + 1usize)
7834        {
7835            max_size += size;
7836        } else {
7837            break 'msg (::core::option::Option::<usize>::None);
7838        };
7839        if let ::core::option::Option::Some(size) =
7840            ::micropb::const_map!(::core::option::Option::Some(7usize), |size| size + 1usize)
7841        {
7842            max_size += size;
7843        } else {
7844            break 'msg (::core::option::Option::<usize>::None);
7845        };
7846        if let ::core::option::Option::Some(size) =
7847            ::micropb::const_map!(::core::option::Option::Some(1usize), |size| size + 1usize)
7848        {
7849            max_size += size;
7850        } else {
7851            break 'msg (::core::option::Option::<usize>::None);
7852        };
7853        if let ::core::option::Option::Some(size) =
7854            ::micropb::const_map!(::core::option::Option::Some(31usize), |size| size + 1usize)
7855        {
7856            max_size += size;
7857        } else {
7858            break 'msg (::core::option::Option::<usize>::None);
7859        };
7860        if let ::core::option::Option::Some(size) =
7861            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
7862        {
7863            max_size += size;
7864        } else {
7865            break 'msg (::core::option::Option::<usize>::None);
7866        };
7867        ::core::option::Option::Some(max_size)
7868    };
7869    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
7870        &self,
7871        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
7872    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
7873        use ::micropb::{FieldEncode, PbMap};
7874        {
7875            if let ::core::option::Option::Some(val_ref) = self.r#rx_ctrl() {
7876                encoder.encode_varint32(10u32)?;
7877                val_ref.encode_len_delimited(encoder)?;
7878            }
7879        }
7880        {
7881            let val_ref = &self.r#mac;
7882            if !val_ref.is_empty() {
7883                encoder.encode_varint32(18u32)?;
7884                encoder.encode_bytes(val_ref)?;
7885            }
7886        }
7887        {
7888            let val_ref = &self.r#dmac;
7889            if !val_ref.is_empty() {
7890                encoder.encode_varint32(26u32)?;
7891                encoder.encode_bytes(val_ref)?;
7892            }
7893        }
7894        {
7895            let val_ref = &self.r#first_word_invalid;
7896            if *val_ref {
7897                encoder.encode_varint32(32u32)?;
7898                encoder.encode_bool(*val_ref)?;
7899            }
7900        }
7901        {
7902            let val_ref = &self.r#buf;
7903            if !val_ref.is_empty() {
7904                encoder.encode_varint32(42u32)?;
7905                encoder.encode_bytes(val_ref)?;
7906            }
7907        }
7908        {
7909            let val_ref = &self.r#len;
7910            if *val_ref != 0 {
7911                encoder.encode_varint32(48u32)?;
7912                encoder.encode_varint32(*val_ref as _)?;
7913            }
7914        }
7915        Ok(())
7916    }
7917    fn compute_size(&self) -> usize {
7918        use ::micropb::{FieldEncode, PbMap};
7919        let mut size = 0;
7920        {
7921            if let ::core::option::Option::Some(val_ref) = self.r#rx_ctrl() {
7922                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
7923            }
7924        }
7925        {
7926            let val_ref = &self.r#mac;
7927            if !val_ref.is_empty() {
7928                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.len());
7929            }
7930        }
7931        {
7932            let val_ref = &self.r#dmac;
7933            if !val_ref.is_empty() {
7934                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.len());
7935            }
7936        }
7937        {
7938            let val_ref = &self.r#first_word_invalid;
7939            if *val_ref {
7940                size += 1usize + 1;
7941            }
7942        }
7943        {
7944            let val_ref = &self.r#buf;
7945            if !val_ref.is_empty() {
7946                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.len());
7947            }
7948        }
7949        {
7950            let val_ref = &self.r#len;
7951            if *val_ref != 0 {
7952                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
7953            }
7954        }
7955        size
7956    }
7957}
7958#[derive(Debug, Default, PartialEq, Clone)]
7959pub struct r#wifi_ant_gpio {
7960    pub r#gpio_select: u32,
7961    pub r#gpio_num: u32,
7962}
7963impl r#wifi_ant_gpio {
7964    ///Return a reference to `gpio_select`
7965    #[inline]
7966    pub fn r#gpio_select(&self) -> &u32 {
7967        &self.r#gpio_select
7968    }
7969    ///Return a mutable reference to `gpio_select`
7970    #[inline]
7971    pub fn mut_gpio_select(&mut self) -> &mut u32 {
7972        &mut self.r#gpio_select
7973    }
7974    ///Set the value of `gpio_select`
7975    #[inline]
7976    pub fn set_gpio_select(&mut self, value: u32) -> &mut Self {
7977        self.r#gpio_select = value.into();
7978        self
7979    }
7980    ///Builder method that sets the value of `gpio_select`. Useful for initializing the message.
7981    #[inline]
7982    pub fn init_gpio_select(mut self, value: u32) -> Self {
7983        self.r#gpio_select = value.into();
7984        self
7985    }
7986    ///Return a reference to `gpio_num`
7987    #[inline]
7988    pub fn r#gpio_num(&self) -> &u32 {
7989        &self.r#gpio_num
7990    }
7991    ///Return a mutable reference to `gpio_num`
7992    #[inline]
7993    pub fn mut_gpio_num(&mut self) -> &mut u32 {
7994        &mut self.r#gpio_num
7995    }
7996    ///Set the value of `gpio_num`
7997    #[inline]
7998    pub fn set_gpio_num(&mut self, value: u32) -> &mut Self {
7999        self.r#gpio_num = value.into();
8000        self
8001    }
8002    ///Builder method that sets the value of `gpio_num`. Useful for initializing the message.
8003    #[inline]
8004    pub fn init_gpio_num(mut self, value: u32) -> Self {
8005        self.r#gpio_num = value.into();
8006        self
8007    }
8008}
8009impl ::micropb::MessageDecode for r#wifi_ant_gpio {
8010    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
8011        &mut self,
8012        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
8013        len: usize,
8014    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
8015        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
8016        let before = decoder.bytes_read();
8017        while decoder.bytes_read() - before < len {
8018            let tag = decoder.decode_tag()?;
8019            match tag.field_num() {
8020                0 => return Err(::micropb::DecodeError::ZeroField),
8021                1u32 => {
8022                    let mut_ref = &mut self.r#gpio_select;
8023                    {
8024                        let val = decoder.decode_varint32()?;
8025                        let val_ref = &val;
8026                        if *val_ref != 0 {
8027                            *mut_ref = val as _;
8028                        }
8029                    };
8030                }
8031                2u32 => {
8032                    let mut_ref = &mut self.r#gpio_num;
8033                    {
8034                        let val = decoder.decode_varint32()?;
8035                        let val_ref = &val;
8036                        if *val_ref != 0 {
8037                            *mut_ref = val as _;
8038                        }
8039                    };
8040                }
8041                _ => {
8042                    decoder.skip_wire_value(tag.wire_type())?;
8043                }
8044            }
8045        }
8046        Ok(())
8047    }
8048}
8049impl ::micropb::MessageEncode for r#wifi_ant_gpio {
8050    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
8051        let mut max_size = 0;
8052        if let ::core::option::Option::Some(size) =
8053            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
8054        {
8055            max_size += size;
8056        } else {
8057            break 'msg (::core::option::Option::<usize>::None);
8058        };
8059        if let ::core::option::Option::Some(size) =
8060            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
8061        {
8062            max_size += size;
8063        } else {
8064            break 'msg (::core::option::Option::<usize>::None);
8065        };
8066        ::core::option::Option::Some(max_size)
8067    };
8068    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
8069        &self,
8070        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
8071    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
8072        use ::micropb::{FieldEncode, PbMap};
8073        {
8074            let val_ref = &self.r#gpio_select;
8075            if *val_ref != 0 {
8076                encoder.encode_varint32(8u32)?;
8077                encoder.encode_varint32(*val_ref as _)?;
8078            }
8079        }
8080        {
8081            let val_ref = &self.r#gpio_num;
8082            if *val_ref != 0 {
8083                encoder.encode_varint32(16u32)?;
8084                encoder.encode_varint32(*val_ref as _)?;
8085            }
8086        }
8087        Ok(())
8088    }
8089    fn compute_size(&self) -> usize {
8090        use ::micropb::{FieldEncode, PbMap};
8091        let mut size = 0;
8092        {
8093            let val_ref = &self.r#gpio_select;
8094            if *val_ref != 0 {
8095                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
8096            }
8097        }
8098        {
8099            let val_ref = &self.r#gpio_num;
8100            if *val_ref != 0 {
8101                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
8102            }
8103        }
8104        size
8105    }
8106}
8107#[derive(Debug, Default, PartialEq, Clone)]
8108pub struct r#wifi_ant_gpio_config {
8109    pub r#gpio_cfgs: ::micropb::heapless::Vec<r#wifi_ant_gpio, 8>,
8110}
8111impl r#wifi_ant_gpio_config {}
8112impl ::micropb::MessageDecode for r#wifi_ant_gpio_config {
8113    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
8114        &mut self,
8115        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
8116        len: usize,
8117    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
8118        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
8119        let before = decoder.bytes_read();
8120        while decoder.bytes_read() - before < len {
8121            let tag = decoder.decode_tag()?;
8122            match tag.field_num() {
8123                0 => return Err(::micropb::DecodeError::ZeroField),
8124                1u32 => {
8125                    let mut val: r#wifi_ant_gpio = ::core::default::Default::default();
8126                    let mut_ref = &mut val;
8127                    {
8128                        mut_ref.decode_len_delimited(decoder)?;
8129                    };
8130                    if let (Err(_), false) = (
8131                        self.r#gpio_cfgs.pb_push(val),
8132                        decoder.ignore_repeated_cap_err,
8133                    ) {
8134                        return Err(::micropb::DecodeError::Capacity);
8135                    }
8136                }
8137                _ => {
8138                    decoder.skip_wire_value(tag.wire_type())?;
8139                }
8140            }
8141        }
8142        Ok(())
8143    }
8144}
8145impl ::micropb::MessageEncode for r#wifi_ant_gpio_config {
8146    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
8147        let mut max_size = 0;
8148        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
8149            ::micropb::const_map!(
8150                <r#wifi_ant_gpio as ::micropb::MessageEncode>::MAX_SIZE,
8151                |size| ::micropb::size::sizeof_len_record(size)
8152            ),
8153            |size| (size + 1usize) * 8usize
8154        ) {
8155            max_size += size;
8156        } else {
8157            break 'msg (::core::option::Option::<usize>::None);
8158        };
8159        ::core::option::Option::Some(max_size)
8160    };
8161    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
8162        &self,
8163        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
8164    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
8165        use ::micropb::{FieldEncode, PbMap};
8166        {
8167            for val_ref in self.r#gpio_cfgs.iter() {
8168                encoder.encode_varint32(10u32)?;
8169                val_ref.encode_len_delimited(encoder)?;
8170            }
8171        }
8172        Ok(())
8173    }
8174    fn compute_size(&self) -> usize {
8175        use ::micropb::{FieldEncode, PbMap};
8176        let mut size = 0;
8177        {
8178            for val_ref in self.r#gpio_cfgs.iter() {
8179                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
8180            }
8181        }
8182        size
8183    }
8184}
8185#[derive(Debug, Default, PartialEq, Clone)]
8186pub struct r#wifi_ant_config {
8187    pub r#rx_ant_mode: i32,
8188    pub r#rx_ant_default: i32,
8189    pub r#tx_ant_mode: i32,
8190    pub r#enabled_ant0: u32,
8191    pub r#enabled_ant1: u32,
8192}
8193impl r#wifi_ant_config {
8194    ///Return a reference to `rx_ant_mode`
8195    #[inline]
8196    pub fn r#rx_ant_mode(&self) -> &i32 {
8197        &self.r#rx_ant_mode
8198    }
8199    ///Return a mutable reference to `rx_ant_mode`
8200    #[inline]
8201    pub fn mut_rx_ant_mode(&mut self) -> &mut i32 {
8202        &mut self.r#rx_ant_mode
8203    }
8204    ///Set the value of `rx_ant_mode`
8205    #[inline]
8206    pub fn set_rx_ant_mode(&mut self, value: i32) -> &mut Self {
8207        self.r#rx_ant_mode = value.into();
8208        self
8209    }
8210    ///Builder method that sets the value of `rx_ant_mode`. Useful for initializing the message.
8211    #[inline]
8212    pub fn init_rx_ant_mode(mut self, value: i32) -> Self {
8213        self.r#rx_ant_mode = value.into();
8214        self
8215    }
8216    ///Return a reference to `rx_ant_default`
8217    #[inline]
8218    pub fn r#rx_ant_default(&self) -> &i32 {
8219        &self.r#rx_ant_default
8220    }
8221    ///Return a mutable reference to `rx_ant_default`
8222    #[inline]
8223    pub fn mut_rx_ant_default(&mut self) -> &mut i32 {
8224        &mut self.r#rx_ant_default
8225    }
8226    ///Set the value of `rx_ant_default`
8227    #[inline]
8228    pub fn set_rx_ant_default(&mut self, value: i32) -> &mut Self {
8229        self.r#rx_ant_default = value.into();
8230        self
8231    }
8232    ///Builder method that sets the value of `rx_ant_default`. Useful for initializing the message.
8233    #[inline]
8234    pub fn init_rx_ant_default(mut self, value: i32) -> Self {
8235        self.r#rx_ant_default = value.into();
8236        self
8237    }
8238    ///Return a reference to `tx_ant_mode`
8239    #[inline]
8240    pub fn r#tx_ant_mode(&self) -> &i32 {
8241        &self.r#tx_ant_mode
8242    }
8243    ///Return a mutable reference to `tx_ant_mode`
8244    #[inline]
8245    pub fn mut_tx_ant_mode(&mut self) -> &mut i32 {
8246        &mut self.r#tx_ant_mode
8247    }
8248    ///Set the value of `tx_ant_mode`
8249    #[inline]
8250    pub fn set_tx_ant_mode(&mut self, value: i32) -> &mut Self {
8251        self.r#tx_ant_mode = value.into();
8252        self
8253    }
8254    ///Builder method that sets the value of `tx_ant_mode`. Useful for initializing the message.
8255    #[inline]
8256    pub fn init_tx_ant_mode(mut self, value: i32) -> Self {
8257        self.r#tx_ant_mode = value.into();
8258        self
8259    }
8260    ///Return a reference to `enabled_ant0`
8261    #[inline]
8262    pub fn r#enabled_ant0(&self) -> &u32 {
8263        &self.r#enabled_ant0
8264    }
8265    ///Return a mutable reference to `enabled_ant0`
8266    #[inline]
8267    pub fn mut_enabled_ant0(&mut self) -> &mut u32 {
8268        &mut self.r#enabled_ant0
8269    }
8270    ///Set the value of `enabled_ant0`
8271    #[inline]
8272    pub fn set_enabled_ant0(&mut self, value: u32) -> &mut Self {
8273        self.r#enabled_ant0 = value.into();
8274        self
8275    }
8276    ///Builder method that sets the value of `enabled_ant0`. Useful for initializing the message.
8277    #[inline]
8278    pub fn init_enabled_ant0(mut self, value: u32) -> Self {
8279        self.r#enabled_ant0 = value.into();
8280        self
8281    }
8282    ///Return a reference to `enabled_ant1`
8283    #[inline]
8284    pub fn r#enabled_ant1(&self) -> &u32 {
8285        &self.r#enabled_ant1
8286    }
8287    ///Return a mutable reference to `enabled_ant1`
8288    #[inline]
8289    pub fn mut_enabled_ant1(&mut self) -> &mut u32 {
8290        &mut self.r#enabled_ant1
8291    }
8292    ///Set the value of `enabled_ant1`
8293    #[inline]
8294    pub fn set_enabled_ant1(&mut self, value: u32) -> &mut Self {
8295        self.r#enabled_ant1 = value.into();
8296        self
8297    }
8298    ///Builder method that sets the value of `enabled_ant1`. Useful for initializing the message.
8299    #[inline]
8300    pub fn init_enabled_ant1(mut self, value: u32) -> Self {
8301        self.r#enabled_ant1 = value.into();
8302        self
8303    }
8304}
8305impl ::micropb::MessageDecode for r#wifi_ant_config {
8306    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
8307        &mut self,
8308        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
8309        len: usize,
8310    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
8311        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
8312        let before = decoder.bytes_read();
8313        while decoder.bytes_read() - before < len {
8314            let tag = decoder.decode_tag()?;
8315            match tag.field_num() {
8316                0 => return Err(::micropb::DecodeError::ZeroField),
8317                1u32 => {
8318                    let mut_ref = &mut self.r#rx_ant_mode;
8319                    {
8320                        let val = decoder.decode_int32()?;
8321                        let val_ref = &val;
8322                        if *val_ref != 0 {
8323                            *mut_ref = val as _;
8324                        }
8325                    };
8326                }
8327                2u32 => {
8328                    let mut_ref = &mut self.r#rx_ant_default;
8329                    {
8330                        let val = decoder.decode_int32()?;
8331                        let val_ref = &val;
8332                        if *val_ref != 0 {
8333                            *mut_ref = val as _;
8334                        }
8335                    };
8336                }
8337                3u32 => {
8338                    let mut_ref = &mut self.r#tx_ant_mode;
8339                    {
8340                        let val = decoder.decode_int32()?;
8341                        let val_ref = &val;
8342                        if *val_ref != 0 {
8343                            *mut_ref = val as _;
8344                        }
8345                    };
8346                }
8347                4u32 => {
8348                    let mut_ref = &mut self.r#enabled_ant0;
8349                    {
8350                        let val = decoder.decode_varint32()?;
8351                        let val_ref = &val;
8352                        if *val_ref != 0 {
8353                            *mut_ref = val as _;
8354                        }
8355                    };
8356                }
8357                5u32 => {
8358                    let mut_ref = &mut self.r#enabled_ant1;
8359                    {
8360                        let val = decoder.decode_varint32()?;
8361                        let val_ref = &val;
8362                        if *val_ref != 0 {
8363                            *mut_ref = val as _;
8364                        }
8365                    };
8366                }
8367                _ => {
8368                    decoder.skip_wire_value(tag.wire_type())?;
8369                }
8370            }
8371        }
8372        Ok(())
8373    }
8374}
8375impl ::micropb::MessageEncode for r#wifi_ant_config {
8376    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
8377        let mut max_size = 0;
8378        if let ::core::option::Option::Some(size) =
8379            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
8380        {
8381            max_size += size;
8382        } else {
8383            break 'msg (::core::option::Option::<usize>::None);
8384        };
8385        if let ::core::option::Option::Some(size) =
8386            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
8387        {
8388            max_size += size;
8389        } else {
8390            break 'msg (::core::option::Option::<usize>::None);
8391        };
8392        if let ::core::option::Option::Some(size) =
8393            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
8394        {
8395            max_size += size;
8396        } else {
8397            break 'msg (::core::option::Option::<usize>::None);
8398        };
8399        if let ::core::option::Option::Some(size) =
8400            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
8401        {
8402            max_size += size;
8403        } else {
8404            break 'msg (::core::option::Option::<usize>::None);
8405        };
8406        if let ::core::option::Option::Some(size) =
8407            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
8408        {
8409            max_size += size;
8410        } else {
8411            break 'msg (::core::option::Option::<usize>::None);
8412        };
8413        ::core::option::Option::Some(max_size)
8414    };
8415    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
8416        &self,
8417        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
8418    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
8419        use ::micropb::{FieldEncode, PbMap};
8420        {
8421            let val_ref = &self.r#rx_ant_mode;
8422            if *val_ref != 0 {
8423                encoder.encode_varint32(8u32)?;
8424                encoder.encode_int32(*val_ref as _)?;
8425            }
8426        }
8427        {
8428            let val_ref = &self.r#rx_ant_default;
8429            if *val_ref != 0 {
8430                encoder.encode_varint32(16u32)?;
8431                encoder.encode_int32(*val_ref as _)?;
8432            }
8433        }
8434        {
8435            let val_ref = &self.r#tx_ant_mode;
8436            if *val_ref != 0 {
8437                encoder.encode_varint32(24u32)?;
8438                encoder.encode_int32(*val_ref as _)?;
8439            }
8440        }
8441        {
8442            let val_ref = &self.r#enabled_ant0;
8443            if *val_ref != 0 {
8444                encoder.encode_varint32(32u32)?;
8445                encoder.encode_varint32(*val_ref as _)?;
8446            }
8447        }
8448        {
8449            let val_ref = &self.r#enabled_ant1;
8450            if *val_ref != 0 {
8451                encoder.encode_varint32(40u32)?;
8452                encoder.encode_varint32(*val_ref as _)?;
8453            }
8454        }
8455        Ok(())
8456    }
8457    fn compute_size(&self) -> usize {
8458        use ::micropb::{FieldEncode, PbMap};
8459        let mut size = 0;
8460        {
8461            let val_ref = &self.r#rx_ant_mode;
8462            if *val_ref != 0 {
8463                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
8464            }
8465        }
8466        {
8467            let val_ref = &self.r#rx_ant_default;
8468            if *val_ref != 0 {
8469                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
8470            }
8471        }
8472        {
8473            let val_ref = &self.r#tx_ant_mode;
8474            if *val_ref != 0 {
8475                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
8476            }
8477        }
8478        {
8479            let val_ref = &self.r#enabled_ant0;
8480            if *val_ref != 0 {
8481                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
8482            }
8483        }
8484        {
8485            let val_ref = &self.r#enabled_ant1;
8486            if *val_ref != 0 {
8487                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
8488            }
8489        }
8490        size
8491    }
8492}
8493#[derive(Debug, Default, PartialEq, Clone)]
8494pub struct r#wifi_action_tx_req {
8495    pub r#ifx: i32,
8496    pub r#dest_mac: ::micropb::heapless::Vec<u8, 6>,
8497    pub r#no_ack: bool,
8498    pub r#data_len: u32,
8499    pub r#data: ::micropb::heapless::Vec<u8, 16>,
8500}
8501impl r#wifi_action_tx_req {
8502    ///Return a reference to `ifx`
8503    #[inline]
8504    pub fn r#ifx(&self) -> &i32 {
8505        &self.r#ifx
8506    }
8507    ///Return a mutable reference to `ifx`
8508    #[inline]
8509    pub fn mut_ifx(&mut self) -> &mut i32 {
8510        &mut self.r#ifx
8511    }
8512    ///Set the value of `ifx`
8513    #[inline]
8514    pub fn set_ifx(&mut self, value: i32) -> &mut Self {
8515        self.r#ifx = value.into();
8516        self
8517    }
8518    ///Builder method that sets the value of `ifx`. Useful for initializing the message.
8519    #[inline]
8520    pub fn init_ifx(mut self, value: i32) -> Self {
8521        self.r#ifx = value.into();
8522        self
8523    }
8524    ///Return a reference to `dest_mac`
8525    #[inline]
8526    pub fn r#dest_mac(&self) -> &::micropb::heapless::Vec<u8, 6> {
8527        &self.r#dest_mac
8528    }
8529    ///Return a mutable reference to `dest_mac`
8530    #[inline]
8531    pub fn mut_dest_mac(&mut self) -> &mut ::micropb::heapless::Vec<u8, 6> {
8532        &mut self.r#dest_mac
8533    }
8534    ///Set the value of `dest_mac`
8535    #[inline]
8536    pub fn set_dest_mac(&mut self, value: ::micropb::heapless::Vec<u8, 6>) -> &mut Self {
8537        self.r#dest_mac = value.into();
8538        self
8539    }
8540    ///Builder method that sets the value of `dest_mac`. Useful for initializing the message.
8541    #[inline]
8542    pub fn init_dest_mac(mut self, value: ::micropb::heapless::Vec<u8, 6>) -> Self {
8543        self.r#dest_mac = value.into();
8544        self
8545    }
8546    ///Return a reference to `no_ack`
8547    #[inline]
8548    pub fn r#no_ack(&self) -> &bool {
8549        &self.r#no_ack
8550    }
8551    ///Return a mutable reference to `no_ack`
8552    #[inline]
8553    pub fn mut_no_ack(&mut self) -> &mut bool {
8554        &mut self.r#no_ack
8555    }
8556    ///Set the value of `no_ack`
8557    #[inline]
8558    pub fn set_no_ack(&mut self, value: bool) -> &mut Self {
8559        self.r#no_ack = value.into();
8560        self
8561    }
8562    ///Builder method that sets the value of `no_ack`. Useful for initializing the message.
8563    #[inline]
8564    pub fn init_no_ack(mut self, value: bool) -> Self {
8565        self.r#no_ack = value.into();
8566        self
8567    }
8568    ///Return a reference to `data_len`
8569    #[inline]
8570    pub fn r#data_len(&self) -> &u32 {
8571        &self.r#data_len
8572    }
8573    ///Return a mutable reference to `data_len`
8574    #[inline]
8575    pub fn mut_data_len(&mut self) -> &mut u32 {
8576        &mut self.r#data_len
8577    }
8578    ///Set the value of `data_len`
8579    #[inline]
8580    pub fn set_data_len(&mut self, value: u32) -> &mut Self {
8581        self.r#data_len = value.into();
8582        self
8583    }
8584    ///Builder method that sets the value of `data_len`. Useful for initializing the message.
8585    #[inline]
8586    pub fn init_data_len(mut self, value: u32) -> Self {
8587        self.r#data_len = value.into();
8588        self
8589    }
8590    ///Return a reference to `data`
8591    #[inline]
8592    pub fn r#data(&self) -> &::micropb::heapless::Vec<u8, 16> {
8593        &self.r#data
8594    }
8595    ///Return a mutable reference to `data`
8596    #[inline]
8597    pub fn mut_data(&mut self) -> &mut ::micropb::heapless::Vec<u8, 16> {
8598        &mut self.r#data
8599    }
8600    ///Set the value of `data`
8601    #[inline]
8602    pub fn set_data(&mut self, value: ::micropb::heapless::Vec<u8, 16>) -> &mut Self {
8603        self.r#data = value.into();
8604        self
8605    }
8606    ///Builder method that sets the value of `data`. Useful for initializing the message.
8607    #[inline]
8608    pub fn init_data(mut self, value: ::micropb::heapless::Vec<u8, 16>) -> Self {
8609        self.r#data = value.into();
8610        self
8611    }
8612}
8613impl ::micropb::MessageDecode for r#wifi_action_tx_req {
8614    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
8615        &mut self,
8616        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
8617        len: usize,
8618    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
8619        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
8620        let before = decoder.bytes_read();
8621        while decoder.bytes_read() - before < len {
8622            let tag = decoder.decode_tag()?;
8623            match tag.field_num() {
8624                0 => return Err(::micropb::DecodeError::ZeroField),
8625                1u32 => {
8626                    let mut_ref = &mut self.r#ifx;
8627                    {
8628                        let val = decoder.decode_int32()?;
8629                        let val_ref = &val;
8630                        if *val_ref != 0 {
8631                            *mut_ref = val as _;
8632                        }
8633                    };
8634                }
8635                2u32 => {
8636                    let mut_ref = &mut self.r#dest_mac;
8637                    {
8638                        decoder.decode_bytes(mut_ref, ::micropb::Presence::Implicit)?;
8639                    };
8640                }
8641                3u32 => {
8642                    let mut_ref = &mut self.r#no_ack;
8643                    {
8644                        let val = decoder.decode_bool()?;
8645                        let val_ref = &val;
8646                        if *val_ref {
8647                            *mut_ref = val as _;
8648                        }
8649                    };
8650                }
8651                4u32 => {
8652                    let mut_ref = &mut self.r#data_len;
8653                    {
8654                        let val = decoder.decode_varint32()?;
8655                        let val_ref = &val;
8656                        if *val_ref != 0 {
8657                            *mut_ref = val as _;
8658                        }
8659                    };
8660                }
8661                5u32 => {
8662                    let mut_ref = &mut self.r#data;
8663                    {
8664                        decoder.decode_bytes(mut_ref, ::micropb::Presence::Implicit)?;
8665                    };
8666                }
8667                _ => {
8668                    decoder.skip_wire_value(tag.wire_type())?;
8669                }
8670            }
8671        }
8672        Ok(())
8673    }
8674}
8675impl ::micropb::MessageEncode for r#wifi_action_tx_req {
8676    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
8677        let mut max_size = 0;
8678        if let ::core::option::Option::Some(size) =
8679            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
8680        {
8681            max_size += size;
8682        } else {
8683            break 'msg (::core::option::Option::<usize>::None);
8684        };
8685        if let ::core::option::Option::Some(size) =
8686            ::micropb::const_map!(::core::option::Option::Some(7usize), |size| size + 1usize)
8687        {
8688            max_size += size;
8689        } else {
8690            break 'msg (::core::option::Option::<usize>::None);
8691        };
8692        if let ::core::option::Option::Some(size) =
8693            ::micropb::const_map!(::core::option::Option::Some(1usize), |size| size + 1usize)
8694        {
8695            max_size += size;
8696        } else {
8697            break 'msg (::core::option::Option::<usize>::None);
8698        };
8699        if let ::core::option::Option::Some(size) =
8700            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
8701        {
8702            max_size += size;
8703        } else {
8704            break 'msg (::core::option::Option::<usize>::None);
8705        };
8706        if let ::core::option::Option::Some(size) =
8707            ::micropb::const_map!(::core::option::Option::Some(17usize), |size| size + 1usize)
8708        {
8709            max_size += size;
8710        } else {
8711            break 'msg (::core::option::Option::<usize>::None);
8712        };
8713        ::core::option::Option::Some(max_size)
8714    };
8715    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
8716        &self,
8717        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
8718    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
8719        use ::micropb::{FieldEncode, PbMap};
8720        {
8721            let val_ref = &self.r#ifx;
8722            if *val_ref != 0 {
8723                encoder.encode_varint32(8u32)?;
8724                encoder.encode_int32(*val_ref as _)?;
8725            }
8726        }
8727        {
8728            let val_ref = &self.r#dest_mac;
8729            if !val_ref.is_empty() {
8730                encoder.encode_varint32(18u32)?;
8731                encoder.encode_bytes(val_ref)?;
8732            }
8733        }
8734        {
8735            let val_ref = &self.r#no_ack;
8736            if *val_ref {
8737                encoder.encode_varint32(24u32)?;
8738                encoder.encode_bool(*val_ref)?;
8739            }
8740        }
8741        {
8742            let val_ref = &self.r#data_len;
8743            if *val_ref != 0 {
8744                encoder.encode_varint32(32u32)?;
8745                encoder.encode_varint32(*val_ref as _)?;
8746            }
8747        }
8748        {
8749            let val_ref = &self.r#data;
8750            if !val_ref.is_empty() {
8751                encoder.encode_varint32(42u32)?;
8752                encoder.encode_bytes(val_ref)?;
8753            }
8754        }
8755        Ok(())
8756    }
8757    fn compute_size(&self) -> usize {
8758        use ::micropb::{FieldEncode, PbMap};
8759        let mut size = 0;
8760        {
8761            let val_ref = &self.r#ifx;
8762            if *val_ref != 0 {
8763                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
8764            }
8765        }
8766        {
8767            let val_ref = &self.r#dest_mac;
8768            if !val_ref.is_empty() {
8769                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.len());
8770            }
8771        }
8772        {
8773            let val_ref = &self.r#no_ack;
8774            if *val_ref {
8775                size += 1usize + 1;
8776            }
8777        }
8778        {
8779            let val_ref = &self.r#data_len;
8780            if *val_ref != 0 {
8781                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
8782            }
8783        }
8784        {
8785            let val_ref = &self.r#data;
8786            if !val_ref.is_empty() {
8787                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.len());
8788            }
8789        }
8790        size
8791    }
8792}
8793#[derive(Debug, Default, PartialEq, Clone)]
8794pub struct r#wifi_ftm_initiator_cfg {
8795    pub r#resp_mac: ::micropb::heapless::Vec<u8, 6>,
8796    pub r#channel: u32,
8797    pub r#frm_count: u32,
8798    pub r#burst_period: u32,
8799}
8800impl r#wifi_ftm_initiator_cfg {
8801    ///Return a reference to `resp_mac`
8802    #[inline]
8803    pub fn r#resp_mac(&self) -> &::micropb::heapless::Vec<u8, 6> {
8804        &self.r#resp_mac
8805    }
8806    ///Return a mutable reference to `resp_mac`
8807    #[inline]
8808    pub fn mut_resp_mac(&mut self) -> &mut ::micropb::heapless::Vec<u8, 6> {
8809        &mut self.r#resp_mac
8810    }
8811    ///Set the value of `resp_mac`
8812    #[inline]
8813    pub fn set_resp_mac(&mut self, value: ::micropb::heapless::Vec<u8, 6>) -> &mut Self {
8814        self.r#resp_mac = value.into();
8815        self
8816    }
8817    ///Builder method that sets the value of `resp_mac`. Useful for initializing the message.
8818    #[inline]
8819    pub fn init_resp_mac(mut self, value: ::micropb::heapless::Vec<u8, 6>) -> Self {
8820        self.r#resp_mac = value.into();
8821        self
8822    }
8823    ///Return a reference to `channel`
8824    #[inline]
8825    pub fn r#channel(&self) -> &u32 {
8826        &self.r#channel
8827    }
8828    ///Return a mutable reference to `channel`
8829    #[inline]
8830    pub fn mut_channel(&mut self) -> &mut u32 {
8831        &mut self.r#channel
8832    }
8833    ///Set the value of `channel`
8834    #[inline]
8835    pub fn set_channel(&mut self, value: u32) -> &mut Self {
8836        self.r#channel = value.into();
8837        self
8838    }
8839    ///Builder method that sets the value of `channel`. Useful for initializing the message.
8840    #[inline]
8841    pub fn init_channel(mut self, value: u32) -> Self {
8842        self.r#channel = value.into();
8843        self
8844    }
8845    ///Return a reference to `frm_count`
8846    #[inline]
8847    pub fn r#frm_count(&self) -> &u32 {
8848        &self.r#frm_count
8849    }
8850    ///Return a mutable reference to `frm_count`
8851    #[inline]
8852    pub fn mut_frm_count(&mut self) -> &mut u32 {
8853        &mut self.r#frm_count
8854    }
8855    ///Set the value of `frm_count`
8856    #[inline]
8857    pub fn set_frm_count(&mut self, value: u32) -> &mut Self {
8858        self.r#frm_count = value.into();
8859        self
8860    }
8861    ///Builder method that sets the value of `frm_count`. Useful for initializing the message.
8862    #[inline]
8863    pub fn init_frm_count(mut self, value: u32) -> Self {
8864        self.r#frm_count = value.into();
8865        self
8866    }
8867    ///Return a reference to `burst_period`
8868    #[inline]
8869    pub fn r#burst_period(&self) -> &u32 {
8870        &self.r#burst_period
8871    }
8872    ///Return a mutable reference to `burst_period`
8873    #[inline]
8874    pub fn mut_burst_period(&mut self) -> &mut u32 {
8875        &mut self.r#burst_period
8876    }
8877    ///Set the value of `burst_period`
8878    #[inline]
8879    pub fn set_burst_period(&mut self, value: u32) -> &mut Self {
8880        self.r#burst_period = value.into();
8881        self
8882    }
8883    ///Builder method that sets the value of `burst_period`. Useful for initializing the message.
8884    #[inline]
8885    pub fn init_burst_period(mut self, value: u32) -> Self {
8886        self.r#burst_period = value.into();
8887        self
8888    }
8889}
8890impl ::micropb::MessageDecode for r#wifi_ftm_initiator_cfg {
8891    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
8892        &mut self,
8893        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
8894        len: usize,
8895    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
8896        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
8897        let before = decoder.bytes_read();
8898        while decoder.bytes_read() - before < len {
8899            let tag = decoder.decode_tag()?;
8900            match tag.field_num() {
8901                0 => return Err(::micropb::DecodeError::ZeroField),
8902                1u32 => {
8903                    let mut_ref = &mut self.r#resp_mac;
8904                    {
8905                        decoder.decode_bytes(mut_ref, ::micropb::Presence::Implicit)?;
8906                    };
8907                }
8908                2u32 => {
8909                    let mut_ref = &mut self.r#channel;
8910                    {
8911                        let val = decoder.decode_varint32()?;
8912                        let val_ref = &val;
8913                        if *val_ref != 0 {
8914                            *mut_ref = val as _;
8915                        }
8916                    };
8917                }
8918                3u32 => {
8919                    let mut_ref = &mut self.r#frm_count;
8920                    {
8921                        let val = decoder.decode_varint32()?;
8922                        let val_ref = &val;
8923                        if *val_ref != 0 {
8924                            *mut_ref = val as _;
8925                        }
8926                    };
8927                }
8928                4u32 => {
8929                    let mut_ref = &mut self.r#burst_period;
8930                    {
8931                        let val = decoder.decode_varint32()?;
8932                        let val_ref = &val;
8933                        if *val_ref != 0 {
8934                            *mut_ref = val as _;
8935                        }
8936                    };
8937                }
8938                _ => {
8939                    decoder.skip_wire_value(tag.wire_type())?;
8940                }
8941            }
8942        }
8943        Ok(())
8944    }
8945}
8946impl ::micropb::MessageEncode for r#wifi_ftm_initiator_cfg {
8947    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
8948        let mut max_size = 0;
8949        if let ::core::option::Option::Some(size) =
8950            ::micropb::const_map!(::core::option::Option::Some(7usize), |size| size + 1usize)
8951        {
8952            max_size += size;
8953        } else {
8954            break 'msg (::core::option::Option::<usize>::None);
8955        };
8956        if let ::core::option::Option::Some(size) =
8957            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
8958        {
8959            max_size += size;
8960        } else {
8961            break 'msg (::core::option::Option::<usize>::None);
8962        };
8963        if let ::core::option::Option::Some(size) =
8964            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
8965        {
8966            max_size += size;
8967        } else {
8968            break 'msg (::core::option::Option::<usize>::None);
8969        };
8970        if let ::core::option::Option::Some(size) =
8971            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
8972        {
8973            max_size += size;
8974        } else {
8975            break 'msg (::core::option::Option::<usize>::None);
8976        };
8977        ::core::option::Option::Some(max_size)
8978    };
8979    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
8980        &self,
8981        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
8982    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
8983        use ::micropb::{FieldEncode, PbMap};
8984        {
8985            let val_ref = &self.r#resp_mac;
8986            if !val_ref.is_empty() {
8987                encoder.encode_varint32(10u32)?;
8988                encoder.encode_bytes(val_ref)?;
8989            }
8990        }
8991        {
8992            let val_ref = &self.r#channel;
8993            if *val_ref != 0 {
8994                encoder.encode_varint32(16u32)?;
8995                encoder.encode_varint32(*val_ref as _)?;
8996            }
8997        }
8998        {
8999            let val_ref = &self.r#frm_count;
9000            if *val_ref != 0 {
9001                encoder.encode_varint32(24u32)?;
9002                encoder.encode_varint32(*val_ref as _)?;
9003            }
9004        }
9005        {
9006            let val_ref = &self.r#burst_period;
9007            if *val_ref != 0 {
9008                encoder.encode_varint32(32u32)?;
9009                encoder.encode_varint32(*val_ref as _)?;
9010            }
9011        }
9012        Ok(())
9013    }
9014    fn compute_size(&self) -> usize {
9015        use ::micropb::{FieldEncode, PbMap};
9016        let mut size = 0;
9017        {
9018            let val_ref = &self.r#resp_mac;
9019            if !val_ref.is_empty() {
9020                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.len());
9021            }
9022        }
9023        {
9024            let val_ref = &self.r#channel;
9025            if *val_ref != 0 {
9026                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
9027            }
9028        }
9029        {
9030            let val_ref = &self.r#frm_count;
9031            if *val_ref != 0 {
9032                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
9033            }
9034        }
9035        {
9036            let val_ref = &self.r#burst_period;
9037            if *val_ref != 0 {
9038                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
9039            }
9040        }
9041        size
9042    }
9043}
9044#[derive(Debug, Default, PartialEq, Clone)]
9045pub struct r#wifi_event_sta_scan_done {
9046    pub r#status: u32,
9047    pub r#number: u32,
9048    pub r#scan_id: u32,
9049}
9050impl r#wifi_event_sta_scan_done {
9051    ///Return a reference to `status`
9052    #[inline]
9053    pub fn r#status(&self) -> &u32 {
9054        &self.r#status
9055    }
9056    ///Return a mutable reference to `status`
9057    #[inline]
9058    pub fn mut_status(&mut self) -> &mut u32 {
9059        &mut self.r#status
9060    }
9061    ///Set the value of `status`
9062    #[inline]
9063    pub fn set_status(&mut self, value: u32) -> &mut Self {
9064        self.r#status = value.into();
9065        self
9066    }
9067    ///Builder method that sets the value of `status`. Useful for initializing the message.
9068    #[inline]
9069    pub fn init_status(mut self, value: u32) -> Self {
9070        self.r#status = value.into();
9071        self
9072    }
9073    ///Return a reference to `number`
9074    #[inline]
9075    pub fn r#number(&self) -> &u32 {
9076        &self.r#number
9077    }
9078    ///Return a mutable reference to `number`
9079    #[inline]
9080    pub fn mut_number(&mut self) -> &mut u32 {
9081        &mut self.r#number
9082    }
9083    ///Set the value of `number`
9084    #[inline]
9085    pub fn set_number(&mut self, value: u32) -> &mut Self {
9086        self.r#number = value.into();
9087        self
9088    }
9089    ///Builder method that sets the value of `number`. Useful for initializing the message.
9090    #[inline]
9091    pub fn init_number(mut self, value: u32) -> Self {
9092        self.r#number = value.into();
9093        self
9094    }
9095    ///Return a reference to `scan_id`
9096    #[inline]
9097    pub fn r#scan_id(&self) -> &u32 {
9098        &self.r#scan_id
9099    }
9100    ///Return a mutable reference to `scan_id`
9101    #[inline]
9102    pub fn mut_scan_id(&mut self) -> &mut u32 {
9103        &mut self.r#scan_id
9104    }
9105    ///Set the value of `scan_id`
9106    #[inline]
9107    pub fn set_scan_id(&mut self, value: u32) -> &mut Self {
9108        self.r#scan_id = value.into();
9109        self
9110    }
9111    ///Builder method that sets the value of `scan_id`. Useful for initializing the message.
9112    #[inline]
9113    pub fn init_scan_id(mut self, value: u32) -> Self {
9114        self.r#scan_id = value.into();
9115        self
9116    }
9117}
9118impl ::micropb::MessageDecode for r#wifi_event_sta_scan_done {
9119    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
9120        &mut self,
9121        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
9122        len: usize,
9123    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
9124        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
9125        let before = decoder.bytes_read();
9126        while decoder.bytes_read() - before < len {
9127            let tag = decoder.decode_tag()?;
9128            match tag.field_num() {
9129                0 => return Err(::micropb::DecodeError::ZeroField),
9130                1u32 => {
9131                    let mut_ref = &mut self.r#status;
9132                    {
9133                        let val = decoder.decode_varint32()?;
9134                        let val_ref = &val;
9135                        if *val_ref != 0 {
9136                            *mut_ref = val as _;
9137                        }
9138                    };
9139                }
9140                2u32 => {
9141                    let mut_ref = &mut self.r#number;
9142                    {
9143                        let val = decoder.decode_varint32()?;
9144                        let val_ref = &val;
9145                        if *val_ref != 0 {
9146                            *mut_ref = val as _;
9147                        }
9148                    };
9149                }
9150                3u32 => {
9151                    let mut_ref = &mut self.r#scan_id;
9152                    {
9153                        let val = decoder.decode_varint32()?;
9154                        let val_ref = &val;
9155                        if *val_ref != 0 {
9156                            *mut_ref = val as _;
9157                        }
9158                    };
9159                }
9160                _ => {
9161                    decoder.skip_wire_value(tag.wire_type())?;
9162                }
9163            }
9164        }
9165        Ok(())
9166    }
9167}
9168impl ::micropb::MessageEncode for r#wifi_event_sta_scan_done {
9169    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
9170        let mut max_size = 0;
9171        if let ::core::option::Option::Some(size) =
9172            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
9173        {
9174            max_size += size;
9175        } else {
9176            break 'msg (::core::option::Option::<usize>::None);
9177        };
9178        if let ::core::option::Option::Some(size) =
9179            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
9180        {
9181            max_size += size;
9182        } else {
9183            break 'msg (::core::option::Option::<usize>::None);
9184        };
9185        if let ::core::option::Option::Some(size) =
9186            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
9187        {
9188            max_size += size;
9189        } else {
9190            break 'msg (::core::option::Option::<usize>::None);
9191        };
9192        ::core::option::Option::Some(max_size)
9193    };
9194    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
9195        &self,
9196        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
9197    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
9198        use ::micropb::{FieldEncode, PbMap};
9199        {
9200            let val_ref = &self.r#status;
9201            if *val_ref != 0 {
9202                encoder.encode_varint32(8u32)?;
9203                encoder.encode_varint32(*val_ref as _)?;
9204            }
9205        }
9206        {
9207            let val_ref = &self.r#number;
9208            if *val_ref != 0 {
9209                encoder.encode_varint32(16u32)?;
9210                encoder.encode_varint32(*val_ref as _)?;
9211            }
9212        }
9213        {
9214            let val_ref = &self.r#scan_id;
9215            if *val_ref != 0 {
9216                encoder.encode_varint32(24u32)?;
9217                encoder.encode_varint32(*val_ref as _)?;
9218            }
9219        }
9220        Ok(())
9221    }
9222    fn compute_size(&self) -> usize {
9223        use ::micropb::{FieldEncode, PbMap};
9224        let mut size = 0;
9225        {
9226            let val_ref = &self.r#status;
9227            if *val_ref != 0 {
9228                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
9229            }
9230        }
9231        {
9232            let val_ref = &self.r#number;
9233            if *val_ref != 0 {
9234                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
9235            }
9236        }
9237        {
9238            let val_ref = &self.r#scan_id;
9239            if *val_ref != 0 {
9240                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
9241            }
9242        }
9243        size
9244    }
9245}
9246#[derive(Debug, Default, PartialEq, Clone)]
9247pub struct r#wifi_event_sta_connected {
9248    pub r#ssid: ::micropb::heapless::Vec<u8, 33>,
9249    pub r#ssid_len: u32,
9250    pub r#bssid: ::micropb::heapless::Vec<u8, 6>,
9251    pub r#channel: u32,
9252    pub r#authmode: i32,
9253    pub r#aid: i32,
9254}
9255impl r#wifi_event_sta_connected {
9256    ///Return a reference to `ssid`
9257    #[inline]
9258    pub fn r#ssid(&self) -> &::micropb::heapless::Vec<u8, 33> {
9259        &self.r#ssid
9260    }
9261    ///Return a mutable reference to `ssid`
9262    #[inline]
9263    pub fn mut_ssid(&mut self) -> &mut ::micropb::heapless::Vec<u8, 33> {
9264        &mut self.r#ssid
9265    }
9266    ///Set the value of `ssid`
9267    #[inline]
9268    pub fn set_ssid(&mut self, value: ::micropb::heapless::Vec<u8, 33>) -> &mut Self {
9269        self.r#ssid = value.into();
9270        self
9271    }
9272    ///Builder method that sets the value of `ssid`. Useful for initializing the message.
9273    #[inline]
9274    pub fn init_ssid(mut self, value: ::micropb::heapless::Vec<u8, 33>) -> Self {
9275        self.r#ssid = value.into();
9276        self
9277    }
9278    ///Return a reference to `ssid_len`
9279    #[inline]
9280    pub fn r#ssid_len(&self) -> &u32 {
9281        &self.r#ssid_len
9282    }
9283    ///Return a mutable reference to `ssid_len`
9284    #[inline]
9285    pub fn mut_ssid_len(&mut self) -> &mut u32 {
9286        &mut self.r#ssid_len
9287    }
9288    ///Set the value of `ssid_len`
9289    #[inline]
9290    pub fn set_ssid_len(&mut self, value: u32) -> &mut Self {
9291        self.r#ssid_len = value.into();
9292        self
9293    }
9294    ///Builder method that sets the value of `ssid_len`. Useful for initializing the message.
9295    #[inline]
9296    pub fn init_ssid_len(mut self, value: u32) -> Self {
9297        self.r#ssid_len = value.into();
9298        self
9299    }
9300    ///Return a reference to `bssid`
9301    #[inline]
9302    pub fn r#bssid(&self) -> &::micropb::heapless::Vec<u8, 6> {
9303        &self.r#bssid
9304    }
9305    ///Return a mutable reference to `bssid`
9306    #[inline]
9307    pub fn mut_bssid(&mut self) -> &mut ::micropb::heapless::Vec<u8, 6> {
9308        &mut self.r#bssid
9309    }
9310    ///Set the value of `bssid`
9311    #[inline]
9312    pub fn set_bssid(&mut self, value: ::micropb::heapless::Vec<u8, 6>) -> &mut Self {
9313        self.r#bssid = value.into();
9314        self
9315    }
9316    ///Builder method that sets the value of `bssid`. Useful for initializing the message.
9317    #[inline]
9318    pub fn init_bssid(mut self, value: ::micropb::heapless::Vec<u8, 6>) -> Self {
9319        self.r#bssid = value.into();
9320        self
9321    }
9322    ///Return a reference to `channel`
9323    #[inline]
9324    pub fn r#channel(&self) -> &u32 {
9325        &self.r#channel
9326    }
9327    ///Return a mutable reference to `channel`
9328    #[inline]
9329    pub fn mut_channel(&mut self) -> &mut u32 {
9330        &mut self.r#channel
9331    }
9332    ///Set the value of `channel`
9333    #[inline]
9334    pub fn set_channel(&mut self, value: u32) -> &mut Self {
9335        self.r#channel = value.into();
9336        self
9337    }
9338    ///Builder method that sets the value of `channel`. Useful for initializing the message.
9339    #[inline]
9340    pub fn init_channel(mut self, value: u32) -> Self {
9341        self.r#channel = value.into();
9342        self
9343    }
9344    ///Return a reference to `authmode`
9345    #[inline]
9346    pub fn r#authmode(&self) -> &i32 {
9347        &self.r#authmode
9348    }
9349    ///Return a mutable reference to `authmode`
9350    #[inline]
9351    pub fn mut_authmode(&mut self) -> &mut i32 {
9352        &mut self.r#authmode
9353    }
9354    ///Set the value of `authmode`
9355    #[inline]
9356    pub fn set_authmode(&mut self, value: i32) -> &mut Self {
9357        self.r#authmode = value.into();
9358        self
9359    }
9360    ///Builder method that sets the value of `authmode`. Useful for initializing the message.
9361    #[inline]
9362    pub fn init_authmode(mut self, value: i32) -> Self {
9363        self.r#authmode = value.into();
9364        self
9365    }
9366    ///Return a reference to `aid`
9367    #[inline]
9368    pub fn r#aid(&self) -> &i32 {
9369        &self.r#aid
9370    }
9371    ///Return a mutable reference to `aid`
9372    #[inline]
9373    pub fn mut_aid(&mut self) -> &mut i32 {
9374        &mut self.r#aid
9375    }
9376    ///Set the value of `aid`
9377    #[inline]
9378    pub fn set_aid(&mut self, value: i32) -> &mut Self {
9379        self.r#aid = value.into();
9380        self
9381    }
9382    ///Builder method that sets the value of `aid`. Useful for initializing the message.
9383    #[inline]
9384    pub fn init_aid(mut self, value: i32) -> Self {
9385        self.r#aid = value.into();
9386        self
9387    }
9388}
9389impl ::micropb::MessageDecode for r#wifi_event_sta_connected {
9390    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
9391        &mut self,
9392        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
9393        len: usize,
9394    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
9395        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
9396        let before = decoder.bytes_read();
9397        while decoder.bytes_read() - before < len {
9398            let tag = decoder.decode_tag()?;
9399            match tag.field_num() {
9400                0 => return Err(::micropb::DecodeError::ZeroField),
9401                1u32 => {
9402                    let mut_ref = &mut self.r#ssid;
9403                    {
9404                        decoder.decode_bytes(mut_ref, ::micropb::Presence::Implicit)?;
9405                    };
9406                }
9407                2u32 => {
9408                    let mut_ref = &mut self.r#ssid_len;
9409                    {
9410                        let val = decoder.decode_varint32()?;
9411                        let val_ref = &val;
9412                        if *val_ref != 0 {
9413                            *mut_ref = val as _;
9414                        }
9415                    };
9416                }
9417                3u32 => {
9418                    let mut_ref = &mut self.r#bssid;
9419                    {
9420                        decoder.decode_bytes(mut_ref, ::micropb::Presence::Implicit)?;
9421                    };
9422                }
9423                4u32 => {
9424                    let mut_ref = &mut self.r#channel;
9425                    {
9426                        let val = decoder.decode_varint32()?;
9427                        let val_ref = &val;
9428                        if *val_ref != 0 {
9429                            *mut_ref = val as _;
9430                        }
9431                    };
9432                }
9433                5u32 => {
9434                    let mut_ref = &mut self.r#authmode;
9435                    {
9436                        let val = decoder.decode_int32()?;
9437                        let val_ref = &val;
9438                        if *val_ref != 0 {
9439                            *mut_ref = val as _;
9440                        }
9441                    };
9442                }
9443                6u32 => {
9444                    let mut_ref = &mut self.r#aid;
9445                    {
9446                        let val = decoder.decode_int32()?;
9447                        let val_ref = &val;
9448                        if *val_ref != 0 {
9449                            *mut_ref = val as _;
9450                        }
9451                    };
9452                }
9453                _ => {
9454                    decoder.skip_wire_value(tag.wire_type())?;
9455                }
9456            }
9457        }
9458        Ok(())
9459    }
9460}
9461impl ::micropb::MessageEncode for r#wifi_event_sta_connected {
9462    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
9463        let mut max_size = 0;
9464        if let ::core::option::Option::Some(size) =
9465            ::micropb::const_map!(::core::option::Option::Some(34usize), |size| size + 1usize)
9466        {
9467            max_size += size;
9468        } else {
9469            break 'msg (::core::option::Option::<usize>::None);
9470        };
9471        if let ::core::option::Option::Some(size) =
9472            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
9473        {
9474            max_size += size;
9475        } else {
9476            break 'msg (::core::option::Option::<usize>::None);
9477        };
9478        if let ::core::option::Option::Some(size) =
9479            ::micropb::const_map!(::core::option::Option::Some(7usize), |size| size + 1usize)
9480        {
9481            max_size += size;
9482        } else {
9483            break 'msg (::core::option::Option::<usize>::None);
9484        };
9485        if let ::core::option::Option::Some(size) =
9486            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
9487        {
9488            max_size += size;
9489        } else {
9490            break 'msg (::core::option::Option::<usize>::None);
9491        };
9492        if let ::core::option::Option::Some(size) =
9493            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
9494        {
9495            max_size += size;
9496        } else {
9497            break 'msg (::core::option::Option::<usize>::None);
9498        };
9499        if let ::core::option::Option::Some(size) =
9500            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
9501        {
9502            max_size += size;
9503        } else {
9504            break 'msg (::core::option::Option::<usize>::None);
9505        };
9506        ::core::option::Option::Some(max_size)
9507    };
9508    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
9509        &self,
9510        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
9511    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
9512        use ::micropb::{FieldEncode, PbMap};
9513        {
9514            let val_ref = &self.r#ssid;
9515            if !val_ref.is_empty() {
9516                encoder.encode_varint32(10u32)?;
9517                encoder.encode_bytes(val_ref)?;
9518            }
9519        }
9520        {
9521            let val_ref = &self.r#ssid_len;
9522            if *val_ref != 0 {
9523                encoder.encode_varint32(16u32)?;
9524                encoder.encode_varint32(*val_ref as _)?;
9525            }
9526        }
9527        {
9528            let val_ref = &self.r#bssid;
9529            if !val_ref.is_empty() {
9530                encoder.encode_varint32(26u32)?;
9531                encoder.encode_bytes(val_ref)?;
9532            }
9533        }
9534        {
9535            let val_ref = &self.r#channel;
9536            if *val_ref != 0 {
9537                encoder.encode_varint32(32u32)?;
9538                encoder.encode_varint32(*val_ref as _)?;
9539            }
9540        }
9541        {
9542            let val_ref = &self.r#authmode;
9543            if *val_ref != 0 {
9544                encoder.encode_varint32(40u32)?;
9545                encoder.encode_int32(*val_ref as _)?;
9546            }
9547        }
9548        {
9549            let val_ref = &self.r#aid;
9550            if *val_ref != 0 {
9551                encoder.encode_varint32(48u32)?;
9552                encoder.encode_int32(*val_ref as _)?;
9553            }
9554        }
9555        Ok(())
9556    }
9557    fn compute_size(&self) -> usize {
9558        use ::micropb::{FieldEncode, PbMap};
9559        let mut size = 0;
9560        {
9561            let val_ref = &self.r#ssid;
9562            if !val_ref.is_empty() {
9563                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.len());
9564            }
9565        }
9566        {
9567            let val_ref = &self.r#ssid_len;
9568            if *val_ref != 0 {
9569                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
9570            }
9571        }
9572        {
9573            let val_ref = &self.r#bssid;
9574            if !val_ref.is_empty() {
9575                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.len());
9576            }
9577        }
9578        {
9579            let val_ref = &self.r#channel;
9580            if *val_ref != 0 {
9581                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
9582            }
9583        }
9584        {
9585            let val_ref = &self.r#authmode;
9586            if *val_ref != 0 {
9587                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
9588            }
9589        }
9590        {
9591            let val_ref = &self.r#aid;
9592            if *val_ref != 0 {
9593                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
9594            }
9595        }
9596        size
9597    }
9598}
9599#[derive(Debug, Default, PartialEq, Clone)]
9600pub struct r#wifi_event_sta_disconnected {
9601    pub r#ssid: ::micropb::heapless::Vec<u8, 33>,
9602    pub r#ssid_len: u32,
9603    pub r#bssid: ::micropb::heapless::Vec<u8, 6>,
9604    pub r#reason: u32,
9605    pub r#rssi: i32,
9606}
9607impl r#wifi_event_sta_disconnected {
9608    ///Return a reference to `ssid`
9609    #[inline]
9610    pub fn r#ssid(&self) -> &::micropb::heapless::Vec<u8, 33> {
9611        &self.r#ssid
9612    }
9613    ///Return a mutable reference to `ssid`
9614    #[inline]
9615    pub fn mut_ssid(&mut self) -> &mut ::micropb::heapless::Vec<u8, 33> {
9616        &mut self.r#ssid
9617    }
9618    ///Set the value of `ssid`
9619    #[inline]
9620    pub fn set_ssid(&mut self, value: ::micropb::heapless::Vec<u8, 33>) -> &mut Self {
9621        self.r#ssid = value.into();
9622        self
9623    }
9624    ///Builder method that sets the value of `ssid`. Useful for initializing the message.
9625    #[inline]
9626    pub fn init_ssid(mut self, value: ::micropb::heapless::Vec<u8, 33>) -> Self {
9627        self.r#ssid = value.into();
9628        self
9629    }
9630    ///Return a reference to `ssid_len`
9631    #[inline]
9632    pub fn r#ssid_len(&self) -> &u32 {
9633        &self.r#ssid_len
9634    }
9635    ///Return a mutable reference to `ssid_len`
9636    #[inline]
9637    pub fn mut_ssid_len(&mut self) -> &mut u32 {
9638        &mut self.r#ssid_len
9639    }
9640    ///Set the value of `ssid_len`
9641    #[inline]
9642    pub fn set_ssid_len(&mut self, value: u32) -> &mut Self {
9643        self.r#ssid_len = value.into();
9644        self
9645    }
9646    ///Builder method that sets the value of `ssid_len`. Useful for initializing the message.
9647    #[inline]
9648    pub fn init_ssid_len(mut self, value: u32) -> Self {
9649        self.r#ssid_len = value.into();
9650        self
9651    }
9652    ///Return a reference to `bssid`
9653    #[inline]
9654    pub fn r#bssid(&self) -> &::micropb::heapless::Vec<u8, 6> {
9655        &self.r#bssid
9656    }
9657    ///Return a mutable reference to `bssid`
9658    #[inline]
9659    pub fn mut_bssid(&mut self) -> &mut ::micropb::heapless::Vec<u8, 6> {
9660        &mut self.r#bssid
9661    }
9662    ///Set the value of `bssid`
9663    #[inline]
9664    pub fn set_bssid(&mut self, value: ::micropb::heapless::Vec<u8, 6>) -> &mut Self {
9665        self.r#bssid = value.into();
9666        self
9667    }
9668    ///Builder method that sets the value of `bssid`. Useful for initializing the message.
9669    #[inline]
9670    pub fn init_bssid(mut self, value: ::micropb::heapless::Vec<u8, 6>) -> Self {
9671        self.r#bssid = value.into();
9672        self
9673    }
9674    ///Return a reference to `reason`
9675    #[inline]
9676    pub fn r#reason(&self) -> &u32 {
9677        &self.r#reason
9678    }
9679    ///Return a mutable reference to `reason`
9680    #[inline]
9681    pub fn mut_reason(&mut self) -> &mut u32 {
9682        &mut self.r#reason
9683    }
9684    ///Set the value of `reason`
9685    #[inline]
9686    pub fn set_reason(&mut self, value: u32) -> &mut Self {
9687        self.r#reason = value.into();
9688        self
9689    }
9690    ///Builder method that sets the value of `reason`. Useful for initializing the message.
9691    #[inline]
9692    pub fn init_reason(mut self, value: u32) -> Self {
9693        self.r#reason = value.into();
9694        self
9695    }
9696    ///Return a reference to `rssi`
9697    #[inline]
9698    pub fn r#rssi(&self) -> &i32 {
9699        &self.r#rssi
9700    }
9701    ///Return a mutable reference to `rssi`
9702    #[inline]
9703    pub fn mut_rssi(&mut self) -> &mut i32 {
9704        &mut self.r#rssi
9705    }
9706    ///Set the value of `rssi`
9707    #[inline]
9708    pub fn set_rssi(&mut self, value: i32) -> &mut Self {
9709        self.r#rssi = value.into();
9710        self
9711    }
9712    ///Builder method that sets the value of `rssi`. Useful for initializing the message.
9713    #[inline]
9714    pub fn init_rssi(mut self, value: i32) -> Self {
9715        self.r#rssi = value.into();
9716        self
9717    }
9718}
9719impl ::micropb::MessageDecode for r#wifi_event_sta_disconnected {
9720    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
9721        &mut self,
9722        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
9723        len: usize,
9724    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
9725        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
9726        let before = decoder.bytes_read();
9727        while decoder.bytes_read() - before < len {
9728            let tag = decoder.decode_tag()?;
9729            match tag.field_num() {
9730                0 => return Err(::micropb::DecodeError::ZeroField),
9731                1u32 => {
9732                    let mut_ref = &mut self.r#ssid;
9733                    {
9734                        decoder.decode_bytes(mut_ref, ::micropb::Presence::Implicit)?;
9735                    };
9736                }
9737                2u32 => {
9738                    let mut_ref = &mut self.r#ssid_len;
9739                    {
9740                        let val = decoder.decode_varint32()?;
9741                        let val_ref = &val;
9742                        if *val_ref != 0 {
9743                            *mut_ref = val as _;
9744                        }
9745                    };
9746                }
9747                3u32 => {
9748                    let mut_ref = &mut self.r#bssid;
9749                    {
9750                        decoder.decode_bytes(mut_ref, ::micropb::Presence::Implicit)?;
9751                    };
9752                }
9753                4u32 => {
9754                    let mut_ref = &mut self.r#reason;
9755                    {
9756                        let val = decoder.decode_varint32()?;
9757                        let val_ref = &val;
9758                        if *val_ref != 0 {
9759                            *mut_ref = val as _;
9760                        }
9761                    };
9762                }
9763                5u32 => {
9764                    let mut_ref = &mut self.r#rssi;
9765                    {
9766                        let val = decoder.decode_int32()?;
9767                        let val_ref = &val;
9768                        if *val_ref != 0 {
9769                            *mut_ref = val as _;
9770                        }
9771                    };
9772                }
9773                _ => {
9774                    decoder.skip_wire_value(tag.wire_type())?;
9775                }
9776            }
9777        }
9778        Ok(())
9779    }
9780}
9781impl ::micropb::MessageEncode for r#wifi_event_sta_disconnected {
9782    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
9783        let mut max_size = 0;
9784        if let ::core::option::Option::Some(size) =
9785            ::micropb::const_map!(::core::option::Option::Some(34usize), |size| size + 1usize)
9786        {
9787            max_size += size;
9788        } else {
9789            break 'msg (::core::option::Option::<usize>::None);
9790        };
9791        if let ::core::option::Option::Some(size) =
9792            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
9793        {
9794            max_size += size;
9795        } else {
9796            break 'msg (::core::option::Option::<usize>::None);
9797        };
9798        if let ::core::option::Option::Some(size) =
9799            ::micropb::const_map!(::core::option::Option::Some(7usize), |size| size + 1usize)
9800        {
9801            max_size += size;
9802        } else {
9803            break 'msg (::core::option::Option::<usize>::None);
9804        };
9805        if let ::core::option::Option::Some(size) =
9806            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
9807        {
9808            max_size += size;
9809        } else {
9810            break 'msg (::core::option::Option::<usize>::None);
9811        };
9812        if let ::core::option::Option::Some(size) =
9813            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
9814        {
9815            max_size += size;
9816        } else {
9817            break 'msg (::core::option::Option::<usize>::None);
9818        };
9819        ::core::option::Option::Some(max_size)
9820    };
9821    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
9822        &self,
9823        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
9824    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
9825        use ::micropb::{FieldEncode, PbMap};
9826        {
9827            let val_ref = &self.r#ssid;
9828            if !val_ref.is_empty() {
9829                encoder.encode_varint32(10u32)?;
9830                encoder.encode_bytes(val_ref)?;
9831            }
9832        }
9833        {
9834            let val_ref = &self.r#ssid_len;
9835            if *val_ref != 0 {
9836                encoder.encode_varint32(16u32)?;
9837                encoder.encode_varint32(*val_ref as _)?;
9838            }
9839        }
9840        {
9841            let val_ref = &self.r#bssid;
9842            if !val_ref.is_empty() {
9843                encoder.encode_varint32(26u32)?;
9844                encoder.encode_bytes(val_ref)?;
9845            }
9846        }
9847        {
9848            let val_ref = &self.r#reason;
9849            if *val_ref != 0 {
9850                encoder.encode_varint32(32u32)?;
9851                encoder.encode_varint32(*val_ref as _)?;
9852            }
9853        }
9854        {
9855            let val_ref = &self.r#rssi;
9856            if *val_ref != 0 {
9857                encoder.encode_varint32(40u32)?;
9858                encoder.encode_int32(*val_ref as _)?;
9859            }
9860        }
9861        Ok(())
9862    }
9863    fn compute_size(&self) -> usize {
9864        use ::micropb::{FieldEncode, PbMap};
9865        let mut size = 0;
9866        {
9867            let val_ref = &self.r#ssid;
9868            if !val_ref.is_empty() {
9869                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.len());
9870            }
9871        }
9872        {
9873            let val_ref = &self.r#ssid_len;
9874            if *val_ref != 0 {
9875                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
9876            }
9877        }
9878        {
9879            let val_ref = &self.r#bssid;
9880            if !val_ref.is_empty() {
9881                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.len());
9882            }
9883        }
9884        {
9885            let val_ref = &self.r#reason;
9886            if *val_ref != 0 {
9887                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
9888            }
9889        }
9890        {
9891            let val_ref = &self.r#rssi;
9892            if *val_ref != 0 {
9893                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
9894            }
9895        }
9896        size
9897    }
9898}
9899#[derive(Debug, Default, PartialEq, Clone)]
9900pub struct r#wifi_event_sta_authmode_change {
9901    pub r#old_mode: i32,
9902    pub r#new_mode: i32,
9903}
9904impl r#wifi_event_sta_authmode_change {
9905    ///Return a reference to `old_mode`
9906    #[inline]
9907    pub fn r#old_mode(&self) -> &i32 {
9908        &self.r#old_mode
9909    }
9910    ///Return a mutable reference to `old_mode`
9911    #[inline]
9912    pub fn mut_old_mode(&mut self) -> &mut i32 {
9913        &mut self.r#old_mode
9914    }
9915    ///Set the value of `old_mode`
9916    #[inline]
9917    pub fn set_old_mode(&mut self, value: i32) -> &mut Self {
9918        self.r#old_mode = value.into();
9919        self
9920    }
9921    ///Builder method that sets the value of `old_mode`. Useful for initializing the message.
9922    #[inline]
9923    pub fn init_old_mode(mut self, value: i32) -> Self {
9924        self.r#old_mode = value.into();
9925        self
9926    }
9927    ///Return a reference to `new_mode`
9928    #[inline]
9929    pub fn r#new_mode(&self) -> &i32 {
9930        &self.r#new_mode
9931    }
9932    ///Return a mutable reference to `new_mode`
9933    #[inline]
9934    pub fn mut_new_mode(&mut self) -> &mut i32 {
9935        &mut self.r#new_mode
9936    }
9937    ///Set the value of `new_mode`
9938    #[inline]
9939    pub fn set_new_mode(&mut self, value: i32) -> &mut Self {
9940        self.r#new_mode = value.into();
9941        self
9942    }
9943    ///Builder method that sets the value of `new_mode`. Useful for initializing the message.
9944    #[inline]
9945    pub fn init_new_mode(mut self, value: i32) -> Self {
9946        self.r#new_mode = value.into();
9947        self
9948    }
9949}
9950impl ::micropb::MessageDecode for r#wifi_event_sta_authmode_change {
9951    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
9952        &mut self,
9953        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
9954        len: usize,
9955    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
9956        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
9957        let before = decoder.bytes_read();
9958        while decoder.bytes_read() - before < len {
9959            let tag = decoder.decode_tag()?;
9960            match tag.field_num() {
9961                0 => return Err(::micropb::DecodeError::ZeroField),
9962                1u32 => {
9963                    let mut_ref = &mut self.r#old_mode;
9964                    {
9965                        let val = decoder.decode_int32()?;
9966                        let val_ref = &val;
9967                        if *val_ref != 0 {
9968                            *mut_ref = val as _;
9969                        }
9970                    };
9971                }
9972                2u32 => {
9973                    let mut_ref = &mut self.r#new_mode;
9974                    {
9975                        let val = decoder.decode_int32()?;
9976                        let val_ref = &val;
9977                        if *val_ref != 0 {
9978                            *mut_ref = val as _;
9979                        }
9980                    };
9981                }
9982                _ => {
9983                    decoder.skip_wire_value(tag.wire_type())?;
9984                }
9985            }
9986        }
9987        Ok(())
9988    }
9989}
9990impl ::micropb::MessageEncode for r#wifi_event_sta_authmode_change {
9991    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
9992        let mut max_size = 0;
9993        if let ::core::option::Option::Some(size) =
9994            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
9995        {
9996            max_size += size;
9997        } else {
9998            break 'msg (::core::option::Option::<usize>::None);
9999        };
10000        if let ::core::option::Option::Some(size) =
10001            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
10002        {
10003            max_size += size;
10004        } else {
10005            break 'msg (::core::option::Option::<usize>::None);
10006        };
10007        ::core::option::Option::Some(max_size)
10008    };
10009    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
10010        &self,
10011        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
10012    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
10013        use ::micropb::{FieldEncode, PbMap};
10014        {
10015            let val_ref = &self.r#old_mode;
10016            if *val_ref != 0 {
10017                encoder.encode_varint32(8u32)?;
10018                encoder.encode_int32(*val_ref as _)?;
10019            }
10020        }
10021        {
10022            let val_ref = &self.r#new_mode;
10023            if *val_ref != 0 {
10024                encoder.encode_varint32(16u32)?;
10025                encoder.encode_int32(*val_ref as _)?;
10026            }
10027        }
10028        Ok(())
10029    }
10030    fn compute_size(&self) -> usize {
10031        use ::micropb::{FieldEncode, PbMap};
10032        let mut size = 0;
10033        {
10034            let val_ref = &self.r#old_mode;
10035            if *val_ref != 0 {
10036                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
10037            }
10038        }
10039        {
10040            let val_ref = &self.r#new_mode;
10041            if *val_ref != 0 {
10042                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
10043            }
10044        }
10045        size
10046    }
10047}
10048#[derive(Debug, Default, PartialEq, Clone)]
10049pub struct r#wifi_event_sta_wps_er_pin {
10050    pub r#pin_code: ::micropb::heapless::Vec<u8, 8>,
10051}
10052impl r#wifi_event_sta_wps_er_pin {
10053    ///Return a reference to `pin_code`
10054    #[inline]
10055    pub fn r#pin_code(&self) -> &::micropb::heapless::Vec<u8, 8> {
10056        &self.r#pin_code
10057    }
10058    ///Return a mutable reference to `pin_code`
10059    #[inline]
10060    pub fn mut_pin_code(&mut self) -> &mut ::micropb::heapless::Vec<u8, 8> {
10061        &mut self.r#pin_code
10062    }
10063    ///Set the value of `pin_code`
10064    #[inline]
10065    pub fn set_pin_code(&mut self, value: ::micropb::heapless::Vec<u8, 8>) -> &mut Self {
10066        self.r#pin_code = value.into();
10067        self
10068    }
10069    ///Builder method that sets the value of `pin_code`. Useful for initializing the message.
10070    #[inline]
10071    pub fn init_pin_code(mut self, value: ::micropb::heapless::Vec<u8, 8>) -> Self {
10072        self.r#pin_code = value.into();
10073        self
10074    }
10075}
10076impl ::micropb::MessageDecode for r#wifi_event_sta_wps_er_pin {
10077    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
10078        &mut self,
10079        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
10080        len: usize,
10081    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
10082        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
10083        let before = decoder.bytes_read();
10084        while decoder.bytes_read() - before < len {
10085            let tag = decoder.decode_tag()?;
10086            match tag.field_num() {
10087                0 => return Err(::micropb::DecodeError::ZeroField),
10088                1u32 => {
10089                    let mut_ref = &mut self.r#pin_code;
10090                    {
10091                        decoder.decode_bytes(mut_ref, ::micropb::Presence::Implicit)?;
10092                    };
10093                }
10094                _ => {
10095                    decoder.skip_wire_value(tag.wire_type())?;
10096                }
10097            }
10098        }
10099        Ok(())
10100    }
10101}
10102impl ::micropb::MessageEncode for r#wifi_event_sta_wps_er_pin {
10103    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
10104        let mut max_size = 0;
10105        if let ::core::option::Option::Some(size) =
10106            ::micropb::const_map!(::core::option::Option::Some(9usize), |size| size + 1usize)
10107        {
10108            max_size += size;
10109        } else {
10110            break 'msg (::core::option::Option::<usize>::None);
10111        };
10112        ::core::option::Option::Some(max_size)
10113    };
10114    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
10115        &self,
10116        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
10117    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
10118        use ::micropb::{FieldEncode, PbMap};
10119        {
10120            let val_ref = &self.r#pin_code;
10121            if !val_ref.is_empty() {
10122                encoder.encode_varint32(10u32)?;
10123                encoder.encode_bytes(val_ref)?;
10124            }
10125        }
10126        Ok(())
10127    }
10128    fn compute_size(&self) -> usize {
10129        use ::micropb::{FieldEncode, PbMap};
10130        let mut size = 0;
10131        {
10132            let val_ref = &self.r#pin_code;
10133            if !val_ref.is_empty() {
10134                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.len());
10135            }
10136        }
10137        size
10138    }
10139}
10140#[derive(Debug, Default, PartialEq, Clone)]
10141pub struct r#ap_cred {
10142    pub r#ssid: ::micropb::heapless::Vec<u8, 33>,
10143    pub r#passphrase: ::micropb::heapless::Vec<u8, 64>,
10144}
10145impl r#ap_cred {
10146    ///Return a reference to `ssid`
10147    #[inline]
10148    pub fn r#ssid(&self) -> &::micropb::heapless::Vec<u8, 33> {
10149        &self.r#ssid
10150    }
10151    ///Return a mutable reference to `ssid`
10152    #[inline]
10153    pub fn mut_ssid(&mut self) -> &mut ::micropb::heapless::Vec<u8, 33> {
10154        &mut self.r#ssid
10155    }
10156    ///Set the value of `ssid`
10157    #[inline]
10158    pub fn set_ssid(&mut self, value: ::micropb::heapless::Vec<u8, 33>) -> &mut Self {
10159        self.r#ssid = value.into();
10160        self
10161    }
10162    ///Builder method that sets the value of `ssid`. Useful for initializing the message.
10163    #[inline]
10164    pub fn init_ssid(mut self, value: ::micropb::heapless::Vec<u8, 33>) -> Self {
10165        self.r#ssid = value.into();
10166        self
10167    }
10168    ///Return a reference to `passphrase`
10169    #[inline]
10170    pub fn r#passphrase(&self) -> &::micropb::heapless::Vec<u8, 64> {
10171        &self.r#passphrase
10172    }
10173    ///Return a mutable reference to `passphrase`
10174    #[inline]
10175    pub fn mut_passphrase(&mut self) -> &mut ::micropb::heapless::Vec<u8, 64> {
10176        &mut self.r#passphrase
10177    }
10178    ///Set the value of `passphrase`
10179    #[inline]
10180    pub fn set_passphrase(&mut self, value: ::micropb::heapless::Vec<u8, 64>) -> &mut Self {
10181        self.r#passphrase = value.into();
10182        self
10183    }
10184    ///Builder method that sets the value of `passphrase`. Useful for initializing the message.
10185    #[inline]
10186    pub fn init_passphrase(mut self, value: ::micropb::heapless::Vec<u8, 64>) -> Self {
10187        self.r#passphrase = value.into();
10188        self
10189    }
10190}
10191impl ::micropb::MessageDecode for r#ap_cred {
10192    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
10193        &mut self,
10194        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
10195        len: usize,
10196    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
10197        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
10198        let before = decoder.bytes_read();
10199        while decoder.bytes_read() - before < len {
10200            let tag = decoder.decode_tag()?;
10201            match tag.field_num() {
10202                0 => return Err(::micropb::DecodeError::ZeroField),
10203                1u32 => {
10204                    let mut_ref = &mut self.r#ssid;
10205                    {
10206                        decoder.decode_bytes(mut_ref, ::micropb::Presence::Implicit)?;
10207                    };
10208                }
10209                2u32 => {
10210                    let mut_ref = &mut self.r#passphrase;
10211                    {
10212                        decoder.decode_bytes(mut_ref, ::micropb::Presence::Implicit)?;
10213                    };
10214                }
10215                _ => {
10216                    decoder.skip_wire_value(tag.wire_type())?;
10217                }
10218            }
10219        }
10220        Ok(())
10221    }
10222}
10223impl ::micropb::MessageEncode for r#ap_cred {
10224    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
10225        let mut max_size = 0;
10226        if let ::core::option::Option::Some(size) =
10227            ::micropb::const_map!(::core::option::Option::Some(34usize), |size| size + 1usize)
10228        {
10229            max_size += size;
10230        } else {
10231            break 'msg (::core::option::Option::<usize>::None);
10232        };
10233        if let ::core::option::Option::Some(size) =
10234            ::micropb::const_map!(::core::option::Option::Some(65usize), |size| size + 1usize)
10235        {
10236            max_size += size;
10237        } else {
10238            break 'msg (::core::option::Option::<usize>::None);
10239        };
10240        ::core::option::Option::Some(max_size)
10241    };
10242    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
10243        &self,
10244        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
10245    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
10246        use ::micropb::{FieldEncode, PbMap};
10247        {
10248            let val_ref = &self.r#ssid;
10249            if !val_ref.is_empty() {
10250                encoder.encode_varint32(10u32)?;
10251                encoder.encode_bytes(val_ref)?;
10252            }
10253        }
10254        {
10255            let val_ref = &self.r#passphrase;
10256            if !val_ref.is_empty() {
10257                encoder.encode_varint32(18u32)?;
10258                encoder.encode_bytes(val_ref)?;
10259            }
10260        }
10261        Ok(())
10262    }
10263    fn compute_size(&self) -> usize {
10264        use ::micropb::{FieldEncode, PbMap};
10265        let mut size = 0;
10266        {
10267            let val_ref = &self.r#ssid;
10268            if !val_ref.is_empty() {
10269                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.len());
10270            }
10271        }
10272        {
10273            let val_ref = &self.r#passphrase;
10274            if !val_ref.is_empty() {
10275                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.len());
10276            }
10277        }
10278        size
10279    }
10280}
10281#[derive(Debug, Default, PartialEq, Clone)]
10282pub struct r#wifi_event_sta_wps_er_success {
10283    pub r#ap_cred_cnt: u32,
10284    pub r#ap_creds: ::micropb::heapless::Vec<r#ap_cred, 8>,
10285}
10286impl r#wifi_event_sta_wps_er_success {
10287    ///Return a reference to `ap_cred_cnt`
10288    #[inline]
10289    pub fn r#ap_cred_cnt(&self) -> &u32 {
10290        &self.r#ap_cred_cnt
10291    }
10292    ///Return a mutable reference to `ap_cred_cnt`
10293    #[inline]
10294    pub fn mut_ap_cred_cnt(&mut self) -> &mut u32 {
10295        &mut self.r#ap_cred_cnt
10296    }
10297    ///Set the value of `ap_cred_cnt`
10298    #[inline]
10299    pub fn set_ap_cred_cnt(&mut self, value: u32) -> &mut Self {
10300        self.r#ap_cred_cnt = value.into();
10301        self
10302    }
10303    ///Builder method that sets the value of `ap_cred_cnt`. Useful for initializing the message.
10304    #[inline]
10305    pub fn init_ap_cred_cnt(mut self, value: u32) -> Self {
10306        self.r#ap_cred_cnt = value.into();
10307        self
10308    }
10309}
10310impl ::micropb::MessageDecode for r#wifi_event_sta_wps_er_success {
10311    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
10312        &mut self,
10313        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
10314        len: usize,
10315    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
10316        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
10317        let before = decoder.bytes_read();
10318        while decoder.bytes_read() - before < len {
10319            let tag = decoder.decode_tag()?;
10320            match tag.field_num() {
10321                0 => return Err(::micropb::DecodeError::ZeroField),
10322                1u32 => {
10323                    let mut_ref = &mut self.r#ap_cred_cnt;
10324                    {
10325                        let val = decoder.decode_varint32()?;
10326                        let val_ref = &val;
10327                        if *val_ref != 0 {
10328                            *mut_ref = val as _;
10329                        }
10330                    };
10331                }
10332                2u32 => {
10333                    let mut val: r#ap_cred = ::core::default::Default::default();
10334                    let mut_ref = &mut val;
10335                    {
10336                        mut_ref.decode_len_delimited(decoder)?;
10337                    };
10338                    if let (Err(_), false) = (
10339                        self.r#ap_creds.pb_push(val),
10340                        decoder.ignore_repeated_cap_err,
10341                    ) {
10342                        return Err(::micropb::DecodeError::Capacity);
10343                    }
10344                }
10345                _ => {
10346                    decoder.skip_wire_value(tag.wire_type())?;
10347                }
10348            }
10349        }
10350        Ok(())
10351    }
10352}
10353impl ::micropb::MessageEncode for r#wifi_event_sta_wps_er_success {
10354    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
10355        let mut max_size = 0;
10356        if let ::core::option::Option::Some(size) =
10357            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
10358        {
10359            max_size += size;
10360        } else {
10361            break 'msg (::core::option::Option::<usize>::None);
10362        };
10363        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
10364            ::micropb::const_map!(<r#ap_cred as ::micropb::MessageEncode>::MAX_SIZE, |size| {
10365                ::micropb::size::sizeof_len_record(size)
10366            }),
10367            |size| (size + 1usize) * 8usize
10368        ) {
10369            max_size += size;
10370        } else {
10371            break 'msg (::core::option::Option::<usize>::None);
10372        };
10373        ::core::option::Option::Some(max_size)
10374    };
10375    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
10376        &self,
10377        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
10378    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
10379        use ::micropb::{FieldEncode, PbMap};
10380        {
10381            let val_ref = &self.r#ap_cred_cnt;
10382            if *val_ref != 0 {
10383                encoder.encode_varint32(8u32)?;
10384                encoder.encode_varint32(*val_ref as _)?;
10385            }
10386        }
10387        {
10388            for val_ref in self.r#ap_creds.iter() {
10389                encoder.encode_varint32(18u32)?;
10390                val_ref.encode_len_delimited(encoder)?;
10391            }
10392        }
10393        Ok(())
10394    }
10395    fn compute_size(&self) -> usize {
10396        use ::micropb::{FieldEncode, PbMap};
10397        let mut size = 0;
10398        {
10399            let val_ref = &self.r#ap_cred_cnt;
10400            if *val_ref != 0 {
10401                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
10402            }
10403        }
10404        {
10405            for val_ref in self.r#ap_creds.iter() {
10406                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
10407            }
10408        }
10409        size
10410    }
10411}
10412#[derive(Debug, Default, PartialEq, Clone)]
10413pub struct r#wifi_event_ap_probe_req_rx {
10414    pub r#rssi: i32,
10415    pub r#mac: u32,
10416}
10417impl r#wifi_event_ap_probe_req_rx {
10418    ///Return a reference to `rssi`
10419    #[inline]
10420    pub fn r#rssi(&self) -> &i32 {
10421        &self.r#rssi
10422    }
10423    ///Return a mutable reference to `rssi`
10424    #[inline]
10425    pub fn mut_rssi(&mut self) -> &mut i32 {
10426        &mut self.r#rssi
10427    }
10428    ///Set the value of `rssi`
10429    #[inline]
10430    pub fn set_rssi(&mut self, value: i32) -> &mut Self {
10431        self.r#rssi = value.into();
10432        self
10433    }
10434    ///Builder method that sets the value of `rssi`. Useful for initializing the message.
10435    #[inline]
10436    pub fn init_rssi(mut self, value: i32) -> Self {
10437        self.r#rssi = value.into();
10438        self
10439    }
10440    ///Return a reference to `mac`
10441    #[inline]
10442    pub fn r#mac(&self) -> &u32 {
10443        &self.r#mac
10444    }
10445    ///Return a mutable reference to `mac`
10446    #[inline]
10447    pub fn mut_mac(&mut self) -> &mut u32 {
10448        &mut self.r#mac
10449    }
10450    ///Set the value of `mac`
10451    #[inline]
10452    pub fn set_mac(&mut self, value: u32) -> &mut Self {
10453        self.r#mac = value.into();
10454        self
10455    }
10456    ///Builder method that sets the value of `mac`. Useful for initializing the message.
10457    #[inline]
10458    pub fn init_mac(mut self, value: u32) -> Self {
10459        self.r#mac = value.into();
10460        self
10461    }
10462}
10463impl ::micropb::MessageDecode for r#wifi_event_ap_probe_req_rx {
10464    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
10465        &mut self,
10466        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
10467        len: usize,
10468    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
10469        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
10470        let before = decoder.bytes_read();
10471        while decoder.bytes_read() - before < len {
10472            let tag = decoder.decode_tag()?;
10473            match tag.field_num() {
10474                0 => return Err(::micropb::DecodeError::ZeroField),
10475                1u32 => {
10476                    let mut_ref = &mut self.r#rssi;
10477                    {
10478                        let val = decoder.decode_int32()?;
10479                        let val_ref = &val;
10480                        if *val_ref != 0 {
10481                            *mut_ref = val as _;
10482                        }
10483                    };
10484                }
10485                2u32 => {
10486                    let mut_ref = &mut self.r#mac;
10487                    {
10488                        let val = decoder.decode_varint32()?;
10489                        let val_ref = &val;
10490                        if *val_ref != 0 {
10491                            *mut_ref = val as _;
10492                        }
10493                    };
10494                }
10495                _ => {
10496                    decoder.skip_wire_value(tag.wire_type())?;
10497                }
10498            }
10499        }
10500        Ok(())
10501    }
10502}
10503impl ::micropb::MessageEncode for r#wifi_event_ap_probe_req_rx {
10504    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
10505        let mut max_size = 0;
10506        if let ::core::option::Option::Some(size) =
10507            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
10508        {
10509            max_size += size;
10510        } else {
10511            break 'msg (::core::option::Option::<usize>::None);
10512        };
10513        if let ::core::option::Option::Some(size) =
10514            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
10515        {
10516            max_size += size;
10517        } else {
10518            break 'msg (::core::option::Option::<usize>::None);
10519        };
10520        ::core::option::Option::Some(max_size)
10521    };
10522    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
10523        &self,
10524        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
10525    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
10526        use ::micropb::{FieldEncode, PbMap};
10527        {
10528            let val_ref = &self.r#rssi;
10529            if *val_ref != 0 {
10530                encoder.encode_varint32(8u32)?;
10531                encoder.encode_int32(*val_ref as _)?;
10532            }
10533        }
10534        {
10535            let val_ref = &self.r#mac;
10536            if *val_ref != 0 {
10537                encoder.encode_varint32(16u32)?;
10538                encoder.encode_varint32(*val_ref as _)?;
10539            }
10540        }
10541        Ok(())
10542    }
10543    fn compute_size(&self) -> usize {
10544        use ::micropb::{FieldEncode, PbMap};
10545        let mut size = 0;
10546        {
10547            let val_ref = &self.r#rssi;
10548            if *val_ref != 0 {
10549                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
10550            }
10551        }
10552        {
10553            let val_ref = &self.r#mac;
10554            if *val_ref != 0 {
10555                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
10556            }
10557        }
10558        size
10559    }
10560}
10561#[derive(Debug, Default, PartialEq, Clone)]
10562pub struct r#wifi_event_bss_rssi_low {
10563    pub r#rssi: i32,
10564}
10565impl r#wifi_event_bss_rssi_low {
10566    ///Return a reference to `rssi`
10567    #[inline]
10568    pub fn r#rssi(&self) -> &i32 {
10569        &self.r#rssi
10570    }
10571    ///Return a mutable reference to `rssi`
10572    #[inline]
10573    pub fn mut_rssi(&mut self) -> &mut i32 {
10574        &mut self.r#rssi
10575    }
10576    ///Set the value of `rssi`
10577    #[inline]
10578    pub fn set_rssi(&mut self, value: i32) -> &mut Self {
10579        self.r#rssi = value.into();
10580        self
10581    }
10582    ///Builder method that sets the value of `rssi`. Useful for initializing the message.
10583    #[inline]
10584    pub fn init_rssi(mut self, value: i32) -> Self {
10585        self.r#rssi = value.into();
10586        self
10587    }
10588}
10589impl ::micropb::MessageDecode for r#wifi_event_bss_rssi_low {
10590    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
10591        &mut self,
10592        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
10593        len: usize,
10594    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
10595        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
10596        let before = decoder.bytes_read();
10597        while decoder.bytes_read() - before < len {
10598            let tag = decoder.decode_tag()?;
10599            match tag.field_num() {
10600                0 => return Err(::micropb::DecodeError::ZeroField),
10601                1u32 => {
10602                    let mut_ref = &mut self.r#rssi;
10603                    {
10604                        let val = decoder.decode_int32()?;
10605                        let val_ref = &val;
10606                        if *val_ref != 0 {
10607                            *mut_ref = val as _;
10608                        }
10609                    };
10610                }
10611                _ => {
10612                    decoder.skip_wire_value(tag.wire_type())?;
10613                }
10614            }
10615        }
10616        Ok(())
10617    }
10618}
10619impl ::micropb::MessageEncode for r#wifi_event_bss_rssi_low {
10620    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
10621        let mut max_size = 0;
10622        if let ::core::option::Option::Some(size) =
10623            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
10624        {
10625            max_size += size;
10626        } else {
10627            break 'msg (::core::option::Option::<usize>::None);
10628        };
10629        ::core::option::Option::Some(max_size)
10630    };
10631    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
10632        &self,
10633        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
10634    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
10635        use ::micropb::{FieldEncode, PbMap};
10636        {
10637            let val_ref = &self.r#rssi;
10638            if *val_ref != 0 {
10639                encoder.encode_varint32(8u32)?;
10640                encoder.encode_int32(*val_ref as _)?;
10641            }
10642        }
10643        Ok(())
10644    }
10645    fn compute_size(&self) -> usize {
10646        use ::micropb::{FieldEncode, PbMap};
10647        let mut size = 0;
10648        {
10649            let val_ref = &self.r#rssi;
10650            if *val_ref != 0 {
10651                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
10652            }
10653        }
10654        size
10655    }
10656}
10657#[derive(Debug, Default, PartialEq, Clone)]
10658pub struct r#wifi_ftm_report_entry {
10659    pub r#dlog_token: u32,
10660    pub r#rssi: i32,
10661    pub r#rtt: u32,
10662    pub r#t1: u64,
10663    pub r#t2: u64,
10664    pub r#t3: u64,
10665    pub r#t4: u64,
10666}
10667impl r#wifi_ftm_report_entry {
10668    ///Return a reference to `dlog_token`
10669    #[inline]
10670    pub fn r#dlog_token(&self) -> &u32 {
10671        &self.r#dlog_token
10672    }
10673    ///Return a mutable reference to `dlog_token`
10674    #[inline]
10675    pub fn mut_dlog_token(&mut self) -> &mut u32 {
10676        &mut self.r#dlog_token
10677    }
10678    ///Set the value of `dlog_token`
10679    #[inline]
10680    pub fn set_dlog_token(&mut self, value: u32) -> &mut Self {
10681        self.r#dlog_token = value.into();
10682        self
10683    }
10684    ///Builder method that sets the value of `dlog_token`. Useful for initializing the message.
10685    #[inline]
10686    pub fn init_dlog_token(mut self, value: u32) -> Self {
10687        self.r#dlog_token = value.into();
10688        self
10689    }
10690    ///Return a reference to `rssi`
10691    #[inline]
10692    pub fn r#rssi(&self) -> &i32 {
10693        &self.r#rssi
10694    }
10695    ///Return a mutable reference to `rssi`
10696    #[inline]
10697    pub fn mut_rssi(&mut self) -> &mut i32 {
10698        &mut self.r#rssi
10699    }
10700    ///Set the value of `rssi`
10701    #[inline]
10702    pub fn set_rssi(&mut self, value: i32) -> &mut Self {
10703        self.r#rssi = value.into();
10704        self
10705    }
10706    ///Builder method that sets the value of `rssi`. Useful for initializing the message.
10707    #[inline]
10708    pub fn init_rssi(mut self, value: i32) -> Self {
10709        self.r#rssi = value.into();
10710        self
10711    }
10712    ///Return a reference to `rtt`
10713    #[inline]
10714    pub fn r#rtt(&self) -> &u32 {
10715        &self.r#rtt
10716    }
10717    ///Return a mutable reference to `rtt`
10718    #[inline]
10719    pub fn mut_rtt(&mut self) -> &mut u32 {
10720        &mut self.r#rtt
10721    }
10722    ///Set the value of `rtt`
10723    #[inline]
10724    pub fn set_rtt(&mut self, value: u32) -> &mut Self {
10725        self.r#rtt = value.into();
10726        self
10727    }
10728    ///Builder method that sets the value of `rtt`. Useful for initializing the message.
10729    #[inline]
10730    pub fn init_rtt(mut self, value: u32) -> Self {
10731        self.r#rtt = value.into();
10732        self
10733    }
10734    ///Return a reference to `t1`
10735    #[inline]
10736    pub fn r#t1(&self) -> &u64 {
10737        &self.r#t1
10738    }
10739    ///Return a mutable reference to `t1`
10740    #[inline]
10741    pub fn mut_t1(&mut self) -> &mut u64 {
10742        &mut self.r#t1
10743    }
10744    ///Set the value of `t1`
10745    #[inline]
10746    pub fn set_t1(&mut self, value: u64) -> &mut Self {
10747        self.r#t1 = value.into();
10748        self
10749    }
10750    ///Builder method that sets the value of `t1`. Useful for initializing the message.
10751    #[inline]
10752    pub fn init_t1(mut self, value: u64) -> Self {
10753        self.r#t1 = value.into();
10754        self
10755    }
10756    ///Return a reference to `t2`
10757    #[inline]
10758    pub fn r#t2(&self) -> &u64 {
10759        &self.r#t2
10760    }
10761    ///Return a mutable reference to `t2`
10762    #[inline]
10763    pub fn mut_t2(&mut self) -> &mut u64 {
10764        &mut self.r#t2
10765    }
10766    ///Set the value of `t2`
10767    #[inline]
10768    pub fn set_t2(&mut self, value: u64) -> &mut Self {
10769        self.r#t2 = value.into();
10770        self
10771    }
10772    ///Builder method that sets the value of `t2`. Useful for initializing the message.
10773    #[inline]
10774    pub fn init_t2(mut self, value: u64) -> Self {
10775        self.r#t2 = value.into();
10776        self
10777    }
10778    ///Return a reference to `t3`
10779    #[inline]
10780    pub fn r#t3(&self) -> &u64 {
10781        &self.r#t3
10782    }
10783    ///Return a mutable reference to `t3`
10784    #[inline]
10785    pub fn mut_t3(&mut self) -> &mut u64 {
10786        &mut self.r#t3
10787    }
10788    ///Set the value of `t3`
10789    #[inline]
10790    pub fn set_t3(&mut self, value: u64) -> &mut Self {
10791        self.r#t3 = value.into();
10792        self
10793    }
10794    ///Builder method that sets the value of `t3`. Useful for initializing the message.
10795    #[inline]
10796    pub fn init_t3(mut self, value: u64) -> Self {
10797        self.r#t3 = value.into();
10798        self
10799    }
10800    ///Return a reference to `t4`
10801    #[inline]
10802    pub fn r#t4(&self) -> &u64 {
10803        &self.r#t4
10804    }
10805    ///Return a mutable reference to `t4`
10806    #[inline]
10807    pub fn mut_t4(&mut self) -> &mut u64 {
10808        &mut self.r#t4
10809    }
10810    ///Set the value of `t4`
10811    #[inline]
10812    pub fn set_t4(&mut self, value: u64) -> &mut Self {
10813        self.r#t4 = value.into();
10814        self
10815    }
10816    ///Builder method that sets the value of `t4`. Useful for initializing the message.
10817    #[inline]
10818    pub fn init_t4(mut self, value: u64) -> Self {
10819        self.r#t4 = value.into();
10820        self
10821    }
10822}
10823impl ::micropb::MessageDecode for r#wifi_ftm_report_entry {
10824    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
10825        &mut self,
10826        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
10827        len: usize,
10828    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
10829        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
10830        let before = decoder.bytes_read();
10831        while decoder.bytes_read() - before < len {
10832            let tag = decoder.decode_tag()?;
10833            match tag.field_num() {
10834                0 => return Err(::micropb::DecodeError::ZeroField),
10835                1u32 => {
10836                    let mut_ref = &mut self.r#dlog_token;
10837                    {
10838                        let val = decoder.decode_varint32()?;
10839                        let val_ref = &val;
10840                        if *val_ref != 0 {
10841                            *mut_ref = val as _;
10842                        }
10843                    };
10844                }
10845                2u32 => {
10846                    let mut_ref = &mut self.r#rssi;
10847                    {
10848                        let val = decoder.decode_int32()?;
10849                        let val_ref = &val;
10850                        if *val_ref != 0 {
10851                            *mut_ref = val as _;
10852                        }
10853                    };
10854                }
10855                3u32 => {
10856                    let mut_ref = &mut self.r#rtt;
10857                    {
10858                        let val = decoder.decode_varint32()?;
10859                        let val_ref = &val;
10860                        if *val_ref != 0 {
10861                            *mut_ref = val as _;
10862                        }
10863                    };
10864                }
10865                4u32 => {
10866                    let mut_ref = &mut self.r#t1;
10867                    {
10868                        let val = decoder.decode_varint64()?;
10869                        let val_ref = &val;
10870                        if *val_ref != 0 {
10871                            *mut_ref = val as _;
10872                        }
10873                    };
10874                }
10875                5u32 => {
10876                    let mut_ref = &mut self.r#t2;
10877                    {
10878                        let val = decoder.decode_varint64()?;
10879                        let val_ref = &val;
10880                        if *val_ref != 0 {
10881                            *mut_ref = val as _;
10882                        }
10883                    };
10884                }
10885                6u32 => {
10886                    let mut_ref = &mut self.r#t3;
10887                    {
10888                        let val = decoder.decode_varint64()?;
10889                        let val_ref = &val;
10890                        if *val_ref != 0 {
10891                            *mut_ref = val as _;
10892                        }
10893                    };
10894                }
10895                7u32 => {
10896                    let mut_ref = &mut self.r#t4;
10897                    {
10898                        let val = decoder.decode_varint64()?;
10899                        let val_ref = &val;
10900                        if *val_ref != 0 {
10901                            *mut_ref = val as _;
10902                        }
10903                    };
10904                }
10905                _ => {
10906                    decoder.skip_wire_value(tag.wire_type())?;
10907                }
10908            }
10909        }
10910        Ok(())
10911    }
10912}
10913impl ::micropb::MessageEncode for r#wifi_ftm_report_entry {
10914    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
10915        let mut max_size = 0;
10916        if let ::core::option::Option::Some(size) =
10917            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
10918        {
10919            max_size += size;
10920        } else {
10921            break 'msg (::core::option::Option::<usize>::None);
10922        };
10923        if let ::core::option::Option::Some(size) =
10924            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
10925        {
10926            max_size += size;
10927        } else {
10928            break 'msg (::core::option::Option::<usize>::None);
10929        };
10930        if let ::core::option::Option::Some(size) =
10931            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
10932        {
10933            max_size += size;
10934        } else {
10935            break 'msg (::core::option::Option::<usize>::None);
10936        };
10937        if let ::core::option::Option::Some(size) =
10938            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
10939        {
10940            max_size += size;
10941        } else {
10942            break 'msg (::core::option::Option::<usize>::None);
10943        };
10944        if let ::core::option::Option::Some(size) =
10945            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
10946        {
10947            max_size += size;
10948        } else {
10949            break 'msg (::core::option::Option::<usize>::None);
10950        };
10951        if let ::core::option::Option::Some(size) =
10952            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
10953        {
10954            max_size += size;
10955        } else {
10956            break 'msg (::core::option::Option::<usize>::None);
10957        };
10958        if let ::core::option::Option::Some(size) =
10959            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
10960        {
10961            max_size += size;
10962        } else {
10963            break 'msg (::core::option::Option::<usize>::None);
10964        };
10965        ::core::option::Option::Some(max_size)
10966    };
10967    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
10968        &self,
10969        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
10970    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
10971        use ::micropb::{FieldEncode, PbMap};
10972        {
10973            let val_ref = &self.r#dlog_token;
10974            if *val_ref != 0 {
10975                encoder.encode_varint32(8u32)?;
10976                encoder.encode_varint32(*val_ref as _)?;
10977            }
10978        }
10979        {
10980            let val_ref = &self.r#rssi;
10981            if *val_ref != 0 {
10982                encoder.encode_varint32(16u32)?;
10983                encoder.encode_int32(*val_ref as _)?;
10984            }
10985        }
10986        {
10987            let val_ref = &self.r#rtt;
10988            if *val_ref != 0 {
10989                encoder.encode_varint32(24u32)?;
10990                encoder.encode_varint32(*val_ref as _)?;
10991            }
10992        }
10993        {
10994            let val_ref = &self.r#t1;
10995            if *val_ref != 0 {
10996                encoder.encode_varint32(32u32)?;
10997                encoder.encode_varint64(*val_ref as _)?;
10998            }
10999        }
11000        {
11001            let val_ref = &self.r#t2;
11002            if *val_ref != 0 {
11003                encoder.encode_varint32(40u32)?;
11004                encoder.encode_varint64(*val_ref as _)?;
11005            }
11006        }
11007        {
11008            let val_ref = &self.r#t3;
11009            if *val_ref != 0 {
11010                encoder.encode_varint32(48u32)?;
11011                encoder.encode_varint64(*val_ref as _)?;
11012            }
11013        }
11014        {
11015            let val_ref = &self.r#t4;
11016            if *val_ref != 0 {
11017                encoder.encode_varint32(56u32)?;
11018                encoder.encode_varint64(*val_ref as _)?;
11019            }
11020        }
11021        Ok(())
11022    }
11023    fn compute_size(&self) -> usize {
11024        use ::micropb::{FieldEncode, PbMap};
11025        let mut size = 0;
11026        {
11027            let val_ref = &self.r#dlog_token;
11028            if *val_ref != 0 {
11029                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
11030            }
11031        }
11032        {
11033            let val_ref = &self.r#rssi;
11034            if *val_ref != 0 {
11035                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
11036            }
11037        }
11038        {
11039            let val_ref = &self.r#rtt;
11040            if *val_ref != 0 {
11041                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
11042            }
11043        }
11044        {
11045            let val_ref = &self.r#t1;
11046            if *val_ref != 0 {
11047                size += 1usize + ::micropb::size::sizeof_varint64(*val_ref as _);
11048            }
11049        }
11050        {
11051            let val_ref = &self.r#t2;
11052            if *val_ref != 0 {
11053                size += 1usize + ::micropb::size::sizeof_varint64(*val_ref as _);
11054            }
11055        }
11056        {
11057            let val_ref = &self.r#t3;
11058            if *val_ref != 0 {
11059                size += 1usize + ::micropb::size::sizeof_varint64(*val_ref as _);
11060            }
11061        }
11062        {
11063            let val_ref = &self.r#t4;
11064            if *val_ref != 0 {
11065                size += 1usize + ::micropb::size::sizeof_varint64(*val_ref as _);
11066            }
11067        }
11068        size
11069    }
11070}
11071#[derive(Debug, Default, PartialEq, Clone)]
11072pub struct r#wifi_event_ftm_report {
11073    pub r#peer_mac: ::micropb::heapless::Vec<u8, 6>,
11074    pub r#status: i32,
11075    pub r#rtt_raw: u32,
11076    pub r#rtt_est: u32,
11077    pub r#dist_est: u32,
11078    pub r#ftm_report_data: ::micropb::heapless::Vec<r#wifi_ftm_report_entry, 8>,
11079    pub r#ftm_report_num_entries: u32,
11080}
11081impl r#wifi_event_ftm_report {
11082    ///Return a reference to `peer_mac`
11083    #[inline]
11084    pub fn r#peer_mac(&self) -> &::micropb::heapless::Vec<u8, 6> {
11085        &self.r#peer_mac
11086    }
11087    ///Return a mutable reference to `peer_mac`
11088    #[inline]
11089    pub fn mut_peer_mac(&mut self) -> &mut ::micropb::heapless::Vec<u8, 6> {
11090        &mut self.r#peer_mac
11091    }
11092    ///Set the value of `peer_mac`
11093    #[inline]
11094    pub fn set_peer_mac(&mut self, value: ::micropb::heapless::Vec<u8, 6>) -> &mut Self {
11095        self.r#peer_mac = value.into();
11096        self
11097    }
11098    ///Builder method that sets the value of `peer_mac`. Useful for initializing the message.
11099    #[inline]
11100    pub fn init_peer_mac(mut self, value: ::micropb::heapless::Vec<u8, 6>) -> Self {
11101        self.r#peer_mac = value.into();
11102        self
11103    }
11104    ///Return a reference to `status`
11105    #[inline]
11106    pub fn r#status(&self) -> &i32 {
11107        &self.r#status
11108    }
11109    ///Return a mutable reference to `status`
11110    #[inline]
11111    pub fn mut_status(&mut self) -> &mut i32 {
11112        &mut self.r#status
11113    }
11114    ///Set the value of `status`
11115    #[inline]
11116    pub fn set_status(&mut self, value: i32) -> &mut Self {
11117        self.r#status = value.into();
11118        self
11119    }
11120    ///Builder method that sets the value of `status`. Useful for initializing the message.
11121    #[inline]
11122    pub fn init_status(mut self, value: i32) -> Self {
11123        self.r#status = value.into();
11124        self
11125    }
11126    ///Return a reference to `rtt_raw`
11127    #[inline]
11128    pub fn r#rtt_raw(&self) -> &u32 {
11129        &self.r#rtt_raw
11130    }
11131    ///Return a mutable reference to `rtt_raw`
11132    #[inline]
11133    pub fn mut_rtt_raw(&mut self) -> &mut u32 {
11134        &mut self.r#rtt_raw
11135    }
11136    ///Set the value of `rtt_raw`
11137    #[inline]
11138    pub fn set_rtt_raw(&mut self, value: u32) -> &mut Self {
11139        self.r#rtt_raw = value.into();
11140        self
11141    }
11142    ///Builder method that sets the value of `rtt_raw`. Useful for initializing the message.
11143    #[inline]
11144    pub fn init_rtt_raw(mut self, value: u32) -> Self {
11145        self.r#rtt_raw = value.into();
11146        self
11147    }
11148    ///Return a reference to `rtt_est`
11149    #[inline]
11150    pub fn r#rtt_est(&self) -> &u32 {
11151        &self.r#rtt_est
11152    }
11153    ///Return a mutable reference to `rtt_est`
11154    #[inline]
11155    pub fn mut_rtt_est(&mut self) -> &mut u32 {
11156        &mut self.r#rtt_est
11157    }
11158    ///Set the value of `rtt_est`
11159    #[inline]
11160    pub fn set_rtt_est(&mut self, value: u32) -> &mut Self {
11161        self.r#rtt_est = value.into();
11162        self
11163    }
11164    ///Builder method that sets the value of `rtt_est`. Useful for initializing the message.
11165    #[inline]
11166    pub fn init_rtt_est(mut self, value: u32) -> Self {
11167        self.r#rtt_est = value.into();
11168        self
11169    }
11170    ///Return a reference to `dist_est`
11171    #[inline]
11172    pub fn r#dist_est(&self) -> &u32 {
11173        &self.r#dist_est
11174    }
11175    ///Return a mutable reference to `dist_est`
11176    #[inline]
11177    pub fn mut_dist_est(&mut self) -> &mut u32 {
11178        &mut self.r#dist_est
11179    }
11180    ///Set the value of `dist_est`
11181    #[inline]
11182    pub fn set_dist_est(&mut self, value: u32) -> &mut Self {
11183        self.r#dist_est = value.into();
11184        self
11185    }
11186    ///Builder method that sets the value of `dist_est`. Useful for initializing the message.
11187    #[inline]
11188    pub fn init_dist_est(mut self, value: u32) -> Self {
11189        self.r#dist_est = value.into();
11190        self
11191    }
11192    ///Return a reference to `ftm_report_num_entries`
11193    #[inline]
11194    pub fn r#ftm_report_num_entries(&self) -> &u32 {
11195        &self.r#ftm_report_num_entries
11196    }
11197    ///Return a mutable reference to `ftm_report_num_entries`
11198    #[inline]
11199    pub fn mut_ftm_report_num_entries(&mut self) -> &mut u32 {
11200        &mut self.r#ftm_report_num_entries
11201    }
11202    ///Set the value of `ftm_report_num_entries`
11203    #[inline]
11204    pub fn set_ftm_report_num_entries(&mut self, value: u32) -> &mut Self {
11205        self.r#ftm_report_num_entries = value.into();
11206        self
11207    }
11208    ///Builder method that sets the value of `ftm_report_num_entries`. Useful for initializing the message.
11209    #[inline]
11210    pub fn init_ftm_report_num_entries(mut self, value: u32) -> Self {
11211        self.r#ftm_report_num_entries = value.into();
11212        self
11213    }
11214}
11215impl ::micropb::MessageDecode for r#wifi_event_ftm_report {
11216    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
11217        &mut self,
11218        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
11219        len: usize,
11220    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
11221        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
11222        let before = decoder.bytes_read();
11223        while decoder.bytes_read() - before < len {
11224            let tag = decoder.decode_tag()?;
11225            match tag.field_num() {
11226                0 => return Err(::micropb::DecodeError::ZeroField),
11227                1u32 => {
11228                    let mut_ref = &mut self.r#peer_mac;
11229                    {
11230                        decoder.decode_bytes(mut_ref, ::micropb::Presence::Implicit)?;
11231                    };
11232                }
11233                2u32 => {
11234                    let mut_ref = &mut self.r#status;
11235                    {
11236                        let val = decoder.decode_int32()?;
11237                        let val_ref = &val;
11238                        if *val_ref != 0 {
11239                            *mut_ref = val as _;
11240                        }
11241                    };
11242                }
11243                3u32 => {
11244                    let mut_ref = &mut self.r#rtt_raw;
11245                    {
11246                        let val = decoder.decode_varint32()?;
11247                        let val_ref = &val;
11248                        if *val_ref != 0 {
11249                            *mut_ref = val as _;
11250                        }
11251                    };
11252                }
11253                4u32 => {
11254                    let mut_ref = &mut self.r#rtt_est;
11255                    {
11256                        let val = decoder.decode_varint32()?;
11257                        let val_ref = &val;
11258                        if *val_ref != 0 {
11259                            *mut_ref = val as _;
11260                        }
11261                    };
11262                }
11263                5u32 => {
11264                    let mut_ref = &mut self.r#dist_est;
11265                    {
11266                        let val = decoder.decode_varint32()?;
11267                        let val_ref = &val;
11268                        if *val_ref != 0 {
11269                            *mut_ref = val as _;
11270                        }
11271                    };
11272                }
11273                6u32 => {
11274                    let mut val: r#wifi_ftm_report_entry = ::core::default::Default::default();
11275                    let mut_ref = &mut val;
11276                    {
11277                        mut_ref.decode_len_delimited(decoder)?;
11278                    };
11279                    if let (Err(_), false) = (
11280                        self.r#ftm_report_data.pb_push(val),
11281                        decoder.ignore_repeated_cap_err,
11282                    ) {
11283                        return Err(::micropb::DecodeError::Capacity);
11284                    }
11285                }
11286                7u32 => {
11287                    let mut_ref = &mut self.r#ftm_report_num_entries;
11288                    {
11289                        let val = decoder.decode_varint32()?;
11290                        let val_ref = &val;
11291                        if *val_ref != 0 {
11292                            *mut_ref = val as _;
11293                        }
11294                    };
11295                }
11296                _ => {
11297                    decoder.skip_wire_value(tag.wire_type())?;
11298                }
11299            }
11300        }
11301        Ok(())
11302    }
11303}
11304impl ::micropb::MessageEncode for r#wifi_event_ftm_report {
11305    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
11306        let mut max_size = 0;
11307        if let ::core::option::Option::Some(size) =
11308            ::micropb::const_map!(::core::option::Option::Some(7usize), |size| size + 1usize)
11309        {
11310            max_size += size;
11311        } else {
11312            break 'msg (::core::option::Option::<usize>::None);
11313        };
11314        if let ::core::option::Option::Some(size) =
11315            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
11316        {
11317            max_size += size;
11318        } else {
11319            break 'msg (::core::option::Option::<usize>::None);
11320        };
11321        if let ::core::option::Option::Some(size) =
11322            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
11323        {
11324            max_size += size;
11325        } else {
11326            break 'msg (::core::option::Option::<usize>::None);
11327        };
11328        if let ::core::option::Option::Some(size) =
11329            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
11330        {
11331            max_size += size;
11332        } else {
11333            break 'msg (::core::option::Option::<usize>::None);
11334        };
11335        if let ::core::option::Option::Some(size) =
11336            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
11337        {
11338            max_size += size;
11339        } else {
11340            break 'msg (::core::option::Option::<usize>::None);
11341        };
11342        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
11343            ::micropb::const_map!(
11344                <r#wifi_ftm_report_entry as ::micropb::MessageEncode>::MAX_SIZE,
11345                |size| ::micropb::size::sizeof_len_record(size)
11346            ),
11347            |size| (size + 1usize) * 8usize
11348        ) {
11349            max_size += size;
11350        } else {
11351            break 'msg (::core::option::Option::<usize>::None);
11352        };
11353        if let ::core::option::Option::Some(size) =
11354            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
11355        {
11356            max_size += size;
11357        } else {
11358            break 'msg (::core::option::Option::<usize>::None);
11359        };
11360        ::core::option::Option::Some(max_size)
11361    };
11362    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
11363        &self,
11364        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
11365    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
11366        use ::micropb::{FieldEncode, PbMap};
11367        {
11368            let val_ref = &self.r#peer_mac;
11369            if !val_ref.is_empty() {
11370                encoder.encode_varint32(10u32)?;
11371                encoder.encode_bytes(val_ref)?;
11372            }
11373        }
11374        {
11375            let val_ref = &self.r#status;
11376            if *val_ref != 0 {
11377                encoder.encode_varint32(16u32)?;
11378                encoder.encode_int32(*val_ref as _)?;
11379            }
11380        }
11381        {
11382            let val_ref = &self.r#rtt_raw;
11383            if *val_ref != 0 {
11384                encoder.encode_varint32(24u32)?;
11385                encoder.encode_varint32(*val_ref as _)?;
11386            }
11387        }
11388        {
11389            let val_ref = &self.r#rtt_est;
11390            if *val_ref != 0 {
11391                encoder.encode_varint32(32u32)?;
11392                encoder.encode_varint32(*val_ref as _)?;
11393            }
11394        }
11395        {
11396            let val_ref = &self.r#dist_est;
11397            if *val_ref != 0 {
11398                encoder.encode_varint32(40u32)?;
11399                encoder.encode_varint32(*val_ref as _)?;
11400            }
11401        }
11402        {
11403            for val_ref in self.r#ftm_report_data.iter() {
11404                encoder.encode_varint32(50u32)?;
11405                val_ref.encode_len_delimited(encoder)?;
11406            }
11407        }
11408        {
11409            let val_ref = &self.r#ftm_report_num_entries;
11410            if *val_ref != 0 {
11411                encoder.encode_varint32(56u32)?;
11412                encoder.encode_varint32(*val_ref as _)?;
11413            }
11414        }
11415        Ok(())
11416    }
11417    fn compute_size(&self) -> usize {
11418        use ::micropb::{FieldEncode, PbMap};
11419        let mut size = 0;
11420        {
11421            let val_ref = &self.r#peer_mac;
11422            if !val_ref.is_empty() {
11423                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.len());
11424            }
11425        }
11426        {
11427            let val_ref = &self.r#status;
11428            if *val_ref != 0 {
11429                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
11430            }
11431        }
11432        {
11433            let val_ref = &self.r#rtt_raw;
11434            if *val_ref != 0 {
11435                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
11436            }
11437        }
11438        {
11439            let val_ref = &self.r#rtt_est;
11440            if *val_ref != 0 {
11441                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
11442            }
11443        }
11444        {
11445            let val_ref = &self.r#dist_est;
11446            if *val_ref != 0 {
11447                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
11448            }
11449        }
11450        {
11451            for val_ref in self.r#ftm_report_data.iter() {
11452                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
11453            }
11454        }
11455        {
11456            let val_ref = &self.r#ftm_report_num_entries;
11457            if *val_ref != 0 {
11458                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
11459            }
11460        }
11461        size
11462    }
11463}
11464#[derive(Debug, Default, PartialEq, Clone)]
11465pub struct r#wifi_event_action_tx_status {
11466    pub r#ifx: i32,
11467    pub r#context: u32,
11468    pub r#da: ::micropb::heapless::Vec<u8, 6>,
11469    pub r#status: u32,
11470}
11471impl r#wifi_event_action_tx_status {
11472    ///Return a reference to `ifx`
11473    #[inline]
11474    pub fn r#ifx(&self) -> &i32 {
11475        &self.r#ifx
11476    }
11477    ///Return a mutable reference to `ifx`
11478    #[inline]
11479    pub fn mut_ifx(&mut self) -> &mut i32 {
11480        &mut self.r#ifx
11481    }
11482    ///Set the value of `ifx`
11483    #[inline]
11484    pub fn set_ifx(&mut self, value: i32) -> &mut Self {
11485        self.r#ifx = value.into();
11486        self
11487    }
11488    ///Builder method that sets the value of `ifx`. Useful for initializing the message.
11489    #[inline]
11490    pub fn init_ifx(mut self, value: i32) -> Self {
11491        self.r#ifx = value.into();
11492        self
11493    }
11494    ///Return a reference to `context`
11495    #[inline]
11496    pub fn r#context(&self) -> &u32 {
11497        &self.r#context
11498    }
11499    ///Return a mutable reference to `context`
11500    #[inline]
11501    pub fn mut_context(&mut self) -> &mut u32 {
11502        &mut self.r#context
11503    }
11504    ///Set the value of `context`
11505    #[inline]
11506    pub fn set_context(&mut self, value: u32) -> &mut Self {
11507        self.r#context = value.into();
11508        self
11509    }
11510    ///Builder method that sets the value of `context`. Useful for initializing the message.
11511    #[inline]
11512    pub fn init_context(mut self, value: u32) -> Self {
11513        self.r#context = value.into();
11514        self
11515    }
11516    ///Return a reference to `da`
11517    #[inline]
11518    pub fn r#da(&self) -> &::micropb::heapless::Vec<u8, 6> {
11519        &self.r#da
11520    }
11521    ///Return a mutable reference to `da`
11522    #[inline]
11523    pub fn mut_da(&mut self) -> &mut ::micropb::heapless::Vec<u8, 6> {
11524        &mut self.r#da
11525    }
11526    ///Set the value of `da`
11527    #[inline]
11528    pub fn set_da(&mut self, value: ::micropb::heapless::Vec<u8, 6>) -> &mut Self {
11529        self.r#da = value.into();
11530        self
11531    }
11532    ///Builder method that sets the value of `da`. Useful for initializing the message.
11533    #[inline]
11534    pub fn init_da(mut self, value: ::micropb::heapless::Vec<u8, 6>) -> Self {
11535        self.r#da = value.into();
11536        self
11537    }
11538    ///Return a reference to `status`
11539    #[inline]
11540    pub fn r#status(&self) -> &u32 {
11541        &self.r#status
11542    }
11543    ///Return a mutable reference to `status`
11544    #[inline]
11545    pub fn mut_status(&mut self) -> &mut u32 {
11546        &mut self.r#status
11547    }
11548    ///Set the value of `status`
11549    #[inline]
11550    pub fn set_status(&mut self, value: u32) -> &mut Self {
11551        self.r#status = value.into();
11552        self
11553    }
11554    ///Builder method that sets the value of `status`. Useful for initializing the message.
11555    #[inline]
11556    pub fn init_status(mut self, value: u32) -> Self {
11557        self.r#status = value.into();
11558        self
11559    }
11560}
11561impl ::micropb::MessageDecode for r#wifi_event_action_tx_status {
11562    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
11563        &mut self,
11564        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
11565        len: usize,
11566    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
11567        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
11568        let before = decoder.bytes_read();
11569        while decoder.bytes_read() - before < len {
11570            let tag = decoder.decode_tag()?;
11571            match tag.field_num() {
11572                0 => return Err(::micropb::DecodeError::ZeroField),
11573                1u32 => {
11574                    let mut_ref = &mut self.r#ifx;
11575                    {
11576                        let val = decoder.decode_int32()?;
11577                        let val_ref = &val;
11578                        if *val_ref != 0 {
11579                            *mut_ref = val as _;
11580                        }
11581                    };
11582                }
11583                2u32 => {
11584                    let mut_ref = &mut self.r#context;
11585                    {
11586                        let val = decoder.decode_varint32()?;
11587                        let val_ref = &val;
11588                        if *val_ref != 0 {
11589                            *mut_ref = val as _;
11590                        }
11591                    };
11592                }
11593                3u32 => {
11594                    let mut_ref = &mut self.r#da;
11595                    {
11596                        decoder.decode_bytes(mut_ref, ::micropb::Presence::Implicit)?;
11597                    };
11598                }
11599                4u32 => {
11600                    let mut_ref = &mut self.r#status;
11601                    {
11602                        let val = decoder.decode_varint32()?;
11603                        let val_ref = &val;
11604                        if *val_ref != 0 {
11605                            *mut_ref = val as _;
11606                        }
11607                    };
11608                }
11609                _ => {
11610                    decoder.skip_wire_value(tag.wire_type())?;
11611                }
11612            }
11613        }
11614        Ok(())
11615    }
11616}
11617impl ::micropb::MessageEncode for r#wifi_event_action_tx_status {
11618    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
11619        let mut max_size = 0;
11620        if let ::core::option::Option::Some(size) =
11621            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
11622        {
11623            max_size += size;
11624        } else {
11625            break 'msg (::core::option::Option::<usize>::None);
11626        };
11627        if let ::core::option::Option::Some(size) =
11628            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
11629        {
11630            max_size += size;
11631        } else {
11632            break 'msg (::core::option::Option::<usize>::None);
11633        };
11634        if let ::core::option::Option::Some(size) =
11635            ::micropb::const_map!(::core::option::Option::Some(7usize), |size| size + 1usize)
11636        {
11637            max_size += size;
11638        } else {
11639            break 'msg (::core::option::Option::<usize>::None);
11640        };
11641        if let ::core::option::Option::Some(size) =
11642            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
11643        {
11644            max_size += size;
11645        } else {
11646            break 'msg (::core::option::Option::<usize>::None);
11647        };
11648        ::core::option::Option::Some(max_size)
11649    };
11650    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
11651        &self,
11652        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
11653    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
11654        use ::micropb::{FieldEncode, PbMap};
11655        {
11656            let val_ref = &self.r#ifx;
11657            if *val_ref != 0 {
11658                encoder.encode_varint32(8u32)?;
11659                encoder.encode_int32(*val_ref as _)?;
11660            }
11661        }
11662        {
11663            let val_ref = &self.r#context;
11664            if *val_ref != 0 {
11665                encoder.encode_varint32(16u32)?;
11666                encoder.encode_varint32(*val_ref as _)?;
11667            }
11668        }
11669        {
11670            let val_ref = &self.r#da;
11671            if !val_ref.is_empty() {
11672                encoder.encode_varint32(26u32)?;
11673                encoder.encode_bytes(val_ref)?;
11674            }
11675        }
11676        {
11677            let val_ref = &self.r#status;
11678            if *val_ref != 0 {
11679                encoder.encode_varint32(32u32)?;
11680                encoder.encode_varint32(*val_ref as _)?;
11681            }
11682        }
11683        Ok(())
11684    }
11685    fn compute_size(&self) -> usize {
11686        use ::micropb::{FieldEncode, PbMap};
11687        let mut size = 0;
11688        {
11689            let val_ref = &self.r#ifx;
11690            if *val_ref != 0 {
11691                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
11692            }
11693        }
11694        {
11695            let val_ref = &self.r#context;
11696            if *val_ref != 0 {
11697                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
11698            }
11699        }
11700        {
11701            let val_ref = &self.r#da;
11702            if !val_ref.is_empty() {
11703                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.len());
11704            }
11705        }
11706        {
11707            let val_ref = &self.r#status;
11708            if *val_ref != 0 {
11709                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
11710            }
11711        }
11712        size
11713    }
11714}
11715#[derive(Debug, Default, PartialEq, Clone)]
11716pub struct r#wifi_event_roc_done {
11717    pub r#context: u32,
11718}
11719impl r#wifi_event_roc_done {
11720    ///Return a reference to `context`
11721    #[inline]
11722    pub fn r#context(&self) -> &u32 {
11723        &self.r#context
11724    }
11725    ///Return a mutable reference to `context`
11726    #[inline]
11727    pub fn mut_context(&mut self) -> &mut u32 {
11728        &mut self.r#context
11729    }
11730    ///Set the value of `context`
11731    #[inline]
11732    pub fn set_context(&mut self, value: u32) -> &mut Self {
11733        self.r#context = value.into();
11734        self
11735    }
11736    ///Builder method that sets the value of `context`. Useful for initializing the message.
11737    #[inline]
11738    pub fn init_context(mut self, value: u32) -> Self {
11739        self.r#context = value.into();
11740        self
11741    }
11742}
11743impl ::micropb::MessageDecode for r#wifi_event_roc_done {
11744    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
11745        &mut self,
11746        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
11747        len: usize,
11748    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
11749        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
11750        let before = decoder.bytes_read();
11751        while decoder.bytes_read() - before < len {
11752            let tag = decoder.decode_tag()?;
11753            match tag.field_num() {
11754                0 => return Err(::micropb::DecodeError::ZeroField),
11755                1u32 => {
11756                    let mut_ref = &mut self.r#context;
11757                    {
11758                        let val = decoder.decode_varint32()?;
11759                        let val_ref = &val;
11760                        if *val_ref != 0 {
11761                            *mut_ref = val as _;
11762                        }
11763                    };
11764                }
11765                _ => {
11766                    decoder.skip_wire_value(tag.wire_type())?;
11767                }
11768            }
11769        }
11770        Ok(())
11771    }
11772}
11773impl ::micropb::MessageEncode for r#wifi_event_roc_done {
11774    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
11775        let mut max_size = 0;
11776        if let ::core::option::Option::Some(size) =
11777            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
11778        {
11779            max_size += size;
11780        } else {
11781            break 'msg (::core::option::Option::<usize>::None);
11782        };
11783        ::core::option::Option::Some(max_size)
11784    };
11785    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
11786        &self,
11787        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
11788    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
11789        use ::micropb::{FieldEncode, PbMap};
11790        {
11791            let val_ref = &self.r#context;
11792            if *val_ref != 0 {
11793                encoder.encode_varint32(8u32)?;
11794                encoder.encode_varint32(*val_ref as _)?;
11795            }
11796        }
11797        Ok(())
11798    }
11799    fn compute_size(&self) -> usize {
11800        use ::micropb::{FieldEncode, PbMap};
11801        let mut size = 0;
11802        {
11803            let val_ref = &self.r#context;
11804            if *val_ref != 0 {
11805                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
11806            }
11807        }
11808        size
11809    }
11810}
11811#[derive(Debug, Default, PartialEq, Clone)]
11812pub struct r#wifi_event_ap_wps_rg_pin {
11813    pub r#pin_code: ::micropb::heapless::Vec<u8, 8>,
11814}
11815impl r#wifi_event_ap_wps_rg_pin {
11816    ///Return a reference to `pin_code`
11817    #[inline]
11818    pub fn r#pin_code(&self) -> &::micropb::heapless::Vec<u8, 8> {
11819        &self.r#pin_code
11820    }
11821    ///Return a mutable reference to `pin_code`
11822    #[inline]
11823    pub fn mut_pin_code(&mut self) -> &mut ::micropb::heapless::Vec<u8, 8> {
11824        &mut self.r#pin_code
11825    }
11826    ///Set the value of `pin_code`
11827    #[inline]
11828    pub fn set_pin_code(&mut self, value: ::micropb::heapless::Vec<u8, 8>) -> &mut Self {
11829        self.r#pin_code = value.into();
11830        self
11831    }
11832    ///Builder method that sets the value of `pin_code`. Useful for initializing the message.
11833    #[inline]
11834    pub fn init_pin_code(mut self, value: ::micropb::heapless::Vec<u8, 8>) -> Self {
11835        self.r#pin_code = value.into();
11836        self
11837    }
11838}
11839impl ::micropb::MessageDecode for r#wifi_event_ap_wps_rg_pin {
11840    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
11841        &mut self,
11842        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
11843        len: usize,
11844    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
11845        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
11846        let before = decoder.bytes_read();
11847        while decoder.bytes_read() - before < len {
11848            let tag = decoder.decode_tag()?;
11849            match tag.field_num() {
11850                0 => return Err(::micropb::DecodeError::ZeroField),
11851                1u32 => {
11852                    let mut_ref = &mut self.r#pin_code;
11853                    {
11854                        decoder.decode_bytes(mut_ref, ::micropb::Presence::Implicit)?;
11855                    };
11856                }
11857                _ => {
11858                    decoder.skip_wire_value(tag.wire_type())?;
11859                }
11860            }
11861        }
11862        Ok(())
11863    }
11864}
11865impl ::micropb::MessageEncode for r#wifi_event_ap_wps_rg_pin {
11866    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
11867        let mut max_size = 0;
11868        if let ::core::option::Option::Some(size) =
11869            ::micropb::const_map!(::core::option::Option::Some(9usize), |size| size + 1usize)
11870        {
11871            max_size += size;
11872        } else {
11873            break 'msg (::core::option::Option::<usize>::None);
11874        };
11875        ::core::option::Option::Some(max_size)
11876    };
11877    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
11878        &self,
11879        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
11880    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
11881        use ::micropb::{FieldEncode, PbMap};
11882        {
11883            let val_ref = &self.r#pin_code;
11884            if !val_ref.is_empty() {
11885                encoder.encode_varint32(10u32)?;
11886                encoder.encode_bytes(val_ref)?;
11887            }
11888        }
11889        Ok(())
11890    }
11891    fn compute_size(&self) -> usize {
11892        use ::micropb::{FieldEncode, PbMap};
11893        let mut size = 0;
11894        {
11895            let val_ref = &self.r#pin_code;
11896            if !val_ref.is_empty() {
11897                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.len());
11898            }
11899        }
11900        size
11901    }
11902}
11903#[derive(Debug, Default, PartialEq, Clone)]
11904pub struct r#wifi_event_ap_wps_rg_fail_reason {
11905    pub r#reason: i32,
11906    pub r#peer_macaddr: ::micropb::heapless::Vec<u8, 6>,
11907}
11908impl r#wifi_event_ap_wps_rg_fail_reason {
11909    ///Return a reference to `reason`
11910    #[inline]
11911    pub fn r#reason(&self) -> &i32 {
11912        &self.r#reason
11913    }
11914    ///Return a mutable reference to `reason`
11915    #[inline]
11916    pub fn mut_reason(&mut self) -> &mut i32 {
11917        &mut self.r#reason
11918    }
11919    ///Set the value of `reason`
11920    #[inline]
11921    pub fn set_reason(&mut self, value: i32) -> &mut Self {
11922        self.r#reason = value.into();
11923        self
11924    }
11925    ///Builder method that sets the value of `reason`. Useful for initializing the message.
11926    #[inline]
11927    pub fn init_reason(mut self, value: i32) -> Self {
11928        self.r#reason = value.into();
11929        self
11930    }
11931    ///Return a reference to `peer_macaddr`
11932    #[inline]
11933    pub fn r#peer_macaddr(&self) -> &::micropb::heapless::Vec<u8, 6> {
11934        &self.r#peer_macaddr
11935    }
11936    ///Return a mutable reference to `peer_macaddr`
11937    #[inline]
11938    pub fn mut_peer_macaddr(&mut self) -> &mut ::micropb::heapless::Vec<u8, 6> {
11939        &mut self.r#peer_macaddr
11940    }
11941    ///Set the value of `peer_macaddr`
11942    #[inline]
11943    pub fn set_peer_macaddr(&mut self, value: ::micropb::heapless::Vec<u8, 6>) -> &mut Self {
11944        self.r#peer_macaddr = value.into();
11945        self
11946    }
11947    ///Builder method that sets the value of `peer_macaddr`. Useful for initializing the message.
11948    #[inline]
11949    pub fn init_peer_macaddr(mut self, value: ::micropb::heapless::Vec<u8, 6>) -> Self {
11950        self.r#peer_macaddr = value.into();
11951        self
11952    }
11953}
11954impl ::micropb::MessageDecode for r#wifi_event_ap_wps_rg_fail_reason {
11955    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
11956        &mut self,
11957        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
11958        len: usize,
11959    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
11960        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
11961        let before = decoder.bytes_read();
11962        while decoder.bytes_read() - before < len {
11963            let tag = decoder.decode_tag()?;
11964            match tag.field_num() {
11965                0 => return Err(::micropb::DecodeError::ZeroField),
11966                1u32 => {
11967                    let mut_ref = &mut self.r#reason;
11968                    {
11969                        let val = decoder.decode_int32()?;
11970                        let val_ref = &val;
11971                        if *val_ref != 0 {
11972                            *mut_ref = val as _;
11973                        }
11974                    };
11975                }
11976                2u32 => {
11977                    let mut_ref = &mut self.r#peer_macaddr;
11978                    {
11979                        decoder.decode_bytes(mut_ref, ::micropb::Presence::Implicit)?;
11980                    };
11981                }
11982                _ => {
11983                    decoder.skip_wire_value(tag.wire_type())?;
11984                }
11985            }
11986        }
11987        Ok(())
11988    }
11989}
11990impl ::micropb::MessageEncode for r#wifi_event_ap_wps_rg_fail_reason {
11991    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
11992        let mut max_size = 0;
11993        if let ::core::option::Option::Some(size) =
11994            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
11995        {
11996            max_size += size;
11997        } else {
11998            break 'msg (::core::option::Option::<usize>::None);
11999        };
12000        if let ::core::option::Option::Some(size) =
12001            ::micropb::const_map!(::core::option::Option::Some(7usize), |size| size + 1usize)
12002        {
12003            max_size += size;
12004        } else {
12005            break 'msg (::core::option::Option::<usize>::None);
12006        };
12007        ::core::option::Option::Some(max_size)
12008    };
12009    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
12010        &self,
12011        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
12012    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
12013        use ::micropb::{FieldEncode, PbMap};
12014        {
12015            let val_ref = &self.r#reason;
12016            if *val_ref != 0 {
12017                encoder.encode_varint32(8u32)?;
12018                encoder.encode_int32(*val_ref as _)?;
12019            }
12020        }
12021        {
12022            let val_ref = &self.r#peer_macaddr;
12023            if !val_ref.is_empty() {
12024                encoder.encode_varint32(18u32)?;
12025                encoder.encode_bytes(val_ref)?;
12026            }
12027        }
12028        Ok(())
12029    }
12030    fn compute_size(&self) -> usize {
12031        use ::micropb::{FieldEncode, PbMap};
12032        let mut size = 0;
12033        {
12034            let val_ref = &self.r#reason;
12035            if *val_ref != 0 {
12036                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
12037            }
12038        }
12039        {
12040            let val_ref = &self.r#peer_macaddr;
12041            if !val_ref.is_empty() {
12042                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.len());
12043            }
12044        }
12045        size
12046    }
12047}
12048#[derive(Debug, Default, PartialEq, Clone)]
12049pub struct r#wifi_event_ap_wps_rg_success {
12050    pub r#peer_macaddr: ::micropb::heapless::Vec<u8, 6>,
12051}
12052impl r#wifi_event_ap_wps_rg_success {
12053    ///Return a reference to `peer_macaddr`
12054    #[inline]
12055    pub fn r#peer_macaddr(&self) -> &::micropb::heapless::Vec<u8, 6> {
12056        &self.r#peer_macaddr
12057    }
12058    ///Return a mutable reference to `peer_macaddr`
12059    #[inline]
12060    pub fn mut_peer_macaddr(&mut self) -> &mut ::micropb::heapless::Vec<u8, 6> {
12061        &mut self.r#peer_macaddr
12062    }
12063    ///Set the value of `peer_macaddr`
12064    #[inline]
12065    pub fn set_peer_macaddr(&mut self, value: ::micropb::heapless::Vec<u8, 6>) -> &mut Self {
12066        self.r#peer_macaddr = value.into();
12067        self
12068    }
12069    ///Builder method that sets the value of `peer_macaddr`. Useful for initializing the message.
12070    #[inline]
12071    pub fn init_peer_macaddr(mut self, value: ::micropb::heapless::Vec<u8, 6>) -> Self {
12072        self.r#peer_macaddr = value.into();
12073        self
12074    }
12075}
12076impl ::micropb::MessageDecode for r#wifi_event_ap_wps_rg_success {
12077    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
12078        &mut self,
12079        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
12080        len: usize,
12081    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
12082        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
12083        let before = decoder.bytes_read();
12084        while decoder.bytes_read() - before < len {
12085            let tag = decoder.decode_tag()?;
12086            match tag.field_num() {
12087                0 => return Err(::micropb::DecodeError::ZeroField),
12088                1u32 => {
12089                    let mut_ref = &mut self.r#peer_macaddr;
12090                    {
12091                        decoder.decode_bytes(mut_ref, ::micropb::Presence::Implicit)?;
12092                    };
12093                }
12094                _ => {
12095                    decoder.skip_wire_value(tag.wire_type())?;
12096                }
12097            }
12098        }
12099        Ok(())
12100    }
12101}
12102impl ::micropb::MessageEncode for r#wifi_event_ap_wps_rg_success {
12103    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
12104        let mut max_size = 0;
12105        if let ::core::option::Option::Some(size) =
12106            ::micropb::const_map!(::core::option::Option::Some(7usize), |size| size + 1usize)
12107        {
12108            max_size += size;
12109        } else {
12110            break 'msg (::core::option::Option::<usize>::None);
12111        };
12112        ::core::option::Option::Some(max_size)
12113    };
12114    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
12115        &self,
12116        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
12117    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
12118        use ::micropb::{FieldEncode, PbMap};
12119        {
12120            let val_ref = &self.r#peer_macaddr;
12121            if !val_ref.is_empty() {
12122                encoder.encode_varint32(10u32)?;
12123                encoder.encode_bytes(val_ref)?;
12124            }
12125        }
12126        Ok(())
12127    }
12128    fn compute_size(&self) -> usize {
12129        use ::micropb::{FieldEncode, PbMap};
12130        let mut size = 0;
12131        {
12132            let val_ref = &self.r#peer_macaddr;
12133            if !val_ref.is_empty() {
12134                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.len());
12135            }
12136        }
12137        size
12138    }
12139}
12140#[derive(Debug, Default, PartialEq, Clone)]
12141pub struct r#wifi_protocols {
12142    pub r#ghz_2g: u32,
12143    pub r#ghz_5g: u32,
12144}
12145impl r#wifi_protocols {
12146    ///Return a reference to `ghz_2g`
12147    #[inline]
12148    pub fn r#ghz_2g(&self) -> &u32 {
12149        &self.r#ghz_2g
12150    }
12151    ///Return a mutable reference to `ghz_2g`
12152    #[inline]
12153    pub fn mut_ghz_2g(&mut self) -> &mut u32 {
12154        &mut self.r#ghz_2g
12155    }
12156    ///Set the value of `ghz_2g`
12157    #[inline]
12158    pub fn set_ghz_2g(&mut self, value: u32) -> &mut Self {
12159        self.r#ghz_2g = value.into();
12160        self
12161    }
12162    ///Builder method that sets the value of `ghz_2g`. Useful for initializing the message.
12163    #[inline]
12164    pub fn init_ghz_2g(mut self, value: u32) -> Self {
12165        self.r#ghz_2g = value.into();
12166        self
12167    }
12168    ///Return a reference to `ghz_5g`
12169    #[inline]
12170    pub fn r#ghz_5g(&self) -> &u32 {
12171        &self.r#ghz_5g
12172    }
12173    ///Return a mutable reference to `ghz_5g`
12174    #[inline]
12175    pub fn mut_ghz_5g(&mut self) -> &mut u32 {
12176        &mut self.r#ghz_5g
12177    }
12178    ///Set the value of `ghz_5g`
12179    #[inline]
12180    pub fn set_ghz_5g(&mut self, value: u32) -> &mut Self {
12181        self.r#ghz_5g = value.into();
12182        self
12183    }
12184    ///Builder method that sets the value of `ghz_5g`. Useful for initializing the message.
12185    #[inline]
12186    pub fn init_ghz_5g(mut self, value: u32) -> Self {
12187        self.r#ghz_5g = value.into();
12188        self
12189    }
12190}
12191impl ::micropb::MessageDecode for r#wifi_protocols {
12192    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
12193        &mut self,
12194        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
12195        len: usize,
12196    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
12197        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
12198        let before = decoder.bytes_read();
12199        while decoder.bytes_read() - before < len {
12200            let tag = decoder.decode_tag()?;
12201            match tag.field_num() {
12202                0 => return Err(::micropb::DecodeError::ZeroField),
12203                1u32 => {
12204                    let mut_ref = &mut self.r#ghz_2g;
12205                    {
12206                        let val = decoder.decode_varint32()?;
12207                        let val_ref = &val;
12208                        if *val_ref != 0 {
12209                            *mut_ref = val as _;
12210                        }
12211                    };
12212                }
12213                2u32 => {
12214                    let mut_ref = &mut self.r#ghz_5g;
12215                    {
12216                        let val = decoder.decode_varint32()?;
12217                        let val_ref = &val;
12218                        if *val_ref != 0 {
12219                            *mut_ref = val as _;
12220                        }
12221                    };
12222                }
12223                _ => {
12224                    decoder.skip_wire_value(tag.wire_type())?;
12225                }
12226            }
12227        }
12228        Ok(())
12229    }
12230}
12231impl ::micropb::MessageEncode for r#wifi_protocols {
12232    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
12233        let mut max_size = 0;
12234        if let ::core::option::Option::Some(size) =
12235            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
12236        {
12237            max_size += size;
12238        } else {
12239            break 'msg (::core::option::Option::<usize>::None);
12240        };
12241        if let ::core::option::Option::Some(size) =
12242            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
12243        {
12244            max_size += size;
12245        } else {
12246            break 'msg (::core::option::Option::<usize>::None);
12247        };
12248        ::core::option::Option::Some(max_size)
12249    };
12250    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
12251        &self,
12252        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
12253    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
12254        use ::micropb::{FieldEncode, PbMap};
12255        {
12256            let val_ref = &self.r#ghz_2g;
12257            if *val_ref != 0 {
12258                encoder.encode_varint32(8u32)?;
12259                encoder.encode_varint32(*val_ref as _)?;
12260            }
12261        }
12262        {
12263            let val_ref = &self.r#ghz_5g;
12264            if *val_ref != 0 {
12265                encoder.encode_varint32(16u32)?;
12266                encoder.encode_varint32(*val_ref as _)?;
12267            }
12268        }
12269        Ok(())
12270    }
12271    fn compute_size(&self) -> usize {
12272        use ::micropb::{FieldEncode, PbMap};
12273        let mut size = 0;
12274        {
12275            let val_ref = &self.r#ghz_2g;
12276            if *val_ref != 0 {
12277                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
12278            }
12279        }
12280        {
12281            let val_ref = &self.r#ghz_5g;
12282            if *val_ref != 0 {
12283                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
12284            }
12285        }
12286        size
12287    }
12288}
12289#[derive(Debug, Default, PartialEq, Clone)]
12290pub struct r#wifi_bandwidths {
12291    pub r#ghz_2g: u32,
12292    pub r#ghz_5g: u32,
12293}
12294impl r#wifi_bandwidths {
12295    ///Return a reference to `ghz_2g`
12296    #[inline]
12297    pub fn r#ghz_2g(&self) -> &u32 {
12298        &self.r#ghz_2g
12299    }
12300    ///Return a mutable reference to `ghz_2g`
12301    #[inline]
12302    pub fn mut_ghz_2g(&mut self) -> &mut u32 {
12303        &mut self.r#ghz_2g
12304    }
12305    ///Set the value of `ghz_2g`
12306    #[inline]
12307    pub fn set_ghz_2g(&mut self, value: u32) -> &mut Self {
12308        self.r#ghz_2g = value.into();
12309        self
12310    }
12311    ///Builder method that sets the value of `ghz_2g`. Useful for initializing the message.
12312    #[inline]
12313    pub fn init_ghz_2g(mut self, value: u32) -> Self {
12314        self.r#ghz_2g = value.into();
12315        self
12316    }
12317    ///Return a reference to `ghz_5g`
12318    #[inline]
12319    pub fn r#ghz_5g(&self) -> &u32 {
12320        &self.r#ghz_5g
12321    }
12322    ///Return a mutable reference to `ghz_5g`
12323    #[inline]
12324    pub fn mut_ghz_5g(&mut self) -> &mut u32 {
12325        &mut self.r#ghz_5g
12326    }
12327    ///Set the value of `ghz_5g`
12328    #[inline]
12329    pub fn set_ghz_5g(&mut self, value: u32) -> &mut Self {
12330        self.r#ghz_5g = value.into();
12331        self
12332    }
12333    ///Builder method that sets the value of `ghz_5g`. Useful for initializing the message.
12334    #[inline]
12335    pub fn init_ghz_5g(mut self, value: u32) -> Self {
12336        self.r#ghz_5g = value.into();
12337        self
12338    }
12339}
12340impl ::micropb::MessageDecode for r#wifi_bandwidths {
12341    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
12342        &mut self,
12343        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
12344        len: usize,
12345    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
12346        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
12347        let before = decoder.bytes_read();
12348        while decoder.bytes_read() - before < len {
12349            let tag = decoder.decode_tag()?;
12350            match tag.field_num() {
12351                0 => return Err(::micropb::DecodeError::ZeroField),
12352                1u32 => {
12353                    let mut_ref = &mut self.r#ghz_2g;
12354                    {
12355                        let val = decoder.decode_varint32()?;
12356                        let val_ref = &val;
12357                        if *val_ref != 0 {
12358                            *mut_ref = val as _;
12359                        }
12360                    };
12361                }
12362                2u32 => {
12363                    let mut_ref = &mut self.r#ghz_5g;
12364                    {
12365                        let val = decoder.decode_varint32()?;
12366                        let val_ref = &val;
12367                        if *val_ref != 0 {
12368                            *mut_ref = val as _;
12369                        }
12370                    };
12371                }
12372                _ => {
12373                    decoder.skip_wire_value(tag.wire_type())?;
12374                }
12375            }
12376        }
12377        Ok(())
12378    }
12379}
12380impl ::micropb::MessageEncode for r#wifi_bandwidths {
12381    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
12382        let mut max_size = 0;
12383        if let ::core::option::Option::Some(size) =
12384            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
12385        {
12386            max_size += size;
12387        } else {
12388            break 'msg (::core::option::Option::<usize>::None);
12389        };
12390        if let ::core::option::Option::Some(size) =
12391            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
12392        {
12393            max_size += size;
12394        } else {
12395            break 'msg (::core::option::Option::<usize>::None);
12396        };
12397        ::core::option::Option::Some(max_size)
12398    };
12399    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
12400        &self,
12401        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
12402    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
12403        use ::micropb::{FieldEncode, PbMap};
12404        {
12405            let val_ref = &self.r#ghz_2g;
12406            if *val_ref != 0 {
12407                encoder.encode_varint32(8u32)?;
12408                encoder.encode_varint32(*val_ref as _)?;
12409            }
12410        }
12411        {
12412            let val_ref = &self.r#ghz_5g;
12413            if *val_ref != 0 {
12414                encoder.encode_varint32(16u32)?;
12415                encoder.encode_varint32(*val_ref as _)?;
12416            }
12417        }
12418        Ok(())
12419    }
12420    fn compute_size(&self) -> usize {
12421        use ::micropb::{FieldEncode, PbMap};
12422        let mut size = 0;
12423        {
12424            let val_ref = &self.r#ghz_2g;
12425            if *val_ref != 0 {
12426                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
12427            }
12428        }
12429        {
12430            let val_ref = &self.r#ghz_5g;
12431            if *val_ref != 0 {
12432                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
12433            }
12434        }
12435        size
12436    }
12437}
12438#[derive(Debug, Default, PartialEq, Clone)]
12439pub struct ConnectedSTAList {
12440    pub r#mac: ::micropb::heapless::Vec<u8, 16>,
12441    pub r#rssi: i32,
12442}
12443impl ConnectedSTAList {
12444    ///Return a reference to `mac`
12445    #[inline]
12446    pub fn r#mac(&self) -> &::micropb::heapless::Vec<u8, 16> {
12447        &self.r#mac
12448    }
12449    ///Return a mutable reference to `mac`
12450    #[inline]
12451    pub fn mut_mac(&mut self) -> &mut ::micropb::heapless::Vec<u8, 16> {
12452        &mut self.r#mac
12453    }
12454    ///Set the value of `mac`
12455    #[inline]
12456    pub fn set_mac(&mut self, value: ::micropb::heapless::Vec<u8, 16>) -> &mut Self {
12457        self.r#mac = value.into();
12458        self
12459    }
12460    ///Builder method that sets the value of `mac`. Useful for initializing the message.
12461    #[inline]
12462    pub fn init_mac(mut self, value: ::micropb::heapless::Vec<u8, 16>) -> Self {
12463        self.r#mac = value.into();
12464        self
12465    }
12466    ///Return a reference to `rssi`
12467    #[inline]
12468    pub fn r#rssi(&self) -> &i32 {
12469        &self.r#rssi
12470    }
12471    ///Return a mutable reference to `rssi`
12472    #[inline]
12473    pub fn mut_rssi(&mut self) -> &mut i32 {
12474        &mut self.r#rssi
12475    }
12476    ///Set the value of `rssi`
12477    #[inline]
12478    pub fn set_rssi(&mut self, value: i32) -> &mut Self {
12479        self.r#rssi = value.into();
12480        self
12481    }
12482    ///Builder method that sets the value of `rssi`. Useful for initializing the message.
12483    #[inline]
12484    pub fn init_rssi(mut self, value: i32) -> Self {
12485        self.r#rssi = value.into();
12486        self
12487    }
12488}
12489impl ::micropb::MessageDecode for ConnectedSTAList {
12490    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
12491        &mut self,
12492        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
12493        len: usize,
12494    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
12495        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
12496        let before = decoder.bytes_read();
12497        while decoder.bytes_read() - before < len {
12498            let tag = decoder.decode_tag()?;
12499            match tag.field_num() {
12500                0 => return Err(::micropb::DecodeError::ZeroField),
12501                1u32 => {
12502                    let mut_ref = &mut self.r#mac;
12503                    {
12504                        decoder.decode_bytes(mut_ref, ::micropb::Presence::Implicit)?;
12505                    };
12506                }
12507                2u32 => {
12508                    let mut_ref = &mut self.r#rssi;
12509                    {
12510                        let val = decoder.decode_int32()?;
12511                        let val_ref = &val;
12512                        if *val_ref != 0 {
12513                            *mut_ref = val as _;
12514                        }
12515                    };
12516                }
12517                _ => {
12518                    decoder.skip_wire_value(tag.wire_type())?;
12519                }
12520            }
12521        }
12522        Ok(())
12523    }
12524}
12525impl ::micropb::MessageEncode for ConnectedSTAList {
12526    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
12527        let mut max_size = 0;
12528        if let ::core::option::Option::Some(size) =
12529            ::micropb::const_map!(::core::option::Option::Some(17usize), |size| size + 1usize)
12530        {
12531            max_size += size;
12532        } else {
12533            break 'msg (::core::option::Option::<usize>::None);
12534        };
12535        if let ::core::option::Option::Some(size) =
12536            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
12537        {
12538            max_size += size;
12539        } else {
12540            break 'msg (::core::option::Option::<usize>::None);
12541        };
12542        ::core::option::Option::Some(max_size)
12543    };
12544    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
12545        &self,
12546        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
12547    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
12548        use ::micropb::{FieldEncode, PbMap};
12549        {
12550            let val_ref = &self.r#mac;
12551            if !val_ref.is_empty() {
12552                encoder.encode_varint32(10u32)?;
12553                encoder.encode_bytes(val_ref)?;
12554            }
12555        }
12556        {
12557            let val_ref = &self.r#rssi;
12558            if *val_ref != 0 {
12559                encoder.encode_varint32(16u32)?;
12560                encoder.encode_int32(*val_ref as _)?;
12561            }
12562        }
12563        Ok(())
12564    }
12565    fn compute_size(&self) -> usize {
12566        use ::micropb::{FieldEncode, PbMap};
12567        let mut size = 0;
12568        {
12569            let val_ref = &self.r#mac;
12570            if !val_ref.is_empty() {
12571                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.len());
12572            }
12573        }
12574        {
12575            let val_ref = &self.r#rssi;
12576            if *val_ref != 0 {
12577                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
12578            }
12579        }
12580        size
12581    }
12582}
12583#[derive(Debug, Default, PartialEq, Clone)]
12584pub struct Rpc_Req_GetMacAddress {
12585    pub r#mode: i32,
12586}
12587impl Rpc_Req_GetMacAddress {
12588    ///Return a reference to `mode`
12589    #[inline]
12590    pub fn r#mode(&self) -> &i32 {
12591        &self.r#mode
12592    }
12593    ///Return a mutable reference to `mode`
12594    #[inline]
12595    pub fn mut_mode(&mut self) -> &mut i32 {
12596        &mut self.r#mode
12597    }
12598    ///Set the value of `mode`
12599    #[inline]
12600    pub fn set_mode(&mut self, value: i32) -> &mut Self {
12601        self.r#mode = value.into();
12602        self
12603    }
12604    ///Builder method that sets the value of `mode`. Useful for initializing the message.
12605    #[inline]
12606    pub fn init_mode(mut self, value: i32) -> Self {
12607        self.r#mode = value.into();
12608        self
12609    }
12610}
12611impl ::micropb::MessageDecode for Rpc_Req_GetMacAddress {
12612    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
12613        &mut self,
12614        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
12615        len: usize,
12616    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
12617        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
12618        let before = decoder.bytes_read();
12619        while decoder.bytes_read() - before < len {
12620            let tag = decoder.decode_tag()?;
12621            match tag.field_num() {
12622                0 => return Err(::micropb::DecodeError::ZeroField),
12623                1u32 => {
12624                    let mut_ref = &mut self.r#mode;
12625                    {
12626                        let val = decoder.decode_int32()?;
12627                        let val_ref = &val;
12628                        if *val_ref != 0 {
12629                            *mut_ref = val as _;
12630                        }
12631                    };
12632                }
12633                _ => {
12634                    decoder.skip_wire_value(tag.wire_type())?;
12635                }
12636            }
12637        }
12638        Ok(())
12639    }
12640}
12641impl ::micropb::MessageEncode for Rpc_Req_GetMacAddress {
12642    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
12643        let mut max_size = 0;
12644        if let ::core::option::Option::Some(size) =
12645            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
12646        {
12647            max_size += size;
12648        } else {
12649            break 'msg (::core::option::Option::<usize>::None);
12650        };
12651        ::core::option::Option::Some(max_size)
12652    };
12653    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
12654        &self,
12655        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
12656    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
12657        use ::micropb::{FieldEncode, PbMap};
12658        {
12659            let val_ref = &self.r#mode;
12660            if *val_ref != 0 {
12661                encoder.encode_varint32(8u32)?;
12662                encoder.encode_int32(*val_ref as _)?;
12663            }
12664        }
12665        Ok(())
12666    }
12667    fn compute_size(&self) -> usize {
12668        use ::micropb::{FieldEncode, PbMap};
12669        let mut size = 0;
12670        {
12671            let val_ref = &self.r#mode;
12672            if *val_ref != 0 {
12673                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
12674            }
12675        }
12676        size
12677    }
12678}
12679#[derive(Debug, Default, PartialEq, Clone)]
12680pub struct Rpc_Resp_GetMacAddress {
12681    pub r#mac: ::micropb::heapless::Vec<u8, 6>,
12682    pub r#resp: i32,
12683}
12684impl Rpc_Resp_GetMacAddress {
12685    ///Return a reference to `mac`
12686    #[inline]
12687    pub fn r#mac(&self) -> &::micropb::heapless::Vec<u8, 6> {
12688        &self.r#mac
12689    }
12690    ///Return a mutable reference to `mac`
12691    #[inline]
12692    pub fn mut_mac(&mut self) -> &mut ::micropb::heapless::Vec<u8, 6> {
12693        &mut self.r#mac
12694    }
12695    ///Set the value of `mac`
12696    #[inline]
12697    pub fn set_mac(&mut self, value: ::micropb::heapless::Vec<u8, 6>) -> &mut Self {
12698        self.r#mac = value.into();
12699        self
12700    }
12701    ///Builder method that sets the value of `mac`. Useful for initializing the message.
12702    #[inline]
12703    pub fn init_mac(mut self, value: ::micropb::heapless::Vec<u8, 6>) -> Self {
12704        self.r#mac = value.into();
12705        self
12706    }
12707    ///Return a reference to `resp`
12708    #[inline]
12709    pub fn r#resp(&self) -> &i32 {
12710        &self.r#resp
12711    }
12712    ///Return a mutable reference to `resp`
12713    #[inline]
12714    pub fn mut_resp(&mut self) -> &mut i32 {
12715        &mut self.r#resp
12716    }
12717    ///Set the value of `resp`
12718    #[inline]
12719    pub fn set_resp(&mut self, value: i32) -> &mut Self {
12720        self.r#resp = value.into();
12721        self
12722    }
12723    ///Builder method that sets the value of `resp`. Useful for initializing the message.
12724    #[inline]
12725    pub fn init_resp(mut self, value: i32) -> Self {
12726        self.r#resp = value.into();
12727        self
12728    }
12729}
12730impl ::micropb::MessageDecode for Rpc_Resp_GetMacAddress {
12731    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
12732        &mut self,
12733        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
12734        len: usize,
12735    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
12736        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
12737        let before = decoder.bytes_read();
12738        while decoder.bytes_read() - before < len {
12739            let tag = decoder.decode_tag()?;
12740            match tag.field_num() {
12741                0 => return Err(::micropb::DecodeError::ZeroField),
12742                1u32 => {
12743                    let mut_ref = &mut self.r#mac;
12744                    {
12745                        decoder.decode_bytes(mut_ref, ::micropb::Presence::Implicit)?;
12746                    };
12747                }
12748                2u32 => {
12749                    let mut_ref = &mut self.r#resp;
12750                    {
12751                        let val = decoder.decode_int32()?;
12752                        let val_ref = &val;
12753                        if *val_ref != 0 {
12754                            *mut_ref = val as _;
12755                        }
12756                    };
12757                }
12758                _ => {
12759                    decoder.skip_wire_value(tag.wire_type())?;
12760                }
12761            }
12762        }
12763        Ok(())
12764    }
12765}
12766impl ::micropb::MessageEncode for Rpc_Resp_GetMacAddress {
12767    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
12768        let mut max_size = 0;
12769        if let ::core::option::Option::Some(size) =
12770            ::micropb::const_map!(::core::option::Option::Some(7usize), |size| size + 1usize)
12771        {
12772            max_size += size;
12773        } else {
12774            break 'msg (::core::option::Option::<usize>::None);
12775        };
12776        if let ::core::option::Option::Some(size) =
12777            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
12778        {
12779            max_size += size;
12780        } else {
12781            break 'msg (::core::option::Option::<usize>::None);
12782        };
12783        ::core::option::Option::Some(max_size)
12784    };
12785    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
12786        &self,
12787        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
12788    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
12789        use ::micropb::{FieldEncode, PbMap};
12790        {
12791            let val_ref = &self.r#mac;
12792            if !val_ref.is_empty() {
12793                encoder.encode_varint32(10u32)?;
12794                encoder.encode_bytes(val_ref)?;
12795            }
12796        }
12797        {
12798            let val_ref = &self.r#resp;
12799            if *val_ref != 0 {
12800                encoder.encode_varint32(16u32)?;
12801                encoder.encode_int32(*val_ref as _)?;
12802            }
12803        }
12804        Ok(())
12805    }
12806    fn compute_size(&self) -> usize {
12807        use ::micropb::{FieldEncode, PbMap};
12808        let mut size = 0;
12809        {
12810            let val_ref = &self.r#mac;
12811            if !val_ref.is_empty() {
12812                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.len());
12813            }
12814        }
12815        {
12816            let val_ref = &self.r#resp;
12817            if *val_ref != 0 {
12818                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
12819            }
12820        }
12821        size
12822    }
12823}
12824#[derive(Debug, Default, PartialEq, Clone)]
12825pub struct Rpc_Req_GetMode {}
12826impl Rpc_Req_GetMode {}
12827impl ::micropb::MessageDecode for Rpc_Req_GetMode {
12828    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
12829        &mut self,
12830        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
12831        len: usize,
12832    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
12833        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
12834        let before = decoder.bytes_read();
12835        while decoder.bytes_read() - before < len {
12836            let tag = decoder.decode_tag()?;
12837            match tag.field_num() {
12838                0 => return Err(::micropb::DecodeError::ZeroField),
12839                _ => {
12840                    decoder.skip_wire_value(tag.wire_type())?;
12841                }
12842            }
12843        }
12844        Ok(())
12845    }
12846}
12847impl ::micropb::MessageEncode for Rpc_Req_GetMode {
12848    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
12849        let mut max_size = 0;
12850        ::core::option::Option::Some(max_size)
12851    };
12852    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
12853        &self,
12854        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
12855    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
12856        use ::micropb::{FieldEncode, PbMap};
12857        Ok(())
12858    }
12859    fn compute_size(&self) -> usize {
12860        use ::micropb::{FieldEncode, PbMap};
12861        let mut size = 0;
12862        size
12863    }
12864}
12865#[derive(Debug, Default, PartialEq, Clone)]
12866pub struct Rpc_Resp_GetMode {
12867    pub r#mode: i32,
12868    pub r#resp: i32,
12869}
12870impl Rpc_Resp_GetMode {
12871    ///Return a reference to `mode`
12872    #[inline]
12873    pub fn r#mode(&self) -> &i32 {
12874        &self.r#mode
12875    }
12876    ///Return a mutable reference to `mode`
12877    #[inline]
12878    pub fn mut_mode(&mut self) -> &mut i32 {
12879        &mut self.r#mode
12880    }
12881    ///Set the value of `mode`
12882    #[inline]
12883    pub fn set_mode(&mut self, value: i32) -> &mut Self {
12884        self.r#mode = value.into();
12885        self
12886    }
12887    ///Builder method that sets the value of `mode`. Useful for initializing the message.
12888    #[inline]
12889    pub fn init_mode(mut self, value: i32) -> Self {
12890        self.r#mode = value.into();
12891        self
12892    }
12893    ///Return a reference to `resp`
12894    #[inline]
12895    pub fn r#resp(&self) -> &i32 {
12896        &self.r#resp
12897    }
12898    ///Return a mutable reference to `resp`
12899    #[inline]
12900    pub fn mut_resp(&mut self) -> &mut i32 {
12901        &mut self.r#resp
12902    }
12903    ///Set the value of `resp`
12904    #[inline]
12905    pub fn set_resp(&mut self, value: i32) -> &mut Self {
12906        self.r#resp = value.into();
12907        self
12908    }
12909    ///Builder method that sets the value of `resp`. Useful for initializing the message.
12910    #[inline]
12911    pub fn init_resp(mut self, value: i32) -> Self {
12912        self.r#resp = value.into();
12913        self
12914    }
12915}
12916impl ::micropb::MessageDecode for Rpc_Resp_GetMode {
12917    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
12918        &mut self,
12919        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
12920        len: usize,
12921    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
12922        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
12923        let before = decoder.bytes_read();
12924        while decoder.bytes_read() - before < len {
12925            let tag = decoder.decode_tag()?;
12926            match tag.field_num() {
12927                0 => return Err(::micropb::DecodeError::ZeroField),
12928                1u32 => {
12929                    let mut_ref = &mut self.r#mode;
12930                    {
12931                        let val = decoder.decode_int32()?;
12932                        let val_ref = &val;
12933                        if *val_ref != 0 {
12934                            *mut_ref = val as _;
12935                        }
12936                    };
12937                }
12938                2u32 => {
12939                    let mut_ref = &mut self.r#resp;
12940                    {
12941                        let val = decoder.decode_int32()?;
12942                        let val_ref = &val;
12943                        if *val_ref != 0 {
12944                            *mut_ref = val as _;
12945                        }
12946                    };
12947                }
12948                _ => {
12949                    decoder.skip_wire_value(tag.wire_type())?;
12950                }
12951            }
12952        }
12953        Ok(())
12954    }
12955}
12956impl ::micropb::MessageEncode for Rpc_Resp_GetMode {
12957    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
12958        let mut max_size = 0;
12959        if let ::core::option::Option::Some(size) =
12960            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
12961        {
12962            max_size += size;
12963        } else {
12964            break 'msg (::core::option::Option::<usize>::None);
12965        };
12966        if let ::core::option::Option::Some(size) =
12967            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
12968        {
12969            max_size += size;
12970        } else {
12971            break 'msg (::core::option::Option::<usize>::None);
12972        };
12973        ::core::option::Option::Some(max_size)
12974    };
12975    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
12976        &self,
12977        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
12978    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
12979        use ::micropb::{FieldEncode, PbMap};
12980        {
12981            let val_ref = &self.r#mode;
12982            if *val_ref != 0 {
12983                encoder.encode_varint32(8u32)?;
12984                encoder.encode_int32(*val_ref as _)?;
12985            }
12986        }
12987        {
12988            let val_ref = &self.r#resp;
12989            if *val_ref != 0 {
12990                encoder.encode_varint32(16u32)?;
12991                encoder.encode_int32(*val_ref as _)?;
12992            }
12993        }
12994        Ok(())
12995    }
12996    fn compute_size(&self) -> usize {
12997        use ::micropb::{FieldEncode, PbMap};
12998        let mut size = 0;
12999        {
13000            let val_ref = &self.r#mode;
13001            if *val_ref != 0 {
13002                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
13003            }
13004        }
13005        {
13006            let val_ref = &self.r#resp;
13007            if *val_ref != 0 {
13008                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
13009            }
13010        }
13011        size
13012    }
13013}
13014#[derive(Debug, Default, PartialEq, Clone)]
13015pub struct Rpc_Req_SetMode {
13016    pub r#mode: i32,
13017}
13018impl Rpc_Req_SetMode {
13019    ///Return a reference to `mode`
13020    #[inline]
13021    pub fn r#mode(&self) -> &i32 {
13022        &self.r#mode
13023    }
13024    ///Return a mutable reference to `mode`
13025    #[inline]
13026    pub fn mut_mode(&mut self) -> &mut i32 {
13027        &mut self.r#mode
13028    }
13029    ///Set the value of `mode`
13030    #[inline]
13031    pub fn set_mode(&mut self, value: i32) -> &mut Self {
13032        self.r#mode = value.into();
13033        self
13034    }
13035    ///Builder method that sets the value of `mode`. Useful for initializing the message.
13036    #[inline]
13037    pub fn init_mode(mut self, value: i32) -> Self {
13038        self.r#mode = value.into();
13039        self
13040    }
13041}
13042impl ::micropb::MessageDecode for Rpc_Req_SetMode {
13043    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
13044        &mut self,
13045        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
13046        len: usize,
13047    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
13048        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
13049        let before = decoder.bytes_read();
13050        while decoder.bytes_read() - before < len {
13051            let tag = decoder.decode_tag()?;
13052            match tag.field_num() {
13053                0 => return Err(::micropb::DecodeError::ZeroField),
13054                1u32 => {
13055                    let mut_ref = &mut self.r#mode;
13056                    {
13057                        let val = decoder.decode_int32()?;
13058                        let val_ref = &val;
13059                        if *val_ref != 0 {
13060                            *mut_ref = val as _;
13061                        }
13062                    };
13063                }
13064                _ => {
13065                    decoder.skip_wire_value(tag.wire_type())?;
13066                }
13067            }
13068        }
13069        Ok(())
13070    }
13071}
13072impl ::micropb::MessageEncode for Rpc_Req_SetMode {
13073    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
13074        let mut max_size = 0;
13075        if let ::core::option::Option::Some(size) =
13076            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
13077        {
13078            max_size += size;
13079        } else {
13080            break 'msg (::core::option::Option::<usize>::None);
13081        };
13082        ::core::option::Option::Some(max_size)
13083    };
13084    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
13085        &self,
13086        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
13087    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
13088        use ::micropb::{FieldEncode, PbMap};
13089        {
13090            let val_ref = &self.r#mode;
13091            if *val_ref != 0 {
13092                encoder.encode_varint32(8u32)?;
13093                encoder.encode_int32(*val_ref as _)?;
13094            }
13095        }
13096        Ok(())
13097    }
13098    fn compute_size(&self) -> usize {
13099        use ::micropb::{FieldEncode, PbMap};
13100        let mut size = 0;
13101        {
13102            let val_ref = &self.r#mode;
13103            if *val_ref != 0 {
13104                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
13105            }
13106        }
13107        size
13108    }
13109}
13110#[derive(Debug, Default, PartialEq, Clone)]
13111pub struct Rpc_Resp_SetMode {
13112    pub r#resp: i32,
13113}
13114impl Rpc_Resp_SetMode {
13115    ///Return a reference to `resp`
13116    #[inline]
13117    pub fn r#resp(&self) -> &i32 {
13118        &self.r#resp
13119    }
13120    ///Return a mutable reference to `resp`
13121    #[inline]
13122    pub fn mut_resp(&mut self) -> &mut i32 {
13123        &mut self.r#resp
13124    }
13125    ///Set the value of `resp`
13126    #[inline]
13127    pub fn set_resp(&mut self, value: i32) -> &mut Self {
13128        self.r#resp = value.into();
13129        self
13130    }
13131    ///Builder method that sets the value of `resp`. Useful for initializing the message.
13132    #[inline]
13133    pub fn init_resp(mut self, value: i32) -> Self {
13134        self.r#resp = value.into();
13135        self
13136    }
13137}
13138impl ::micropb::MessageDecode for Rpc_Resp_SetMode {
13139    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
13140        &mut self,
13141        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
13142        len: usize,
13143    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
13144        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
13145        let before = decoder.bytes_read();
13146        while decoder.bytes_read() - before < len {
13147            let tag = decoder.decode_tag()?;
13148            match tag.field_num() {
13149                0 => return Err(::micropb::DecodeError::ZeroField),
13150                1u32 => {
13151                    let mut_ref = &mut self.r#resp;
13152                    {
13153                        let val = decoder.decode_int32()?;
13154                        let val_ref = &val;
13155                        if *val_ref != 0 {
13156                            *mut_ref = val as _;
13157                        }
13158                    };
13159                }
13160                _ => {
13161                    decoder.skip_wire_value(tag.wire_type())?;
13162                }
13163            }
13164        }
13165        Ok(())
13166    }
13167}
13168impl ::micropb::MessageEncode for Rpc_Resp_SetMode {
13169    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
13170        let mut max_size = 0;
13171        if let ::core::option::Option::Some(size) =
13172            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
13173        {
13174            max_size += size;
13175        } else {
13176            break 'msg (::core::option::Option::<usize>::None);
13177        };
13178        ::core::option::Option::Some(max_size)
13179    };
13180    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
13181        &self,
13182        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
13183    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
13184        use ::micropb::{FieldEncode, PbMap};
13185        {
13186            let val_ref = &self.r#resp;
13187            if *val_ref != 0 {
13188                encoder.encode_varint32(8u32)?;
13189                encoder.encode_int32(*val_ref as _)?;
13190            }
13191        }
13192        Ok(())
13193    }
13194    fn compute_size(&self) -> usize {
13195        use ::micropb::{FieldEncode, PbMap};
13196        let mut size = 0;
13197        {
13198            let val_ref = &self.r#resp;
13199            if *val_ref != 0 {
13200                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
13201            }
13202        }
13203        size
13204    }
13205}
13206#[derive(Debug, Default, PartialEq, Clone)]
13207pub struct Rpc_Req_GetPs {}
13208impl Rpc_Req_GetPs {}
13209impl ::micropb::MessageDecode for Rpc_Req_GetPs {
13210    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
13211        &mut self,
13212        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
13213        len: usize,
13214    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
13215        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
13216        let before = decoder.bytes_read();
13217        while decoder.bytes_read() - before < len {
13218            let tag = decoder.decode_tag()?;
13219            match tag.field_num() {
13220                0 => return Err(::micropb::DecodeError::ZeroField),
13221                _ => {
13222                    decoder.skip_wire_value(tag.wire_type())?;
13223                }
13224            }
13225        }
13226        Ok(())
13227    }
13228}
13229impl ::micropb::MessageEncode for Rpc_Req_GetPs {
13230    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
13231        let mut max_size = 0;
13232        ::core::option::Option::Some(max_size)
13233    };
13234    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
13235        &self,
13236        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
13237    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
13238        use ::micropb::{FieldEncode, PbMap};
13239        Ok(())
13240    }
13241    fn compute_size(&self) -> usize {
13242        use ::micropb::{FieldEncode, PbMap};
13243        let mut size = 0;
13244        size
13245    }
13246}
13247#[derive(Debug, Default, PartialEq, Clone)]
13248pub struct Rpc_Resp_GetPs {
13249    pub r#resp: i32,
13250    pub r#type: i32,
13251}
13252impl Rpc_Resp_GetPs {
13253    ///Return a reference to `resp`
13254    #[inline]
13255    pub fn r#resp(&self) -> &i32 {
13256        &self.r#resp
13257    }
13258    ///Return a mutable reference to `resp`
13259    #[inline]
13260    pub fn mut_resp(&mut self) -> &mut i32 {
13261        &mut self.r#resp
13262    }
13263    ///Set the value of `resp`
13264    #[inline]
13265    pub fn set_resp(&mut self, value: i32) -> &mut Self {
13266        self.r#resp = value.into();
13267        self
13268    }
13269    ///Builder method that sets the value of `resp`. Useful for initializing the message.
13270    #[inline]
13271    pub fn init_resp(mut self, value: i32) -> Self {
13272        self.r#resp = value.into();
13273        self
13274    }
13275    ///Return a reference to `type`
13276    #[inline]
13277    pub fn r#type(&self) -> &i32 {
13278        &self.r#type
13279    }
13280    ///Return a mutable reference to `type`
13281    #[inline]
13282    pub fn mut_type(&mut self) -> &mut i32 {
13283        &mut self.r#type
13284    }
13285    ///Set the value of `type`
13286    #[inline]
13287    pub fn set_type(&mut self, value: i32) -> &mut Self {
13288        self.r#type = value.into();
13289        self
13290    }
13291    ///Builder method that sets the value of `type`. Useful for initializing the message.
13292    #[inline]
13293    pub fn init_type(mut self, value: i32) -> Self {
13294        self.r#type = value.into();
13295        self
13296    }
13297}
13298impl ::micropb::MessageDecode for Rpc_Resp_GetPs {
13299    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
13300        &mut self,
13301        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
13302        len: usize,
13303    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
13304        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
13305        let before = decoder.bytes_read();
13306        while decoder.bytes_read() - before < len {
13307            let tag = decoder.decode_tag()?;
13308            match tag.field_num() {
13309                0 => return Err(::micropb::DecodeError::ZeroField),
13310                1u32 => {
13311                    let mut_ref = &mut self.r#resp;
13312                    {
13313                        let val = decoder.decode_int32()?;
13314                        let val_ref = &val;
13315                        if *val_ref != 0 {
13316                            *mut_ref = val as _;
13317                        }
13318                    };
13319                }
13320                2u32 => {
13321                    let mut_ref = &mut self.r#type;
13322                    {
13323                        let val = decoder.decode_int32()?;
13324                        let val_ref = &val;
13325                        if *val_ref != 0 {
13326                            *mut_ref = val as _;
13327                        }
13328                    };
13329                }
13330                _ => {
13331                    decoder.skip_wire_value(tag.wire_type())?;
13332                }
13333            }
13334        }
13335        Ok(())
13336    }
13337}
13338impl ::micropb::MessageEncode for Rpc_Resp_GetPs {
13339    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
13340        let mut max_size = 0;
13341        if let ::core::option::Option::Some(size) =
13342            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
13343        {
13344            max_size += size;
13345        } else {
13346            break 'msg (::core::option::Option::<usize>::None);
13347        };
13348        if let ::core::option::Option::Some(size) =
13349            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
13350        {
13351            max_size += size;
13352        } else {
13353            break 'msg (::core::option::Option::<usize>::None);
13354        };
13355        ::core::option::Option::Some(max_size)
13356    };
13357    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
13358        &self,
13359        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
13360    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
13361        use ::micropb::{FieldEncode, PbMap};
13362        {
13363            let val_ref = &self.r#resp;
13364            if *val_ref != 0 {
13365                encoder.encode_varint32(8u32)?;
13366                encoder.encode_int32(*val_ref as _)?;
13367            }
13368        }
13369        {
13370            let val_ref = &self.r#type;
13371            if *val_ref != 0 {
13372                encoder.encode_varint32(16u32)?;
13373                encoder.encode_int32(*val_ref as _)?;
13374            }
13375        }
13376        Ok(())
13377    }
13378    fn compute_size(&self) -> usize {
13379        use ::micropb::{FieldEncode, PbMap};
13380        let mut size = 0;
13381        {
13382            let val_ref = &self.r#resp;
13383            if *val_ref != 0 {
13384                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
13385            }
13386        }
13387        {
13388            let val_ref = &self.r#type;
13389            if *val_ref != 0 {
13390                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
13391            }
13392        }
13393        size
13394    }
13395}
13396#[derive(Debug, Default, PartialEq, Clone)]
13397pub struct Rpc_Req_SetPs {
13398    pub r#type: i32,
13399}
13400impl Rpc_Req_SetPs {
13401    ///Return a reference to `type`
13402    #[inline]
13403    pub fn r#type(&self) -> &i32 {
13404        &self.r#type
13405    }
13406    ///Return a mutable reference to `type`
13407    #[inline]
13408    pub fn mut_type(&mut self) -> &mut i32 {
13409        &mut self.r#type
13410    }
13411    ///Set the value of `type`
13412    #[inline]
13413    pub fn set_type(&mut self, value: i32) -> &mut Self {
13414        self.r#type = value.into();
13415        self
13416    }
13417    ///Builder method that sets the value of `type`. Useful for initializing the message.
13418    #[inline]
13419    pub fn init_type(mut self, value: i32) -> Self {
13420        self.r#type = value.into();
13421        self
13422    }
13423}
13424impl ::micropb::MessageDecode for Rpc_Req_SetPs {
13425    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
13426        &mut self,
13427        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
13428        len: usize,
13429    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
13430        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
13431        let before = decoder.bytes_read();
13432        while decoder.bytes_read() - before < len {
13433            let tag = decoder.decode_tag()?;
13434            match tag.field_num() {
13435                0 => return Err(::micropb::DecodeError::ZeroField),
13436                1u32 => {
13437                    let mut_ref = &mut self.r#type;
13438                    {
13439                        let val = decoder.decode_int32()?;
13440                        let val_ref = &val;
13441                        if *val_ref != 0 {
13442                            *mut_ref = val as _;
13443                        }
13444                    };
13445                }
13446                _ => {
13447                    decoder.skip_wire_value(tag.wire_type())?;
13448                }
13449            }
13450        }
13451        Ok(())
13452    }
13453}
13454impl ::micropb::MessageEncode for Rpc_Req_SetPs {
13455    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
13456        let mut max_size = 0;
13457        if let ::core::option::Option::Some(size) =
13458            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
13459        {
13460            max_size += size;
13461        } else {
13462            break 'msg (::core::option::Option::<usize>::None);
13463        };
13464        ::core::option::Option::Some(max_size)
13465    };
13466    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
13467        &self,
13468        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
13469    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
13470        use ::micropb::{FieldEncode, PbMap};
13471        {
13472            let val_ref = &self.r#type;
13473            if *val_ref != 0 {
13474                encoder.encode_varint32(8u32)?;
13475                encoder.encode_int32(*val_ref as _)?;
13476            }
13477        }
13478        Ok(())
13479    }
13480    fn compute_size(&self) -> usize {
13481        use ::micropb::{FieldEncode, PbMap};
13482        let mut size = 0;
13483        {
13484            let val_ref = &self.r#type;
13485            if *val_ref != 0 {
13486                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
13487            }
13488        }
13489        size
13490    }
13491}
13492#[derive(Debug, Default, PartialEq, Clone)]
13493pub struct Rpc_Resp_SetPs {
13494    pub r#resp: i32,
13495}
13496impl Rpc_Resp_SetPs {
13497    ///Return a reference to `resp`
13498    #[inline]
13499    pub fn r#resp(&self) -> &i32 {
13500        &self.r#resp
13501    }
13502    ///Return a mutable reference to `resp`
13503    #[inline]
13504    pub fn mut_resp(&mut self) -> &mut i32 {
13505        &mut self.r#resp
13506    }
13507    ///Set the value of `resp`
13508    #[inline]
13509    pub fn set_resp(&mut self, value: i32) -> &mut Self {
13510        self.r#resp = value.into();
13511        self
13512    }
13513    ///Builder method that sets the value of `resp`. Useful for initializing the message.
13514    #[inline]
13515    pub fn init_resp(mut self, value: i32) -> Self {
13516        self.r#resp = value.into();
13517        self
13518    }
13519}
13520impl ::micropb::MessageDecode for Rpc_Resp_SetPs {
13521    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
13522        &mut self,
13523        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
13524        len: usize,
13525    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
13526        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
13527        let before = decoder.bytes_read();
13528        while decoder.bytes_read() - before < len {
13529            let tag = decoder.decode_tag()?;
13530            match tag.field_num() {
13531                0 => return Err(::micropb::DecodeError::ZeroField),
13532                1u32 => {
13533                    let mut_ref = &mut self.r#resp;
13534                    {
13535                        let val = decoder.decode_int32()?;
13536                        let val_ref = &val;
13537                        if *val_ref != 0 {
13538                            *mut_ref = val as _;
13539                        }
13540                    };
13541                }
13542                _ => {
13543                    decoder.skip_wire_value(tag.wire_type())?;
13544                }
13545            }
13546        }
13547        Ok(())
13548    }
13549}
13550impl ::micropb::MessageEncode for Rpc_Resp_SetPs {
13551    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
13552        let mut max_size = 0;
13553        if let ::core::option::Option::Some(size) =
13554            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
13555        {
13556            max_size += size;
13557        } else {
13558            break 'msg (::core::option::Option::<usize>::None);
13559        };
13560        ::core::option::Option::Some(max_size)
13561    };
13562    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
13563        &self,
13564        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
13565    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
13566        use ::micropb::{FieldEncode, PbMap};
13567        {
13568            let val_ref = &self.r#resp;
13569            if *val_ref != 0 {
13570                encoder.encode_varint32(8u32)?;
13571                encoder.encode_int32(*val_ref as _)?;
13572            }
13573        }
13574        Ok(())
13575    }
13576    fn compute_size(&self) -> usize {
13577        use ::micropb::{FieldEncode, PbMap};
13578        let mut size = 0;
13579        {
13580            let val_ref = &self.r#resp;
13581            if *val_ref != 0 {
13582                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
13583            }
13584        }
13585        size
13586    }
13587}
13588#[derive(Debug, Default, PartialEq, Clone)]
13589pub struct Rpc_Req_SetMacAddress {
13590    pub r#mac: ::micropb::heapless::Vec<u8, 6>,
13591    pub r#mode: i32,
13592}
13593impl Rpc_Req_SetMacAddress {
13594    ///Return a reference to `mac`
13595    #[inline]
13596    pub fn r#mac(&self) -> &::micropb::heapless::Vec<u8, 6> {
13597        &self.r#mac
13598    }
13599    ///Return a mutable reference to `mac`
13600    #[inline]
13601    pub fn mut_mac(&mut self) -> &mut ::micropb::heapless::Vec<u8, 6> {
13602        &mut self.r#mac
13603    }
13604    ///Set the value of `mac`
13605    #[inline]
13606    pub fn set_mac(&mut self, value: ::micropb::heapless::Vec<u8, 6>) -> &mut Self {
13607        self.r#mac = value.into();
13608        self
13609    }
13610    ///Builder method that sets the value of `mac`. Useful for initializing the message.
13611    #[inline]
13612    pub fn init_mac(mut self, value: ::micropb::heapless::Vec<u8, 6>) -> Self {
13613        self.r#mac = value.into();
13614        self
13615    }
13616    ///Return a reference to `mode`
13617    #[inline]
13618    pub fn r#mode(&self) -> &i32 {
13619        &self.r#mode
13620    }
13621    ///Return a mutable reference to `mode`
13622    #[inline]
13623    pub fn mut_mode(&mut self) -> &mut i32 {
13624        &mut self.r#mode
13625    }
13626    ///Set the value of `mode`
13627    #[inline]
13628    pub fn set_mode(&mut self, value: i32) -> &mut Self {
13629        self.r#mode = value.into();
13630        self
13631    }
13632    ///Builder method that sets the value of `mode`. Useful for initializing the message.
13633    #[inline]
13634    pub fn init_mode(mut self, value: i32) -> Self {
13635        self.r#mode = value.into();
13636        self
13637    }
13638}
13639impl ::micropb::MessageDecode for Rpc_Req_SetMacAddress {
13640    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
13641        &mut self,
13642        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
13643        len: usize,
13644    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
13645        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
13646        let before = decoder.bytes_read();
13647        while decoder.bytes_read() - before < len {
13648            let tag = decoder.decode_tag()?;
13649            match tag.field_num() {
13650                0 => return Err(::micropb::DecodeError::ZeroField),
13651                1u32 => {
13652                    let mut_ref = &mut self.r#mac;
13653                    {
13654                        decoder.decode_bytes(mut_ref, ::micropb::Presence::Implicit)?;
13655                    };
13656                }
13657                2u32 => {
13658                    let mut_ref = &mut self.r#mode;
13659                    {
13660                        let val = decoder.decode_int32()?;
13661                        let val_ref = &val;
13662                        if *val_ref != 0 {
13663                            *mut_ref = val as _;
13664                        }
13665                    };
13666                }
13667                _ => {
13668                    decoder.skip_wire_value(tag.wire_type())?;
13669                }
13670            }
13671        }
13672        Ok(())
13673    }
13674}
13675impl ::micropb::MessageEncode for Rpc_Req_SetMacAddress {
13676    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
13677        let mut max_size = 0;
13678        if let ::core::option::Option::Some(size) =
13679            ::micropb::const_map!(::core::option::Option::Some(7usize), |size| size + 1usize)
13680        {
13681            max_size += size;
13682        } else {
13683            break 'msg (::core::option::Option::<usize>::None);
13684        };
13685        if let ::core::option::Option::Some(size) =
13686            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
13687        {
13688            max_size += size;
13689        } else {
13690            break 'msg (::core::option::Option::<usize>::None);
13691        };
13692        ::core::option::Option::Some(max_size)
13693    };
13694    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
13695        &self,
13696        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
13697    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
13698        use ::micropb::{FieldEncode, PbMap};
13699        {
13700            let val_ref = &self.r#mac;
13701            if !val_ref.is_empty() {
13702                encoder.encode_varint32(10u32)?;
13703                encoder.encode_bytes(val_ref)?;
13704            }
13705        }
13706        {
13707            let val_ref = &self.r#mode;
13708            if *val_ref != 0 {
13709                encoder.encode_varint32(16u32)?;
13710                encoder.encode_int32(*val_ref as _)?;
13711            }
13712        }
13713        Ok(())
13714    }
13715    fn compute_size(&self) -> usize {
13716        use ::micropb::{FieldEncode, PbMap};
13717        let mut size = 0;
13718        {
13719            let val_ref = &self.r#mac;
13720            if !val_ref.is_empty() {
13721                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.len());
13722            }
13723        }
13724        {
13725            let val_ref = &self.r#mode;
13726            if *val_ref != 0 {
13727                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
13728            }
13729        }
13730        size
13731    }
13732}
13733#[derive(Debug, Default, PartialEq, Clone)]
13734pub struct Rpc_Resp_SetMacAddress {
13735    pub r#resp: i32,
13736}
13737impl Rpc_Resp_SetMacAddress {
13738    ///Return a reference to `resp`
13739    #[inline]
13740    pub fn r#resp(&self) -> &i32 {
13741        &self.r#resp
13742    }
13743    ///Return a mutable reference to `resp`
13744    #[inline]
13745    pub fn mut_resp(&mut self) -> &mut i32 {
13746        &mut self.r#resp
13747    }
13748    ///Set the value of `resp`
13749    #[inline]
13750    pub fn set_resp(&mut self, value: i32) -> &mut Self {
13751        self.r#resp = value.into();
13752        self
13753    }
13754    ///Builder method that sets the value of `resp`. Useful for initializing the message.
13755    #[inline]
13756    pub fn init_resp(mut self, value: i32) -> Self {
13757        self.r#resp = value.into();
13758        self
13759    }
13760}
13761impl ::micropb::MessageDecode for Rpc_Resp_SetMacAddress {
13762    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
13763        &mut self,
13764        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
13765        len: usize,
13766    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
13767        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
13768        let before = decoder.bytes_read();
13769        while decoder.bytes_read() - before < len {
13770            let tag = decoder.decode_tag()?;
13771            match tag.field_num() {
13772                0 => return Err(::micropb::DecodeError::ZeroField),
13773                1u32 => {
13774                    let mut_ref = &mut self.r#resp;
13775                    {
13776                        let val = decoder.decode_int32()?;
13777                        let val_ref = &val;
13778                        if *val_ref != 0 {
13779                            *mut_ref = val as _;
13780                        }
13781                    };
13782                }
13783                _ => {
13784                    decoder.skip_wire_value(tag.wire_type())?;
13785                }
13786            }
13787        }
13788        Ok(())
13789    }
13790}
13791impl ::micropb::MessageEncode for Rpc_Resp_SetMacAddress {
13792    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
13793        let mut max_size = 0;
13794        if let ::core::option::Option::Some(size) =
13795            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
13796        {
13797            max_size += size;
13798        } else {
13799            break 'msg (::core::option::Option::<usize>::None);
13800        };
13801        ::core::option::Option::Some(max_size)
13802    };
13803    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
13804        &self,
13805        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
13806    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
13807        use ::micropb::{FieldEncode, PbMap};
13808        {
13809            let val_ref = &self.r#resp;
13810            if *val_ref != 0 {
13811                encoder.encode_varint32(8u32)?;
13812                encoder.encode_int32(*val_ref as _)?;
13813            }
13814        }
13815        Ok(())
13816    }
13817    fn compute_size(&self) -> usize {
13818        use ::micropb::{FieldEncode, PbMap};
13819        let mut size = 0;
13820        {
13821            let val_ref = &self.r#resp;
13822            if *val_ref != 0 {
13823                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
13824            }
13825        }
13826        size
13827    }
13828}
13829#[derive(Debug, Default, PartialEq, Clone)]
13830pub struct Rpc_Req_OTABegin {}
13831impl Rpc_Req_OTABegin {}
13832impl ::micropb::MessageDecode for Rpc_Req_OTABegin {
13833    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
13834        &mut self,
13835        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
13836        len: usize,
13837    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
13838        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
13839        let before = decoder.bytes_read();
13840        while decoder.bytes_read() - before < len {
13841            let tag = decoder.decode_tag()?;
13842            match tag.field_num() {
13843                0 => return Err(::micropb::DecodeError::ZeroField),
13844                _ => {
13845                    decoder.skip_wire_value(tag.wire_type())?;
13846                }
13847            }
13848        }
13849        Ok(())
13850    }
13851}
13852impl ::micropb::MessageEncode for Rpc_Req_OTABegin {
13853    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
13854        let mut max_size = 0;
13855        ::core::option::Option::Some(max_size)
13856    };
13857    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
13858        &self,
13859        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
13860    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
13861        use ::micropb::{FieldEncode, PbMap};
13862        Ok(())
13863    }
13864    fn compute_size(&self) -> usize {
13865        use ::micropb::{FieldEncode, PbMap};
13866        let mut size = 0;
13867        size
13868    }
13869}
13870#[derive(Debug, Default, PartialEq, Clone)]
13871pub struct Rpc_Resp_OTABegin {
13872    pub r#resp: i32,
13873}
13874impl Rpc_Resp_OTABegin {
13875    ///Return a reference to `resp`
13876    #[inline]
13877    pub fn r#resp(&self) -> &i32 {
13878        &self.r#resp
13879    }
13880    ///Return a mutable reference to `resp`
13881    #[inline]
13882    pub fn mut_resp(&mut self) -> &mut i32 {
13883        &mut self.r#resp
13884    }
13885    ///Set the value of `resp`
13886    #[inline]
13887    pub fn set_resp(&mut self, value: i32) -> &mut Self {
13888        self.r#resp = value.into();
13889        self
13890    }
13891    ///Builder method that sets the value of `resp`. Useful for initializing the message.
13892    #[inline]
13893    pub fn init_resp(mut self, value: i32) -> Self {
13894        self.r#resp = value.into();
13895        self
13896    }
13897}
13898impl ::micropb::MessageDecode for Rpc_Resp_OTABegin {
13899    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
13900        &mut self,
13901        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
13902        len: usize,
13903    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
13904        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
13905        let before = decoder.bytes_read();
13906        while decoder.bytes_read() - before < len {
13907            let tag = decoder.decode_tag()?;
13908            match tag.field_num() {
13909                0 => return Err(::micropb::DecodeError::ZeroField),
13910                1u32 => {
13911                    let mut_ref = &mut self.r#resp;
13912                    {
13913                        let val = decoder.decode_int32()?;
13914                        let val_ref = &val;
13915                        if *val_ref != 0 {
13916                            *mut_ref = val as _;
13917                        }
13918                    };
13919                }
13920                _ => {
13921                    decoder.skip_wire_value(tag.wire_type())?;
13922                }
13923            }
13924        }
13925        Ok(())
13926    }
13927}
13928impl ::micropb::MessageEncode for Rpc_Resp_OTABegin {
13929    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
13930        let mut max_size = 0;
13931        if let ::core::option::Option::Some(size) =
13932            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
13933        {
13934            max_size += size;
13935        } else {
13936            break 'msg (::core::option::Option::<usize>::None);
13937        };
13938        ::core::option::Option::Some(max_size)
13939    };
13940    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
13941        &self,
13942        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
13943    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
13944        use ::micropb::{FieldEncode, PbMap};
13945        {
13946            let val_ref = &self.r#resp;
13947            if *val_ref != 0 {
13948                encoder.encode_varint32(8u32)?;
13949                encoder.encode_int32(*val_ref as _)?;
13950            }
13951        }
13952        Ok(())
13953    }
13954    fn compute_size(&self) -> usize {
13955        use ::micropb::{FieldEncode, PbMap};
13956        let mut size = 0;
13957        {
13958            let val_ref = &self.r#resp;
13959            if *val_ref != 0 {
13960                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
13961            }
13962        }
13963        size
13964    }
13965}
13966#[derive(Debug, Default, PartialEq, Clone)]
13967pub struct Rpc_Req_OTAWrite {
13968    pub r#ota_data: ::micropb::heapless::Vec<u8, 500>,
13969}
13970impl Rpc_Req_OTAWrite {
13971    ///Return a reference to `ota_data`
13972    #[inline]
13973    pub fn r#ota_data(&self) -> &::micropb::heapless::Vec<u8, 500> {
13974        &self.r#ota_data
13975    }
13976    ///Return a mutable reference to `ota_data`
13977    #[inline]
13978    pub fn mut_ota_data(&mut self) -> &mut ::micropb::heapless::Vec<u8, 500> {
13979        &mut self.r#ota_data
13980    }
13981    ///Set the value of `ota_data`
13982    #[inline]
13983    pub fn set_ota_data(&mut self, value: ::micropb::heapless::Vec<u8, 500>) -> &mut Self {
13984        self.r#ota_data = value.into();
13985        self
13986    }
13987    ///Builder method that sets the value of `ota_data`. Useful for initializing the message.
13988    #[inline]
13989    pub fn init_ota_data(mut self, value: ::micropb::heapless::Vec<u8, 500>) -> Self {
13990        self.r#ota_data = value.into();
13991        self
13992    }
13993}
13994impl ::micropb::MessageDecode for Rpc_Req_OTAWrite {
13995    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
13996        &mut self,
13997        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
13998        len: usize,
13999    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
14000        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
14001        let before = decoder.bytes_read();
14002        while decoder.bytes_read() - before < len {
14003            let tag = decoder.decode_tag()?;
14004            match tag.field_num() {
14005                0 => return Err(::micropb::DecodeError::ZeroField),
14006                1u32 => {
14007                    let mut_ref = &mut self.r#ota_data;
14008                    {
14009                        decoder.decode_bytes(mut_ref, ::micropb::Presence::Implicit)?;
14010                    };
14011                }
14012                _ => {
14013                    decoder.skip_wire_value(tag.wire_type())?;
14014                }
14015            }
14016        }
14017        Ok(())
14018    }
14019}
14020impl ::micropb::MessageEncode for Rpc_Req_OTAWrite {
14021    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
14022        let mut max_size = 0;
14023        if let ::core::option::Option::Some(size) =
14024            ::micropb::const_map!(::core::option::Option::Some(502usize), |size| size + 1usize)
14025        {
14026            max_size += size;
14027        } else {
14028            break 'msg (::core::option::Option::<usize>::None);
14029        };
14030        ::core::option::Option::Some(max_size)
14031    };
14032    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
14033        &self,
14034        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
14035    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
14036        use ::micropb::{FieldEncode, PbMap};
14037        {
14038            let val_ref = &self.r#ota_data;
14039            if !val_ref.is_empty() {
14040                encoder.encode_varint32(10u32)?;
14041                encoder.encode_bytes(val_ref)?;
14042            }
14043        }
14044        Ok(())
14045    }
14046    fn compute_size(&self) -> usize {
14047        use ::micropb::{FieldEncode, PbMap};
14048        let mut size = 0;
14049        {
14050            let val_ref = &self.r#ota_data;
14051            if !val_ref.is_empty() {
14052                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.len());
14053            }
14054        }
14055        size
14056    }
14057}
14058#[derive(Debug, Default, PartialEq, Clone)]
14059pub struct Rpc_Resp_OTAWrite {
14060    pub r#resp: i32,
14061}
14062impl Rpc_Resp_OTAWrite {
14063    ///Return a reference to `resp`
14064    #[inline]
14065    pub fn r#resp(&self) -> &i32 {
14066        &self.r#resp
14067    }
14068    ///Return a mutable reference to `resp`
14069    #[inline]
14070    pub fn mut_resp(&mut self) -> &mut i32 {
14071        &mut self.r#resp
14072    }
14073    ///Set the value of `resp`
14074    #[inline]
14075    pub fn set_resp(&mut self, value: i32) -> &mut Self {
14076        self.r#resp = value.into();
14077        self
14078    }
14079    ///Builder method that sets the value of `resp`. Useful for initializing the message.
14080    #[inline]
14081    pub fn init_resp(mut self, value: i32) -> Self {
14082        self.r#resp = value.into();
14083        self
14084    }
14085}
14086impl ::micropb::MessageDecode for Rpc_Resp_OTAWrite {
14087    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
14088        &mut self,
14089        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
14090        len: usize,
14091    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
14092        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
14093        let before = decoder.bytes_read();
14094        while decoder.bytes_read() - before < len {
14095            let tag = decoder.decode_tag()?;
14096            match tag.field_num() {
14097                0 => return Err(::micropb::DecodeError::ZeroField),
14098                1u32 => {
14099                    let mut_ref = &mut self.r#resp;
14100                    {
14101                        let val = decoder.decode_int32()?;
14102                        let val_ref = &val;
14103                        if *val_ref != 0 {
14104                            *mut_ref = val as _;
14105                        }
14106                    };
14107                }
14108                _ => {
14109                    decoder.skip_wire_value(tag.wire_type())?;
14110                }
14111            }
14112        }
14113        Ok(())
14114    }
14115}
14116impl ::micropb::MessageEncode for Rpc_Resp_OTAWrite {
14117    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
14118        let mut max_size = 0;
14119        if let ::core::option::Option::Some(size) =
14120            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
14121        {
14122            max_size += size;
14123        } else {
14124            break 'msg (::core::option::Option::<usize>::None);
14125        };
14126        ::core::option::Option::Some(max_size)
14127    };
14128    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
14129        &self,
14130        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
14131    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
14132        use ::micropb::{FieldEncode, PbMap};
14133        {
14134            let val_ref = &self.r#resp;
14135            if *val_ref != 0 {
14136                encoder.encode_varint32(8u32)?;
14137                encoder.encode_int32(*val_ref as _)?;
14138            }
14139        }
14140        Ok(())
14141    }
14142    fn compute_size(&self) -> usize {
14143        use ::micropb::{FieldEncode, PbMap};
14144        let mut size = 0;
14145        {
14146            let val_ref = &self.r#resp;
14147            if *val_ref != 0 {
14148                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
14149            }
14150        }
14151        size
14152    }
14153}
14154#[derive(Debug, Default, PartialEq, Clone)]
14155pub struct Rpc_Req_OTAEnd {}
14156impl Rpc_Req_OTAEnd {}
14157impl ::micropb::MessageDecode for Rpc_Req_OTAEnd {
14158    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
14159        &mut self,
14160        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
14161        len: usize,
14162    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
14163        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
14164        let before = decoder.bytes_read();
14165        while decoder.bytes_read() - before < len {
14166            let tag = decoder.decode_tag()?;
14167            match tag.field_num() {
14168                0 => return Err(::micropb::DecodeError::ZeroField),
14169                _ => {
14170                    decoder.skip_wire_value(tag.wire_type())?;
14171                }
14172            }
14173        }
14174        Ok(())
14175    }
14176}
14177impl ::micropb::MessageEncode for Rpc_Req_OTAEnd {
14178    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
14179        let mut max_size = 0;
14180        ::core::option::Option::Some(max_size)
14181    };
14182    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
14183        &self,
14184        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
14185    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
14186        use ::micropb::{FieldEncode, PbMap};
14187        Ok(())
14188    }
14189    fn compute_size(&self) -> usize {
14190        use ::micropb::{FieldEncode, PbMap};
14191        let mut size = 0;
14192        size
14193    }
14194}
14195#[derive(Debug, Default, PartialEq, Clone)]
14196pub struct Rpc_Resp_OTAEnd {
14197    pub r#resp: i32,
14198}
14199impl Rpc_Resp_OTAEnd {
14200    ///Return a reference to `resp`
14201    #[inline]
14202    pub fn r#resp(&self) -> &i32 {
14203        &self.r#resp
14204    }
14205    ///Return a mutable reference to `resp`
14206    #[inline]
14207    pub fn mut_resp(&mut self) -> &mut i32 {
14208        &mut self.r#resp
14209    }
14210    ///Set the value of `resp`
14211    #[inline]
14212    pub fn set_resp(&mut self, value: i32) -> &mut Self {
14213        self.r#resp = value.into();
14214        self
14215    }
14216    ///Builder method that sets the value of `resp`. Useful for initializing the message.
14217    #[inline]
14218    pub fn init_resp(mut self, value: i32) -> Self {
14219        self.r#resp = value.into();
14220        self
14221    }
14222}
14223impl ::micropb::MessageDecode for Rpc_Resp_OTAEnd {
14224    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
14225        &mut self,
14226        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
14227        len: usize,
14228    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
14229        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
14230        let before = decoder.bytes_read();
14231        while decoder.bytes_read() - before < len {
14232            let tag = decoder.decode_tag()?;
14233            match tag.field_num() {
14234                0 => return Err(::micropb::DecodeError::ZeroField),
14235                1u32 => {
14236                    let mut_ref = &mut self.r#resp;
14237                    {
14238                        let val = decoder.decode_int32()?;
14239                        let val_ref = &val;
14240                        if *val_ref != 0 {
14241                            *mut_ref = val as _;
14242                        }
14243                    };
14244                }
14245                _ => {
14246                    decoder.skip_wire_value(tag.wire_type())?;
14247                }
14248            }
14249        }
14250        Ok(())
14251    }
14252}
14253impl ::micropb::MessageEncode for Rpc_Resp_OTAEnd {
14254    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
14255        let mut max_size = 0;
14256        if let ::core::option::Option::Some(size) =
14257            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
14258        {
14259            max_size += size;
14260        } else {
14261            break 'msg (::core::option::Option::<usize>::None);
14262        };
14263        ::core::option::Option::Some(max_size)
14264    };
14265    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
14266        &self,
14267        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
14268    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
14269        use ::micropb::{FieldEncode, PbMap};
14270        {
14271            let val_ref = &self.r#resp;
14272            if *val_ref != 0 {
14273                encoder.encode_varint32(8u32)?;
14274                encoder.encode_int32(*val_ref as _)?;
14275            }
14276        }
14277        Ok(())
14278    }
14279    fn compute_size(&self) -> usize {
14280        use ::micropb::{FieldEncode, PbMap};
14281        let mut size = 0;
14282        {
14283            let val_ref = &self.r#resp;
14284            if *val_ref != 0 {
14285                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
14286            }
14287        }
14288        size
14289    }
14290}
14291#[derive(Debug, Default, PartialEq, Clone)]
14292pub struct Rpc_Req_WifiSetMaxTxPower {
14293    pub r#power: i32,
14294}
14295impl Rpc_Req_WifiSetMaxTxPower {
14296    ///Return a reference to `power`
14297    #[inline]
14298    pub fn r#power(&self) -> &i32 {
14299        &self.r#power
14300    }
14301    ///Return a mutable reference to `power`
14302    #[inline]
14303    pub fn mut_power(&mut self) -> &mut i32 {
14304        &mut self.r#power
14305    }
14306    ///Set the value of `power`
14307    #[inline]
14308    pub fn set_power(&mut self, value: i32) -> &mut Self {
14309        self.r#power = value.into();
14310        self
14311    }
14312    ///Builder method that sets the value of `power`. Useful for initializing the message.
14313    #[inline]
14314    pub fn init_power(mut self, value: i32) -> Self {
14315        self.r#power = value.into();
14316        self
14317    }
14318}
14319impl ::micropb::MessageDecode for Rpc_Req_WifiSetMaxTxPower {
14320    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
14321        &mut self,
14322        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
14323        len: usize,
14324    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
14325        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
14326        let before = decoder.bytes_read();
14327        while decoder.bytes_read() - before < len {
14328            let tag = decoder.decode_tag()?;
14329            match tag.field_num() {
14330                0 => return Err(::micropb::DecodeError::ZeroField),
14331                1u32 => {
14332                    let mut_ref = &mut self.r#power;
14333                    {
14334                        let val = decoder.decode_int32()?;
14335                        let val_ref = &val;
14336                        if *val_ref != 0 {
14337                            *mut_ref = val as _;
14338                        }
14339                    };
14340                }
14341                _ => {
14342                    decoder.skip_wire_value(tag.wire_type())?;
14343                }
14344            }
14345        }
14346        Ok(())
14347    }
14348}
14349impl ::micropb::MessageEncode for Rpc_Req_WifiSetMaxTxPower {
14350    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
14351        let mut max_size = 0;
14352        if let ::core::option::Option::Some(size) =
14353            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
14354        {
14355            max_size += size;
14356        } else {
14357            break 'msg (::core::option::Option::<usize>::None);
14358        };
14359        ::core::option::Option::Some(max_size)
14360    };
14361    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
14362        &self,
14363        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
14364    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
14365        use ::micropb::{FieldEncode, PbMap};
14366        {
14367            let val_ref = &self.r#power;
14368            if *val_ref != 0 {
14369                encoder.encode_varint32(8u32)?;
14370                encoder.encode_int32(*val_ref as _)?;
14371            }
14372        }
14373        Ok(())
14374    }
14375    fn compute_size(&self) -> usize {
14376        use ::micropb::{FieldEncode, PbMap};
14377        let mut size = 0;
14378        {
14379            let val_ref = &self.r#power;
14380            if *val_ref != 0 {
14381                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
14382            }
14383        }
14384        size
14385    }
14386}
14387#[derive(Debug, Default, PartialEq, Clone)]
14388pub struct Rpc_Resp_WifiSetMaxTxPower {
14389    pub r#resp: i32,
14390}
14391impl Rpc_Resp_WifiSetMaxTxPower {
14392    ///Return a reference to `resp`
14393    #[inline]
14394    pub fn r#resp(&self) -> &i32 {
14395        &self.r#resp
14396    }
14397    ///Return a mutable reference to `resp`
14398    #[inline]
14399    pub fn mut_resp(&mut self) -> &mut i32 {
14400        &mut self.r#resp
14401    }
14402    ///Set the value of `resp`
14403    #[inline]
14404    pub fn set_resp(&mut self, value: i32) -> &mut Self {
14405        self.r#resp = value.into();
14406        self
14407    }
14408    ///Builder method that sets the value of `resp`. Useful for initializing the message.
14409    #[inline]
14410    pub fn init_resp(mut self, value: i32) -> Self {
14411        self.r#resp = value.into();
14412        self
14413    }
14414}
14415impl ::micropb::MessageDecode for Rpc_Resp_WifiSetMaxTxPower {
14416    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
14417        &mut self,
14418        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
14419        len: usize,
14420    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
14421        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
14422        let before = decoder.bytes_read();
14423        while decoder.bytes_read() - before < len {
14424            let tag = decoder.decode_tag()?;
14425            match tag.field_num() {
14426                0 => return Err(::micropb::DecodeError::ZeroField),
14427                1u32 => {
14428                    let mut_ref = &mut self.r#resp;
14429                    {
14430                        let val = decoder.decode_int32()?;
14431                        let val_ref = &val;
14432                        if *val_ref != 0 {
14433                            *mut_ref = val as _;
14434                        }
14435                    };
14436                }
14437                _ => {
14438                    decoder.skip_wire_value(tag.wire_type())?;
14439                }
14440            }
14441        }
14442        Ok(())
14443    }
14444}
14445impl ::micropb::MessageEncode for Rpc_Resp_WifiSetMaxTxPower {
14446    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
14447        let mut max_size = 0;
14448        if let ::core::option::Option::Some(size) =
14449            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
14450        {
14451            max_size += size;
14452        } else {
14453            break 'msg (::core::option::Option::<usize>::None);
14454        };
14455        ::core::option::Option::Some(max_size)
14456    };
14457    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
14458        &self,
14459        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
14460    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
14461        use ::micropb::{FieldEncode, PbMap};
14462        {
14463            let val_ref = &self.r#resp;
14464            if *val_ref != 0 {
14465                encoder.encode_varint32(8u32)?;
14466                encoder.encode_int32(*val_ref as _)?;
14467            }
14468        }
14469        Ok(())
14470    }
14471    fn compute_size(&self) -> usize {
14472        use ::micropb::{FieldEncode, PbMap};
14473        let mut size = 0;
14474        {
14475            let val_ref = &self.r#resp;
14476            if *val_ref != 0 {
14477                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
14478            }
14479        }
14480        size
14481    }
14482}
14483#[derive(Debug, Default, PartialEq, Clone)]
14484pub struct Rpc_Req_WifiGetMaxTxPower {}
14485impl Rpc_Req_WifiGetMaxTxPower {}
14486impl ::micropb::MessageDecode for Rpc_Req_WifiGetMaxTxPower {
14487    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
14488        &mut self,
14489        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
14490        len: usize,
14491    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
14492        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
14493        let before = decoder.bytes_read();
14494        while decoder.bytes_read() - before < len {
14495            let tag = decoder.decode_tag()?;
14496            match tag.field_num() {
14497                0 => return Err(::micropb::DecodeError::ZeroField),
14498                _ => {
14499                    decoder.skip_wire_value(tag.wire_type())?;
14500                }
14501            }
14502        }
14503        Ok(())
14504    }
14505}
14506impl ::micropb::MessageEncode for Rpc_Req_WifiGetMaxTxPower {
14507    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
14508        let mut max_size = 0;
14509        ::core::option::Option::Some(max_size)
14510    };
14511    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
14512        &self,
14513        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
14514    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
14515        use ::micropb::{FieldEncode, PbMap};
14516        Ok(())
14517    }
14518    fn compute_size(&self) -> usize {
14519        use ::micropb::{FieldEncode, PbMap};
14520        let mut size = 0;
14521        size
14522    }
14523}
14524#[derive(Debug, Default, PartialEq, Clone)]
14525pub struct Rpc_Resp_WifiGetMaxTxPower {
14526    pub r#power: i32,
14527    pub r#resp: i32,
14528}
14529impl Rpc_Resp_WifiGetMaxTxPower {
14530    ///Return a reference to `power`
14531    #[inline]
14532    pub fn r#power(&self) -> &i32 {
14533        &self.r#power
14534    }
14535    ///Return a mutable reference to `power`
14536    #[inline]
14537    pub fn mut_power(&mut self) -> &mut i32 {
14538        &mut self.r#power
14539    }
14540    ///Set the value of `power`
14541    #[inline]
14542    pub fn set_power(&mut self, value: i32) -> &mut Self {
14543        self.r#power = value.into();
14544        self
14545    }
14546    ///Builder method that sets the value of `power`. Useful for initializing the message.
14547    #[inline]
14548    pub fn init_power(mut self, value: i32) -> Self {
14549        self.r#power = value.into();
14550        self
14551    }
14552    ///Return a reference to `resp`
14553    #[inline]
14554    pub fn r#resp(&self) -> &i32 {
14555        &self.r#resp
14556    }
14557    ///Return a mutable reference to `resp`
14558    #[inline]
14559    pub fn mut_resp(&mut self) -> &mut i32 {
14560        &mut self.r#resp
14561    }
14562    ///Set the value of `resp`
14563    #[inline]
14564    pub fn set_resp(&mut self, value: i32) -> &mut Self {
14565        self.r#resp = value.into();
14566        self
14567    }
14568    ///Builder method that sets the value of `resp`. Useful for initializing the message.
14569    #[inline]
14570    pub fn init_resp(mut self, value: i32) -> Self {
14571        self.r#resp = value.into();
14572        self
14573    }
14574}
14575impl ::micropb::MessageDecode for Rpc_Resp_WifiGetMaxTxPower {
14576    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
14577        &mut self,
14578        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
14579        len: usize,
14580    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
14581        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
14582        let before = decoder.bytes_read();
14583        while decoder.bytes_read() - before < len {
14584            let tag = decoder.decode_tag()?;
14585            match tag.field_num() {
14586                0 => return Err(::micropb::DecodeError::ZeroField),
14587                1u32 => {
14588                    let mut_ref = &mut self.r#power;
14589                    {
14590                        let val = decoder.decode_int32()?;
14591                        let val_ref = &val;
14592                        if *val_ref != 0 {
14593                            *mut_ref = val as _;
14594                        }
14595                    };
14596                }
14597                2u32 => {
14598                    let mut_ref = &mut self.r#resp;
14599                    {
14600                        let val = decoder.decode_int32()?;
14601                        let val_ref = &val;
14602                        if *val_ref != 0 {
14603                            *mut_ref = val as _;
14604                        }
14605                    };
14606                }
14607                _ => {
14608                    decoder.skip_wire_value(tag.wire_type())?;
14609                }
14610            }
14611        }
14612        Ok(())
14613    }
14614}
14615impl ::micropb::MessageEncode for Rpc_Resp_WifiGetMaxTxPower {
14616    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
14617        let mut max_size = 0;
14618        if let ::core::option::Option::Some(size) =
14619            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
14620        {
14621            max_size += size;
14622        } else {
14623            break 'msg (::core::option::Option::<usize>::None);
14624        };
14625        if let ::core::option::Option::Some(size) =
14626            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
14627        {
14628            max_size += size;
14629        } else {
14630            break 'msg (::core::option::Option::<usize>::None);
14631        };
14632        ::core::option::Option::Some(max_size)
14633    };
14634    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
14635        &self,
14636        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
14637    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
14638        use ::micropb::{FieldEncode, PbMap};
14639        {
14640            let val_ref = &self.r#power;
14641            if *val_ref != 0 {
14642                encoder.encode_varint32(8u32)?;
14643                encoder.encode_int32(*val_ref as _)?;
14644            }
14645        }
14646        {
14647            let val_ref = &self.r#resp;
14648            if *val_ref != 0 {
14649                encoder.encode_varint32(16u32)?;
14650                encoder.encode_int32(*val_ref as _)?;
14651            }
14652        }
14653        Ok(())
14654    }
14655    fn compute_size(&self) -> usize {
14656        use ::micropb::{FieldEncode, PbMap};
14657        let mut size = 0;
14658        {
14659            let val_ref = &self.r#power;
14660            if *val_ref != 0 {
14661                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
14662            }
14663        }
14664        {
14665            let val_ref = &self.r#resp;
14666            if *val_ref != 0 {
14667                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
14668            }
14669        }
14670        size
14671    }
14672}
14673#[derive(Debug, Default, PartialEq, Clone)]
14674pub struct Rpc_Req_ConfigHeartbeat {
14675    pub r#enable: bool,
14676    pub r#duration: i32,
14677}
14678impl Rpc_Req_ConfigHeartbeat {
14679    ///Return a reference to `enable`
14680    #[inline]
14681    pub fn r#enable(&self) -> &bool {
14682        &self.r#enable
14683    }
14684    ///Return a mutable reference to `enable`
14685    #[inline]
14686    pub fn mut_enable(&mut self) -> &mut bool {
14687        &mut self.r#enable
14688    }
14689    ///Set the value of `enable`
14690    #[inline]
14691    pub fn set_enable(&mut self, value: bool) -> &mut Self {
14692        self.r#enable = value.into();
14693        self
14694    }
14695    ///Builder method that sets the value of `enable`. Useful for initializing the message.
14696    #[inline]
14697    pub fn init_enable(mut self, value: bool) -> Self {
14698        self.r#enable = value.into();
14699        self
14700    }
14701    ///Return a reference to `duration`
14702    #[inline]
14703    pub fn r#duration(&self) -> &i32 {
14704        &self.r#duration
14705    }
14706    ///Return a mutable reference to `duration`
14707    #[inline]
14708    pub fn mut_duration(&mut self) -> &mut i32 {
14709        &mut self.r#duration
14710    }
14711    ///Set the value of `duration`
14712    #[inline]
14713    pub fn set_duration(&mut self, value: i32) -> &mut Self {
14714        self.r#duration = value.into();
14715        self
14716    }
14717    ///Builder method that sets the value of `duration`. Useful for initializing the message.
14718    #[inline]
14719    pub fn init_duration(mut self, value: i32) -> Self {
14720        self.r#duration = value.into();
14721        self
14722    }
14723}
14724impl ::micropb::MessageDecode for Rpc_Req_ConfigHeartbeat {
14725    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
14726        &mut self,
14727        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
14728        len: usize,
14729    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
14730        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
14731        let before = decoder.bytes_read();
14732        while decoder.bytes_read() - before < len {
14733            let tag = decoder.decode_tag()?;
14734            match tag.field_num() {
14735                0 => return Err(::micropb::DecodeError::ZeroField),
14736                1u32 => {
14737                    let mut_ref = &mut self.r#enable;
14738                    {
14739                        let val = decoder.decode_bool()?;
14740                        let val_ref = &val;
14741                        if *val_ref {
14742                            *mut_ref = val as _;
14743                        }
14744                    };
14745                }
14746                2u32 => {
14747                    let mut_ref = &mut self.r#duration;
14748                    {
14749                        let val = decoder.decode_int32()?;
14750                        let val_ref = &val;
14751                        if *val_ref != 0 {
14752                            *mut_ref = val as _;
14753                        }
14754                    };
14755                }
14756                _ => {
14757                    decoder.skip_wire_value(tag.wire_type())?;
14758                }
14759            }
14760        }
14761        Ok(())
14762    }
14763}
14764impl ::micropb::MessageEncode for Rpc_Req_ConfigHeartbeat {
14765    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
14766        let mut max_size = 0;
14767        if let ::core::option::Option::Some(size) =
14768            ::micropb::const_map!(::core::option::Option::Some(1usize), |size| size + 1usize)
14769        {
14770            max_size += size;
14771        } else {
14772            break 'msg (::core::option::Option::<usize>::None);
14773        };
14774        if let ::core::option::Option::Some(size) =
14775            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
14776        {
14777            max_size += size;
14778        } else {
14779            break 'msg (::core::option::Option::<usize>::None);
14780        };
14781        ::core::option::Option::Some(max_size)
14782    };
14783    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
14784        &self,
14785        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
14786    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
14787        use ::micropb::{FieldEncode, PbMap};
14788        {
14789            let val_ref = &self.r#enable;
14790            if *val_ref {
14791                encoder.encode_varint32(8u32)?;
14792                encoder.encode_bool(*val_ref)?;
14793            }
14794        }
14795        {
14796            let val_ref = &self.r#duration;
14797            if *val_ref != 0 {
14798                encoder.encode_varint32(16u32)?;
14799                encoder.encode_int32(*val_ref as _)?;
14800            }
14801        }
14802        Ok(())
14803    }
14804    fn compute_size(&self) -> usize {
14805        use ::micropb::{FieldEncode, PbMap};
14806        let mut size = 0;
14807        {
14808            let val_ref = &self.r#enable;
14809            if *val_ref {
14810                size += 1usize + 1;
14811            }
14812        }
14813        {
14814            let val_ref = &self.r#duration;
14815            if *val_ref != 0 {
14816                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
14817            }
14818        }
14819        size
14820    }
14821}
14822#[derive(Debug, Default, PartialEq, Clone)]
14823pub struct Rpc_Resp_ConfigHeartbeat {
14824    pub r#resp: i32,
14825}
14826impl Rpc_Resp_ConfigHeartbeat {
14827    ///Return a reference to `resp`
14828    #[inline]
14829    pub fn r#resp(&self) -> &i32 {
14830        &self.r#resp
14831    }
14832    ///Return a mutable reference to `resp`
14833    #[inline]
14834    pub fn mut_resp(&mut self) -> &mut i32 {
14835        &mut self.r#resp
14836    }
14837    ///Set the value of `resp`
14838    #[inline]
14839    pub fn set_resp(&mut self, value: i32) -> &mut Self {
14840        self.r#resp = value.into();
14841        self
14842    }
14843    ///Builder method that sets the value of `resp`. Useful for initializing the message.
14844    #[inline]
14845    pub fn init_resp(mut self, value: i32) -> Self {
14846        self.r#resp = value.into();
14847        self
14848    }
14849}
14850impl ::micropb::MessageDecode for Rpc_Resp_ConfigHeartbeat {
14851    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
14852        &mut self,
14853        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
14854        len: usize,
14855    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
14856        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
14857        let before = decoder.bytes_read();
14858        while decoder.bytes_read() - before < len {
14859            let tag = decoder.decode_tag()?;
14860            match tag.field_num() {
14861                0 => return Err(::micropb::DecodeError::ZeroField),
14862                1u32 => {
14863                    let mut_ref = &mut self.r#resp;
14864                    {
14865                        let val = decoder.decode_int32()?;
14866                        let val_ref = &val;
14867                        if *val_ref != 0 {
14868                            *mut_ref = val as _;
14869                        }
14870                    };
14871                }
14872                _ => {
14873                    decoder.skip_wire_value(tag.wire_type())?;
14874                }
14875            }
14876        }
14877        Ok(())
14878    }
14879}
14880impl ::micropb::MessageEncode for Rpc_Resp_ConfigHeartbeat {
14881    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
14882        let mut max_size = 0;
14883        if let ::core::option::Option::Some(size) =
14884            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
14885        {
14886            max_size += size;
14887        } else {
14888            break 'msg (::core::option::Option::<usize>::None);
14889        };
14890        ::core::option::Option::Some(max_size)
14891    };
14892    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
14893        &self,
14894        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
14895    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
14896        use ::micropb::{FieldEncode, PbMap};
14897        {
14898            let val_ref = &self.r#resp;
14899            if *val_ref != 0 {
14900                encoder.encode_varint32(8u32)?;
14901                encoder.encode_int32(*val_ref as _)?;
14902            }
14903        }
14904        Ok(())
14905    }
14906    fn compute_size(&self) -> usize {
14907        use ::micropb::{FieldEncode, PbMap};
14908        let mut size = 0;
14909        {
14910            let val_ref = &self.r#resp;
14911            if *val_ref != 0 {
14912                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
14913            }
14914        }
14915        size
14916    }
14917}
14918pub mod Rpc_Req_WifiInit_ {
14919    #[derive(Debug, Default, PartialEq, Clone)]
14920    pub struct _Hazzer([u8; 1]);
14921    impl _Hazzer {
14922        ///New hazzer with all fields set to off
14923        #[inline]
14924        pub const fn _new() -> Self {
14925            Self([0; 1])
14926        }
14927        ///Query presence of `cfg`
14928        #[inline]
14929        pub const fn r#cfg(&self) -> bool {
14930            (self.0[0] & 1) != 0
14931        }
14932        ///Set presence of `cfg`
14933        #[inline]
14934        pub const fn set_cfg(&mut self) -> &mut Self {
14935            let elem = &mut self.0[0];
14936            *elem |= 1;
14937            self
14938        }
14939        ///Clear presence of `cfg`
14940        #[inline]
14941        pub const fn clear_cfg(&mut self) -> &mut Self {
14942            let elem = &mut self.0[0];
14943            *elem &= !1;
14944            self
14945        }
14946        ///Builder method that sets the presence of `cfg`. Useful for initializing the Hazzer.
14947        #[inline]
14948        pub const fn init_cfg(mut self) -> Self {
14949            self.set_cfg();
14950            self
14951        }
14952    }
14953}
14954#[derive(Debug, Default, Clone)]
14955pub struct Rpc_Req_WifiInit {
14956    pub r#cfg: r#wifi_init_config,
14957    pub _has: Rpc_Req_WifiInit_::_Hazzer,
14958}
14959impl ::core::cmp::PartialEq for Rpc_Req_WifiInit {
14960    fn eq(&self, other: &Self) -> bool {
14961        let mut ret = true;
14962        ret &= (self.r#cfg() == other.r#cfg());
14963        ret
14964    }
14965}
14966impl Rpc_Req_WifiInit {
14967    ///Return a reference to `cfg` as an `Option`
14968    #[inline]
14969    pub fn r#cfg(&self) -> ::core::option::Option<&r#wifi_init_config> {
14970        self._has.r#cfg().then_some(&self.r#cfg)
14971    }
14972    ///Set the value and presence of `cfg`
14973    #[inline]
14974    pub fn set_cfg(&mut self, value: r#wifi_init_config) -> &mut Self {
14975        self._has.set_cfg();
14976        self.r#cfg = value.into();
14977        self
14978    }
14979    ///Return a mutable reference to `cfg` as an `Option`
14980    #[inline]
14981    pub fn mut_cfg(&mut self) -> ::core::option::Option<&mut r#wifi_init_config> {
14982        self._has.r#cfg().then_some(&mut self.r#cfg)
14983    }
14984    ///Clear the presence of `cfg`
14985    #[inline]
14986    pub fn clear_cfg(&mut self) -> &mut Self {
14987        self._has.clear_cfg();
14988        self
14989    }
14990    ///Take the value of `cfg` and clear its presence
14991    #[inline]
14992    pub fn take_cfg(&mut self) -> ::core::option::Option<r#wifi_init_config> {
14993        let val = self
14994            ._has
14995            .r#cfg()
14996            .then(|| ::core::mem::take(&mut self.r#cfg));
14997        self._has.clear_cfg();
14998        val
14999    }
15000    ///Builder method that sets the value of `cfg`. Useful for initializing the message.
15001    #[inline]
15002    pub fn init_cfg(mut self, value: r#wifi_init_config) -> Self {
15003        self.set_cfg(value);
15004        self
15005    }
15006}
15007impl ::micropb::MessageDecode for Rpc_Req_WifiInit {
15008    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
15009        &mut self,
15010        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
15011        len: usize,
15012    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
15013        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
15014        let before = decoder.bytes_read();
15015        while decoder.bytes_read() - before < len {
15016            let tag = decoder.decode_tag()?;
15017            match tag.field_num() {
15018                0 => return Err(::micropb::DecodeError::ZeroField),
15019                1u32 => {
15020                    let mut_ref = &mut self.r#cfg;
15021                    {
15022                        mut_ref.decode_len_delimited(decoder)?;
15023                    };
15024                    self._has.set_cfg();
15025                }
15026                _ => {
15027                    decoder.skip_wire_value(tag.wire_type())?;
15028                }
15029            }
15030        }
15031        Ok(())
15032    }
15033}
15034impl ::micropb::MessageEncode for Rpc_Req_WifiInit {
15035    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
15036        let mut max_size = 0;
15037        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
15038            ::micropb::const_map!(
15039                <r#wifi_init_config as ::micropb::MessageEncode>::MAX_SIZE,
15040                |size| ::micropb::size::sizeof_len_record(size)
15041            ),
15042            |size| size + 1usize
15043        ) {
15044            max_size += size;
15045        } else {
15046            break 'msg (::core::option::Option::<usize>::None);
15047        };
15048        ::core::option::Option::Some(max_size)
15049    };
15050    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
15051        &self,
15052        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
15053    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
15054        use ::micropb::{FieldEncode, PbMap};
15055        {
15056            if let ::core::option::Option::Some(val_ref) = self.r#cfg() {
15057                encoder.encode_varint32(10u32)?;
15058                val_ref.encode_len_delimited(encoder)?;
15059            }
15060        }
15061        Ok(())
15062    }
15063    fn compute_size(&self) -> usize {
15064        use ::micropb::{FieldEncode, PbMap};
15065        let mut size = 0;
15066        {
15067            if let ::core::option::Option::Some(val_ref) = self.r#cfg() {
15068                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
15069            }
15070        }
15071        size
15072    }
15073}
15074#[derive(Debug, Default, PartialEq, Clone)]
15075pub struct Rpc_Resp_WifiInit {
15076    pub r#resp: i32,
15077}
15078impl Rpc_Resp_WifiInit {
15079    ///Return a reference to `resp`
15080    #[inline]
15081    pub fn r#resp(&self) -> &i32 {
15082        &self.r#resp
15083    }
15084    ///Return a mutable reference to `resp`
15085    #[inline]
15086    pub fn mut_resp(&mut self) -> &mut i32 {
15087        &mut self.r#resp
15088    }
15089    ///Set the value of `resp`
15090    #[inline]
15091    pub fn set_resp(&mut self, value: i32) -> &mut Self {
15092        self.r#resp = value.into();
15093        self
15094    }
15095    ///Builder method that sets the value of `resp`. Useful for initializing the message.
15096    #[inline]
15097    pub fn init_resp(mut self, value: i32) -> Self {
15098        self.r#resp = value.into();
15099        self
15100    }
15101}
15102impl ::micropb::MessageDecode for Rpc_Resp_WifiInit {
15103    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
15104        &mut self,
15105        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
15106        len: usize,
15107    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
15108        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
15109        let before = decoder.bytes_read();
15110        while decoder.bytes_read() - before < len {
15111            let tag = decoder.decode_tag()?;
15112            match tag.field_num() {
15113                0 => return Err(::micropb::DecodeError::ZeroField),
15114                1u32 => {
15115                    let mut_ref = &mut self.r#resp;
15116                    {
15117                        let val = decoder.decode_int32()?;
15118                        let val_ref = &val;
15119                        if *val_ref != 0 {
15120                            *mut_ref = val as _;
15121                        }
15122                    };
15123                }
15124                _ => {
15125                    decoder.skip_wire_value(tag.wire_type())?;
15126                }
15127            }
15128        }
15129        Ok(())
15130    }
15131}
15132impl ::micropb::MessageEncode for Rpc_Resp_WifiInit {
15133    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
15134        let mut max_size = 0;
15135        if let ::core::option::Option::Some(size) =
15136            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
15137        {
15138            max_size += size;
15139        } else {
15140            break 'msg (::core::option::Option::<usize>::None);
15141        };
15142        ::core::option::Option::Some(max_size)
15143    };
15144    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
15145        &self,
15146        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
15147    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
15148        use ::micropb::{FieldEncode, PbMap};
15149        {
15150            let val_ref = &self.r#resp;
15151            if *val_ref != 0 {
15152                encoder.encode_varint32(8u32)?;
15153                encoder.encode_int32(*val_ref as _)?;
15154            }
15155        }
15156        Ok(())
15157    }
15158    fn compute_size(&self) -> usize {
15159        use ::micropb::{FieldEncode, PbMap};
15160        let mut size = 0;
15161        {
15162            let val_ref = &self.r#resp;
15163            if *val_ref != 0 {
15164                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
15165            }
15166        }
15167        size
15168    }
15169}
15170#[derive(Debug, Default, PartialEq, Clone)]
15171pub struct Rpc_Req_WifiDeinit {}
15172impl Rpc_Req_WifiDeinit {}
15173impl ::micropb::MessageDecode for Rpc_Req_WifiDeinit {
15174    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
15175        &mut self,
15176        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
15177        len: usize,
15178    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
15179        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
15180        let before = decoder.bytes_read();
15181        while decoder.bytes_read() - before < len {
15182            let tag = decoder.decode_tag()?;
15183            match tag.field_num() {
15184                0 => return Err(::micropb::DecodeError::ZeroField),
15185                _ => {
15186                    decoder.skip_wire_value(tag.wire_type())?;
15187                }
15188            }
15189        }
15190        Ok(())
15191    }
15192}
15193impl ::micropb::MessageEncode for Rpc_Req_WifiDeinit {
15194    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
15195        let mut max_size = 0;
15196        ::core::option::Option::Some(max_size)
15197    };
15198    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
15199        &self,
15200        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
15201    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
15202        use ::micropb::{FieldEncode, PbMap};
15203        Ok(())
15204    }
15205    fn compute_size(&self) -> usize {
15206        use ::micropb::{FieldEncode, PbMap};
15207        let mut size = 0;
15208        size
15209    }
15210}
15211#[derive(Debug, Default, PartialEq, Clone)]
15212pub struct Rpc_Resp_WifiDeinit {
15213    pub r#resp: i32,
15214}
15215impl Rpc_Resp_WifiDeinit {
15216    ///Return a reference to `resp`
15217    #[inline]
15218    pub fn r#resp(&self) -> &i32 {
15219        &self.r#resp
15220    }
15221    ///Return a mutable reference to `resp`
15222    #[inline]
15223    pub fn mut_resp(&mut self) -> &mut i32 {
15224        &mut self.r#resp
15225    }
15226    ///Set the value of `resp`
15227    #[inline]
15228    pub fn set_resp(&mut self, value: i32) -> &mut Self {
15229        self.r#resp = value.into();
15230        self
15231    }
15232    ///Builder method that sets the value of `resp`. Useful for initializing the message.
15233    #[inline]
15234    pub fn init_resp(mut self, value: i32) -> Self {
15235        self.r#resp = value.into();
15236        self
15237    }
15238}
15239impl ::micropb::MessageDecode for Rpc_Resp_WifiDeinit {
15240    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
15241        &mut self,
15242        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
15243        len: usize,
15244    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
15245        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
15246        let before = decoder.bytes_read();
15247        while decoder.bytes_read() - before < len {
15248            let tag = decoder.decode_tag()?;
15249            match tag.field_num() {
15250                0 => return Err(::micropb::DecodeError::ZeroField),
15251                1u32 => {
15252                    let mut_ref = &mut self.r#resp;
15253                    {
15254                        let val = decoder.decode_int32()?;
15255                        let val_ref = &val;
15256                        if *val_ref != 0 {
15257                            *mut_ref = val as _;
15258                        }
15259                    };
15260                }
15261                _ => {
15262                    decoder.skip_wire_value(tag.wire_type())?;
15263                }
15264            }
15265        }
15266        Ok(())
15267    }
15268}
15269impl ::micropb::MessageEncode for Rpc_Resp_WifiDeinit {
15270    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
15271        let mut max_size = 0;
15272        if let ::core::option::Option::Some(size) =
15273            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
15274        {
15275            max_size += size;
15276        } else {
15277            break 'msg (::core::option::Option::<usize>::None);
15278        };
15279        ::core::option::Option::Some(max_size)
15280    };
15281    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
15282        &self,
15283        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
15284    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
15285        use ::micropb::{FieldEncode, PbMap};
15286        {
15287            let val_ref = &self.r#resp;
15288            if *val_ref != 0 {
15289                encoder.encode_varint32(8u32)?;
15290                encoder.encode_int32(*val_ref as _)?;
15291            }
15292        }
15293        Ok(())
15294    }
15295    fn compute_size(&self) -> usize {
15296        use ::micropb::{FieldEncode, PbMap};
15297        let mut size = 0;
15298        {
15299            let val_ref = &self.r#resp;
15300            if *val_ref != 0 {
15301                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
15302            }
15303        }
15304        size
15305    }
15306}
15307pub mod Rpc_Req_WifiSetConfig_ {
15308    #[derive(Debug, Default, PartialEq, Clone)]
15309    pub struct _Hazzer([u8; 1]);
15310    impl _Hazzer {
15311        ///New hazzer with all fields set to off
15312        #[inline]
15313        pub const fn _new() -> Self {
15314            Self([0; 1])
15315        }
15316        ///Query presence of `cfg`
15317        #[inline]
15318        pub const fn r#cfg(&self) -> bool {
15319            (self.0[0] & 1) != 0
15320        }
15321        ///Set presence of `cfg`
15322        #[inline]
15323        pub const fn set_cfg(&mut self) -> &mut Self {
15324            let elem = &mut self.0[0];
15325            *elem |= 1;
15326            self
15327        }
15328        ///Clear presence of `cfg`
15329        #[inline]
15330        pub const fn clear_cfg(&mut self) -> &mut Self {
15331            let elem = &mut self.0[0];
15332            *elem &= !1;
15333            self
15334        }
15335        ///Builder method that sets the presence of `cfg`. Useful for initializing the Hazzer.
15336        #[inline]
15337        pub const fn init_cfg(mut self) -> Self {
15338            self.set_cfg();
15339            self
15340        }
15341    }
15342}
15343#[derive(Debug, Default, Clone)]
15344pub struct Rpc_Req_WifiSetConfig {
15345    pub r#iface: i32,
15346    pub r#cfg: r#wifi_config,
15347    pub _has: Rpc_Req_WifiSetConfig_::_Hazzer,
15348}
15349impl ::core::cmp::PartialEq for Rpc_Req_WifiSetConfig {
15350    fn eq(&self, other: &Self) -> bool {
15351        let mut ret = true;
15352        ret &= (self.r#iface == other.r#iface);
15353        ret &= (self.r#cfg() == other.r#cfg());
15354        ret
15355    }
15356}
15357impl Rpc_Req_WifiSetConfig {
15358    ///Return a reference to `iface`
15359    #[inline]
15360    pub fn r#iface(&self) -> &i32 {
15361        &self.r#iface
15362    }
15363    ///Return a mutable reference to `iface`
15364    #[inline]
15365    pub fn mut_iface(&mut self) -> &mut i32 {
15366        &mut self.r#iface
15367    }
15368    ///Set the value of `iface`
15369    #[inline]
15370    pub fn set_iface(&mut self, value: i32) -> &mut Self {
15371        self.r#iface = value.into();
15372        self
15373    }
15374    ///Builder method that sets the value of `iface`. Useful for initializing the message.
15375    #[inline]
15376    pub fn init_iface(mut self, value: i32) -> Self {
15377        self.r#iface = value.into();
15378        self
15379    }
15380    ///Return a reference to `cfg` as an `Option`
15381    #[inline]
15382    pub fn r#cfg(&self) -> ::core::option::Option<&r#wifi_config> {
15383        self._has.r#cfg().then_some(&self.r#cfg)
15384    }
15385    ///Set the value and presence of `cfg`
15386    #[inline]
15387    pub fn set_cfg(&mut self, value: r#wifi_config) -> &mut Self {
15388        self._has.set_cfg();
15389        self.r#cfg = value.into();
15390        self
15391    }
15392    ///Return a mutable reference to `cfg` as an `Option`
15393    #[inline]
15394    pub fn mut_cfg(&mut self) -> ::core::option::Option<&mut r#wifi_config> {
15395        self._has.r#cfg().then_some(&mut self.r#cfg)
15396    }
15397    ///Clear the presence of `cfg`
15398    #[inline]
15399    pub fn clear_cfg(&mut self) -> &mut Self {
15400        self._has.clear_cfg();
15401        self
15402    }
15403    ///Take the value of `cfg` and clear its presence
15404    #[inline]
15405    pub fn take_cfg(&mut self) -> ::core::option::Option<r#wifi_config> {
15406        let val = self
15407            ._has
15408            .r#cfg()
15409            .then(|| ::core::mem::take(&mut self.r#cfg));
15410        self._has.clear_cfg();
15411        val
15412    }
15413    ///Builder method that sets the value of `cfg`. Useful for initializing the message.
15414    #[inline]
15415    pub fn init_cfg(mut self, value: r#wifi_config) -> Self {
15416        self.set_cfg(value);
15417        self
15418    }
15419}
15420impl ::micropb::MessageDecode for Rpc_Req_WifiSetConfig {
15421    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
15422        &mut self,
15423        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
15424        len: usize,
15425    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
15426        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
15427        let before = decoder.bytes_read();
15428        while decoder.bytes_read() - before < len {
15429            let tag = decoder.decode_tag()?;
15430            match tag.field_num() {
15431                0 => return Err(::micropb::DecodeError::ZeroField),
15432                1u32 => {
15433                    let mut_ref = &mut self.r#iface;
15434                    {
15435                        let val = decoder.decode_int32()?;
15436                        let val_ref = &val;
15437                        if *val_ref != 0 {
15438                            *mut_ref = val as _;
15439                        }
15440                    };
15441                }
15442                2u32 => {
15443                    let mut_ref = &mut self.r#cfg;
15444                    {
15445                        mut_ref.decode_len_delimited(decoder)?;
15446                    };
15447                    self._has.set_cfg();
15448                }
15449                _ => {
15450                    decoder.skip_wire_value(tag.wire_type())?;
15451                }
15452            }
15453        }
15454        Ok(())
15455    }
15456}
15457impl ::micropb::MessageEncode for Rpc_Req_WifiSetConfig {
15458    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
15459        let mut max_size = 0;
15460        if let ::core::option::Option::Some(size) =
15461            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
15462        {
15463            max_size += size;
15464        } else {
15465            break 'msg (::core::option::Option::<usize>::None);
15466        };
15467        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
15468            ::micropb::const_map!(
15469                <r#wifi_config as ::micropb::MessageEncode>::MAX_SIZE,
15470                |size| ::micropb::size::sizeof_len_record(size)
15471            ),
15472            |size| size + 1usize
15473        ) {
15474            max_size += size;
15475        } else {
15476            break 'msg (::core::option::Option::<usize>::None);
15477        };
15478        ::core::option::Option::Some(max_size)
15479    };
15480    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
15481        &self,
15482        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
15483    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
15484        use ::micropb::{FieldEncode, PbMap};
15485        {
15486            let val_ref = &self.r#iface;
15487            if *val_ref != 0 {
15488                encoder.encode_varint32(8u32)?;
15489                encoder.encode_int32(*val_ref as _)?;
15490            }
15491        }
15492        {
15493            if let ::core::option::Option::Some(val_ref) = self.r#cfg() {
15494                encoder.encode_varint32(18u32)?;
15495                val_ref.encode_len_delimited(encoder)?;
15496            }
15497        }
15498        Ok(())
15499    }
15500    fn compute_size(&self) -> usize {
15501        use ::micropb::{FieldEncode, PbMap};
15502        let mut size = 0;
15503        {
15504            let val_ref = &self.r#iface;
15505            if *val_ref != 0 {
15506                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
15507            }
15508        }
15509        {
15510            if let ::core::option::Option::Some(val_ref) = self.r#cfg() {
15511                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
15512            }
15513        }
15514        size
15515    }
15516}
15517#[derive(Debug, Default, PartialEq, Clone)]
15518pub struct Rpc_Resp_WifiSetConfig {
15519    pub r#resp: i32,
15520}
15521impl Rpc_Resp_WifiSetConfig {
15522    ///Return a reference to `resp`
15523    #[inline]
15524    pub fn r#resp(&self) -> &i32 {
15525        &self.r#resp
15526    }
15527    ///Return a mutable reference to `resp`
15528    #[inline]
15529    pub fn mut_resp(&mut self) -> &mut i32 {
15530        &mut self.r#resp
15531    }
15532    ///Set the value of `resp`
15533    #[inline]
15534    pub fn set_resp(&mut self, value: i32) -> &mut Self {
15535        self.r#resp = value.into();
15536        self
15537    }
15538    ///Builder method that sets the value of `resp`. Useful for initializing the message.
15539    #[inline]
15540    pub fn init_resp(mut self, value: i32) -> Self {
15541        self.r#resp = value.into();
15542        self
15543    }
15544}
15545impl ::micropb::MessageDecode for Rpc_Resp_WifiSetConfig {
15546    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
15547        &mut self,
15548        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
15549        len: usize,
15550    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
15551        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
15552        let before = decoder.bytes_read();
15553        while decoder.bytes_read() - before < len {
15554            let tag = decoder.decode_tag()?;
15555            match tag.field_num() {
15556                0 => return Err(::micropb::DecodeError::ZeroField),
15557                1u32 => {
15558                    let mut_ref = &mut self.r#resp;
15559                    {
15560                        let val = decoder.decode_int32()?;
15561                        let val_ref = &val;
15562                        if *val_ref != 0 {
15563                            *mut_ref = val as _;
15564                        }
15565                    };
15566                }
15567                _ => {
15568                    decoder.skip_wire_value(tag.wire_type())?;
15569                }
15570            }
15571        }
15572        Ok(())
15573    }
15574}
15575impl ::micropb::MessageEncode for Rpc_Resp_WifiSetConfig {
15576    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
15577        let mut max_size = 0;
15578        if let ::core::option::Option::Some(size) =
15579            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
15580        {
15581            max_size += size;
15582        } else {
15583            break 'msg (::core::option::Option::<usize>::None);
15584        };
15585        ::core::option::Option::Some(max_size)
15586    };
15587    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
15588        &self,
15589        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
15590    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
15591        use ::micropb::{FieldEncode, PbMap};
15592        {
15593            let val_ref = &self.r#resp;
15594            if *val_ref != 0 {
15595                encoder.encode_varint32(8u32)?;
15596                encoder.encode_int32(*val_ref as _)?;
15597            }
15598        }
15599        Ok(())
15600    }
15601    fn compute_size(&self) -> usize {
15602        use ::micropb::{FieldEncode, PbMap};
15603        let mut size = 0;
15604        {
15605            let val_ref = &self.r#resp;
15606            if *val_ref != 0 {
15607                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
15608            }
15609        }
15610        size
15611    }
15612}
15613#[derive(Debug, Default, PartialEq, Clone)]
15614pub struct Rpc_Req_WifiGetConfig {
15615    pub r#iface: i32,
15616}
15617impl Rpc_Req_WifiGetConfig {
15618    ///Return a reference to `iface`
15619    #[inline]
15620    pub fn r#iface(&self) -> &i32 {
15621        &self.r#iface
15622    }
15623    ///Return a mutable reference to `iface`
15624    #[inline]
15625    pub fn mut_iface(&mut self) -> &mut i32 {
15626        &mut self.r#iface
15627    }
15628    ///Set the value of `iface`
15629    #[inline]
15630    pub fn set_iface(&mut self, value: i32) -> &mut Self {
15631        self.r#iface = value.into();
15632        self
15633    }
15634    ///Builder method that sets the value of `iface`. Useful for initializing the message.
15635    #[inline]
15636    pub fn init_iface(mut self, value: i32) -> Self {
15637        self.r#iface = value.into();
15638        self
15639    }
15640}
15641impl ::micropb::MessageDecode for Rpc_Req_WifiGetConfig {
15642    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
15643        &mut self,
15644        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
15645        len: usize,
15646    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
15647        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
15648        let before = decoder.bytes_read();
15649        while decoder.bytes_read() - before < len {
15650            let tag = decoder.decode_tag()?;
15651            match tag.field_num() {
15652                0 => return Err(::micropb::DecodeError::ZeroField),
15653                1u32 => {
15654                    let mut_ref = &mut self.r#iface;
15655                    {
15656                        let val = decoder.decode_int32()?;
15657                        let val_ref = &val;
15658                        if *val_ref != 0 {
15659                            *mut_ref = val as _;
15660                        }
15661                    };
15662                }
15663                _ => {
15664                    decoder.skip_wire_value(tag.wire_type())?;
15665                }
15666            }
15667        }
15668        Ok(())
15669    }
15670}
15671impl ::micropb::MessageEncode for Rpc_Req_WifiGetConfig {
15672    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
15673        let mut max_size = 0;
15674        if let ::core::option::Option::Some(size) =
15675            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
15676        {
15677            max_size += size;
15678        } else {
15679            break 'msg (::core::option::Option::<usize>::None);
15680        };
15681        ::core::option::Option::Some(max_size)
15682    };
15683    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
15684        &self,
15685        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
15686    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
15687        use ::micropb::{FieldEncode, PbMap};
15688        {
15689            let val_ref = &self.r#iface;
15690            if *val_ref != 0 {
15691                encoder.encode_varint32(8u32)?;
15692                encoder.encode_int32(*val_ref as _)?;
15693            }
15694        }
15695        Ok(())
15696    }
15697    fn compute_size(&self) -> usize {
15698        use ::micropb::{FieldEncode, PbMap};
15699        let mut size = 0;
15700        {
15701            let val_ref = &self.r#iface;
15702            if *val_ref != 0 {
15703                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
15704            }
15705        }
15706        size
15707    }
15708}
15709pub mod Rpc_Resp_WifiGetConfig_ {
15710    #[derive(Debug, Default, PartialEq, Clone)]
15711    pub struct _Hazzer([u8; 1]);
15712    impl _Hazzer {
15713        ///New hazzer with all fields set to off
15714        #[inline]
15715        pub const fn _new() -> Self {
15716            Self([0; 1])
15717        }
15718        ///Query presence of `cfg`
15719        #[inline]
15720        pub const fn r#cfg(&self) -> bool {
15721            (self.0[0] & 1) != 0
15722        }
15723        ///Set presence of `cfg`
15724        #[inline]
15725        pub const fn set_cfg(&mut self) -> &mut Self {
15726            let elem = &mut self.0[0];
15727            *elem |= 1;
15728            self
15729        }
15730        ///Clear presence of `cfg`
15731        #[inline]
15732        pub const fn clear_cfg(&mut self) -> &mut Self {
15733            let elem = &mut self.0[0];
15734            *elem &= !1;
15735            self
15736        }
15737        ///Builder method that sets the presence of `cfg`. Useful for initializing the Hazzer.
15738        #[inline]
15739        pub const fn init_cfg(mut self) -> Self {
15740            self.set_cfg();
15741            self
15742        }
15743    }
15744}
15745#[derive(Debug, Default, Clone)]
15746pub struct Rpc_Resp_WifiGetConfig {
15747    pub r#resp: i32,
15748    pub r#iface: i32,
15749    pub r#cfg: r#wifi_config,
15750    pub _has: Rpc_Resp_WifiGetConfig_::_Hazzer,
15751}
15752impl ::core::cmp::PartialEq for Rpc_Resp_WifiGetConfig {
15753    fn eq(&self, other: &Self) -> bool {
15754        let mut ret = true;
15755        ret &= (self.r#resp == other.r#resp);
15756        ret &= (self.r#iface == other.r#iface);
15757        ret &= (self.r#cfg() == other.r#cfg());
15758        ret
15759    }
15760}
15761impl Rpc_Resp_WifiGetConfig {
15762    ///Return a reference to `resp`
15763    #[inline]
15764    pub fn r#resp(&self) -> &i32 {
15765        &self.r#resp
15766    }
15767    ///Return a mutable reference to `resp`
15768    #[inline]
15769    pub fn mut_resp(&mut self) -> &mut i32 {
15770        &mut self.r#resp
15771    }
15772    ///Set the value of `resp`
15773    #[inline]
15774    pub fn set_resp(&mut self, value: i32) -> &mut Self {
15775        self.r#resp = value.into();
15776        self
15777    }
15778    ///Builder method that sets the value of `resp`. Useful for initializing the message.
15779    #[inline]
15780    pub fn init_resp(mut self, value: i32) -> Self {
15781        self.r#resp = value.into();
15782        self
15783    }
15784    ///Return a reference to `iface`
15785    #[inline]
15786    pub fn r#iface(&self) -> &i32 {
15787        &self.r#iface
15788    }
15789    ///Return a mutable reference to `iface`
15790    #[inline]
15791    pub fn mut_iface(&mut self) -> &mut i32 {
15792        &mut self.r#iface
15793    }
15794    ///Set the value of `iface`
15795    #[inline]
15796    pub fn set_iface(&mut self, value: i32) -> &mut Self {
15797        self.r#iface = value.into();
15798        self
15799    }
15800    ///Builder method that sets the value of `iface`. Useful for initializing the message.
15801    #[inline]
15802    pub fn init_iface(mut self, value: i32) -> Self {
15803        self.r#iface = value.into();
15804        self
15805    }
15806    ///Return a reference to `cfg` as an `Option`
15807    #[inline]
15808    pub fn r#cfg(&self) -> ::core::option::Option<&r#wifi_config> {
15809        self._has.r#cfg().then_some(&self.r#cfg)
15810    }
15811    ///Set the value and presence of `cfg`
15812    #[inline]
15813    pub fn set_cfg(&mut self, value: r#wifi_config) -> &mut Self {
15814        self._has.set_cfg();
15815        self.r#cfg = value.into();
15816        self
15817    }
15818    ///Return a mutable reference to `cfg` as an `Option`
15819    #[inline]
15820    pub fn mut_cfg(&mut self) -> ::core::option::Option<&mut r#wifi_config> {
15821        self._has.r#cfg().then_some(&mut self.r#cfg)
15822    }
15823    ///Clear the presence of `cfg`
15824    #[inline]
15825    pub fn clear_cfg(&mut self) -> &mut Self {
15826        self._has.clear_cfg();
15827        self
15828    }
15829    ///Take the value of `cfg` and clear its presence
15830    #[inline]
15831    pub fn take_cfg(&mut self) -> ::core::option::Option<r#wifi_config> {
15832        let val = self
15833            ._has
15834            .r#cfg()
15835            .then(|| ::core::mem::take(&mut self.r#cfg));
15836        self._has.clear_cfg();
15837        val
15838    }
15839    ///Builder method that sets the value of `cfg`. Useful for initializing the message.
15840    #[inline]
15841    pub fn init_cfg(mut self, value: r#wifi_config) -> Self {
15842        self.set_cfg(value);
15843        self
15844    }
15845}
15846impl ::micropb::MessageDecode for Rpc_Resp_WifiGetConfig {
15847    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
15848        &mut self,
15849        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
15850        len: usize,
15851    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
15852        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
15853        let before = decoder.bytes_read();
15854        while decoder.bytes_read() - before < len {
15855            let tag = decoder.decode_tag()?;
15856            match tag.field_num() {
15857                0 => return Err(::micropb::DecodeError::ZeroField),
15858                1u32 => {
15859                    let mut_ref = &mut self.r#resp;
15860                    {
15861                        let val = decoder.decode_int32()?;
15862                        let val_ref = &val;
15863                        if *val_ref != 0 {
15864                            *mut_ref = val as _;
15865                        }
15866                    };
15867                }
15868                2u32 => {
15869                    let mut_ref = &mut self.r#iface;
15870                    {
15871                        let val = decoder.decode_int32()?;
15872                        let val_ref = &val;
15873                        if *val_ref != 0 {
15874                            *mut_ref = val as _;
15875                        }
15876                    };
15877                }
15878                3u32 => {
15879                    let mut_ref = &mut self.r#cfg;
15880                    {
15881                        mut_ref.decode_len_delimited(decoder)?;
15882                    };
15883                    self._has.set_cfg();
15884                }
15885                _ => {
15886                    decoder.skip_wire_value(tag.wire_type())?;
15887                }
15888            }
15889        }
15890        Ok(())
15891    }
15892}
15893impl ::micropb::MessageEncode for Rpc_Resp_WifiGetConfig {
15894    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
15895        let mut max_size = 0;
15896        if let ::core::option::Option::Some(size) =
15897            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
15898        {
15899            max_size += size;
15900        } else {
15901            break 'msg (::core::option::Option::<usize>::None);
15902        };
15903        if let ::core::option::Option::Some(size) =
15904            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
15905        {
15906            max_size += size;
15907        } else {
15908            break 'msg (::core::option::Option::<usize>::None);
15909        };
15910        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
15911            ::micropb::const_map!(
15912                <r#wifi_config as ::micropb::MessageEncode>::MAX_SIZE,
15913                |size| ::micropb::size::sizeof_len_record(size)
15914            ),
15915            |size| size + 1usize
15916        ) {
15917            max_size += size;
15918        } else {
15919            break 'msg (::core::option::Option::<usize>::None);
15920        };
15921        ::core::option::Option::Some(max_size)
15922    };
15923    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
15924        &self,
15925        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
15926    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
15927        use ::micropb::{FieldEncode, PbMap};
15928        {
15929            let val_ref = &self.r#resp;
15930            if *val_ref != 0 {
15931                encoder.encode_varint32(8u32)?;
15932                encoder.encode_int32(*val_ref as _)?;
15933            }
15934        }
15935        {
15936            let val_ref = &self.r#iface;
15937            if *val_ref != 0 {
15938                encoder.encode_varint32(16u32)?;
15939                encoder.encode_int32(*val_ref as _)?;
15940            }
15941        }
15942        {
15943            if let ::core::option::Option::Some(val_ref) = self.r#cfg() {
15944                encoder.encode_varint32(26u32)?;
15945                val_ref.encode_len_delimited(encoder)?;
15946            }
15947        }
15948        Ok(())
15949    }
15950    fn compute_size(&self) -> usize {
15951        use ::micropb::{FieldEncode, PbMap};
15952        let mut size = 0;
15953        {
15954            let val_ref = &self.r#resp;
15955            if *val_ref != 0 {
15956                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
15957            }
15958        }
15959        {
15960            let val_ref = &self.r#iface;
15961            if *val_ref != 0 {
15962                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
15963            }
15964        }
15965        {
15966            if let ::core::option::Option::Some(val_ref) = self.r#cfg() {
15967                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
15968            }
15969        }
15970        size
15971    }
15972}
15973#[derive(Debug, Default, PartialEq, Clone)]
15974pub struct Rpc_Req_WifiConnect {}
15975impl Rpc_Req_WifiConnect {}
15976impl ::micropb::MessageDecode for Rpc_Req_WifiConnect {
15977    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
15978        &mut self,
15979        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
15980        len: usize,
15981    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
15982        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
15983        let before = decoder.bytes_read();
15984        while decoder.bytes_read() - before < len {
15985            let tag = decoder.decode_tag()?;
15986            match tag.field_num() {
15987                0 => return Err(::micropb::DecodeError::ZeroField),
15988                _ => {
15989                    decoder.skip_wire_value(tag.wire_type())?;
15990                }
15991            }
15992        }
15993        Ok(())
15994    }
15995}
15996impl ::micropb::MessageEncode for Rpc_Req_WifiConnect {
15997    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
15998        let mut max_size = 0;
15999        ::core::option::Option::Some(max_size)
16000    };
16001    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
16002        &self,
16003        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
16004    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
16005        use ::micropb::{FieldEncode, PbMap};
16006        Ok(())
16007    }
16008    fn compute_size(&self) -> usize {
16009        use ::micropb::{FieldEncode, PbMap};
16010        let mut size = 0;
16011        size
16012    }
16013}
16014#[derive(Debug, Default, PartialEq, Clone)]
16015pub struct Rpc_Resp_WifiConnect {
16016    pub r#resp: i32,
16017}
16018impl Rpc_Resp_WifiConnect {
16019    ///Return a reference to `resp`
16020    #[inline]
16021    pub fn r#resp(&self) -> &i32 {
16022        &self.r#resp
16023    }
16024    ///Return a mutable reference to `resp`
16025    #[inline]
16026    pub fn mut_resp(&mut self) -> &mut i32 {
16027        &mut self.r#resp
16028    }
16029    ///Set the value of `resp`
16030    #[inline]
16031    pub fn set_resp(&mut self, value: i32) -> &mut Self {
16032        self.r#resp = value.into();
16033        self
16034    }
16035    ///Builder method that sets the value of `resp`. Useful for initializing the message.
16036    #[inline]
16037    pub fn init_resp(mut self, value: i32) -> Self {
16038        self.r#resp = value.into();
16039        self
16040    }
16041}
16042impl ::micropb::MessageDecode for Rpc_Resp_WifiConnect {
16043    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
16044        &mut self,
16045        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
16046        len: usize,
16047    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
16048        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
16049        let before = decoder.bytes_read();
16050        while decoder.bytes_read() - before < len {
16051            let tag = decoder.decode_tag()?;
16052            match tag.field_num() {
16053                0 => return Err(::micropb::DecodeError::ZeroField),
16054                1u32 => {
16055                    let mut_ref = &mut self.r#resp;
16056                    {
16057                        let val = decoder.decode_int32()?;
16058                        let val_ref = &val;
16059                        if *val_ref != 0 {
16060                            *mut_ref = val as _;
16061                        }
16062                    };
16063                }
16064                _ => {
16065                    decoder.skip_wire_value(tag.wire_type())?;
16066                }
16067            }
16068        }
16069        Ok(())
16070    }
16071}
16072impl ::micropb::MessageEncode for Rpc_Resp_WifiConnect {
16073    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
16074        let mut max_size = 0;
16075        if let ::core::option::Option::Some(size) =
16076            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
16077        {
16078            max_size += size;
16079        } else {
16080            break 'msg (::core::option::Option::<usize>::None);
16081        };
16082        ::core::option::Option::Some(max_size)
16083    };
16084    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
16085        &self,
16086        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
16087    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
16088        use ::micropb::{FieldEncode, PbMap};
16089        {
16090            let val_ref = &self.r#resp;
16091            if *val_ref != 0 {
16092                encoder.encode_varint32(8u32)?;
16093                encoder.encode_int32(*val_ref as _)?;
16094            }
16095        }
16096        Ok(())
16097    }
16098    fn compute_size(&self) -> usize {
16099        use ::micropb::{FieldEncode, PbMap};
16100        let mut size = 0;
16101        {
16102            let val_ref = &self.r#resp;
16103            if *val_ref != 0 {
16104                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
16105            }
16106        }
16107        size
16108    }
16109}
16110#[derive(Debug, Default, PartialEq, Clone)]
16111pub struct Rpc_Req_WifiDisconnect {}
16112impl Rpc_Req_WifiDisconnect {}
16113impl ::micropb::MessageDecode for Rpc_Req_WifiDisconnect {
16114    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
16115        &mut self,
16116        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
16117        len: usize,
16118    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
16119        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
16120        let before = decoder.bytes_read();
16121        while decoder.bytes_read() - before < len {
16122            let tag = decoder.decode_tag()?;
16123            match tag.field_num() {
16124                0 => return Err(::micropb::DecodeError::ZeroField),
16125                _ => {
16126                    decoder.skip_wire_value(tag.wire_type())?;
16127                }
16128            }
16129        }
16130        Ok(())
16131    }
16132}
16133impl ::micropb::MessageEncode for Rpc_Req_WifiDisconnect {
16134    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
16135        let mut max_size = 0;
16136        ::core::option::Option::Some(max_size)
16137    };
16138    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
16139        &self,
16140        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
16141    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
16142        use ::micropb::{FieldEncode, PbMap};
16143        Ok(())
16144    }
16145    fn compute_size(&self) -> usize {
16146        use ::micropb::{FieldEncode, PbMap};
16147        let mut size = 0;
16148        size
16149    }
16150}
16151#[derive(Debug, Default, PartialEq, Clone)]
16152pub struct Rpc_Resp_WifiDisconnect {
16153    pub r#resp: i32,
16154}
16155impl Rpc_Resp_WifiDisconnect {
16156    ///Return a reference to `resp`
16157    #[inline]
16158    pub fn r#resp(&self) -> &i32 {
16159        &self.r#resp
16160    }
16161    ///Return a mutable reference to `resp`
16162    #[inline]
16163    pub fn mut_resp(&mut self) -> &mut i32 {
16164        &mut self.r#resp
16165    }
16166    ///Set the value of `resp`
16167    #[inline]
16168    pub fn set_resp(&mut self, value: i32) -> &mut Self {
16169        self.r#resp = value.into();
16170        self
16171    }
16172    ///Builder method that sets the value of `resp`. Useful for initializing the message.
16173    #[inline]
16174    pub fn init_resp(mut self, value: i32) -> Self {
16175        self.r#resp = value.into();
16176        self
16177    }
16178}
16179impl ::micropb::MessageDecode for Rpc_Resp_WifiDisconnect {
16180    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
16181        &mut self,
16182        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
16183        len: usize,
16184    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
16185        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
16186        let before = decoder.bytes_read();
16187        while decoder.bytes_read() - before < len {
16188            let tag = decoder.decode_tag()?;
16189            match tag.field_num() {
16190                0 => return Err(::micropb::DecodeError::ZeroField),
16191                1u32 => {
16192                    let mut_ref = &mut self.r#resp;
16193                    {
16194                        let val = decoder.decode_int32()?;
16195                        let val_ref = &val;
16196                        if *val_ref != 0 {
16197                            *mut_ref = val as _;
16198                        }
16199                    };
16200                }
16201                _ => {
16202                    decoder.skip_wire_value(tag.wire_type())?;
16203                }
16204            }
16205        }
16206        Ok(())
16207    }
16208}
16209impl ::micropb::MessageEncode for Rpc_Resp_WifiDisconnect {
16210    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
16211        let mut max_size = 0;
16212        if let ::core::option::Option::Some(size) =
16213            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
16214        {
16215            max_size += size;
16216        } else {
16217            break 'msg (::core::option::Option::<usize>::None);
16218        };
16219        ::core::option::Option::Some(max_size)
16220    };
16221    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
16222        &self,
16223        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
16224    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
16225        use ::micropb::{FieldEncode, PbMap};
16226        {
16227            let val_ref = &self.r#resp;
16228            if *val_ref != 0 {
16229                encoder.encode_varint32(8u32)?;
16230                encoder.encode_int32(*val_ref as _)?;
16231            }
16232        }
16233        Ok(())
16234    }
16235    fn compute_size(&self) -> usize {
16236        use ::micropb::{FieldEncode, PbMap};
16237        let mut size = 0;
16238        {
16239            let val_ref = &self.r#resp;
16240            if *val_ref != 0 {
16241                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
16242            }
16243        }
16244        size
16245    }
16246}
16247#[derive(Debug, Default, PartialEq, Clone)]
16248pub struct Rpc_Req_WifiStart {}
16249impl Rpc_Req_WifiStart {}
16250impl ::micropb::MessageDecode for Rpc_Req_WifiStart {
16251    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
16252        &mut self,
16253        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
16254        len: usize,
16255    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
16256        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
16257        let before = decoder.bytes_read();
16258        while decoder.bytes_read() - before < len {
16259            let tag = decoder.decode_tag()?;
16260            match tag.field_num() {
16261                0 => return Err(::micropb::DecodeError::ZeroField),
16262                _ => {
16263                    decoder.skip_wire_value(tag.wire_type())?;
16264                }
16265            }
16266        }
16267        Ok(())
16268    }
16269}
16270impl ::micropb::MessageEncode for Rpc_Req_WifiStart {
16271    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
16272        let mut max_size = 0;
16273        ::core::option::Option::Some(max_size)
16274    };
16275    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
16276        &self,
16277        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
16278    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
16279        use ::micropb::{FieldEncode, PbMap};
16280        Ok(())
16281    }
16282    fn compute_size(&self) -> usize {
16283        use ::micropb::{FieldEncode, PbMap};
16284        let mut size = 0;
16285        size
16286    }
16287}
16288#[derive(Debug, Default, PartialEq, Clone)]
16289pub struct Rpc_Resp_WifiStart {
16290    pub r#resp: i32,
16291}
16292impl Rpc_Resp_WifiStart {
16293    ///Return a reference to `resp`
16294    #[inline]
16295    pub fn r#resp(&self) -> &i32 {
16296        &self.r#resp
16297    }
16298    ///Return a mutable reference to `resp`
16299    #[inline]
16300    pub fn mut_resp(&mut self) -> &mut i32 {
16301        &mut self.r#resp
16302    }
16303    ///Set the value of `resp`
16304    #[inline]
16305    pub fn set_resp(&mut self, value: i32) -> &mut Self {
16306        self.r#resp = value.into();
16307        self
16308    }
16309    ///Builder method that sets the value of `resp`. Useful for initializing the message.
16310    #[inline]
16311    pub fn init_resp(mut self, value: i32) -> Self {
16312        self.r#resp = value.into();
16313        self
16314    }
16315}
16316impl ::micropb::MessageDecode for Rpc_Resp_WifiStart {
16317    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
16318        &mut self,
16319        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
16320        len: usize,
16321    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
16322        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
16323        let before = decoder.bytes_read();
16324        while decoder.bytes_read() - before < len {
16325            let tag = decoder.decode_tag()?;
16326            match tag.field_num() {
16327                0 => return Err(::micropb::DecodeError::ZeroField),
16328                1u32 => {
16329                    let mut_ref = &mut self.r#resp;
16330                    {
16331                        let val = decoder.decode_int32()?;
16332                        let val_ref = &val;
16333                        if *val_ref != 0 {
16334                            *mut_ref = val as _;
16335                        }
16336                    };
16337                }
16338                _ => {
16339                    decoder.skip_wire_value(tag.wire_type())?;
16340                }
16341            }
16342        }
16343        Ok(())
16344    }
16345}
16346impl ::micropb::MessageEncode for Rpc_Resp_WifiStart {
16347    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
16348        let mut max_size = 0;
16349        if let ::core::option::Option::Some(size) =
16350            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
16351        {
16352            max_size += size;
16353        } else {
16354            break 'msg (::core::option::Option::<usize>::None);
16355        };
16356        ::core::option::Option::Some(max_size)
16357    };
16358    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
16359        &self,
16360        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
16361    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
16362        use ::micropb::{FieldEncode, PbMap};
16363        {
16364            let val_ref = &self.r#resp;
16365            if *val_ref != 0 {
16366                encoder.encode_varint32(8u32)?;
16367                encoder.encode_int32(*val_ref as _)?;
16368            }
16369        }
16370        Ok(())
16371    }
16372    fn compute_size(&self) -> usize {
16373        use ::micropb::{FieldEncode, PbMap};
16374        let mut size = 0;
16375        {
16376            let val_ref = &self.r#resp;
16377            if *val_ref != 0 {
16378                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
16379            }
16380        }
16381        size
16382    }
16383}
16384#[derive(Debug, Default, PartialEq, Clone)]
16385pub struct Rpc_Req_WifiStop {}
16386impl Rpc_Req_WifiStop {}
16387impl ::micropb::MessageDecode for Rpc_Req_WifiStop {
16388    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
16389        &mut self,
16390        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
16391        len: usize,
16392    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
16393        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
16394        let before = decoder.bytes_read();
16395        while decoder.bytes_read() - before < len {
16396            let tag = decoder.decode_tag()?;
16397            match tag.field_num() {
16398                0 => return Err(::micropb::DecodeError::ZeroField),
16399                _ => {
16400                    decoder.skip_wire_value(tag.wire_type())?;
16401                }
16402            }
16403        }
16404        Ok(())
16405    }
16406}
16407impl ::micropb::MessageEncode for Rpc_Req_WifiStop {
16408    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
16409        let mut max_size = 0;
16410        ::core::option::Option::Some(max_size)
16411    };
16412    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
16413        &self,
16414        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
16415    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
16416        use ::micropb::{FieldEncode, PbMap};
16417        Ok(())
16418    }
16419    fn compute_size(&self) -> usize {
16420        use ::micropb::{FieldEncode, PbMap};
16421        let mut size = 0;
16422        size
16423    }
16424}
16425#[derive(Debug, Default, PartialEq, Clone)]
16426pub struct Rpc_Resp_WifiStop {
16427    pub r#resp: i32,
16428}
16429impl Rpc_Resp_WifiStop {
16430    ///Return a reference to `resp`
16431    #[inline]
16432    pub fn r#resp(&self) -> &i32 {
16433        &self.r#resp
16434    }
16435    ///Return a mutable reference to `resp`
16436    #[inline]
16437    pub fn mut_resp(&mut self) -> &mut i32 {
16438        &mut self.r#resp
16439    }
16440    ///Set the value of `resp`
16441    #[inline]
16442    pub fn set_resp(&mut self, value: i32) -> &mut Self {
16443        self.r#resp = value.into();
16444        self
16445    }
16446    ///Builder method that sets the value of `resp`. Useful for initializing the message.
16447    #[inline]
16448    pub fn init_resp(mut self, value: i32) -> Self {
16449        self.r#resp = value.into();
16450        self
16451    }
16452}
16453impl ::micropb::MessageDecode for Rpc_Resp_WifiStop {
16454    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
16455        &mut self,
16456        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
16457        len: usize,
16458    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
16459        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
16460        let before = decoder.bytes_read();
16461        while decoder.bytes_read() - before < len {
16462            let tag = decoder.decode_tag()?;
16463            match tag.field_num() {
16464                0 => return Err(::micropb::DecodeError::ZeroField),
16465                1u32 => {
16466                    let mut_ref = &mut self.r#resp;
16467                    {
16468                        let val = decoder.decode_int32()?;
16469                        let val_ref = &val;
16470                        if *val_ref != 0 {
16471                            *mut_ref = val as _;
16472                        }
16473                    };
16474                }
16475                _ => {
16476                    decoder.skip_wire_value(tag.wire_type())?;
16477                }
16478            }
16479        }
16480        Ok(())
16481    }
16482}
16483impl ::micropb::MessageEncode for Rpc_Resp_WifiStop {
16484    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
16485        let mut max_size = 0;
16486        if let ::core::option::Option::Some(size) =
16487            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
16488        {
16489            max_size += size;
16490        } else {
16491            break 'msg (::core::option::Option::<usize>::None);
16492        };
16493        ::core::option::Option::Some(max_size)
16494    };
16495    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
16496        &self,
16497        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
16498    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
16499        use ::micropb::{FieldEncode, PbMap};
16500        {
16501            let val_ref = &self.r#resp;
16502            if *val_ref != 0 {
16503                encoder.encode_varint32(8u32)?;
16504                encoder.encode_int32(*val_ref as _)?;
16505            }
16506        }
16507        Ok(())
16508    }
16509    fn compute_size(&self) -> usize {
16510        use ::micropb::{FieldEncode, PbMap};
16511        let mut size = 0;
16512        {
16513            let val_ref = &self.r#resp;
16514            if *val_ref != 0 {
16515                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
16516            }
16517        }
16518        size
16519    }
16520}
16521pub mod Rpc_Req_WifiScanStart_ {
16522    #[derive(Debug, Default, PartialEq, Clone)]
16523    pub struct _Hazzer([u8; 1]);
16524    impl _Hazzer {
16525        ///New hazzer with all fields set to off
16526        #[inline]
16527        pub const fn _new() -> Self {
16528            Self([0; 1])
16529        }
16530        ///Query presence of `config`
16531        #[inline]
16532        pub const fn r#config(&self) -> bool {
16533            (self.0[0] & 1) != 0
16534        }
16535        ///Set presence of `config`
16536        #[inline]
16537        pub const fn set_config(&mut self) -> &mut Self {
16538            let elem = &mut self.0[0];
16539            *elem |= 1;
16540            self
16541        }
16542        ///Clear presence of `config`
16543        #[inline]
16544        pub const fn clear_config(&mut self) -> &mut Self {
16545            let elem = &mut self.0[0];
16546            *elem &= !1;
16547            self
16548        }
16549        ///Builder method that sets the presence of `config`. Useful for initializing the Hazzer.
16550        #[inline]
16551        pub const fn init_config(mut self) -> Self {
16552            self.set_config();
16553            self
16554        }
16555    }
16556}
16557#[derive(Debug, Default, Clone)]
16558pub struct Rpc_Req_WifiScanStart {
16559    pub r#config: r#wifi_scan_config,
16560    pub r#block: bool,
16561    pub r#config_set: i32,
16562    pub _has: Rpc_Req_WifiScanStart_::_Hazzer,
16563}
16564impl ::core::cmp::PartialEq for Rpc_Req_WifiScanStart {
16565    fn eq(&self, other: &Self) -> bool {
16566        let mut ret = true;
16567        ret &= (self.r#config() == other.r#config());
16568        ret &= (self.r#block == other.r#block);
16569        ret &= (self.r#config_set == other.r#config_set);
16570        ret
16571    }
16572}
16573impl Rpc_Req_WifiScanStart {
16574    ///Return a reference to `config` as an `Option`
16575    #[inline]
16576    pub fn r#config(&self) -> ::core::option::Option<&r#wifi_scan_config> {
16577        self._has.r#config().then_some(&self.r#config)
16578    }
16579    ///Set the value and presence of `config`
16580    #[inline]
16581    pub fn set_config(&mut self, value: r#wifi_scan_config) -> &mut Self {
16582        self._has.set_config();
16583        self.r#config = value.into();
16584        self
16585    }
16586    ///Return a mutable reference to `config` as an `Option`
16587    #[inline]
16588    pub fn mut_config(&mut self) -> ::core::option::Option<&mut r#wifi_scan_config> {
16589        self._has.r#config().then_some(&mut self.r#config)
16590    }
16591    ///Clear the presence of `config`
16592    #[inline]
16593    pub fn clear_config(&mut self) -> &mut Self {
16594        self._has.clear_config();
16595        self
16596    }
16597    ///Take the value of `config` and clear its presence
16598    #[inline]
16599    pub fn take_config(&mut self) -> ::core::option::Option<r#wifi_scan_config> {
16600        let val = self
16601            ._has
16602            .r#config()
16603            .then(|| ::core::mem::take(&mut self.r#config));
16604        self._has.clear_config();
16605        val
16606    }
16607    ///Builder method that sets the value of `config`. Useful for initializing the message.
16608    #[inline]
16609    pub fn init_config(mut self, value: r#wifi_scan_config) -> Self {
16610        self.set_config(value);
16611        self
16612    }
16613    ///Return a reference to `block`
16614    #[inline]
16615    pub fn r#block(&self) -> &bool {
16616        &self.r#block
16617    }
16618    ///Return a mutable reference to `block`
16619    #[inline]
16620    pub fn mut_block(&mut self) -> &mut bool {
16621        &mut self.r#block
16622    }
16623    ///Set the value of `block`
16624    #[inline]
16625    pub fn set_block(&mut self, value: bool) -> &mut Self {
16626        self.r#block = value.into();
16627        self
16628    }
16629    ///Builder method that sets the value of `block`. Useful for initializing the message.
16630    #[inline]
16631    pub fn init_block(mut self, value: bool) -> Self {
16632        self.r#block = value.into();
16633        self
16634    }
16635    ///Return a reference to `config_set`
16636    #[inline]
16637    pub fn r#config_set(&self) -> &i32 {
16638        &self.r#config_set
16639    }
16640    ///Return a mutable reference to `config_set`
16641    #[inline]
16642    pub fn mut_config_set(&mut self) -> &mut i32 {
16643        &mut self.r#config_set
16644    }
16645    ///Set the value of `config_set`
16646    #[inline]
16647    pub fn set_config_set(&mut self, value: i32) -> &mut Self {
16648        self.r#config_set = value.into();
16649        self
16650    }
16651    ///Builder method that sets the value of `config_set`. Useful for initializing the message.
16652    #[inline]
16653    pub fn init_config_set(mut self, value: i32) -> Self {
16654        self.r#config_set = value.into();
16655        self
16656    }
16657}
16658impl ::micropb::MessageDecode for Rpc_Req_WifiScanStart {
16659    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
16660        &mut self,
16661        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
16662        len: usize,
16663    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
16664        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
16665        let before = decoder.bytes_read();
16666        while decoder.bytes_read() - before < len {
16667            let tag = decoder.decode_tag()?;
16668            match tag.field_num() {
16669                0 => return Err(::micropb::DecodeError::ZeroField),
16670                1u32 => {
16671                    let mut_ref = &mut self.r#config;
16672                    {
16673                        mut_ref.decode_len_delimited(decoder)?;
16674                    };
16675                    self._has.set_config();
16676                }
16677                2u32 => {
16678                    let mut_ref = &mut self.r#block;
16679                    {
16680                        let val = decoder.decode_bool()?;
16681                        let val_ref = &val;
16682                        if *val_ref {
16683                            *mut_ref = val as _;
16684                        }
16685                    };
16686                }
16687                3u32 => {
16688                    let mut_ref = &mut self.r#config_set;
16689                    {
16690                        let val = decoder.decode_int32()?;
16691                        let val_ref = &val;
16692                        if *val_ref != 0 {
16693                            *mut_ref = val as _;
16694                        }
16695                    };
16696                }
16697                _ => {
16698                    decoder.skip_wire_value(tag.wire_type())?;
16699                }
16700            }
16701        }
16702        Ok(())
16703    }
16704}
16705impl ::micropb::MessageEncode for Rpc_Req_WifiScanStart {
16706    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
16707        let mut max_size = 0;
16708        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
16709            ::micropb::const_map!(
16710                <r#wifi_scan_config as ::micropb::MessageEncode>::MAX_SIZE,
16711                |size| ::micropb::size::sizeof_len_record(size)
16712            ),
16713            |size| size + 1usize
16714        ) {
16715            max_size += size;
16716        } else {
16717            break 'msg (::core::option::Option::<usize>::None);
16718        };
16719        if let ::core::option::Option::Some(size) =
16720            ::micropb::const_map!(::core::option::Option::Some(1usize), |size| size + 1usize)
16721        {
16722            max_size += size;
16723        } else {
16724            break 'msg (::core::option::Option::<usize>::None);
16725        };
16726        if let ::core::option::Option::Some(size) =
16727            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
16728        {
16729            max_size += size;
16730        } else {
16731            break 'msg (::core::option::Option::<usize>::None);
16732        };
16733        ::core::option::Option::Some(max_size)
16734    };
16735    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
16736        &self,
16737        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
16738    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
16739        use ::micropb::{FieldEncode, PbMap};
16740        {
16741            if let ::core::option::Option::Some(val_ref) = self.r#config() {
16742                encoder.encode_varint32(10u32)?;
16743                val_ref.encode_len_delimited(encoder)?;
16744            }
16745        }
16746        {
16747            let val_ref = &self.r#block;
16748            if *val_ref {
16749                encoder.encode_varint32(16u32)?;
16750                encoder.encode_bool(*val_ref)?;
16751            }
16752        }
16753        {
16754            let val_ref = &self.r#config_set;
16755            if *val_ref != 0 {
16756                encoder.encode_varint32(24u32)?;
16757                encoder.encode_int32(*val_ref as _)?;
16758            }
16759        }
16760        Ok(())
16761    }
16762    fn compute_size(&self) -> usize {
16763        use ::micropb::{FieldEncode, PbMap};
16764        let mut size = 0;
16765        {
16766            if let ::core::option::Option::Some(val_ref) = self.r#config() {
16767                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
16768            }
16769        }
16770        {
16771            let val_ref = &self.r#block;
16772            if *val_ref {
16773                size += 1usize + 1;
16774            }
16775        }
16776        {
16777            let val_ref = &self.r#config_set;
16778            if *val_ref != 0 {
16779                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
16780            }
16781        }
16782        size
16783    }
16784}
16785#[derive(Debug, Default, PartialEq, Clone)]
16786pub struct Rpc_Resp_WifiScanStart {
16787    pub r#resp: i32,
16788}
16789impl Rpc_Resp_WifiScanStart {
16790    ///Return a reference to `resp`
16791    #[inline]
16792    pub fn r#resp(&self) -> &i32 {
16793        &self.r#resp
16794    }
16795    ///Return a mutable reference to `resp`
16796    #[inline]
16797    pub fn mut_resp(&mut self) -> &mut i32 {
16798        &mut self.r#resp
16799    }
16800    ///Set the value of `resp`
16801    #[inline]
16802    pub fn set_resp(&mut self, value: i32) -> &mut Self {
16803        self.r#resp = value.into();
16804        self
16805    }
16806    ///Builder method that sets the value of `resp`. Useful for initializing the message.
16807    #[inline]
16808    pub fn init_resp(mut self, value: i32) -> Self {
16809        self.r#resp = value.into();
16810        self
16811    }
16812}
16813impl ::micropb::MessageDecode for Rpc_Resp_WifiScanStart {
16814    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
16815        &mut self,
16816        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
16817        len: usize,
16818    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
16819        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
16820        let before = decoder.bytes_read();
16821        while decoder.bytes_read() - before < len {
16822            let tag = decoder.decode_tag()?;
16823            match tag.field_num() {
16824                0 => return Err(::micropb::DecodeError::ZeroField),
16825                1u32 => {
16826                    let mut_ref = &mut self.r#resp;
16827                    {
16828                        let val = decoder.decode_int32()?;
16829                        let val_ref = &val;
16830                        if *val_ref != 0 {
16831                            *mut_ref = val as _;
16832                        }
16833                    };
16834                }
16835                _ => {
16836                    decoder.skip_wire_value(tag.wire_type())?;
16837                }
16838            }
16839        }
16840        Ok(())
16841    }
16842}
16843impl ::micropb::MessageEncode for Rpc_Resp_WifiScanStart {
16844    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
16845        let mut max_size = 0;
16846        if let ::core::option::Option::Some(size) =
16847            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
16848        {
16849            max_size += size;
16850        } else {
16851            break 'msg (::core::option::Option::<usize>::None);
16852        };
16853        ::core::option::Option::Some(max_size)
16854    };
16855    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
16856        &self,
16857        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
16858    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
16859        use ::micropb::{FieldEncode, PbMap};
16860        {
16861            let val_ref = &self.r#resp;
16862            if *val_ref != 0 {
16863                encoder.encode_varint32(8u32)?;
16864                encoder.encode_int32(*val_ref as _)?;
16865            }
16866        }
16867        Ok(())
16868    }
16869    fn compute_size(&self) -> usize {
16870        use ::micropb::{FieldEncode, PbMap};
16871        let mut size = 0;
16872        {
16873            let val_ref = &self.r#resp;
16874            if *val_ref != 0 {
16875                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
16876            }
16877        }
16878        size
16879    }
16880}
16881#[derive(Debug, Default, PartialEq, Clone)]
16882pub struct Rpc_Req_WifiScanStop {}
16883impl Rpc_Req_WifiScanStop {}
16884impl ::micropb::MessageDecode for Rpc_Req_WifiScanStop {
16885    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
16886        &mut self,
16887        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
16888        len: usize,
16889    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
16890        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
16891        let before = decoder.bytes_read();
16892        while decoder.bytes_read() - before < len {
16893            let tag = decoder.decode_tag()?;
16894            match tag.field_num() {
16895                0 => return Err(::micropb::DecodeError::ZeroField),
16896                _ => {
16897                    decoder.skip_wire_value(tag.wire_type())?;
16898                }
16899            }
16900        }
16901        Ok(())
16902    }
16903}
16904impl ::micropb::MessageEncode for Rpc_Req_WifiScanStop {
16905    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
16906        let mut max_size = 0;
16907        ::core::option::Option::Some(max_size)
16908    };
16909    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
16910        &self,
16911        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
16912    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
16913        use ::micropb::{FieldEncode, PbMap};
16914        Ok(())
16915    }
16916    fn compute_size(&self) -> usize {
16917        use ::micropb::{FieldEncode, PbMap};
16918        let mut size = 0;
16919        size
16920    }
16921}
16922#[derive(Debug, Default, PartialEq, Clone)]
16923pub struct Rpc_Resp_WifiScanStop {
16924    pub r#resp: i32,
16925}
16926impl Rpc_Resp_WifiScanStop {
16927    ///Return a reference to `resp`
16928    #[inline]
16929    pub fn r#resp(&self) -> &i32 {
16930        &self.r#resp
16931    }
16932    ///Return a mutable reference to `resp`
16933    #[inline]
16934    pub fn mut_resp(&mut self) -> &mut i32 {
16935        &mut self.r#resp
16936    }
16937    ///Set the value of `resp`
16938    #[inline]
16939    pub fn set_resp(&mut self, value: i32) -> &mut Self {
16940        self.r#resp = value.into();
16941        self
16942    }
16943    ///Builder method that sets the value of `resp`. Useful for initializing the message.
16944    #[inline]
16945    pub fn init_resp(mut self, value: i32) -> Self {
16946        self.r#resp = value.into();
16947        self
16948    }
16949}
16950impl ::micropb::MessageDecode for Rpc_Resp_WifiScanStop {
16951    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
16952        &mut self,
16953        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
16954        len: usize,
16955    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
16956        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
16957        let before = decoder.bytes_read();
16958        while decoder.bytes_read() - before < len {
16959            let tag = decoder.decode_tag()?;
16960            match tag.field_num() {
16961                0 => return Err(::micropb::DecodeError::ZeroField),
16962                1u32 => {
16963                    let mut_ref = &mut self.r#resp;
16964                    {
16965                        let val = decoder.decode_int32()?;
16966                        let val_ref = &val;
16967                        if *val_ref != 0 {
16968                            *mut_ref = val as _;
16969                        }
16970                    };
16971                }
16972                _ => {
16973                    decoder.skip_wire_value(tag.wire_type())?;
16974                }
16975            }
16976        }
16977        Ok(())
16978    }
16979}
16980impl ::micropb::MessageEncode for Rpc_Resp_WifiScanStop {
16981    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
16982        let mut max_size = 0;
16983        if let ::core::option::Option::Some(size) =
16984            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
16985        {
16986            max_size += size;
16987        } else {
16988            break 'msg (::core::option::Option::<usize>::None);
16989        };
16990        ::core::option::Option::Some(max_size)
16991    };
16992    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
16993        &self,
16994        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
16995    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
16996        use ::micropb::{FieldEncode, PbMap};
16997        {
16998            let val_ref = &self.r#resp;
16999            if *val_ref != 0 {
17000                encoder.encode_varint32(8u32)?;
17001                encoder.encode_int32(*val_ref as _)?;
17002            }
17003        }
17004        Ok(())
17005    }
17006    fn compute_size(&self) -> usize {
17007        use ::micropb::{FieldEncode, PbMap};
17008        let mut size = 0;
17009        {
17010            let val_ref = &self.r#resp;
17011            if *val_ref != 0 {
17012                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
17013            }
17014        }
17015        size
17016    }
17017}
17018#[derive(Debug, Default, PartialEq, Clone)]
17019pub struct Rpc_Req_WifiScanGetApNum {}
17020impl Rpc_Req_WifiScanGetApNum {}
17021impl ::micropb::MessageDecode for Rpc_Req_WifiScanGetApNum {
17022    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
17023        &mut self,
17024        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
17025        len: usize,
17026    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
17027        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
17028        let before = decoder.bytes_read();
17029        while decoder.bytes_read() - before < len {
17030            let tag = decoder.decode_tag()?;
17031            match tag.field_num() {
17032                0 => return Err(::micropb::DecodeError::ZeroField),
17033                _ => {
17034                    decoder.skip_wire_value(tag.wire_type())?;
17035                }
17036            }
17037        }
17038        Ok(())
17039    }
17040}
17041impl ::micropb::MessageEncode for Rpc_Req_WifiScanGetApNum {
17042    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
17043        let mut max_size = 0;
17044        ::core::option::Option::Some(max_size)
17045    };
17046    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
17047        &self,
17048        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
17049    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
17050        use ::micropb::{FieldEncode, PbMap};
17051        Ok(())
17052    }
17053    fn compute_size(&self) -> usize {
17054        use ::micropb::{FieldEncode, PbMap};
17055        let mut size = 0;
17056        size
17057    }
17058}
17059#[derive(Debug, Default, PartialEq, Clone)]
17060pub struct Rpc_Resp_WifiScanGetApNum {
17061    pub r#resp: i32,
17062    pub r#number: i32,
17063}
17064impl Rpc_Resp_WifiScanGetApNum {
17065    ///Return a reference to `resp`
17066    #[inline]
17067    pub fn r#resp(&self) -> &i32 {
17068        &self.r#resp
17069    }
17070    ///Return a mutable reference to `resp`
17071    #[inline]
17072    pub fn mut_resp(&mut self) -> &mut i32 {
17073        &mut self.r#resp
17074    }
17075    ///Set the value of `resp`
17076    #[inline]
17077    pub fn set_resp(&mut self, value: i32) -> &mut Self {
17078        self.r#resp = value.into();
17079        self
17080    }
17081    ///Builder method that sets the value of `resp`. Useful for initializing the message.
17082    #[inline]
17083    pub fn init_resp(mut self, value: i32) -> Self {
17084        self.r#resp = value.into();
17085        self
17086    }
17087    ///Return a reference to `number`
17088    #[inline]
17089    pub fn r#number(&self) -> &i32 {
17090        &self.r#number
17091    }
17092    ///Return a mutable reference to `number`
17093    #[inline]
17094    pub fn mut_number(&mut self) -> &mut i32 {
17095        &mut self.r#number
17096    }
17097    ///Set the value of `number`
17098    #[inline]
17099    pub fn set_number(&mut self, value: i32) -> &mut Self {
17100        self.r#number = value.into();
17101        self
17102    }
17103    ///Builder method that sets the value of `number`. Useful for initializing the message.
17104    #[inline]
17105    pub fn init_number(mut self, value: i32) -> Self {
17106        self.r#number = value.into();
17107        self
17108    }
17109}
17110impl ::micropb::MessageDecode for Rpc_Resp_WifiScanGetApNum {
17111    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
17112        &mut self,
17113        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
17114        len: usize,
17115    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
17116        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
17117        let before = decoder.bytes_read();
17118        while decoder.bytes_read() - before < len {
17119            let tag = decoder.decode_tag()?;
17120            match tag.field_num() {
17121                0 => return Err(::micropb::DecodeError::ZeroField),
17122                1u32 => {
17123                    let mut_ref = &mut self.r#resp;
17124                    {
17125                        let val = decoder.decode_int32()?;
17126                        let val_ref = &val;
17127                        if *val_ref != 0 {
17128                            *mut_ref = val as _;
17129                        }
17130                    };
17131                }
17132                2u32 => {
17133                    let mut_ref = &mut self.r#number;
17134                    {
17135                        let val = decoder.decode_int32()?;
17136                        let val_ref = &val;
17137                        if *val_ref != 0 {
17138                            *mut_ref = val as _;
17139                        }
17140                    };
17141                }
17142                _ => {
17143                    decoder.skip_wire_value(tag.wire_type())?;
17144                }
17145            }
17146        }
17147        Ok(())
17148    }
17149}
17150impl ::micropb::MessageEncode for Rpc_Resp_WifiScanGetApNum {
17151    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
17152        let mut max_size = 0;
17153        if let ::core::option::Option::Some(size) =
17154            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
17155        {
17156            max_size += size;
17157        } else {
17158            break 'msg (::core::option::Option::<usize>::None);
17159        };
17160        if let ::core::option::Option::Some(size) =
17161            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
17162        {
17163            max_size += size;
17164        } else {
17165            break 'msg (::core::option::Option::<usize>::None);
17166        };
17167        ::core::option::Option::Some(max_size)
17168    };
17169    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
17170        &self,
17171        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
17172    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
17173        use ::micropb::{FieldEncode, PbMap};
17174        {
17175            let val_ref = &self.r#resp;
17176            if *val_ref != 0 {
17177                encoder.encode_varint32(8u32)?;
17178                encoder.encode_int32(*val_ref as _)?;
17179            }
17180        }
17181        {
17182            let val_ref = &self.r#number;
17183            if *val_ref != 0 {
17184                encoder.encode_varint32(16u32)?;
17185                encoder.encode_int32(*val_ref as _)?;
17186            }
17187        }
17188        Ok(())
17189    }
17190    fn compute_size(&self) -> usize {
17191        use ::micropb::{FieldEncode, PbMap};
17192        let mut size = 0;
17193        {
17194            let val_ref = &self.r#resp;
17195            if *val_ref != 0 {
17196                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
17197            }
17198        }
17199        {
17200            let val_ref = &self.r#number;
17201            if *val_ref != 0 {
17202                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
17203            }
17204        }
17205        size
17206    }
17207}
17208#[derive(Debug, Default, PartialEq, Clone)]
17209pub struct Rpc_Req_WifiScanGetApRecords {
17210    pub r#number: i32,
17211}
17212impl Rpc_Req_WifiScanGetApRecords {
17213    ///Return a reference to `number`
17214    #[inline]
17215    pub fn r#number(&self) -> &i32 {
17216        &self.r#number
17217    }
17218    ///Return a mutable reference to `number`
17219    #[inline]
17220    pub fn mut_number(&mut self) -> &mut i32 {
17221        &mut self.r#number
17222    }
17223    ///Set the value of `number`
17224    #[inline]
17225    pub fn set_number(&mut self, value: i32) -> &mut Self {
17226        self.r#number = value.into();
17227        self
17228    }
17229    ///Builder method that sets the value of `number`. Useful for initializing the message.
17230    #[inline]
17231    pub fn init_number(mut self, value: i32) -> Self {
17232        self.r#number = value.into();
17233        self
17234    }
17235}
17236impl ::micropb::MessageDecode for Rpc_Req_WifiScanGetApRecords {
17237    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
17238        &mut self,
17239        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
17240        len: usize,
17241    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
17242        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
17243        let before = decoder.bytes_read();
17244        while decoder.bytes_read() - before < len {
17245            let tag = decoder.decode_tag()?;
17246            match tag.field_num() {
17247                0 => return Err(::micropb::DecodeError::ZeroField),
17248                1u32 => {
17249                    let mut_ref = &mut self.r#number;
17250                    {
17251                        let val = decoder.decode_int32()?;
17252                        let val_ref = &val;
17253                        if *val_ref != 0 {
17254                            *mut_ref = val as _;
17255                        }
17256                    };
17257                }
17258                _ => {
17259                    decoder.skip_wire_value(tag.wire_type())?;
17260                }
17261            }
17262        }
17263        Ok(())
17264    }
17265}
17266impl ::micropb::MessageEncode for Rpc_Req_WifiScanGetApRecords {
17267    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
17268        let mut max_size = 0;
17269        if let ::core::option::Option::Some(size) =
17270            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
17271        {
17272            max_size += size;
17273        } else {
17274            break 'msg (::core::option::Option::<usize>::None);
17275        };
17276        ::core::option::Option::Some(max_size)
17277    };
17278    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
17279        &self,
17280        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
17281    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
17282        use ::micropb::{FieldEncode, PbMap};
17283        {
17284            let val_ref = &self.r#number;
17285            if *val_ref != 0 {
17286                encoder.encode_varint32(8u32)?;
17287                encoder.encode_int32(*val_ref as _)?;
17288            }
17289        }
17290        Ok(())
17291    }
17292    fn compute_size(&self) -> usize {
17293        use ::micropb::{FieldEncode, PbMap};
17294        let mut size = 0;
17295        {
17296            let val_ref = &self.r#number;
17297            if *val_ref != 0 {
17298                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
17299            }
17300        }
17301        size
17302    }
17303}
17304#[derive(Debug, Default, PartialEq, Clone)]
17305pub struct Rpc_Resp_WifiScanGetApRecords {
17306    pub r#resp: i32,
17307    pub r#number: i32,
17308    pub r#ap_records: ::micropb::heapless::Vec<r#wifi_ap_record, 30>,
17309}
17310impl Rpc_Resp_WifiScanGetApRecords {
17311    ///Return a reference to `resp`
17312    #[inline]
17313    pub fn r#resp(&self) -> &i32 {
17314        &self.r#resp
17315    }
17316    ///Return a mutable reference to `resp`
17317    #[inline]
17318    pub fn mut_resp(&mut self) -> &mut i32 {
17319        &mut self.r#resp
17320    }
17321    ///Set the value of `resp`
17322    #[inline]
17323    pub fn set_resp(&mut self, value: i32) -> &mut Self {
17324        self.r#resp = value.into();
17325        self
17326    }
17327    ///Builder method that sets the value of `resp`. Useful for initializing the message.
17328    #[inline]
17329    pub fn init_resp(mut self, value: i32) -> Self {
17330        self.r#resp = value.into();
17331        self
17332    }
17333    ///Return a reference to `number`
17334    #[inline]
17335    pub fn r#number(&self) -> &i32 {
17336        &self.r#number
17337    }
17338    ///Return a mutable reference to `number`
17339    #[inline]
17340    pub fn mut_number(&mut self) -> &mut i32 {
17341        &mut self.r#number
17342    }
17343    ///Set the value of `number`
17344    #[inline]
17345    pub fn set_number(&mut self, value: i32) -> &mut Self {
17346        self.r#number = value.into();
17347        self
17348    }
17349    ///Builder method that sets the value of `number`. Useful for initializing the message.
17350    #[inline]
17351    pub fn init_number(mut self, value: i32) -> Self {
17352        self.r#number = value.into();
17353        self
17354    }
17355}
17356impl ::micropb::MessageDecode for Rpc_Resp_WifiScanGetApRecords {
17357    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
17358        &mut self,
17359        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
17360        len: usize,
17361    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
17362        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
17363        let before = decoder.bytes_read();
17364        while decoder.bytes_read() - before < len {
17365            let tag = decoder.decode_tag()?;
17366            match tag.field_num() {
17367                0 => return Err(::micropb::DecodeError::ZeroField),
17368                1u32 => {
17369                    let mut_ref = &mut self.r#resp;
17370                    {
17371                        let val = decoder.decode_int32()?;
17372                        let val_ref = &val;
17373                        if *val_ref != 0 {
17374                            *mut_ref = val as _;
17375                        }
17376                    };
17377                }
17378                2u32 => {
17379                    let mut_ref = &mut self.r#number;
17380                    {
17381                        let val = decoder.decode_int32()?;
17382                        let val_ref = &val;
17383                        if *val_ref != 0 {
17384                            *mut_ref = val as _;
17385                        }
17386                    };
17387                }
17388                3u32 => {
17389                    let mut val: r#wifi_ap_record = ::core::default::Default::default();
17390                    let mut_ref = &mut val;
17391                    {
17392                        mut_ref.decode_len_delimited(decoder)?;
17393                    };
17394                    if let (Err(_), false) = (
17395                        self.r#ap_records.pb_push(val),
17396                        decoder.ignore_repeated_cap_err,
17397                    ) {
17398                        return Err(::micropb::DecodeError::Capacity);
17399                    }
17400                }
17401                _ => {
17402                    decoder.skip_wire_value(tag.wire_type())?;
17403                }
17404            }
17405        }
17406        Ok(())
17407    }
17408}
17409impl ::micropb::MessageEncode for Rpc_Resp_WifiScanGetApRecords {
17410    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
17411        let mut max_size = 0;
17412        if let ::core::option::Option::Some(size) =
17413            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
17414        {
17415            max_size += size;
17416        } else {
17417            break 'msg (::core::option::Option::<usize>::None);
17418        };
17419        if let ::core::option::Option::Some(size) =
17420            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
17421        {
17422            max_size += size;
17423        } else {
17424            break 'msg (::core::option::Option::<usize>::None);
17425        };
17426        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
17427            ::micropb::const_map!(
17428                <r#wifi_ap_record as ::micropb::MessageEncode>::MAX_SIZE,
17429                |size| ::micropb::size::sizeof_len_record(size)
17430            ),
17431            |size| (size + 1usize) * 30usize
17432        ) {
17433            max_size += size;
17434        } else {
17435            break 'msg (::core::option::Option::<usize>::None);
17436        };
17437        ::core::option::Option::Some(max_size)
17438    };
17439    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
17440        &self,
17441        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
17442    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
17443        use ::micropb::{FieldEncode, PbMap};
17444        {
17445            let val_ref = &self.r#resp;
17446            if *val_ref != 0 {
17447                encoder.encode_varint32(8u32)?;
17448                encoder.encode_int32(*val_ref as _)?;
17449            }
17450        }
17451        {
17452            let val_ref = &self.r#number;
17453            if *val_ref != 0 {
17454                encoder.encode_varint32(16u32)?;
17455                encoder.encode_int32(*val_ref as _)?;
17456            }
17457        }
17458        {
17459            for val_ref in self.r#ap_records.iter() {
17460                encoder.encode_varint32(26u32)?;
17461                val_ref.encode_len_delimited(encoder)?;
17462            }
17463        }
17464        Ok(())
17465    }
17466    fn compute_size(&self) -> usize {
17467        use ::micropb::{FieldEncode, PbMap};
17468        let mut size = 0;
17469        {
17470            let val_ref = &self.r#resp;
17471            if *val_ref != 0 {
17472                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
17473            }
17474        }
17475        {
17476            let val_ref = &self.r#number;
17477            if *val_ref != 0 {
17478                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
17479            }
17480        }
17481        {
17482            for val_ref in self.r#ap_records.iter() {
17483                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
17484            }
17485        }
17486        size
17487    }
17488}
17489#[derive(Debug, Default, PartialEq, Clone)]
17490pub struct Rpc_Req_WifiScanGetApRecord {}
17491impl Rpc_Req_WifiScanGetApRecord {}
17492impl ::micropb::MessageDecode for Rpc_Req_WifiScanGetApRecord {
17493    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
17494        &mut self,
17495        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
17496        len: usize,
17497    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
17498        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
17499        let before = decoder.bytes_read();
17500        while decoder.bytes_read() - before < len {
17501            let tag = decoder.decode_tag()?;
17502            match tag.field_num() {
17503                0 => return Err(::micropb::DecodeError::ZeroField),
17504                _ => {
17505                    decoder.skip_wire_value(tag.wire_type())?;
17506                }
17507            }
17508        }
17509        Ok(())
17510    }
17511}
17512impl ::micropb::MessageEncode for Rpc_Req_WifiScanGetApRecord {
17513    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
17514        let mut max_size = 0;
17515        ::core::option::Option::Some(max_size)
17516    };
17517    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
17518        &self,
17519        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
17520    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
17521        use ::micropb::{FieldEncode, PbMap};
17522        Ok(())
17523    }
17524    fn compute_size(&self) -> usize {
17525        use ::micropb::{FieldEncode, PbMap};
17526        let mut size = 0;
17527        size
17528    }
17529}
17530pub mod Rpc_Resp_WifiScanGetApRecord_ {
17531    #[derive(Debug, Default, PartialEq, Clone)]
17532    pub struct _Hazzer([u8; 1]);
17533    impl _Hazzer {
17534        ///New hazzer with all fields set to off
17535        #[inline]
17536        pub const fn _new() -> Self {
17537            Self([0; 1])
17538        }
17539        ///Query presence of `ap_record`
17540        #[inline]
17541        pub const fn r#ap_record(&self) -> bool {
17542            (self.0[0] & 1) != 0
17543        }
17544        ///Set presence of `ap_record`
17545        #[inline]
17546        pub const fn set_ap_record(&mut self) -> &mut Self {
17547            let elem = &mut self.0[0];
17548            *elem |= 1;
17549            self
17550        }
17551        ///Clear presence of `ap_record`
17552        #[inline]
17553        pub const fn clear_ap_record(&mut self) -> &mut Self {
17554            let elem = &mut self.0[0];
17555            *elem &= !1;
17556            self
17557        }
17558        ///Builder method that sets the presence of `ap_record`. Useful for initializing the Hazzer.
17559        #[inline]
17560        pub const fn init_ap_record(mut self) -> Self {
17561            self.set_ap_record();
17562            self
17563        }
17564    }
17565}
17566#[derive(Debug, Default, Clone)]
17567pub struct Rpc_Resp_WifiScanGetApRecord {
17568    pub r#resp: i32,
17569    pub r#ap_record: r#wifi_ap_record,
17570    pub _has: Rpc_Resp_WifiScanGetApRecord_::_Hazzer,
17571}
17572impl ::core::cmp::PartialEq for Rpc_Resp_WifiScanGetApRecord {
17573    fn eq(&self, other: &Self) -> bool {
17574        let mut ret = true;
17575        ret &= (self.r#resp == other.r#resp);
17576        ret &= (self.r#ap_record() == other.r#ap_record());
17577        ret
17578    }
17579}
17580impl Rpc_Resp_WifiScanGetApRecord {
17581    ///Return a reference to `resp`
17582    #[inline]
17583    pub fn r#resp(&self) -> &i32 {
17584        &self.r#resp
17585    }
17586    ///Return a mutable reference to `resp`
17587    #[inline]
17588    pub fn mut_resp(&mut self) -> &mut i32 {
17589        &mut self.r#resp
17590    }
17591    ///Set the value of `resp`
17592    #[inline]
17593    pub fn set_resp(&mut self, value: i32) -> &mut Self {
17594        self.r#resp = value.into();
17595        self
17596    }
17597    ///Builder method that sets the value of `resp`. Useful for initializing the message.
17598    #[inline]
17599    pub fn init_resp(mut self, value: i32) -> Self {
17600        self.r#resp = value.into();
17601        self
17602    }
17603    ///Return a reference to `ap_record` as an `Option`
17604    #[inline]
17605    pub fn r#ap_record(&self) -> ::core::option::Option<&r#wifi_ap_record> {
17606        self._has.r#ap_record().then_some(&self.r#ap_record)
17607    }
17608    ///Set the value and presence of `ap_record`
17609    #[inline]
17610    pub fn set_ap_record(&mut self, value: r#wifi_ap_record) -> &mut Self {
17611        self._has.set_ap_record();
17612        self.r#ap_record = value.into();
17613        self
17614    }
17615    ///Return a mutable reference to `ap_record` as an `Option`
17616    #[inline]
17617    pub fn mut_ap_record(&mut self) -> ::core::option::Option<&mut r#wifi_ap_record> {
17618        self._has.r#ap_record().then_some(&mut self.r#ap_record)
17619    }
17620    ///Clear the presence of `ap_record`
17621    #[inline]
17622    pub fn clear_ap_record(&mut self) -> &mut Self {
17623        self._has.clear_ap_record();
17624        self
17625    }
17626    ///Take the value of `ap_record` and clear its presence
17627    #[inline]
17628    pub fn take_ap_record(&mut self) -> ::core::option::Option<r#wifi_ap_record> {
17629        let val = self
17630            ._has
17631            .r#ap_record()
17632            .then(|| ::core::mem::take(&mut self.r#ap_record));
17633        self._has.clear_ap_record();
17634        val
17635    }
17636    ///Builder method that sets the value of `ap_record`. Useful for initializing the message.
17637    #[inline]
17638    pub fn init_ap_record(mut self, value: r#wifi_ap_record) -> Self {
17639        self.set_ap_record(value);
17640        self
17641    }
17642}
17643impl ::micropb::MessageDecode for Rpc_Resp_WifiScanGetApRecord {
17644    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
17645        &mut self,
17646        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
17647        len: usize,
17648    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
17649        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
17650        let before = decoder.bytes_read();
17651        while decoder.bytes_read() - before < len {
17652            let tag = decoder.decode_tag()?;
17653            match tag.field_num() {
17654                0 => return Err(::micropb::DecodeError::ZeroField),
17655                1u32 => {
17656                    let mut_ref = &mut self.r#resp;
17657                    {
17658                        let val = decoder.decode_int32()?;
17659                        let val_ref = &val;
17660                        if *val_ref != 0 {
17661                            *mut_ref = val as _;
17662                        }
17663                    };
17664                }
17665                2u32 => {
17666                    let mut_ref = &mut self.r#ap_record;
17667                    {
17668                        mut_ref.decode_len_delimited(decoder)?;
17669                    };
17670                    self._has.set_ap_record();
17671                }
17672                _ => {
17673                    decoder.skip_wire_value(tag.wire_type())?;
17674                }
17675            }
17676        }
17677        Ok(())
17678    }
17679}
17680impl ::micropb::MessageEncode for Rpc_Resp_WifiScanGetApRecord {
17681    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
17682        let mut max_size = 0;
17683        if let ::core::option::Option::Some(size) =
17684            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
17685        {
17686            max_size += size;
17687        } else {
17688            break 'msg (::core::option::Option::<usize>::None);
17689        };
17690        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
17691            ::micropb::const_map!(
17692                <r#wifi_ap_record as ::micropb::MessageEncode>::MAX_SIZE,
17693                |size| ::micropb::size::sizeof_len_record(size)
17694            ),
17695            |size| size + 1usize
17696        ) {
17697            max_size += size;
17698        } else {
17699            break 'msg (::core::option::Option::<usize>::None);
17700        };
17701        ::core::option::Option::Some(max_size)
17702    };
17703    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
17704        &self,
17705        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
17706    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
17707        use ::micropb::{FieldEncode, PbMap};
17708        {
17709            let val_ref = &self.r#resp;
17710            if *val_ref != 0 {
17711                encoder.encode_varint32(8u32)?;
17712                encoder.encode_int32(*val_ref as _)?;
17713            }
17714        }
17715        {
17716            if let ::core::option::Option::Some(val_ref) = self.r#ap_record() {
17717                encoder.encode_varint32(18u32)?;
17718                val_ref.encode_len_delimited(encoder)?;
17719            }
17720        }
17721        Ok(())
17722    }
17723    fn compute_size(&self) -> usize {
17724        use ::micropb::{FieldEncode, PbMap};
17725        let mut size = 0;
17726        {
17727            let val_ref = &self.r#resp;
17728            if *val_ref != 0 {
17729                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
17730            }
17731        }
17732        {
17733            if let ::core::option::Option::Some(val_ref) = self.r#ap_record() {
17734                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
17735            }
17736        }
17737        size
17738    }
17739}
17740#[derive(Debug, Default, PartialEq, Clone)]
17741pub struct Rpc_Req_WifiClearApList {}
17742impl Rpc_Req_WifiClearApList {}
17743impl ::micropb::MessageDecode for Rpc_Req_WifiClearApList {
17744    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
17745        &mut self,
17746        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
17747        len: usize,
17748    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
17749        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
17750        let before = decoder.bytes_read();
17751        while decoder.bytes_read() - before < len {
17752            let tag = decoder.decode_tag()?;
17753            match tag.field_num() {
17754                0 => return Err(::micropb::DecodeError::ZeroField),
17755                _ => {
17756                    decoder.skip_wire_value(tag.wire_type())?;
17757                }
17758            }
17759        }
17760        Ok(())
17761    }
17762}
17763impl ::micropb::MessageEncode for Rpc_Req_WifiClearApList {
17764    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
17765        let mut max_size = 0;
17766        ::core::option::Option::Some(max_size)
17767    };
17768    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
17769        &self,
17770        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
17771    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
17772        use ::micropb::{FieldEncode, PbMap};
17773        Ok(())
17774    }
17775    fn compute_size(&self) -> usize {
17776        use ::micropb::{FieldEncode, PbMap};
17777        let mut size = 0;
17778        size
17779    }
17780}
17781#[derive(Debug, Default, PartialEq, Clone)]
17782pub struct Rpc_Resp_WifiClearApList {
17783    pub r#resp: i32,
17784}
17785impl Rpc_Resp_WifiClearApList {
17786    ///Return a reference to `resp`
17787    #[inline]
17788    pub fn r#resp(&self) -> &i32 {
17789        &self.r#resp
17790    }
17791    ///Return a mutable reference to `resp`
17792    #[inline]
17793    pub fn mut_resp(&mut self) -> &mut i32 {
17794        &mut self.r#resp
17795    }
17796    ///Set the value of `resp`
17797    #[inline]
17798    pub fn set_resp(&mut self, value: i32) -> &mut Self {
17799        self.r#resp = value.into();
17800        self
17801    }
17802    ///Builder method that sets the value of `resp`. Useful for initializing the message.
17803    #[inline]
17804    pub fn init_resp(mut self, value: i32) -> Self {
17805        self.r#resp = value.into();
17806        self
17807    }
17808}
17809impl ::micropb::MessageDecode for Rpc_Resp_WifiClearApList {
17810    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
17811        &mut self,
17812        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
17813        len: usize,
17814    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
17815        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
17816        let before = decoder.bytes_read();
17817        while decoder.bytes_read() - before < len {
17818            let tag = decoder.decode_tag()?;
17819            match tag.field_num() {
17820                0 => return Err(::micropb::DecodeError::ZeroField),
17821                1u32 => {
17822                    let mut_ref = &mut self.r#resp;
17823                    {
17824                        let val = decoder.decode_int32()?;
17825                        let val_ref = &val;
17826                        if *val_ref != 0 {
17827                            *mut_ref = val as _;
17828                        }
17829                    };
17830                }
17831                _ => {
17832                    decoder.skip_wire_value(tag.wire_type())?;
17833                }
17834            }
17835        }
17836        Ok(())
17837    }
17838}
17839impl ::micropb::MessageEncode for Rpc_Resp_WifiClearApList {
17840    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
17841        let mut max_size = 0;
17842        if let ::core::option::Option::Some(size) =
17843            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
17844        {
17845            max_size += size;
17846        } else {
17847            break 'msg (::core::option::Option::<usize>::None);
17848        };
17849        ::core::option::Option::Some(max_size)
17850    };
17851    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
17852        &self,
17853        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
17854    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
17855        use ::micropb::{FieldEncode, PbMap};
17856        {
17857            let val_ref = &self.r#resp;
17858            if *val_ref != 0 {
17859                encoder.encode_varint32(8u32)?;
17860                encoder.encode_int32(*val_ref as _)?;
17861            }
17862        }
17863        Ok(())
17864    }
17865    fn compute_size(&self) -> usize {
17866        use ::micropb::{FieldEncode, PbMap};
17867        let mut size = 0;
17868        {
17869            let val_ref = &self.r#resp;
17870            if *val_ref != 0 {
17871                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
17872            }
17873        }
17874        size
17875    }
17876}
17877#[derive(Debug, Default, PartialEq, Clone)]
17878pub struct Rpc_Req_WifiRestore {}
17879impl Rpc_Req_WifiRestore {}
17880impl ::micropb::MessageDecode for Rpc_Req_WifiRestore {
17881    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
17882        &mut self,
17883        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
17884        len: usize,
17885    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
17886        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
17887        let before = decoder.bytes_read();
17888        while decoder.bytes_read() - before < len {
17889            let tag = decoder.decode_tag()?;
17890            match tag.field_num() {
17891                0 => return Err(::micropb::DecodeError::ZeroField),
17892                _ => {
17893                    decoder.skip_wire_value(tag.wire_type())?;
17894                }
17895            }
17896        }
17897        Ok(())
17898    }
17899}
17900impl ::micropb::MessageEncode for Rpc_Req_WifiRestore {
17901    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
17902        let mut max_size = 0;
17903        ::core::option::Option::Some(max_size)
17904    };
17905    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
17906        &self,
17907        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
17908    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
17909        use ::micropb::{FieldEncode, PbMap};
17910        Ok(())
17911    }
17912    fn compute_size(&self) -> usize {
17913        use ::micropb::{FieldEncode, PbMap};
17914        let mut size = 0;
17915        size
17916    }
17917}
17918#[derive(Debug, Default, PartialEq, Clone)]
17919pub struct Rpc_Resp_WifiRestore {
17920    pub r#resp: i32,
17921}
17922impl Rpc_Resp_WifiRestore {
17923    ///Return a reference to `resp`
17924    #[inline]
17925    pub fn r#resp(&self) -> &i32 {
17926        &self.r#resp
17927    }
17928    ///Return a mutable reference to `resp`
17929    #[inline]
17930    pub fn mut_resp(&mut self) -> &mut i32 {
17931        &mut self.r#resp
17932    }
17933    ///Set the value of `resp`
17934    #[inline]
17935    pub fn set_resp(&mut self, value: i32) -> &mut Self {
17936        self.r#resp = value.into();
17937        self
17938    }
17939    ///Builder method that sets the value of `resp`. Useful for initializing the message.
17940    #[inline]
17941    pub fn init_resp(mut self, value: i32) -> Self {
17942        self.r#resp = value.into();
17943        self
17944    }
17945}
17946impl ::micropb::MessageDecode for Rpc_Resp_WifiRestore {
17947    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
17948        &mut self,
17949        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
17950        len: usize,
17951    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
17952        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
17953        let before = decoder.bytes_read();
17954        while decoder.bytes_read() - before < len {
17955            let tag = decoder.decode_tag()?;
17956            match tag.field_num() {
17957                0 => return Err(::micropb::DecodeError::ZeroField),
17958                1u32 => {
17959                    let mut_ref = &mut self.r#resp;
17960                    {
17961                        let val = decoder.decode_int32()?;
17962                        let val_ref = &val;
17963                        if *val_ref != 0 {
17964                            *mut_ref = val as _;
17965                        }
17966                    };
17967                }
17968                _ => {
17969                    decoder.skip_wire_value(tag.wire_type())?;
17970                }
17971            }
17972        }
17973        Ok(())
17974    }
17975}
17976impl ::micropb::MessageEncode for Rpc_Resp_WifiRestore {
17977    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
17978        let mut max_size = 0;
17979        if let ::core::option::Option::Some(size) =
17980            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
17981        {
17982            max_size += size;
17983        } else {
17984            break 'msg (::core::option::Option::<usize>::None);
17985        };
17986        ::core::option::Option::Some(max_size)
17987    };
17988    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
17989        &self,
17990        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
17991    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
17992        use ::micropb::{FieldEncode, PbMap};
17993        {
17994            let val_ref = &self.r#resp;
17995            if *val_ref != 0 {
17996                encoder.encode_varint32(8u32)?;
17997                encoder.encode_int32(*val_ref as _)?;
17998            }
17999        }
18000        Ok(())
18001    }
18002    fn compute_size(&self) -> usize {
18003        use ::micropb::{FieldEncode, PbMap};
18004        let mut size = 0;
18005        {
18006            let val_ref = &self.r#resp;
18007            if *val_ref != 0 {
18008                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
18009            }
18010        }
18011        size
18012    }
18013}
18014#[derive(Debug, Default, PartialEq, Clone)]
18015pub struct Rpc_Req_WifiClearFastConnect {}
18016impl Rpc_Req_WifiClearFastConnect {}
18017impl ::micropb::MessageDecode for Rpc_Req_WifiClearFastConnect {
18018    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
18019        &mut self,
18020        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
18021        len: usize,
18022    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
18023        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
18024        let before = decoder.bytes_read();
18025        while decoder.bytes_read() - before < len {
18026            let tag = decoder.decode_tag()?;
18027            match tag.field_num() {
18028                0 => return Err(::micropb::DecodeError::ZeroField),
18029                _ => {
18030                    decoder.skip_wire_value(tag.wire_type())?;
18031                }
18032            }
18033        }
18034        Ok(())
18035    }
18036}
18037impl ::micropb::MessageEncode for Rpc_Req_WifiClearFastConnect {
18038    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
18039        let mut max_size = 0;
18040        ::core::option::Option::Some(max_size)
18041    };
18042    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
18043        &self,
18044        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
18045    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
18046        use ::micropb::{FieldEncode, PbMap};
18047        Ok(())
18048    }
18049    fn compute_size(&self) -> usize {
18050        use ::micropb::{FieldEncode, PbMap};
18051        let mut size = 0;
18052        size
18053    }
18054}
18055#[derive(Debug, Default, PartialEq, Clone)]
18056pub struct Rpc_Resp_WifiClearFastConnect {
18057    pub r#resp: i32,
18058}
18059impl Rpc_Resp_WifiClearFastConnect {
18060    ///Return a reference to `resp`
18061    #[inline]
18062    pub fn r#resp(&self) -> &i32 {
18063        &self.r#resp
18064    }
18065    ///Return a mutable reference to `resp`
18066    #[inline]
18067    pub fn mut_resp(&mut self) -> &mut i32 {
18068        &mut self.r#resp
18069    }
18070    ///Set the value of `resp`
18071    #[inline]
18072    pub fn set_resp(&mut self, value: i32) -> &mut Self {
18073        self.r#resp = value.into();
18074        self
18075    }
18076    ///Builder method that sets the value of `resp`. Useful for initializing the message.
18077    #[inline]
18078    pub fn init_resp(mut self, value: i32) -> Self {
18079        self.r#resp = value.into();
18080        self
18081    }
18082}
18083impl ::micropb::MessageDecode for Rpc_Resp_WifiClearFastConnect {
18084    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
18085        &mut self,
18086        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
18087        len: usize,
18088    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
18089        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
18090        let before = decoder.bytes_read();
18091        while decoder.bytes_read() - before < len {
18092            let tag = decoder.decode_tag()?;
18093            match tag.field_num() {
18094                0 => return Err(::micropb::DecodeError::ZeroField),
18095                1u32 => {
18096                    let mut_ref = &mut self.r#resp;
18097                    {
18098                        let val = decoder.decode_int32()?;
18099                        let val_ref = &val;
18100                        if *val_ref != 0 {
18101                            *mut_ref = val as _;
18102                        }
18103                    };
18104                }
18105                _ => {
18106                    decoder.skip_wire_value(tag.wire_type())?;
18107                }
18108            }
18109        }
18110        Ok(())
18111    }
18112}
18113impl ::micropb::MessageEncode for Rpc_Resp_WifiClearFastConnect {
18114    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
18115        let mut max_size = 0;
18116        if let ::core::option::Option::Some(size) =
18117            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
18118        {
18119            max_size += size;
18120        } else {
18121            break 'msg (::core::option::Option::<usize>::None);
18122        };
18123        ::core::option::Option::Some(max_size)
18124    };
18125    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
18126        &self,
18127        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
18128    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
18129        use ::micropb::{FieldEncode, PbMap};
18130        {
18131            let val_ref = &self.r#resp;
18132            if *val_ref != 0 {
18133                encoder.encode_varint32(8u32)?;
18134                encoder.encode_int32(*val_ref as _)?;
18135            }
18136        }
18137        Ok(())
18138    }
18139    fn compute_size(&self) -> usize {
18140        use ::micropb::{FieldEncode, PbMap};
18141        let mut size = 0;
18142        {
18143            let val_ref = &self.r#resp;
18144            if *val_ref != 0 {
18145                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
18146            }
18147        }
18148        size
18149    }
18150}
18151#[derive(Debug, Default, PartialEq, Clone)]
18152pub struct Rpc_Req_WifiDeauthSta {
18153    pub r#aid: i32,
18154}
18155impl Rpc_Req_WifiDeauthSta {
18156    ///Return a reference to `aid`
18157    #[inline]
18158    pub fn r#aid(&self) -> &i32 {
18159        &self.r#aid
18160    }
18161    ///Return a mutable reference to `aid`
18162    #[inline]
18163    pub fn mut_aid(&mut self) -> &mut i32 {
18164        &mut self.r#aid
18165    }
18166    ///Set the value of `aid`
18167    #[inline]
18168    pub fn set_aid(&mut self, value: i32) -> &mut Self {
18169        self.r#aid = value.into();
18170        self
18171    }
18172    ///Builder method that sets the value of `aid`. Useful for initializing the message.
18173    #[inline]
18174    pub fn init_aid(mut self, value: i32) -> Self {
18175        self.r#aid = value.into();
18176        self
18177    }
18178}
18179impl ::micropb::MessageDecode for Rpc_Req_WifiDeauthSta {
18180    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
18181        &mut self,
18182        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
18183        len: usize,
18184    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
18185        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
18186        let before = decoder.bytes_read();
18187        while decoder.bytes_read() - before < len {
18188            let tag = decoder.decode_tag()?;
18189            match tag.field_num() {
18190                0 => return Err(::micropb::DecodeError::ZeroField),
18191                1u32 => {
18192                    let mut_ref = &mut self.r#aid;
18193                    {
18194                        let val = decoder.decode_int32()?;
18195                        let val_ref = &val;
18196                        if *val_ref != 0 {
18197                            *mut_ref = val as _;
18198                        }
18199                    };
18200                }
18201                _ => {
18202                    decoder.skip_wire_value(tag.wire_type())?;
18203                }
18204            }
18205        }
18206        Ok(())
18207    }
18208}
18209impl ::micropb::MessageEncode for Rpc_Req_WifiDeauthSta {
18210    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
18211        let mut max_size = 0;
18212        if let ::core::option::Option::Some(size) =
18213            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
18214        {
18215            max_size += size;
18216        } else {
18217            break 'msg (::core::option::Option::<usize>::None);
18218        };
18219        ::core::option::Option::Some(max_size)
18220    };
18221    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
18222        &self,
18223        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
18224    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
18225        use ::micropb::{FieldEncode, PbMap};
18226        {
18227            let val_ref = &self.r#aid;
18228            if *val_ref != 0 {
18229                encoder.encode_varint32(8u32)?;
18230                encoder.encode_int32(*val_ref as _)?;
18231            }
18232        }
18233        Ok(())
18234    }
18235    fn compute_size(&self) -> usize {
18236        use ::micropb::{FieldEncode, PbMap};
18237        let mut size = 0;
18238        {
18239            let val_ref = &self.r#aid;
18240            if *val_ref != 0 {
18241                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
18242            }
18243        }
18244        size
18245    }
18246}
18247#[derive(Debug, Default, PartialEq, Clone)]
18248pub struct Rpc_Resp_WifiDeauthSta {
18249    pub r#resp: i32,
18250    pub r#aid: i32,
18251}
18252impl Rpc_Resp_WifiDeauthSta {
18253    ///Return a reference to `resp`
18254    #[inline]
18255    pub fn r#resp(&self) -> &i32 {
18256        &self.r#resp
18257    }
18258    ///Return a mutable reference to `resp`
18259    #[inline]
18260    pub fn mut_resp(&mut self) -> &mut i32 {
18261        &mut self.r#resp
18262    }
18263    ///Set the value of `resp`
18264    #[inline]
18265    pub fn set_resp(&mut self, value: i32) -> &mut Self {
18266        self.r#resp = value.into();
18267        self
18268    }
18269    ///Builder method that sets the value of `resp`. Useful for initializing the message.
18270    #[inline]
18271    pub fn init_resp(mut self, value: i32) -> Self {
18272        self.r#resp = value.into();
18273        self
18274    }
18275    ///Return a reference to `aid`
18276    #[inline]
18277    pub fn r#aid(&self) -> &i32 {
18278        &self.r#aid
18279    }
18280    ///Return a mutable reference to `aid`
18281    #[inline]
18282    pub fn mut_aid(&mut self) -> &mut i32 {
18283        &mut self.r#aid
18284    }
18285    ///Set the value of `aid`
18286    #[inline]
18287    pub fn set_aid(&mut self, value: i32) -> &mut Self {
18288        self.r#aid = value.into();
18289        self
18290    }
18291    ///Builder method that sets the value of `aid`. Useful for initializing the message.
18292    #[inline]
18293    pub fn init_aid(mut self, value: i32) -> Self {
18294        self.r#aid = value.into();
18295        self
18296    }
18297}
18298impl ::micropb::MessageDecode for Rpc_Resp_WifiDeauthSta {
18299    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
18300        &mut self,
18301        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
18302        len: usize,
18303    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
18304        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
18305        let before = decoder.bytes_read();
18306        while decoder.bytes_read() - before < len {
18307            let tag = decoder.decode_tag()?;
18308            match tag.field_num() {
18309                0 => return Err(::micropb::DecodeError::ZeroField),
18310                1u32 => {
18311                    let mut_ref = &mut self.r#resp;
18312                    {
18313                        let val = decoder.decode_int32()?;
18314                        let val_ref = &val;
18315                        if *val_ref != 0 {
18316                            *mut_ref = val as _;
18317                        }
18318                    };
18319                }
18320                2u32 => {
18321                    let mut_ref = &mut self.r#aid;
18322                    {
18323                        let val = decoder.decode_int32()?;
18324                        let val_ref = &val;
18325                        if *val_ref != 0 {
18326                            *mut_ref = val as _;
18327                        }
18328                    };
18329                }
18330                _ => {
18331                    decoder.skip_wire_value(tag.wire_type())?;
18332                }
18333            }
18334        }
18335        Ok(())
18336    }
18337}
18338impl ::micropb::MessageEncode for Rpc_Resp_WifiDeauthSta {
18339    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
18340        let mut max_size = 0;
18341        if let ::core::option::Option::Some(size) =
18342            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
18343        {
18344            max_size += size;
18345        } else {
18346            break 'msg (::core::option::Option::<usize>::None);
18347        };
18348        if let ::core::option::Option::Some(size) =
18349            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
18350        {
18351            max_size += size;
18352        } else {
18353            break 'msg (::core::option::Option::<usize>::None);
18354        };
18355        ::core::option::Option::Some(max_size)
18356    };
18357    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
18358        &self,
18359        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
18360    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
18361        use ::micropb::{FieldEncode, PbMap};
18362        {
18363            let val_ref = &self.r#resp;
18364            if *val_ref != 0 {
18365                encoder.encode_varint32(8u32)?;
18366                encoder.encode_int32(*val_ref as _)?;
18367            }
18368        }
18369        {
18370            let val_ref = &self.r#aid;
18371            if *val_ref != 0 {
18372                encoder.encode_varint32(16u32)?;
18373                encoder.encode_int32(*val_ref as _)?;
18374            }
18375        }
18376        Ok(())
18377    }
18378    fn compute_size(&self) -> usize {
18379        use ::micropb::{FieldEncode, PbMap};
18380        let mut size = 0;
18381        {
18382            let val_ref = &self.r#resp;
18383            if *val_ref != 0 {
18384                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
18385            }
18386        }
18387        {
18388            let val_ref = &self.r#aid;
18389            if *val_ref != 0 {
18390                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
18391            }
18392        }
18393        size
18394    }
18395}
18396#[derive(Debug, Default, PartialEq, Clone)]
18397pub struct Rpc_Req_WifiStaGetApInfo {}
18398impl Rpc_Req_WifiStaGetApInfo {}
18399impl ::micropb::MessageDecode for Rpc_Req_WifiStaGetApInfo {
18400    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
18401        &mut self,
18402        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
18403        len: usize,
18404    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
18405        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
18406        let before = decoder.bytes_read();
18407        while decoder.bytes_read() - before < len {
18408            let tag = decoder.decode_tag()?;
18409            match tag.field_num() {
18410                0 => return Err(::micropb::DecodeError::ZeroField),
18411                _ => {
18412                    decoder.skip_wire_value(tag.wire_type())?;
18413                }
18414            }
18415        }
18416        Ok(())
18417    }
18418}
18419impl ::micropb::MessageEncode for Rpc_Req_WifiStaGetApInfo {
18420    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
18421        let mut max_size = 0;
18422        ::core::option::Option::Some(max_size)
18423    };
18424    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
18425        &self,
18426        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
18427    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
18428        use ::micropb::{FieldEncode, PbMap};
18429        Ok(())
18430    }
18431    fn compute_size(&self) -> usize {
18432        use ::micropb::{FieldEncode, PbMap};
18433        let mut size = 0;
18434        size
18435    }
18436}
18437pub mod Rpc_Resp_WifiStaGetApInfo_ {
18438    #[derive(Debug, Default, PartialEq, Clone)]
18439    pub struct _Hazzer([u8; 1]);
18440    impl _Hazzer {
18441        ///New hazzer with all fields set to off
18442        #[inline]
18443        pub const fn _new() -> Self {
18444            Self([0; 1])
18445        }
18446        ///Query presence of `ap_record`
18447        #[inline]
18448        pub const fn r#ap_record(&self) -> bool {
18449            (self.0[0] & 1) != 0
18450        }
18451        ///Set presence of `ap_record`
18452        #[inline]
18453        pub const fn set_ap_record(&mut self) -> &mut Self {
18454            let elem = &mut self.0[0];
18455            *elem |= 1;
18456            self
18457        }
18458        ///Clear presence of `ap_record`
18459        #[inline]
18460        pub const fn clear_ap_record(&mut self) -> &mut Self {
18461            let elem = &mut self.0[0];
18462            *elem &= !1;
18463            self
18464        }
18465        ///Builder method that sets the presence of `ap_record`. Useful for initializing the Hazzer.
18466        #[inline]
18467        pub const fn init_ap_record(mut self) -> Self {
18468            self.set_ap_record();
18469            self
18470        }
18471    }
18472}
18473#[derive(Debug, Default, Clone)]
18474pub struct Rpc_Resp_WifiStaGetApInfo {
18475    pub r#resp: i32,
18476    pub r#ap_record: r#wifi_ap_record,
18477    pub _has: Rpc_Resp_WifiStaGetApInfo_::_Hazzer,
18478}
18479impl ::core::cmp::PartialEq for Rpc_Resp_WifiStaGetApInfo {
18480    fn eq(&self, other: &Self) -> bool {
18481        let mut ret = true;
18482        ret &= (self.r#resp == other.r#resp);
18483        ret &= (self.r#ap_record() == other.r#ap_record());
18484        ret
18485    }
18486}
18487impl Rpc_Resp_WifiStaGetApInfo {
18488    ///Return a reference to `resp`
18489    #[inline]
18490    pub fn r#resp(&self) -> &i32 {
18491        &self.r#resp
18492    }
18493    ///Return a mutable reference to `resp`
18494    #[inline]
18495    pub fn mut_resp(&mut self) -> &mut i32 {
18496        &mut self.r#resp
18497    }
18498    ///Set the value of `resp`
18499    #[inline]
18500    pub fn set_resp(&mut self, value: i32) -> &mut Self {
18501        self.r#resp = value.into();
18502        self
18503    }
18504    ///Builder method that sets the value of `resp`. Useful for initializing the message.
18505    #[inline]
18506    pub fn init_resp(mut self, value: i32) -> Self {
18507        self.r#resp = value.into();
18508        self
18509    }
18510    ///Return a reference to `ap_record` as an `Option`
18511    #[inline]
18512    pub fn r#ap_record(&self) -> ::core::option::Option<&r#wifi_ap_record> {
18513        self._has.r#ap_record().then_some(&self.r#ap_record)
18514    }
18515    ///Set the value and presence of `ap_record`
18516    #[inline]
18517    pub fn set_ap_record(&mut self, value: r#wifi_ap_record) -> &mut Self {
18518        self._has.set_ap_record();
18519        self.r#ap_record = value.into();
18520        self
18521    }
18522    ///Return a mutable reference to `ap_record` as an `Option`
18523    #[inline]
18524    pub fn mut_ap_record(&mut self) -> ::core::option::Option<&mut r#wifi_ap_record> {
18525        self._has.r#ap_record().then_some(&mut self.r#ap_record)
18526    }
18527    ///Clear the presence of `ap_record`
18528    #[inline]
18529    pub fn clear_ap_record(&mut self) -> &mut Self {
18530        self._has.clear_ap_record();
18531        self
18532    }
18533    ///Take the value of `ap_record` and clear its presence
18534    #[inline]
18535    pub fn take_ap_record(&mut self) -> ::core::option::Option<r#wifi_ap_record> {
18536        let val = self
18537            ._has
18538            .r#ap_record()
18539            .then(|| ::core::mem::take(&mut self.r#ap_record));
18540        self._has.clear_ap_record();
18541        val
18542    }
18543    ///Builder method that sets the value of `ap_record`. Useful for initializing the message.
18544    #[inline]
18545    pub fn init_ap_record(mut self, value: r#wifi_ap_record) -> Self {
18546        self.set_ap_record(value);
18547        self
18548    }
18549}
18550impl ::micropb::MessageDecode for Rpc_Resp_WifiStaGetApInfo {
18551    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
18552        &mut self,
18553        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
18554        len: usize,
18555    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
18556        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
18557        let before = decoder.bytes_read();
18558        while decoder.bytes_read() - before < len {
18559            let tag = decoder.decode_tag()?;
18560            match tag.field_num() {
18561                0 => return Err(::micropb::DecodeError::ZeroField),
18562                1u32 => {
18563                    let mut_ref = &mut self.r#resp;
18564                    {
18565                        let val = decoder.decode_int32()?;
18566                        let val_ref = &val;
18567                        if *val_ref != 0 {
18568                            *mut_ref = val as _;
18569                        }
18570                    };
18571                }
18572                2u32 => {
18573                    let mut_ref = &mut self.r#ap_record;
18574                    {
18575                        mut_ref.decode_len_delimited(decoder)?;
18576                    };
18577                    self._has.set_ap_record();
18578                }
18579                _ => {
18580                    decoder.skip_wire_value(tag.wire_type())?;
18581                }
18582            }
18583        }
18584        Ok(())
18585    }
18586}
18587impl ::micropb::MessageEncode for Rpc_Resp_WifiStaGetApInfo {
18588    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
18589        let mut max_size = 0;
18590        if let ::core::option::Option::Some(size) =
18591            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
18592        {
18593            max_size += size;
18594        } else {
18595            break 'msg (::core::option::Option::<usize>::None);
18596        };
18597        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
18598            ::micropb::const_map!(
18599                <r#wifi_ap_record as ::micropb::MessageEncode>::MAX_SIZE,
18600                |size| ::micropb::size::sizeof_len_record(size)
18601            ),
18602            |size| size + 1usize
18603        ) {
18604            max_size += size;
18605        } else {
18606            break 'msg (::core::option::Option::<usize>::None);
18607        };
18608        ::core::option::Option::Some(max_size)
18609    };
18610    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
18611        &self,
18612        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
18613    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
18614        use ::micropb::{FieldEncode, PbMap};
18615        {
18616            let val_ref = &self.r#resp;
18617            if *val_ref != 0 {
18618                encoder.encode_varint32(8u32)?;
18619                encoder.encode_int32(*val_ref as _)?;
18620            }
18621        }
18622        {
18623            if let ::core::option::Option::Some(val_ref) = self.r#ap_record() {
18624                encoder.encode_varint32(18u32)?;
18625                val_ref.encode_len_delimited(encoder)?;
18626            }
18627        }
18628        Ok(())
18629    }
18630    fn compute_size(&self) -> usize {
18631        use ::micropb::{FieldEncode, PbMap};
18632        let mut size = 0;
18633        {
18634            let val_ref = &self.r#resp;
18635            if *val_ref != 0 {
18636                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
18637            }
18638        }
18639        {
18640            if let ::core::option::Option::Some(val_ref) = self.r#ap_record() {
18641                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
18642            }
18643        }
18644        size
18645    }
18646}
18647#[derive(Debug, Default, PartialEq, Clone)]
18648pub struct Rpc_Req_WifiSetProtocol {
18649    pub r#ifx: i32,
18650    pub r#protocol_bitmap: i32,
18651}
18652impl Rpc_Req_WifiSetProtocol {
18653    ///Return a reference to `ifx`
18654    #[inline]
18655    pub fn r#ifx(&self) -> &i32 {
18656        &self.r#ifx
18657    }
18658    ///Return a mutable reference to `ifx`
18659    #[inline]
18660    pub fn mut_ifx(&mut self) -> &mut i32 {
18661        &mut self.r#ifx
18662    }
18663    ///Set the value of `ifx`
18664    #[inline]
18665    pub fn set_ifx(&mut self, value: i32) -> &mut Self {
18666        self.r#ifx = value.into();
18667        self
18668    }
18669    ///Builder method that sets the value of `ifx`. Useful for initializing the message.
18670    #[inline]
18671    pub fn init_ifx(mut self, value: i32) -> Self {
18672        self.r#ifx = value.into();
18673        self
18674    }
18675    ///Return a reference to `protocol_bitmap`
18676    #[inline]
18677    pub fn r#protocol_bitmap(&self) -> &i32 {
18678        &self.r#protocol_bitmap
18679    }
18680    ///Return a mutable reference to `protocol_bitmap`
18681    #[inline]
18682    pub fn mut_protocol_bitmap(&mut self) -> &mut i32 {
18683        &mut self.r#protocol_bitmap
18684    }
18685    ///Set the value of `protocol_bitmap`
18686    #[inline]
18687    pub fn set_protocol_bitmap(&mut self, value: i32) -> &mut Self {
18688        self.r#protocol_bitmap = value.into();
18689        self
18690    }
18691    ///Builder method that sets the value of `protocol_bitmap`. Useful for initializing the message.
18692    #[inline]
18693    pub fn init_protocol_bitmap(mut self, value: i32) -> Self {
18694        self.r#protocol_bitmap = value.into();
18695        self
18696    }
18697}
18698impl ::micropb::MessageDecode for Rpc_Req_WifiSetProtocol {
18699    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
18700        &mut self,
18701        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
18702        len: usize,
18703    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
18704        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
18705        let before = decoder.bytes_read();
18706        while decoder.bytes_read() - before < len {
18707            let tag = decoder.decode_tag()?;
18708            match tag.field_num() {
18709                0 => return Err(::micropb::DecodeError::ZeroField),
18710                1u32 => {
18711                    let mut_ref = &mut self.r#ifx;
18712                    {
18713                        let val = decoder.decode_int32()?;
18714                        let val_ref = &val;
18715                        if *val_ref != 0 {
18716                            *mut_ref = val as _;
18717                        }
18718                    };
18719                }
18720                2u32 => {
18721                    let mut_ref = &mut self.r#protocol_bitmap;
18722                    {
18723                        let val = decoder.decode_int32()?;
18724                        let val_ref = &val;
18725                        if *val_ref != 0 {
18726                            *mut_ref = val as _;
18727                        }
18728                    };
18729                }
18730                _ => {
18731                    decoder.skip_wire_value(tag.wire_type())?;
18732                }
18733            }
18734        }
18735        Ok(())
18736    }
18737}
18738impl ::micropb::MessageEncode for Rpc_Req_WifiSetProtocol {
18739    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
18740        let mut max_size = 0;
18741        if let ::core::option::Option::Some(size) =
18742            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
18743        {
18744            max_size += size;
18745        } else {
18746            break 'msg (::core::option::Option::<usize>::None);
18747        };
18748        if let ::core::option::Option::Some(size) =
18749            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
18750        {
18751            max_size += size;
18752        } else {
18753            break 'msg (::core::option::Option::<usize>::None);
18754        };
18755        ::core::option::Option::Some(max_size)
18756    };
18757    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
18758        &self,
18759        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
18760    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
18761        use ::micropb::{FieldEncode, PbMap};
18762        {
18763            let val_ref = &self.r#ifx;
18764            if *val_ref != 0 {
18765                encoder.encode_varint32(8u32)?;
18766                encoder.encode_int32(*val_ref as _)?;
18767            }
18768        }
18769        {
18770            let val_ref = &self.r#protocol_bitmap;
18771            if *val_ref != 0 {
18772                encoder.encode_varint32(16u32)?;
18773                encoder.encode_int32(*val_ref as _)?;
18774            }
18775        }
18776        Ok(())
18777    }
18778    fn compute_size(&self) -> usize {
18779        use ::micropb::{FieldEncode, PbMap};
18780        let mut size = 0;
18781        {
18782            let val_ref = &self.r#ifx;
18783            if *val_ref != 0 {
18784                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
18785            }
18786        }
18787        {
18788            let val_ref = &self.r#protocol_bitmap;
18789            if *val_ref != 0 {
18790                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
18791            }
18792        }
18793        size
18794    }
18795}
18796#[derive(Debug, Default, PartialEq, Clone)]
18797pub struct Rpc_Resp_WifiSetProtocol {
18798    pub r#resp: i32,
18799}
18800impl Rpc_Resp_WifiSetProtocol {
18801    ///Return a reference to `resp`
18802    #[inline]
18803    pub fn r#resp(&self) -> &i32 {
18804        &self.r#resp
18805    }
18806    ///Return a mutable reference to `resp`
18807    #[inline]
18808    pub fn mut_resp(&mut self) -> &mut i32 {
18809        &mut self.r#resp
18810    }
18811    ///Set the value of `resp`
18812    #[inline]
18813    pub fn set_resp(&mut self, value: i32) -> &mut Self {
18814        self.r#resp = value.into();
18815        self
18816    }
18817    ///Builder method that sets the value of `resp`. Useful for initializing the message.
18818    #[inline]
18819    pub fn init_resp(mut self, value: i32) -> Self {
18820        self.r#resp = value.into();
18821        self
18822    }
18823}
18824impl ::micropb::MessageDecode for Rpc_Resp_WifiSetProtocol {
18825    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
18826        &mut self,
18827        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
18828        len: usize,
18829    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
18830        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
18831        let before = decoder.bytes_read();
18832        while decoder.bytes_read() - before < len {
18833            let tag = decoder.decode_tag()?;
18834            match tag.field_num() {
18835                0 => return Err(::micropb::DecodeError::ZeroField),
18836                1u32 => {
18837                    let mut_ref = &mut self.r#resp;
18838                    {
18839                        let val = decoder.decode_int32()?;
18840                        let val_ref = &val;
18841                        if *val_ref != 0 {
18842                            *mut_ref = val as _;
18843                        }
18844                    };
18845                }
18846                _ => {
18847                    decoder.skip_wire_value(tag.wire_type())?;
18848                }
18849            }
18850        }
18851        Ok(())
18852    }
18853}
18854impl ::micropb::MessageEncode for Rpc_Resp_WifiSetProtocol {
18855    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
18856        let mut max_size = 0;
18857        if let ::core::option::Option::Some(size) =
18858            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
18859        {
18860            max_size += size;
18861        } else {
18862            break 'msg (::core::option::Option::<usize>::None);
18863        };
18864        ::core::option::Option::Some(max_size)
18865    };
18866    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
18867        &self,
18868        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
18869    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
18870        use ::micropb::{FieldEncode, PbMap};
18871        {
18872            let val_ref = &self.r#resp;
18873            if *val_ref != 0 {
18874                encoder.encode_varint32(8u32)?;
18875                encoder.encode_int32(*val_ref as _)?;
18876            }
18877        }
18878        Ok(())
18879    }
18880    fn compute_size(&self) -> usize {
18881        use ::micropb::{FieldEncode, PbMap};
18882        let mut size = 0;
18883        {
18884            let val_ref = &self.r#resp;
18885            if *val_ref != 0 {
18886                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
18887            }
18888        }
18889        size
18890    }
18891}
18892#[derive(Debug, Default, PartialEq, Clone)]
18893pub struct Rpc_Req_WifiGetProtocol {
18894    pub r#ifx: i32,
18895}
18896impl Rpc_Req_WifiGetProtocol {
18897    ///Return a reference to `ifx`
18898    #[inline]
18899    pub fn r#ifx(&self) -> &i32 {
18900        &self.r#ifx
18901    }
18902    ///Return a mutable reference to `ifx`
18903    #[inline]
18904    pub fn mut_ifx(&mut self) -> &mut i32 {
18905        &mut self.r#ifx
18906    }
18907    ///Set the value of `ifx`
18908    #[inline]
18909    pub fn set_ifx(&mut self, value: i32) -> &mut Self {
18910        self.r#ifx = value.into();
18911        self
18912    }
18913    ///Builder method that sets the value of `ifx`. Useful for initializing the message.
18914    #[inline]
18915    pub fn init_ifx(mut self, value: i32) -> Self {
18916        self.r#ifx = value.into();
18917        self
18918    }
18919}
18920impl ::micropb::MessageDecode for Rpc_Req_WifiGetProtocol {
18921    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
18922        &mut self,
18923        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
18924        len: usize,
18925    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
18926        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
18927        let before = decoder.bytes_read();
18928        while decoder.bytes_read() - before < len {
18929            let tag = decoder.decode_tag()?;
18930            match tag.field_num() {
18931                0 => return Err(::micropb::DecodeError::ZeroField),
18932                1u32 => {
18933                    let mut_ref = &mut self.r#ifx;
18934                    {
18935                        let val = decoder.decode_int32()?;
18936                        let val_ref = &val;
18937                        if *val_ref != 0 {
18938                            *mut_ref = val as _;
18939                        }
18940                    };
18941                }
18942                _ => {
18943                    decoder.skip_wire_value(tag.wire_type())?;
18944                }
18945            }
18946        }
18947        Ok(())
18948    }
18949}
18950impl ::micropb::MessageEncode for Rpc_Req_WifiGetProtocol {
18951    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
18952        let mut max_size = 0;
18953        if let ::core::option::Option::Some(size) =
18954            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
18955        {
18956            max_size += size;
18957        } else {
18958            break 'msg (::core::option::Option::<usize>::None);
18959        };
18960        ::core::option::Option::Some(max_size)
18961    };
18962    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
18963        &self,
18964        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
18965    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
18966        use ::micropb::{FieldEncode, PbMap};
18967        {
18968            let val_ref = &self.r#ifx;
18969            if *val_ref != 0 {
18970                encoder.encode_varint32(8u32)?;
18971                encoder.encode_int32(*val_ref as _)?;
18972            }
18973        }
18974        Ok(())
18975    }
18976    fn compute_size(&self) -> usize {
18977        use ::micropb::{FieldEncode, PbMap};
18978        let mut size = 0;
18979        {
18980            let val_ref = &self.r#ifx;
18981            if *val_ref != 0 {
18982                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
18983            }
18984        }
18985        size
18986    }
18987}
18988#[derive(Debug, Default, PartialEq, Clone)]
18989pub struct Rpc_Resp_WifiGetProtocol {
18990    pub r#resp: i32,
18991    pub r#protocol_bitmap: i32,
18992}
18993impl Rpc_Resp_WifiGetProtocol {
18994    ///Return a reference to `resp`
18995    #[inline]
18996    pub fn r#resp(&self) -> &i32 {
18997        &self.r#resp
18998    }
18999    ///Return a mutable reference to `resp`
19000    #[inline]
19001    pub fn mut_resp(&mut self) -> &mut i32 {
19002        &mut self.r#resp
19003    }
19004    ///Set the value of `resp`
19005    #[inline]
19006    pub fn set_resp(&mut self, value: i32) -> &mut Self {
19007        self.r#resp = value.into();
19008        self
19009    }
19010    ///Builder method that sets the value of `resp`. Useful for initializing the message.
19011    #[inline]
19012    pub fn init_resp(mut self, value: i32) -> Self {
19013        self.r#resp = value.into();
19014        self
19015    }
19016    ///Return a reference to `protocol_bitmap`
19017    #[inline]
19018    pub fn r#protocol_bitmap(&self) -> &i32 {
19019        &self.r#protocol_bitmap
19020    }
19021    ///Return a mutable reference to `protocol_bitmap`
19022    #[inline]
19023    pub fn mut_protocol_bitmap(&mut self) -> &mut i32 {
19024        &mut self.r#protocol_bitmap
19025    }
19026    ///Set the value of `protocol_bitmap`
19027    #[inline]
19028    pub fn set_protocol_bitmap(&mut self, value: i32) -> &mut Self {
19029        self.r#protocol_bitmap = value.into();
19030        self
19031    }
19032    ///Builder method that sets the value of `protocol_bitmap`. Useful for initializing the message.
19033    #[inline]
19034    pub fn init_protocol_bitmap(mut self, value: i32) -> Self {
19035        self.r#protocol_bitmap = value.into();
19036        self
19037    }
19038}
19039impl ::micropb::MessageDecode for Rpc_Resp_WifiGetProtocol {
19040    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
19041        &mut self,
19042        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
19043        len: usize,
19044    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
19045        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
19046        let before = decoder.bytes_read();
19047        while decoder.bytes_read() - before < len {
19048            let tag = decoder.decode_tag()?;
19049            match tag.field_num() {
19050                0 => return Err(::micropb::DecodeError::ZeroField),
19051                1u32 => {
19052                    let mut_ref = &mut self.r#resp;
19053                    {
19054                        let val = decoder.decode_int32()?;
19055                        let val_ref = &val;
19056                        if *val_ref != 0 {
19057                            *mut_ref = val as _;
19058                        }
19059                    };
19060                }
19061                2u32 => {
19062                    let mut_ref = &mut self.r#protocol_bitmap;
19063                    {
19064                        let val = decoder.decode_int32()?;
19065                        let val_ref = &val;
19066                        if *val_ref != 0 {
19067                            *mut_ref = val as _;
19068                        }
19069                    };
19070                }
19071                _ => {
19072                    decoder.skip_wire_value(tag.wire_type())?;
19073                }
19074            }
19075        }
19076        Ok(())
19077    }
19078}
19079impl ::micropb::MessageEncode for Rpc_Resp_WifiGetProtocol {
19080    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
19081        let mut max_size = 0;
19082        if let ::core::option::Option::Some(size) =
19083            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
19084        {
19085            max_size += size;
19086        } else {
19087            break 'msg (::core::option::Option::<usize>::None);
19088        };
19089        if let ::core::option::Option::Some(size) =
19090            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
19091        {
19092            max_size += size;
19093        } else {
19094            break 'msg (::core::option::Option::<usize>::None);
19095        };
19096        ::core::option::Option::Some(max_size)
19097    };
19098    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
19099        &self,
19100        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
19101    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
19102        use ::micropb::{FieldEncode, PbMap};
19103        {
19104            let val_ref = &self.r#resp;
19105            if *val_ref != 0 {
19106                encoder.encode_varint32(8u32)?;
19107                encoder.encode_int32(*val_ref as _)?;
19108            }
19109        }
19110        {
19111            let val_ref = &self.r#protocol_bitmap;
19112            if *val_ref != 0 {
19113                encoder.encode_varint32(16u32)?;
19114                encoder.encode_int32(*val_ref as _)?;
19115            }
19116        }
19117        Ok(())
19118    }
19119    fn compute_size(&self) -> usize {
19120        use ::micropb::{FieldEncode, PbMap};
19121        let mut size = 0;
19122        {
19123            let val_ref = &self.r#resp;
19124            if *val_ref != 0 {
19125                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
19126            }
19127        }
19128        {
19129            let val_ref = &self.r#protocol_bitmap;
19130            if *val_ref != 0 {
19131                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
19132            }
19133        }
19134        size
19135    }
19136}
19137#[derive(Debug, Default, PartialEq, Clone)]
19138pub struct Rpc_Req_WifiSetBandwidth {
19139    pub r#ifx: i32,
19140    pub r#bw: i32,
19141}
19142impl Rpc_Req_WifiSetBandwidth {
19143    ///Return a reference to `ifx`
19144    #[inline]
19145    pub fn r#ifx(&self) -> &i32 {
19146        &self.r#ifx
19147    }
19148    ///Return a mutable reference to `ifx`
19149    #[inline]
19150    pub fn mut_ifx(&mut self) -> &mut i32 {
19151        &mut self.r#ifx
19152    }
19153    ///Set the value of `ifx`
19154    #[inline]
19155    pub fn set_ifx(&mut self, value: i32) -> &mut Self {
19156        self.r#ifx = value.into();
19157        self
19158    }
19159    ///Builder method that sets the value of `ifx`. Useful for initializing the message.
19160    #[inline]
19161    pub fn init_ifx(mut self, value: i32) -> Self {
19162        self.r#ifx = value.into();
19163        self
19164    }
19165    ///Return a reference to `bw`
19166    #[inline]
19167    pub fn r#bw(&self) -> &i32 {
19168        &self.r#bw
19169    }
19170    ///Return a mutable reference to `bw`
19171    #[inline]
19172    pub fn mut_bw(&mut self) -> &mut i32 {
19173        &mut self.r#bw
19174    }
19175    ///Set the value of `bw`
19176    #[inline]
19177    pub fn set_bw(&mut self, value: i32) -> &mut Self {
19178        self.r#bw = value.into();
19179        self
19180    }
19181    ///Builder method that sets the value of `bw`. Useful for initializing the message.
19182    #[inline]
19183    pub fn init_bw(mut self, value: i32) -> Self {
19184        self.r#bw = value.into();
19185        self
19186    }
19187}
19188impl ::micropb::MessageDecode for Rpc_Req_WifiSetBandwidth {
19189    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
19190        &mut self,
19191        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
19192        len: usize,
19193    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
19194        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
19195        let before = decoder.bytes_read();
19196        while decoder.bytes_read() - before < len {
19197            let tag = decoder.decode_tag()?;
19198            match tag.field_num() {
19199                0 => return Err(::micropb::DecodeError::ZeroField),
19200                1u32 => {
19201                    let mut_ref = &mut self.r#ifx;
19202                    {
19203                        let val = decoder.decode_int32()?;
19204                        let val_ref = &val;
19205                        if *val_ref != 0 {
19206                            *mut_ref = val as _;
19207                        }
19208                    };
19209                }
19210                2u32 => {
19211                    let mut_ref = &mut self.r#bw;
19212                    {
19213                        let val = decoder.decode_int32()?;
19214                        let val_ref = &val;
19215                        if *val_ref != 0 {
19216                            *mut_ref = val as _;
19217                        }
19218                    };
19219                }
19220                _ => {
19221                    decoder.skip_wire_value(tag.wire_type())?;
19222                }
19223            }
19224        }
19225        Ok(())
19226    }
19227}
19228impl ::micropb::MessageEncode for Rpc_Req_WifiSetBandwidth {
19229    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
19230        let mut max_size = 0;
19231        if let ::core::option::Option::Some(size) =
19232            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
19233        {
19234            max_size += size;
19235        } else {
19236            break 'msg (::core::option::Option::<usize>::None);
19237        };
19238        if let ::core::option::Option::Some(size) =
19239            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
19240        {
19241            max_size += size;
19242        } else {
19243            break 'msg (::core::option::Option::<usize>::None);
19244        };
19245        ::core::option::Option::Some(max_size)
19246    };
19247    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
19248        &self,
19249        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
19250    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
19251        use ::micropb::{FieldEncode, PbMap};
19252        {
19253            let val_ref = &self.r#ifx;
19254            if *val_ref != 0 {
19255                encoder.encode_varint32(8u32)?;
19256                encoder.encode_int32(*val_ref as _)?;
19257            }
19258        }
19259        {
19260            let val_ref = &self.r#bw;
19261            if *val_ref != 0 {
19262                encoder.encode_varint32(16u32)?;
19263                encoder.encode_int32(*val_ref as _)?;
19264            }
19265        }
19266        Ok(())
19267    }
19268    fn compute_size(&self) -> usize {
19269        use ::micropb::{FieldEncode, PbMap};
19270        let mut size = 0;
19271        {
19272            let val_ref = &self.r#ifx;
19273            if *val_ref != 0 {
19274                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
19275            }
19276        }
19277        {
19278            let val_ref = &self.r#bw;
19279            if *val_ref != 0 {
19280                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
19281            }
19282        }
19283        size
19284    }
19285}
19286#[derive(Debug, Default, PartialEq, Clone)]
19287pub struct Rpc_Resp_WifiSetBandwidth {
19288    pub r#resp: i32,
19289}
19290impl Rpc_Resp_WifiSetBandwidth {
19291    ///Return a reference to `resp`
19292    #[inline]
19293    pub fn r#resp(&self) -> &i32 {
19294        &self.r#resp
19295    }
19296    ///Return a mutable reference to `resp`
19297    #[inline]
19298    pub fn mut_resp(&mut self) -> &mut i32 {
19299        &mut self.r#resp
19300    }
19301    ///Set the value of `resp`
19302    #[inline]
19303    pub fn set_resp(&mut self, value: i32) -> &mut Self {
19304        self.r#resp = value.into();
19305        self
19306    }
19307    ///Builder method that sets the value of `resp`. Useful for initializing the message.
19308    #[inline]
19309    pub fn init_resp(mut self, value: i32) -> Self {
19310        self.r#resp = value.into();
19311        self
19312    }
19313}
19314impl ::micropb::MessageDecode for Rpc_Resp_WifiSetBandwidth {
19315    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
19316        &mut self,
19317        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
19318        len: usize,
19319    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
19320        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
19321        let before = decoder.bytes_read();
19322        while decoder.bytes_read() - before < len {
19323            let tag = decoder.decode_tag()?;
19324            match tag.field_num() {
19325                0 => return Err(::micropb::DecodeError::ZeroField),
19326                1u32 => {
19327                    let mut_ref = &mut self.r#resp;
19328                    {
19329                        let val = decoder.decode_int32()?;
19330                        let val_ref = &val;
19331                        if *val_ref != 0 {
19332                            *mut_ref = val as _;
19333                        }
19334                    };
19335                }
19336                _ => {
19337                    decoder.skip_wire_value(tag.wire_type())?;
19338                }
19339            }
19340        }
19341        Ok(())
19342    }
19343}
19344impl ::micropb::MessageEncode for Rpc_Resp_WifiSetBandwidth {
19345    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
19346        let mut max_size = 0;
19347        if let ::core::option::Option::Some(size) =
19348            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
19349        {
19350            max_size += size;
19351        } else {
19352            break 'msg (::core::option::Option::<usize>::None);
19353        };
19354        ::core::option::Option::Some(max_size)
19355    };
19356    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
19357        &self,
19358        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
19359    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
19360        use ::micropb::{FieldEncode, PbMap};
19361        {
19362            let val_ref = &self.r#resp;
19363            if *val_ref != 0 {
19364                encoder.encode_varint32(8u32)?;
19365                encoder.encode_int32(*val_ref as _)?;
19366            }
19367        }
19368        Ok(())
19369    }
19370    fn compute_size(&self) -> usize {
19371        use ::micropb::{FieldEncode, PbMap};
19372        let mut size = 0;
19373        {
19374            let val_ref = &self.r#resp;
19375            if *val_ref != 0 {
19376                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
19377            }
19378        }
19379        size
19380    }
19381}
19382#[derive(Debug, Default, PartialEq, Clone)]
19383pub struct Rpc_Req_WifiGetBandwidth {
19384    pub r#ifx: i32,
19385}
19386impl Rpc_Req_WifiGetBandwidth {
19387    ///Return a reference to `ifx`
19388    #[inline]
19389    pub fn r#ifx(&self) -> &i32 {
19390        &self.r#ifx
19391    }
19392    ///Return a mutable reference to `ifx`
19393    #[inline]
19394    pub fn mut_ifx(&mut self) -> &mut i32 {
19395        &mut self.r#ifx
19396    }
19397    ///Set the value of `ifx`
19398    #[inline]
19399    pub fn set_ifx(&mut self, value: i32) -> &mut Self {
19400        self.r#ifx = value.into();
19401        self
19402    }
19403    ///Builder method that sets the value of `ifx`. Useful for initializing the message.
19404    #[inline]
19405    pub fn init_ifx(mut self, value: i32) -> Self {
19406        self.r#ifx = value.into();
19407        self
19408    }
19409}
19410impl ::micropb::MessageDecode for Rpc_Req_WifiGetBandwidth {
19411    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
19412        &mut self,
19413        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
19414        len: usize,
19415    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
19416        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
19417        let before = decoder.bytes_read();
19418        while decoder.bytes_read() - before < len {
19419            let tag = decoder.decode_tag()?;
19420            match tag.field_num() {
19421                0 => return Err(::micropb::DecodeError::ZeroField),
19422                1u32 => {
19423                    let mut_ref = &mut self.r#ifx;
19424                    {
19425                        let val = decoder.decode_int32()?;
19426                        let val_ref = &val;
19427                        if *val_ref != 0 {
19428                            *mut_ref = val as _;
19429                        }
19430                    };
19431                }
19432                _ => {
19433                    decoder.skip_wire_value(tag.wire_type())?;
19434                }
19435            }
19436        }
19437        Ok(())
19438    }
19439}
19440impl ::micropb::MessageEncode for Rpc_Req_WifiGetBandwidth {
19441    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
19442        let mut max_size = 0;
19443        if let ::core::option::Option::Some(size) =
19444            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
19445        {
19446            max_size += size;
19447        } else {
19448            break 'msg (::core::option::Option::<usize>::None);
19449        };
19450        ::core::option::Option::Some(max_size)
19451    };
19452    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
19453        &self,
19454        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
19455    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
19456        use ::micropb::{FieldEncode, PbMap};
19457        {
19458            let val_ref = &self.r#ifx;
19459            if *val_ref != 0 {
19460                encoder.encode_varint32(8u32)?;
19461                encoder.encode_int32(*val_ref as _)?;
19462            }
19463        }
19464        Ok(())
19465    }
19466    fn compute_size(&self) -> usize {
19467        use ::micropb::{FieldEncode, PbMap};
19468        let mut size = 0;
19469        {
19470            let val_ref = &self.r#ifx;
19471            if *val_ref != 0 {
19472                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
19473            }
19474        }
19475        size
19476    }
19477}
19478#[derive(Debug, Default, PartialEq, Clone)]
19479pub struct Rpc_Resp_WifiGetBandwidth {
19480    pub r#resp: i32,
19481    pub r#bw: i32,
19482}
19483impl Rpc_Resp_WifiGetBandwidth {
19484    ///Return a reference to `resp`
19485    #[inline]
19486    pub fn r#resp(&self) -> &i32 {
19487        &self.r#resp
19488    }
19489    ///Return a mutable reference to `resp`
19490    #[inline]
19491    pub fn mut_resp(&mut self) -> &mut i32 {
19492        &mut self.r#resp
19493    }
19494    ///Set the value of `resp`
19495    #[inline]
19496    pub fn set_resp(&mut self, value: i32) -> &mut Self {
19497        self.r#resp = value.into();
19498        self
19499    }
19500    ///Builder method that sets the value of `resp`. Useful for initializing the message.
19501    #[inline]
19502    pub fn init_resp(mut self, value: i32) -> Self {
19503        self.r#resp = value.into();
19504        self
19505    }
19506    ///Return a reference to `bw`
19507    #[inline]
19508    pub fn r#bw(&self) -> &i32 {
19509        &self.r#bw
19510    }
19511    ///Return a mutable reference to `bw`
19512    #[inline]
19513    pub fn mut_bw(&mut self) -> &mut i32 {
19514        &mut self.r#bw
19515    }
19516    ///Set the value of `bw`
19517    #[inline]
19518    pub fn set_bw(&mut self, value: i32) -> &mut Self {
19519        self.r#bw = value.into();
19520        self
19521    }
19522    ///Builder method that sets the value of `bw`. Useful for initializing the message.
19523    #[inline]
19524    pub fn init_bw(mut self, value: i32) -> Self {
19525        self.r#bw = value.into();
19526        self
19527    }
19528}
19529impl ::micropb::MessageDecode for Rpc_Resp_WifiGetBandwidth {
19530    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
19531        &mut self,
19532        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
19533        len: usize,
19534    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
19535        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
19536        let before = decoder.bytes_read();
19537        while decoder.bytes_read() - before < len {
19538            let tag = decoder.decode_tag()?;
19539            match tag.field_num() {
19540                0 => return Err(::micropb::DecodeError::ZeroField),
19541                1u32 => {
19542                    let mut_ref = &mut self.r#resp;
19543                    {
19544                        let val = decoder.decode_int32()?;
19545                        let val_ref = &val;
19546                        if *val_ref != 0 {
19547                            *mut_ref = val as _;
19548                        }
19549                    };
19550                }
19551                2u32 => {
19552                    let mut_ref = &mut self.r#bw;
19553                    {
19554                        let val = decoder.decode_int32()?;
19555                        let val_ref = &val;
19556                        if *val_ref != 0 {
19557                            *mut_ref = val as _;
19558                        }
19559                    };
19560                }
19561                _ => {
19562                    decoder.skip_wire_value(tag.wire_type())?;
19563                }
19564            }
19565        }
19566        Ok(())
19567    }
19568}
19569impl ::micropb::MessageEncode for Rpc_Resp_WifiGetBandwidth {
19570    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
19571        let mut max_size = 0;
19572        if let ::core::option::Option::Some(size) =
19573            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
19574        {
19575            max_size += size;
19576        } else {
19577            break 'msg (::core::option::Option::<usize>::None);
19578        };
19579        if let ::core::option::Option::Some(size) =
19580            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
19581        {
19582            max_size += size;
19583        } else {
19584            break 'msg (::core::option::Option::<usize>::None);
19585        };
19586        ::core::option::Option::Some(max_size)
19587    };
19588    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
19589        &self,
19590        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
19591    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
19592        use ::micropb::{FieldEncode, PbMap};
19593        {
19594            let val_ref = &self.r#resp;
19595            if *val_ref != 0 {
19596                encoder.encode_varint32(8u32)?;
19597                encoder.encode_int32(*val_ref as _)?;
19598            }
19599        }
19600        {
19601            let val_ref = &self.r#bw;
19602            if *val_ref != 0 {
19603                encoder.encode_varint32(16u32)?;
19604                encoder.encode_int32(*val_ref as _)?;
19605            }
19606        }
19607        Ok(())
19608    }
19609    fn compute_size(&self) -> usize {
19610        use ::micropb::{FieldEncode, PbMap};
19611        let mut size = 0;
19612        {
19613            let val_ref = &self.r#resp;
19614            if *val_ref != 0 {
19615                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
19616            }
19617        }
19618        {
19619            let val_ref = &self.r#bw;
19620            if *val_ref != 0 {
19621                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
19622            }
19623        }
19624        size
19625    }
19626}
19627#[derive(Debug, Default, PartialEq, Clone)]
19628pub struct Rpc_Req_WifiSetChannel {
19629    pub r#primary: i32,
19630    pub r#second: i32,
19631}
19632impl Rpc_Req_WifiSetChannel {
19633    ///Return a reference to `primary`
19634    #[inline]
19635    pub fn r#primary(&self) -> &i32 {
19636        &self.r#primary
19637    }
19638    ///Return a mutable reference to `primary`
19639    #[inline]
19640    pub fn mut_primary(&mut self) -> &mut i32 {
19641        &mut self.r#primary
19642    }
19643    ///Set the value of `primary`
19644    #[inline]
19645    pub fn set_primary(&mut self, value: i32) -> &mut Self {
19646        self.r#primary = value.into();
19647        self
19648    }
19649    ///Builder method that sets the value of `primary`. Useful for initializing the message.
19650    #[inline]
19651    pub fn init_primary(mut self, value: i32) -> Self {
19652        self.r#primary = value.into();
19653        self
19654    }
19655    ///Return a reference to `second`
19656    #[inline]
19657    pub fn r#second(&self) -> &i32 {
19658        &self.r#second
19659    }
19660    ///Return a mutable reference to `second`
19661    #[inline]
19662    pub fn mut_second(&mut self) -> &mut i32 {
19663        &mut self.r#second
19664    }
19665    ///Set the value of `second`
19666    #[inline]
19667    pub fn set_second(&mut self, value: i32) -> &mut Self {
19668        self.r#second = value.into();
19669        self
19670    }
19671    ///Builder method that sets the value of `second`. Useful for initializing the message.
19672    #[inline]
19673    pub fn init_second(mut self, value: i32) -> Self {
19674        self.r#second = value.into();
19675        self
19676    }
19677}
19678impl ::micropb::MessageDecode for Rpc_Req_WifiSetChannel {
19679    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
19680        &mut self,
19681        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
19682        len: usize,
19683    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
19684        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
19685        let before = decoder.bytes_read();
19686        while decoder.bytes_read() - before < len {
19687            let tag = decoder.decode_tag()?;
19688            match tag.field_num() {
19689                0 => return Err(::micropb::DecodeError::ZeroField),
19690                1u32 => {
19691                    let mut_ref = &mut self.r#primary;
19692                    {
19693                        let val = decoder.decode_int32()?;
19694                        let val_ref = &val;
19695                        if *val_ref != 0 {
19696                            *mut_ref = val as _;
19697                        }
19698                    };
19699                }
19700                2u32 => {
19701                    let mut_ref = &mut self.r#second;
19702                    {
19703                        let val = decoder.decode_int32()?;
19704                        let val_ref = &val;
19705                        if *val_ref != 0 {
19706                            *mut_ref = val as _;
19707                        }
19708                    };
19709                }
19710                _ => {
19711                    decoder.skip_wire_value(tag.wire_type())?;
19712                }
19713            }
19714        }
19715        Ok(())
19716    }
19717}
19718impl ::micropb::MessageEncode for Rpc_Req_WifiSetChannel {
19719    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
19720        let mut max_size = 0;
19721        if let ::core::option::Option::Some(size) =
19722            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
19723        {
19724            max_size += size;
19725        } else {
19726            break 'msg (::core::option::Option::<usize>::None);
19727        };
19728        if let ::core::option::Option::Some(size) =
19729            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
19730        {
19731            max_size += size;
19732        } else {
19733            break 'msg (::core::option::Option::<usize>::None);
19734        };
19735        ::core::option::Option::Some(max_size)
19736    };
19737    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
19738        &self,
19739        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
19740    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
19741        use ::micropb::{FieldEncode, PbMap};
19742        {
19743            let val_ref = &self.r#primary;
19744            if *val_ref != 0 {
19745                encoder.encode_varint32(8u32)?;
19746                encoder.encode_int32(*val_ref as _)?;
19747            }
19748        }
19749        {
19750            let val_ref = &self.r#second;
19751            if *val_ref != 0 {
19752                encoder.encode_varint32(16u32)?;
19753                encoder.encode_int32(*val_ref as _)?;
19754            }
19755        }
19756        Ok(())
19757    }
19758    fn compute_size(&self) -> usize {
19759        use ::micropb::{FieldEncode, PbMap};
19760        let mut size = 0;
19761        {
19762            let val_ref = &self.r#primary;
19763            if *val_ref != 0 {
19764                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
19765            }
19766        }
19767        {
19768            let val_ref = &self.r#second;
19769            if *val_ref != 0 {
19770                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
19771            }
19772        }
19773        size
19774    }
19775}
19776#[derive(Debug, Default, PartialEq, Clone)]
19777pub struct Rpc_Resp_WifiSetChannel {
19778    pub r#resp: i32,
19779}
19780impl Rpc_Resp_WifiSetChannel {
19781    ///Return a reference to `resp`
19782    #[inline]
19783    pub fn r#resp(&self) -> &i32 {
19784        &self.r#resp
19785    }
19786    ///Return a mutable reference to `resp`
19787    #[inline]
19788    pub fn mut_resp(&mut self) -> &mut i32 {
19789        &mut self.r#resp
19790    }
19791    ///Set the value of `resp`
19792    #[inline]
19793    pub fn set_resp(&mut self, value: i32) -> &mut Self {
19794        self.r#resp = value.into();
19795        self
19796    }
19797    ///Builder method that sets the value of `resp`. Useful for initializing the message.
19798    #[inline]
19799    pub fn init_resp(mut self, value: i32) -> Self {
19800        self.r#resp = value.into();
19801        self
19802    }
19803}
19804impl ::micropb::MessageDecode for Rpc_Resp_WifiSetChannel {
19805    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
19806        &mut self,
19807        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
19808        len: usize,
19809    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
19810        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
19811        let before = decoder.bytes_read();
19812        while decoder.bytes_read() - before < len {
19813            let tag = decoder.decode_tag()?;
19814            match tag.field_num() {
19815                0 => return Err(::micropb::DecodeError::ZeroField),
19816                1u32 => {
19817                    let mut_ref = &mut self.r#resp;
19818                    {
19819                        let val = decoder.decode_int32()?;
19820                        let val_ref = &val;
19821                        if *val_ref != 0 {
19822                            *mut_ref = val as _;
19823                        }
19824                    };
19825                }
19826                _ => {
19827                    decoder.skip_wire_value(tag.wire_type())?;
19828                }
19829            }
19830        }
19831        Ok(())
19832    }
19833}
19834impl ::micropb::MessageEncode for Rpc_Resp_WifiSetChannel {
19835    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
19836        let mut max_size = 0;
19837        if let ::core::option::Option::Some(size) =
19838            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
19839        {
19840            max_size += size;
19841        } else {
19842            break 'msg (::core::option::Option::<usize>::None);
19843        };
19844        ::core::option::Option::Some(max_size)
19845    };
19846    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
19847        &self,
19848        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
19849    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
19850        use ::micropb::{FieldEncode, PbMap};
19851        {
19852            let val_ref = &self.r#resp;
19853            if *val_ref != 0 {
19854                encoder.encode_varint32(8u32)?;
19855                encoder.encode_int32(*val_ref as _)?;
19856            }
19857        }
19858        Ok(())
19859    }
19860    fn compute_size(&self) -> usize {
19861        use ::micropb::{FieldEncode, PbMap};
19862        let mut size = 0;
19863        {
19864            let val_ref = &self.r#resp;
19865            if *val_ref != 0 {
19866                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
19867            }
19868        }
19869        size
19870    }
19871}
19872#[derive(Debug, Default, PartialEq, Clone)]
19873pub struct Rpc_Req_WifiGetChannel {}
19874impl Rpc_Req_WifiGetChannel {}
19875impl ::micropb::MessageDecode for Rpc_Req_WifiGetChannel {
19876    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
19877        &mut self,
19878        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
19879        len: usize,
19880    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
19881        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
19882        let before = decoder.bytes_read();
19883        while decoder.bytes_read() - before < len {
19884            let tag = decoder.decode_tag()?;
19885            match tag.field_num() {
19886                0 => return Err(::micropb::DecodeError::ZeroField),
19887                _ => {
19888                    decoder.skip_wire_value(tag.wire_type())?;
19889                }
19890            }
19891        }
19892        Ok(())
19893    }
19894}
19895impl ::micropb::MessageEncode for Rpc_Req_WifiGetChannel {
19896    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
19897        let mut max_size = 0;
19898        ::core::option::Option::Some(max_size)
19899    };
19900    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
19901        &self,
19902        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
19903    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
19904        use ::micropb::{FieldEncode, PbMap};
19905        Ok(())
19906    }
19907    fn compute_size(&self) -> usize {
19908        use ::micropb::{FieldEncode, PbMap};
19909        let mut size = 0;
19910        size
19911    }
19912}
19913#[derive(Debug, Default, PartialEq, Clone)]
19914pub struct Rpc_Resp_WifiGetChannel {
19915    pub r#resp: i32,
19916    pub r#primary: i32,
19917    pub r#second: i32,
19918}
19919impl Rpc_Resp_WifiGetChannel {
19920    ///Return a reference to `resp`
19921    #[inline]
19922    pub fn r#resp(&self) -> &i32 {
19923        &self.r#resp
19924    }
19925    ///Return a mutable reference to `resp`
19926    #[inline]
19927    pub fn mut_resp(&mut self) -> &mut i32 {
19928        &mut self.r#resp
19929    }
19930    ///Set the value of `resp`
19931    #[inline]
19932    pub fn set_resp(&mut self, value: i32) -> &mut Self {
19933        self.r#resp = value.into();
19934        self
19935    }
19936    ///Builder method that sets the value of `resp`. Useful for initializing the message.
19937    #[inline]
19938    pub fn init_resp(mut self, value: i32) -> Self {
19939        self.r#resp = value.into();
19940        self
19941    }
19942    ///Return a reference to `primary`
19943    #[inline]
19944    pub fn r#primary(&self) -> &i32 {
19945        &self.r#primary
19946    }
19947    ///Return a mutable reference to `primary`
19948    #[inline]
19949    pub fn mut_primary(&mut self) -> &mut i32 {
19950        &mut self.r#primary
19951    }
19952    ///Set the value of `primary`
19953    #[inline]
19954    pub fn set_primary(&mut self, value: i32) -> &mut Self {
19955        self.r#primary = value.into();
19956        self
19957    }
19958    ///Builder method that sets the value of `primary`. Useful for initializing the message.
19959    #[inline]
19960    pub fn init_primary(mut self, value: i32) -> Self {
19961        self.r#primary = value.into();
19962        self
19963    }
19964    ///Return a reference to `second`
19965    #[inline]
19966    pub fn r#second(&self) -> &i32 {
19967        &self.r#second
19968    }
19969    ///Return a mutable reference to `second`
19970    #[inline]
19971    pub fn mut_second(&mut self) -> &mut i32 {
19972        &mut self.r#second
19973    }
19974    ///Set the value of `second`
19975    #[inline]
19976    pub fn set_second(&mut self, value: i32) -> &mut Self {
19977        self.r#second = value.into();
19978        self
19979    }
19980    ///Builder method that sets the value of `second`. Useful for initializing the message.
19981    #[inline]
19982    pub fn init_second(mut self, value: i32) -> Self {
19983        self.r#second = value.into();
19984        self
19985    }
19986}
19987impl ::micropb::MessageDecode for Rpc_Resp_WifiGetChannel {
19988    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
19989        &mut self,
19990        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
19991        len: usize,
19992    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
19993        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
19994        let before = decoder.bytes_read();
19995        while decoder.bytes_read() - before < len {
19996            let tag = decoder.decode_tag()?;
19997            match tag.field_num() {
19998                0 => return Err(::micropb::DecodeError::ZeroField),
19999                1u32 => {
20000                    let mut_ref = &mut self.r#resp;
20001                    {
20002                        let val = decoder.decode_int32()?;
20003                        let val_ref = &val;
20004                        if *val_ref != 0 {
20005                            *mut_ref = val as _;
20006                        }
20007                    };
20008                }
20009                2u32 => {
20010                    let mut_ref = &mut self.r#primary;
20011                    {
20012                        let val = decoder.decode_int32()?;
20013                        let val_ref = &val;
20014                        if *val_ref != 0 {
20015                            *mut_ref = val as _;
20016                        }
20017                    };
20018                }
20019                3u32 => {
20020                    let mut_ref = &mut self.r#second;
20021                    {
20022                        let val = decoder.decode_int32()?;
20023                        let val_ref = &val;
20024                        if *val_ref != 0 {
20025                            *mut_ref = val as _;
20026                        }
20027                    };
20028                }
20029                _ => {
20030                    decoder.skip_wire_value(tag.wire_type())?;
20031                }
20032            }
20033        }
20034        Ok(())
20035    }
20036}
20037impl ::micropb::MessageEncode for Rpc_Resp_WifiGetChannel {
20038    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
20039        let mut max_size = 0;
20040        if let ::core::option::Option::Some(size) =
20041            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
20042        {
20043            max_size += size;
20044        } else {
20045            break 'msg (::core::option::Option::<usize>::None);
20046        };
20047        if let ::core::option::Option::Some(size) =
20048            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
20049        {
20050            max_size += size;
20051        } else {
20052            break 'msg (::core::option::Option::<usize>::None);
20053        };
20054        if let ::core::option::Option::Some(size) =
20055            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
20056        {
20057            max_size += size;
20058        } else {
20059            break 'msg (::core::option::Option::<usize>::None);
20060        };
20061        ::core::option::Option::Some(max_size)
20062    };
20063    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
20064        &self,
20065        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
20066    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
20067        use ::micropb::{FieldEncode, PbMap};
20068        {
20069            let val_ref = &self.r#resp;
20070            if *val_ref != 0 {
20071                encoder.encode_varint32(8u32)?;
20072                encoder.encode_int32(*val_ref as _)?;
20073            }
20074        }
20075        {
20076            let val_ref = &self.r#primary;
20077            if *val_ref != 0 {
20078                encoder.encode_varint32(16u32)?;
20079                encoder.encode_int32(*val_ref as _)?;
20080            }
20081        }
20082        {
20083            let val_ref = &self.r#second;
20084            if *val_ref != 0 {
20085                encoder.encode_varint32(24u32)?;
20086                encoder.encode_int32(*val_ref as _)?;
20087            }
20088        }
20089        Ok(())
20090    }
20091    fn compute_size(&self) -> usize {
20092        use ::micropb::{FieldEncode, PbMap};
20093        let mut size = 0;
20094        {
20095            let val_ref = &self.r#resp;
20096            if *val_ref != 0 {
20097                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
20098            }
20099        }
20100        {
20101            let val_ref = &self.r#primary;
20102            if *val_ref != 0 {
20103                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
20104            }
20105        }
20106        {
20107            let val_ref = &self.r#second;
20108            if *val_ref != 0 {
20109                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
20110            }
20111        }
20112        size
20113    }
20114}
20115#[derive(Debug, Default, PartialEq, Clone)]
20116pub struct Rpc_Req_WifiSetStorage {
20117    pub r#storage: i32,
20118}
20119impl Rpc_Req_WifiSetStorage {
20120    ///Return a reference to `storage`
20121    #[inline]
20122    pub fn r#storage(&self) -> &i32 {
20123        &self.r#storage
20124    }
20125    ///Return a mutable reference to `storage`
20126    #[inline]
20127    pub fn mut_storage(&mut self) -> &mut i32 {
20128        &mut self.r#storage
20129    }
20130    ///Set the value of `storage`
20131    #[inline]
20132    pub fn set_storage(&mut self, value: i32) -> &mut Self {
20133        self.r#storage = value.into();
20134        self
20135    }
20136    ///Builder method that sets the value of `storage`. Useful for initializing the message.
20137    #[inline]
20138    pub fn init_storage(mut self, value: i32) -> Self {
20139        self.r#storage = value.into();
20140        self
20141    }
20142}
20143impl ::micropb::MessageDecode for Rpc_Req_WifiSetStorage {
20144    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
20145        &mut self,
20146        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
20147        len: usize,
20148    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
20149        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
20150        let before = decoder.bytes_read();
20151        while decoder.bytes_read() - before < len {
20152            let tag = decoder.decode_tag()?;
20153            match tag.field_num() {
20154                0 => return Err(::micropb::DecodeError::ZeroField),
20155                1u32 => {
20156                    let mut_ref = &mut self.r#storage;
20157                    {
20158                        let val = decoder.decode_int32()?;
20159                        let val_ref = &val;
20160                        if *val_ref != 0 {
20161                            *mut_ref = val as _;
20162                        }
20163                    };
20164                }
20165                _ => {
20166                    decoder.skip_wire_value(tag.wire_type())?;
20167                }
20168            }
20169        }
20170        Ok(())
20171    }
20172}
20173impl ::micropb::MessageEncode for Rpc_Req_WifiSetStorage {
20174    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
20175        let mut max_size = 0;
20176        if let ::core::option::Option::Some(size) =
20177            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
20178        {
20179            max_size += size;
20180        } else {
20181            break 'msg (::core::option::Option::<usize>::None);
20182        };
20183        ::core::option::Option::Some(max_size)
20184    };
20185    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
20186        &self,
20187        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
20188    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
20189        use ::micropb::{FieldEncode, PbMap};
20190        {
20191            let val_ref = &self.r#storage;
20192            if *val_ref != 0 {
20193                encoder.encode_varint32(8u32)?;
20194                encoder.encode_int32(*val_ref as _)?;
20195            }
20196        }
20197        Ok(())
20198    }
20199    fn compute_size(&self) -> usize {
20200        use ::micropb::{FieldEncode, PbMap};
20201        let mut size = 0;
20202        {
20203            let val_ref = &self.r#storage;
20204            if *val_ref != 0 {
20205                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
20206            }
20207        }
20208        size
20209    }
20210}
20211#[derive(Debug, Default, PartialEq, Clone)]
20212pub struct Rpc_Resp_WifiSetStorage {
20213    pub r#resp: i32,
20214}
20215impl Rpc_Resp_WifiSetStorage {
20216    ///Return a reference to `resp`
20217    #[inline]
20218    pub fn r#resp(&self) -> &i32 {
20219        &self.r#resp
20220    }
20221    ///Return a mutable reference to `resp`
20222    #[inline]
20223    pub fn mut_resp(&mut self) -> &mut i32 {
20224        &mut self.r#resp
20225    }
20226    ///Set the value of `resp`
20227    #[inline]
20228    pub fn set_resp(&mut self, value: i32) -> &mut Self {
20229        self.r#resp = value.into();
20230        self
20231    }
20232    ///Builder method that sets the value of `resp`. Useful for initializing the message.
20233    #[inline]
20234    pub fn init_resp(mut self, value: i32) -> Self {
20235        self.r#resp = value.into();
20236        self
20237    }
20238}
20239impl ::micropb::MessageDecode for Rpc_Resp_WifiSetStorage {
20240    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
20241        &mut self,
20242        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
20243        len: usize,
20244    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
20245        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
20246        let before = decoder.bytes_read();
20247        while decoder.bytes_read() - before < len {
20248            let tag = decoder.decode_tag()?;
20249            match tag.field_num() {
20250                0 => return Err(::micropb::DecodeError::ZeroField),
20251                1u32 => {
20252                    let mut_ref = &mut self.r#resp;
20253                    {
20254                        let val = decoder.decode_int32()?;
20255                        let val_ref = &val;
20256                        if *val_ref != 0 {
20257                            *mut_ref = val as _;
20258                        }
20259                    };
20260                }
20261                _ => {
20262                    decoder.skip_wire_value(tag.wire_type())?;
20263                }
20264            }
20265        }
20266        Ok(())
20267    }
20268}
20269impl ::micropb::MessageEncode for Rpc_Resp_WifiSetStorage {
20270    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
20271        let mut max_size = 0;
20272        if let ::core::option::Option::Some(size) =
20273            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
20274        {
20275            max_size += size;
20276        } else {
20277            break 'msg (::core::option::Option::<usize>::None);
20278        };
20279        ::core::option::Option::Some(max_size)
20280    };
20281    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
20282        &self,
20283        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
20284    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
20285        use ::micropb::{FieldEncode, PbMap};
20286        {
20287            let val_ref = &self.r#resp;
20288            if *val_ref != 0 {
20289                encoder.encode_varint32(8u32)?;
20290                encoder.encode_int32(*val_ref as _)?;
20291            }
20292        }
20293        Ok(())
20294    }
20295    fn compute_size(&self) -> usize {
20296        use ::micropb::{FieldEncode, PbMap};
20297        let mut size = 0;
20298        {
20299            let val_ref = &self.r#resp;
20300            if *val_ref != 0 {
20301                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
20302            }
20303        }
20304        size
20305    }
20306}
20307#[derive(Debug, Default, PartialEq, Clone)]
20308pub struct Rpc_Req_WifiSetCountryCode {
20309    pub r#country: ::micropb::heapless::Vec<u8, 3>,
20310    pub r#ieee80211d_enabled: bool,
20311}
20312impl Rpc_Req_WifiSetCountryCode {
20313    ///Return a reference to `country`
20314    #[inline]
20315    pub fn r#country(&self) -> &::micropb::heapless::Vec<u8, 3> {
20316        &self.r#country
20317    }
20318    ///Return a mutable reference to `country`
20319    #[inline]
20320    pub fn mut_country(&mut self) -> &mut ::micropb::heapless::Vec<u8, 3> {
20321        &mut self.r#country
20322    }
20323    ///Set the value of `country`
20324    #[inline]
20325    pub fn set_country(&mut self, value: ::micropb::heapless::Vec<u8, 3>) -> &mut Self {
20326        self.r#country = value.into();
20327        self
20328    }
20329    ///Builder method that sets the value of `country`. Useful for initializing the message.
20330    #[inline]
20331    pub fn init_country(mut self, value: ::micropb::heapless::Vec<u8, 3>) -> Self {
20332        self.r#country = value.into();
20333        self
20334    }
20335    ///Return a reference to `ieee80211d_enabled`
20336    #[inline]
20337    pub fn r#ieee80211d_enabled(&self) -> &bool {
20338        &self.r#ieee80211d_enabled
20339    }
20340    ///Return a mutable reference to `ieee80211d_enabled`
20341    #[inline]
20342    pub fn mut_ieee80211d_enabled(&mut self) -> &mut bool {
20343        &mut self.r#ieee80211d_enabled
20344    }
20345    ///Set the value of `ieee80211d_enabled`
20346    #[inline]
20347    pub fn set_ieee80211d_enabled(&mut self, value: bool) -> &mut Self {
20348        self.r#ieee80211d_enabled = value.into();
20349        self
20350    }
20351    ///Builder method that sets the value of `ieee80211d_enabled`. Useful for initializing the message.
20352    #[inline]
20353    pub fn init_ieee80211d_enabled(mut self, value: bool) -> Self {
20354        self.r#ieee80211d_enabled = value.into();
20355        self
20356    }
20357}
20358impl ::micropb::MessageDecode for Rpc_Req_WifiSetCountryCode {
20359    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
20360        &mut self,
20361        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
20362        len: usize,
20363    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
20364        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
20365        let before = decoder.bytes_read();
20366        while decoder.bytes_read() - before < len {
20367            let tag = decoder.decode_tag()?;
20368            match tag.field_num() {
20369                0 => return Err(::micropb::DecodeError::ZeroField),
20370                1u32 => {
20371                    let mut_ref = &mut self.r#country;
20372                    {
20373                        decoder.decode_bytes(mut_ref, ::micropb::Presence::Implicit)?;
20374                    };
20375                }
20376                2u32 => {
20377                    let mut_ref = &mut self.r#ieee80211d_enabled;
20378                    {
20379                        let val = decoder.decode_bool()?;
20380                        let val_ref = &val;
20381                        if *val_ref {
20382                            *mut_ref = val as _;
20383                        }
20384                    };
20385                }
20386                _ => {
20387                    decoder.skip_wire_value(tag.wire_type())?;
20388                }
20389            }
20390        }
20391        Ok(())
20392    }
20393}
20394impl ::micropb::MessageEncode for Rpc_Req_WifiSetCountryCode {
20395    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
20396        let mut max_size = 0;
20397        if let ::core::option::Option::Some(size) =
20398            ::micropb::const_map!(::core::option::Option::Some(4usize), |size| size + 1usize)
20399        {
20400            max_size += size;
20401        } else {
20402            break 'msg (::core::option::Option::<usize>::None);
20403        };
20404        if let ::core::option::Option::Some(size) =
20405            ::micropb::const_map!(::core::option::Option::Some(1usize), |size| size + 1usize)
20406        {
20407            max_size += size;
20408        } else {
20409            break 'msg (::core::option::Option::<usize>::None);
20410        };
20411        ::core::option::Option::Some(max_size)
20412    };
20413    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
20414        &self,
20415        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
20416    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
20417        use ::micropb::{FieldEncode, PbMap};
20418        {
20419            let val_ref = &self.r#country;
20420            if !val_ref.is_empty() {
20421                encoder.encode_varint32(10u32)?;
20422                encoder.encode_bytes(val_ref)?;
20423            }
20424        }
20425        {
20426            let val_ref = &self.r#ieee80211d_enabled;
20427            if *val_ref {
20428                encoder.encode_varint32(16u32)?;
20429                encoder.encode_bool(*val_ref)?;
20430            }
20431        }
20432        Ok(())
20433    }
20434    fn compute_size(&self) -> usize {
20435        use ::micropb::{FieldEncode, PbMap};
20436        let mut size = 0;
20437        {
20438            let val_ref = &self.r#country;
20439            if !val_ref.is_empty() {
20440                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.len());
20441            }
20442        }
20443        {
20444            let val_ref = &self.r#ieee80211d_enabled;
20445            if *val_ref {
20446                size += 1usize + 1;
20447            }
20448        }
20449        size
20450    }
20451}
20452#[derive(Debug, Default, PartialEq, Clone)]
20453pub struct Rpc_Resp_WifiSetCountryCode {
20454    pub r#resp: i32,
20455}
20456impl Rpc_Resp_WifiSetCountryCode {
20457    ///Return a reference to `resp`
20458    #[inline]
20459    pub fn r#resp(&self) -> &i32 {
20460        &self.r#resp
20461    }
20462    ///Return a mutable reference to `resp`
20463    #[inline]
20464    pub fn mut_resp(&mut self) -> &mut i32 {
20465        &mut self.r#resp
20466    }
20467    ///Set the value of `resp`
20468    #[inline]
20469    pub fn set_resp(&mut self, value: i32) -> &mut Self {
20470        self.r#resp = value.into();
20471        self
20472    }
20473    ///Builder method that sets the value of `resp`. Useful for initializing the message.
20474    #[inline]
20475    pub fn init_resp(mut self, value: i32) -> Self {
20476        self.r#resp = value.into();
20477        self
20478    }
20479}
20480impl ::micropb::MessageDecode for Rpc_Resp_WifiSetCountryCode {
20481    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
20482        &mut self,
20483        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
20484        len: usize,
20485    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
20486        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
20487        let before = decoder.bytes_read();
20488        while decoder.bytes_read() - before < len {
20489            let tag = decoder.decode_tag()?;
20490            match tag.field_num() {
20491                0 => return Err(::micropb::DecodeError::ZeroField),
20492                1u32 => {
20493                    let mut_ref = &mut self.r#resp;
20494                    {
20495                        let val = decoder.decode_int32()?;
20496                        let val_ref = &val;
20497                        if *val_ref != 0 {
20498                            *mut_ref = val as _;
20499                        }
20500                    };
20501                }
20502                _ => {
20503                    decoder.skip_wire_value(tag.wire_type())?;
20504                }
20505            }
20506        }
20507        Ok(())
20508    }
20509}
20510impl ::micropb::MessageEncode for Rpc_Resp_WifiSetCountryCode {
20511    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
20512        let mut max_size = 0;
20513        if let ::core::option::Option::Some(size) =
20514            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
20515        {
20516            max_size += size;
20517        } else {
20518            break 'msg (::core::option::Option::<usize>::None);
20519        };
20520        ::core::option::Option::Some(max_size)
20521    };
20522    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
20523        &self,
20524        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
20525    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
20526        use ::micropb::{FieldEncode, PbMap};
20527        {
20528            let val_ref = &self.r#resp;
20529            if *val_ref != 0 {
20530                encoder.encode_varint32(8u32)?;
20531                encoder.encode_int32(*val_ref as _)?;
20532            }
20533        }
20534        Ok(())
20535    }
20536    fn compute_size(&self) -> usize {
20537        use ::micropb::{FieldEncode, PbMap};
20538        let mut size = 0;
20539        {
20540            let val_ref = &self.r#resp;
20541            if *val_ref != 0 {
20542                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
20543            }
20544        }
20545        size
20546    }
20547}
20548#[derive(Debug, Default, PartialEq, Clone)]
20549pub struct Rpc_Req_WifiGetCountryCode {}
20550impl Rpc_Req_WifiGetCountryCode {}
20551impl ::micropb::MessageDecode for Rpc_Req_WifiGetCountryCode {
20552    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
20553        &mut self,
20554        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
20555        len: usize,
20556    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
20557        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
20558        let before = decoder.bytes_read();
20559        while decoder.bytes_read() - before < len {
20560            let tag = decoder.decode_tag()?;
20561            match tag.field_num() {
20562                0 => return Err(::micropb::DecodeError::ZeroField),
20563                _ => {
20564                    decoder.skip_wire_value(tag.wire_type())?;
20565                }
20566            }
20567        }
20568        Ok(())
20569    }
20570}
20571impl ::micropb::MessageEncode for Rpc_Req_WifiGetCountryCode {
20572    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
20573        let mut max_size = 0;
20574        ::core::option::Option::Some(max_size)
20575    };
20576    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
20577        &self,
20578        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
20579    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
20580        use ::micropb::{FieldEncode, PbMap};
20581        Ok(())
20582    }
20583    fn compute_size(&self) -> usize {
20584        use ::micropb::{FieldEncode, PbMap};
20585        let mut size = 0;
20586        size
20587    }
20588}
20589#[derive(Debug, Default, PartialEq, Clone)]
20590pub struct Rpc_Resp_WifiGetCountryCode {
20591    pub r#resp: i32,
20592    pub r#country: ::micropb::heapless::Vec<u8, 3>,
20593}
20594impl Rpc_Resp_WifiGetCountryCode {
20595    ///Return a reference to `resp`
20596    #[inline]
20597    pub fn r#resp(&self) -> &i32 {
20598        &self.r#resp
20599    }
20600    ///Return a mutable reference to `resp`
20601    #[inline]
20602    pub fn mut_resp(&mut self) -> &mut i32 {
20603        &mut self.r#resp
20604    }
20605    ///Set the value of `resp`
20606    #[inline]
20607    pub fn set_resp(&mut self, value: i32) -> &mut Self {
20608        self.r#resp = value.into();
20609        self
20610    }
20611    ///Builder method that sets the value of `resp`. Useful for initializing the message.
20612    #[inline]
20613    pub fn init_resp(mut self, value: i32) -> Self {
20614        self.r#resp = value.into();
20615        self
20616    }
20617    ///Return a reference to `country`
20618    #[inline]
20619    pub fn r#country(&self) -> &::micropb::heapless::Vec<u8, 3> {
20620        &self.r#country
20621    }
20622    ///Return a mutable reference to `country`
20623    #[inline]
20624    pub fn mut_country(&mut self) -> &mut ::micropb::heapless::Vec<u8, 3> {
20625        &mut self.r#country
20626    }
20627    ///Set the value of `country`
20628    #[inline]
20629    pub fn set_country(&mut self, value: ::micropb::heapless::Vec<u8, 3>) -> &mut Self {
20630        self.r#country = value.into();
20631        self
20632    }
20633    ///Builder method that sets the value of `country`. Useful for initializing the message.
20634    #[inline]
20635    pub fn init_country(mut self, value: ::micropb::heapless::Vec<u8, 3>) -> Self {
20636        self.r#country = value.into();
20637        self
20638    }
20639}
20640impl ::micropb::MessageDecode for Rpc_Resp_WifiGetCountryCode {
20641    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
20642        &mut self,
20643        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
20644        len: usize,
20645    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
20646        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
20647        let before = decoder.bytes_read();
20648        while decoder.bytes_read() - before < len {
20649            let tag = decoder.decode_tag()?;
20650            match tag.field_num() {
20651                0 => return Err(::micropb::DecodeError::ZeroField),
20652                1u32 => {
20653                    let mut_ref = &mut self.r#resp;
20654                    {
20655                        let val = decoder.decode_int32()?;
20656                        let val_ref = &val;
20657                        if *val_ref != 0 {
20658                            *mut_ref = val as _;
20659                        }
20660                    };
20661                }
20662                2u32 => {
20663                    let mut_ref = &mut self.r#country;
20664                    {
20665                        decoder.decode_bytes(mut_ref, ::micropb::Presence::Implicit)?;
20666                    };
20667                }
20668                _ => {
20669                    decoder.skip_wire_value(tag.wire_type())?;
20670                }
20671            }
20672        }
20673        Ok(())
20674    }
20675}
20676impl ::micropb::MessageEncode for Rpc_Resp_WifiGetCountryCode {
20677    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
20678        let mut max_size = 0;
20679        if let ::core::option::Option::Some(size) =
20680            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
20681        {
20682            max_size += size;
20683        } else {
20684            break 'msg (::core::option::Option::<usize>::None);
20685        };
20686        if let ::core::option::Option::Some(size) =
20687            ::micropb::const_map!(::core::option::Option::Some(4usize), |size| size + 1usize)
20688        {
20689            max_size += size;
20690        } else {
20691            break 'msg (::core::option::Option::<usize>::None);
20692        };
20693        ::core::option::Option::Some(max_size)
20694    };
20695    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
20696        &self,
20697        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
20698    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
20699        use ::micropb::{FieldEncode, PbMap};
20700        {
20701            let val_ref = &self.r#resp;
20702            if *val_ref != 0 {
20703                encoder.encode_varint32(8u32)?;
20704                encoder.encode_int32(*val_ref as _)?;
20705            }
20706        }
20707        {
20708            let val_ref = &self.r#country;
20709            if !val_ref.is_empty() {
20710                encoder.encode_varint32(18u32)?;
20711                encoder.encode_bytes(val_ref)?;
20712            }
20713        }
20714        Ok(())
20715    }
20716    fn compute_size(&self) -> usize {
20717        use ::micropb::{FieldEncode, PbMap};
20718        let mut size = 0;
20719        {
20720            let val_ref = &self.r#resp;
20721            if *val_ref != 0 {
20722                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
20723            }
20724        }
20725        {
20726            let val_ref = &self.r#country;
20727            if !val_ref.is_empty() {
20728                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.len());
20729            }
20730        }
20731        size
20732    }
20733}
20734pub mod Rpc_Req_WifiSetCountry_ {
20735    #[derive(Debug, Default, PartialEq, Clone)]
20736    pub struct _Hazzer([u8; 1]);
20737    impl _Hazzer {
20738        ///New hazzer with all fields set to off
20739        #[inline]
20740        pub const fn _new() -> Self {
20741            Self([0; 1])
20742        }
20743        ///Query presence of `country`
20744        #[inline]
20745        pub const fn r#country(&self) -> bool {
20746            (self.0[0] & 1) != 0
20747        }
20748        ///Set presence of `country`
20749        #[inline]
20750        pub const fn set_country(&mut self) -> &mut Self {
20751            let elem = &mut self.0[0];
20752            *elem |= 1;
20753            self
20754        }
20755        ///Clear presence of `country`
20756        #[inline]
20757        pub const fn clear_country(&mut self) -> &mut Self {
20758            let elem = &mut self.0[0];
20759            *elem &= !1;
20760            self
20761        }
20762        ///Builder method that sets the presence of `country`. Useful for initializing the Hazzer.
20763        #[inline]
20764        pub const fn init_country(mut self) -> Self {
20765            self.set_country();
20766            self
20767        }
20768    }
20769}
20770#[derive(Debug, Default, Clone)]
20771pub struct Rpc_Req_WifiSetCountry {
20772    pub r#country: r#wifi_country,
20773    pub _has: Rpc_Req_WifiSetCountry_::_Hazzer,
20774}
20775impl ::core::cmp::PartialEq for Rpc_Req_WifiSetCountry {
20776    fn eq(&self, other: &Self) -> bool {
20777        let mut ret = true;
20778        ret &= (self.r#country() == other.r#country());
20779        ret
20780    }
20781}
20782impl Rpc_Req_WifiSetCountry {
20783    ///Return a reference to `country` as an `Option`
20784    #[inline]
20785    pub fn r#country(&self) -> ::core::option::Option<&r#wifi_country> {
20786        self._has.r#country().then_some(&self.r#country)
20787    }
20788    ///Set the value and presence of `country`
20789    #[inline]
20790    pub fn set_country(&mut self, value: r#wifi_country) -> &mut Self {
20791        self._has.set_country();
20792        self.r#country = value.into();
20793        self
20794    }
20795    ///Return a mutable reference to `country` as an `Option`
20796    #[inline]
20797    pub fn mut_country(&mut self) -> ::core::option::Option<&mut r#wifi_country> {
20798        self._has.r#country().then_some(&mut self.r#country)
20799    }
20800    ///Clear the presence of `country`
20801    #[inline]
20802    pub fn clear_country(&mut self) -> &mut Self {
20803        self._has.clear_country();
20804        self
20805    }
20806    ///Take the value of `country` and clear its presence
20807    #[inline]
20808    pub fn take_country(&mut self) -> ::core::option::Option<r#wifi_country> {
20809        let val = self
20810            ._has
20811            .r#country()
20812            .then(|| ::core::mem::take(&mut self.r#country));
20813        self._has.clear_country();
20814        val
20815    }
20816    ///Builder method that sets the value of `country`. Useful for initializing the message.
20817    #[inline]
20818    pub fn init_country(mut self, value: r#wifi_country) -> Self {
20819        self.set_country(value);
20820        self
20821    }
20822}
20823impl ::micropb::MessageDecode for Rpc_Req_WifiSetCountry {
20824    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
20825        &mut self,
20826        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
20827        len: usize,
20828    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
20829        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
20830        let before = decoder.bytes_read();
20831        while decoder.bytes_read() - before < len {
20832            let tag = decoder.decode_tag()?;
20833            match tag.field_num() {
20834                0 => return Err(::micropb::DecodeError::ZeroField),
20835                1u32 => {
20836                    let mut_ref = &mut self.r#country;
20837                    {
20838                        mut_ref.decode_len_delimited(decoder)?;
20839                    };
20840                    self._has.set_country();
20841                }
20842                _ => {
20843                    decoder.skip_wire_value(tag.wire_type())?;
20844                }
20845            }
20846        }
20847        Ok(())
20848    }
20849}
20850impl ::micropb::MessageEncode for Rpc_Req_WifiSetCountry {
20851    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
20852        let mut max_size = 0;
20853        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
20854            ::micropb::const_map!(
20855                <r#wifi_country as ::micropb::MessageEncode>::MAX_SIZE,
20856                |size| ::micropb::size::sizeof_len_record(size)
20857            ),
20858            |size| size + 1usize
20859        ) {
20860            max_size += size;
20861        } else {
20862            break 'msg (::core::option::Option::<usize>::None);
20863        };
20864        ::core::option::Option::Some(max_size)
20865    };
20866    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
20867        &self,
20868        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
20869    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
20870        use ::micropb::{FieldEncode, PbMap};
20871        {
20872            if let ::core::option::Option::Some(val_ref) = self.r#country() {
20873                encoder.encode_varint32(10u32)?;
20874                val_ref.encode_len_delimited(encoder)?;
20875            }
20876        }
20877        Ok(())
20878    }
20879    fn compute_size(&self) -> usize {
20880        use ::micropb::{FieldEncode, PbMap};
20881        let mut size = 0;
20882        {
20883            if let ::core::option::Option::Some(val_ref) = self.r#country() {
20884                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
20885            }
20886        }
20887        size
20888    }
20889}
20890#[derive(Debug, Default, PartialEq, Clone)]
20891pub struct Rpc_Resp_WifiSetCountry {
20892    pub r#resp: i32,
20893}
20894impl Rpc_Resp_WifiSetCountry {
20895    ///Return a reference to `resp`
20896    #[inline]
20897    pub fn r#resp(&self) -> &i32 {
20898        &self.r#resp
20899    }
20900    ///Return a mutable reference to `resp`
20901    #[inline]
20902    pub fn mut_resp(&mut self) -> &mut i32 {
20903        &mut self.r#resp
20904    }
20905    ///Set the value of `resp`
20906    #[inline]
20907    pub fn set_resp(&mut self, value: i32) -> &mut Self {
20908        self.r#resp = value.into();
20909        self
20910    }
20911    ///Builder method that sets the value of `resp`. Useful for initializing the message.
20912    #[inline]
20913    pub fn init_resp(mut self, value: i32) -> Self {
20914        self.r#resp = value.into();
20915        self
20916    }
20917}
20918impl ::micropb::MessageDecode for Rpc_Resp_WifiSetCountry {
20919    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
20920        &mut self,
20921        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
20922        len: usize,
20923    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
20924        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
20925        let before = decoder.bytes_read();
20926        while decoder.bytes_read() - before < len {
20927            let tag = decoder.decode_tag()?;
20928            match tag.field_num() {
20929                0 => return Err(::micropb::DecodeError::ZeroField),
20930                1u32 => {
20931                    let mut_ref = &mut self.r#resp;
20932                    {
20933                        let val = decoder.decode_int32()?;
20934                        let val_ref = &val;
20935                        if *val_ref != 0 {
20936                            *mut_ref = val as _;
20937                        }
20938                    };
20939                }
20940                _ => {
20941                    decoder.skip_wire_value(tag.wire_type())?;
20942                }
20943            }
20944        }
20945        Ok(())
20946    }
20947}
20948impl ::micropb::MessageEncode for Rpc_Resp_WifiSetCountry {
20949    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
20950        let mut max_size = 0;
20951        if let ::core::option::Option::Some(size) =
20952            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
20953        {
20954            max_size += size;
20955        } else {
20956            break 'msg (::core::option::Option::<usize>::None);
20957        };
20958        ::core::option::Option::Some(max_size)
20959    };
20960    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
20961        &self,
20962        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
20963    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
20964        use ::micropb::{FieldEncode, PbMap};
20965        {
20966            let val_ref = &self.r#resp;
20967            if *val_ref != 0 {
20968                encoder.encode_varint32(8u32)?;
20969                encoder.encode_int32(*val_ref as _)?;
20970            }
20971        }
20972        Ok(())
20973    }
20974    fn compute_size(&self) -> usize {
20975        use ::micropb::{FieldEncode, PbMap};
20976        let mut size = 0;
20977        {
20978            let val_ref = &self.r#resp;
20979            if *val_ref != 0 {
20980                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
20981            }
20982        }
20983        size
20984    }
20985}
20986#[derive(Debug, Default, PartialEq, Clone)]
20987pub struct Rpc_Req_WifiGetCountry {}
20988impl Rpc_Req_WifiGetCountry {}
20989impl ::micropb::MessageDecode for Rpc_Req_WifiGetCountry {
20990    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
20991        &mut self,
20992        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
20993        len: usize,
20994    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
20995        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
20996        let before = decoder.bytes_read();
20997        while decoder.bytes_read() - before < len {
20998            let tag = decoder.decode_tag()?;
20999            match tag.field_num() {
21000                0 => return Err(::micropb::DecodeError::ZeroField),
21001                _ => {
21002                    decoder.skip_wire_value(tag.wire_type())?;
21003                }
21004            }
21005        }
21006        Ok(())
21007    }
21008}
21009impl ::micropb::MessageEncode for Rpc_Req_WifiGetCountry {
21010    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
21011        let mut max_size = 0;
21012        ::core::option::Option::Some(max_size)
21013    };
21014    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
21015        &self,
21016        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
21017    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
21018        use ::micropb::{FieldEncode, PbMap};
21019        Ok(())
21020    }
21021    fn compute_size(&self) -> usize {
21022        use ::micropb::{FieldEncode, PbMap};
21023        let mut size = 0;
21024        size
21025    }
21026}
21027pub mod Rpc_Resp_WifiGetCountry_ {
21028    #[derive(Debug, Default, PartialEq, Clone)]
21029    pub struct _Hazzer([u8; 1]);
21030    impl _Hazzer {
21031        ///New hazzer with all fields set to off
21032        #[inline]
21033        pub const fn _new() -> Self {
21034            Self([0; 1])
21035        }
21036        ///Query presence of `country`
21037        #[inline]
21038        pub const fn r#country(&self) -> bool {
21039            (self.0[0] & 1) != 0
21040        }
21041        ///Set presence of `country`
21042        #[inline]
21043        pub const fn set_country(&mut self) -> &mut Self {
21044            let elem = &mut self.0[0];
21045            *elem |= 1;
21046            self
21047        }
21048        ///Clear presence of `country`
21049        #[inline]
21050        pub const fn clear_country(&mut self) -> &mut Self {
21051            let elem = &mut self.0[0];
21052            *elem &= !1;
21053            self
21054        }
21055        ///Builder method that sets the presence of `country`. Useful for initializing the Hazzer.
21056        #[inline]
21057        pub const fn init_country(mut self) -> Self {
21058            self.set_country();
21059            self
21060        }
21061    }
21062}
21063#[derive(Debug, Default, Clone)]
21064pub struct Rpc_Resp_WifiGetCountry {
21065    pub r#resp: i32,
21066    pub r#country: r#wifi_country,
21067    pub _has: Rpc_Resp_WifiGetCountry_::_Hazzer,
21068}
21069impl ::core::cmp::PartialEq for Rpc_Resp_WifiGetCountry {
21070    fn eq(&self, other: &Self) -> bool {
21071        let mut ret = true;
21072        ret &= (self.r#resp == other.r#resp);
21073        ret &= (self.r#country() == other.r#country());
21074        ret
21075    }
21076}
21077impl Rpc_Resp_WifiGetCountry {
21078    ///Return a reference to `resp`
21079    #[inline]
21080    pub fn r#resp(&self) -> &i32 {
21081        &self.r#resp
21082    }
21083    ///Return a mutable reference to `resp`
21084    #[inline]
21085    pub fn mut_resp(&mut self) -> &mut i32 {
21086        &mut self.r#resp
21087    }
21088    ///Set the value of `resp`
21089    #[inline]
21090    pub fn set_resp(&mut self, value: i32) -> &mut Self {
21091        self.r#resp = value.into();
21092        self
21093    }
21094    ///Builder method that sets the value of `resp`. Useful for initializing the message.
21095    #[inline]
21096    pub fn init_resp(mut self, value: i32) -> Self {
21097        self.r#resp = value.into();
21098        self
21099    }
21100    ///Return a reference to `country` as an `Option`
21101    #[inline]
21102    pub fn r#country(&self) -> ::core::option::Option<&r#wifi_country> {
21103        self._has.r#country().then_some(&self.r#country)
21104    }
21105    ///Set the value and presence of `country`
21106    #[inline]
21107    pub fn set_country(&mut self, value: r#wifi_country) -> &mut Self {
21108        self._has.set_country();
21109        self.r#country = value.into();
21110        self
21111    }
21112    ///Return a mutable reference to `country` as an `Option`
21113    #[inline]
21114    pub fn mut_country(&mut self) -> ::core::option::Option<&mut r#wifi_country> {
21115        self._has.r#country().then_some(&mut self.r#country)
21116    }
21117    ///Clear the presence of `country`
21118    #[inline]
21119    pub fn clear_country(&mut self) -> &mut Self {
21120        self._has.clear_country();
21121        self
21122    }
21123    ///Take the value of `country` and clear its presence
21124    #[inline]
21125    pub fn take_country(&mut self) -> ::core::option::Option<r#wifi_country> {
21126        let val = self
21127            ._has
21128            .r#country()
21129            .then(|| ::core::mem::take(&mut self.r#country));
21130        self._has.clear_country();
21131        val
21132    }
21133    ///Builder method that sets the value of `country`. Useful for initializing the message.
21134    #[inline]
21135    pub fn init_country(mut self, value: r#wifi_country) -> Self {
21136        self.set_country(value);
21137        self
21138    }
21139}
21140impl ::micropb::MessageDecode for Rpc_Resp_WifiGetCountry {
21141    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
21142        &mut self,
21143        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
21144        len: usize,
21145    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
21146        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
21147        let before = decoder.bytes_read();
21148        while decoder.bytes_read() - before < len {
21149            let tag = decoder.decode_tag()?;
21150            match tag.field_num() {
21151                0 => return Err(::micropb::DecodeError::ZeroField),
21152                1u32 => {
21153                    let mut_ref = &mut self.r#resp;
21154                    {
21155                        let val = decoder.decode_int32()?;
21156                        let val_ref = &val;
21157                        if *val_ref != 0 {
21158                            *mut_ref = val as _;
21159                        }
21160                    };
21161                }
21162                2u32 => {
21163                    let mut_ref = &mut self.r#country;
21164                    {
21165                        mut_ref.decode_len_delimited(decoder)?;
21166                    };
21167                    self._has.set_country();
21168                }
21169                _ => {
21170                    decoder.skip_wire_value(tag.wire_type())?;
21171                }
21172            }
21173        }
21174        Ok(())
21175    }
21176}
21177impl ::micropb::MessageEncode for Rpc_Resp_WifiGetCountry {
21178    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
21179        let mut max_size = 0;
21180        if let ::core::option::Option::Some(size) =
21181            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
21182        {
21183            max_size += size;
21184        } else {
21185            break 'msg (::core::option::Option::<usize>::None);
21186        };
21187        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
21188            ::micropb::const_map!(
21189                <r#wifi_country as ::micropb::MessageEncode>::MAX_SIZE,
21190                |size| ::micropb::size::sizeof_len_record(size)
21191            ),
21192            |size| size + 1usize
21193        ) {
21194            max_size += size;
21195        } else {
21196            break 'msg (::core::option::Option::<usize>::None);
21197        };
21198        ::core::option::Option::Some(max_size)
21199    };
21200    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
21201        &self,
21202        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
21203    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
21204        use ::micropb::{FieldEncode, PbMap};
21205        {
21206            let val_ref = &self.r#resp;
21207            if *val_ref != 0 {
21208                encoder.encode_varint32(8u32)?;
21209                encoder.encode_int32(*val_ref as _)?;
21210            }
21211        }
21212        {
21213            if let ::core::option::Option::Some(val_ref) = self.r#country() {
21214                encoder.encode_varint32(18u32)?;
21215                val_ref.encode_len_delimited(encoder)?;
21216            }
21217        }
21218        Ok(())
21219    }
21220    fn compute_size(&self) -> usize {
21221        use ::micropb::{FieldEncode, PbMap};
21222        let mut size = 0;
21223        {
21224            let val_ref = &self.r#resp;
21225            if *val_ref != 0 {
21226                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
21227            }
21228        }
21229        {
21230            if let ::core::option::Option::Some(val_ref) = self.r#country() {
21231                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
21232            }
21233        }
21234        size
21235    }
21236}
21237#[derive(Debug, Default, PartialEq, Clone)]
21238pub struct Rpc_Req_WifiApGetStaList {}
21239impl Rpc_Req_WifiApGetStaList {}
21240impl ::micropb::MessageDecode for Rpc_Req_WifiApGetStaList {
21241    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
21242        &mut self,
21243        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
21244        len: usize,
21245    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
21246        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
21247        let before = decoder.bytes_read();
21248        while decoder.bytes_read() - before < len {
21249            let tag = decoder.decode_tag()?;
21250            match tag.field_num() {
21251                0 => return Err(::micropb::DecodeError::ZeroField),
21252                _ => {
21253                    decoder.skip_wire_value(tag.wire_type())?;
21254                }
21255            }
21256        }
21257        Ok(())
21258    }
21259}
21260impl ::micropb::MessageEncode for Rpc_Req_WifiApGetStaList {
21261    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
21262        let mut max_size = 0;
21263        ::core::option::Option::Some(max_size)
21264    };
21265    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
21266        &self,
21267        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
21268    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
21269        use ::micropb::{FieldEncode, PbMap};
21270        Ok(())
21271    }
21272    fn compute_size(&self) -> usize {
21273        use ::micropb::{FieldEncode, PbMap};
21274        let mut size = 0;
21275        size
21276    }
21277}
21278pub mod Rpc_Resp_WifiApGetStaList_ {
21279    #[derive(Debug, Default, PartialEq, Clone)]
21280    pub struct _Hazzer([u8; 1]);
21281    impl _Hazzer {
21282        ///New hazzer with all fields set to off
21283        #[inline]
21284        pub const fn _new() -> Self {
21285            Self([0; 1])
21286        }
21287        ///Query presence of `sta_list`
21288        #[inline]
21289        pub const fn r#sta_list(&self) -> bool {
21290            (self.0[0] & 1) != 0
21291        }
21292        ///Set presence of `sta_list`
21293        #[inline]
21294        pub const fn set_sta_list(&mut self) -> &mut Self {
21295            let elem = &mut self.0[0];
21296            *elem |= 1;
21297            self
21298        }
21299        ///Clear presence of `sta_list`
21300        #[inline]
21301        pub const fn clear_sta_list(&mut self) -> &mut Self {
21302            let elem = &mut self.0[0];
21303            *elem &= !1;
21304            self
21305        }
21306        ///Builder method that sets the presence of `sta_list`. Useful for initializing the Hazzer.
21307        #[inline]
21308        pub const fn init_sta_list(mut self) -> Self {
21309            self.set_sta_list();
21310            self
21311        }
21312    }
21313}
21314#[derive(Debug, Default, Clone)]
21315pub struct Rpc_Resp_WifiApGetStaList {
21316    pub r#resp: i32,
21317    pub r#sta_list: r#wifi_sta_list,
21318    pub _has: Rpc_Resp_WifiApGetStaList_::_Hazzer,
21319}
21320impl ::core::cmp::PartialEq for Rpc_Resp_WifiApGetStaList {
21321    fn eq(&self, other: &Self) -> bool {
21322        let mut ret = true;
21323        ret &= (self.r#resp == other.r#resp);
21324        ret &= (self.r#sta_list() == other.r#sta_list());
21325        ret
21326    }
21327}
21328impl Rpc_Resp_WifiApGetStaList {
21329    ///Return a reference to `resp`
21330    #[inline]
21331    pub fn r#resp(&self) -> &i32 {
21332        &self.r#resp
21333    }
21334    ///Return a mutable reference to `resp`
21335    #[inline]
21336    pub fn mut_resp(&mut self) -> &mut i32 {
21337        &mut self.r#resp
21338    }
21339    ///Set the value of `resp`
21340    #[inline]
21341    pub fn set_resp(&mut self, value: i32) -> &mut Self {
21342        self.r#resp = value.into();
21343        self
21344    }
21345    ///Builder method that sets the value of `resp`. Useful for initializing the message.
21346    #[inline]
21347    pub fn init_resp(mut self, value: i32) -> Self {
21348        self.r#resp = value.into();
21349        self
21350    }
21351    ///Return a reference to `sta_list` as an `Option`
21352    #[inline]
21353    pub fn r#sta_list(&self) -> ::core::option::Option<&r#wifi_sta_list> {
21354        self._has.r#sta_list().then_some(&self.r#sta_list)
21355    }
21356    ///Set the value and presence of `sta_list`
21357    #[inline]
21358    pub fn set_sta_list(&mut self, value: r#wifi_sta_list) -> &mut Self {
21359        self._has.set_sta_list();
21360        self.r#sta_list = value.into();
21361        self
21362    }
21363    ///Return a mutable reference to `sta_list` as an `Option`
21364    #[inline]
21365    pub fn mut_sta_list(&mut self) -> ::core::option::Option<&mut r#wifi_sta_list> {
21366        self._has.r#sta_list().then_some(&mut self.r#sta_list)
21367    }
21368    ///Clear the presence of `sta_list`
21369    #[inline]
21370    pub fn clear_sta_list(&mut self) -> &mut Self {
21371        self._has.clear_sta_list();
21372        self
21373    }
21374    ///Take the value of `sta_list` and clear its presence
21375    #[inline]
21376    pub fn take_sta_list(&mut self) -> ::core::option::Option<r#wifi_sta_list> {
21377        let val = self
21378            ._has
21379            .r#sta_list()
21380            .then(|| ::core::mem::take(&mut self.r#sta_list));
21381        self._has.clear_sta_list();
21382        val
21383    }
21384    ///Builder method that sets the value of `sta_list`. Useful for initializing the message.
21385    #[inline]
21386    pub fn init_sta_list(mut self, value: r#wifi_sta_list) -> Self {
21387        self.set_sta_list(value);
21388        self
21389    }
21390}
21391impl ::micropb::MessageDecode for Rpc_Resp_WifiApGetStaList {
21392    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
21393        &mut self,
21394        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
21395        len: usize,
21396    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
21397        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
21398        let before = decoder.bytes_read();
21399        while decoder.bytes_read() - before < len {
21400            let tag = decoder.decode_tag()?;
21401            match tag.field_num() {
21402                0 => return Err(::micropb::DecodeError::ZeroField),
21403                1u32 => {
21404                    let mut_ref = &mut self.r#resp;
21405                    {
21406                        let val = decoder.decode_int32()?;
21407                        let val_ref = &val;
21408                        if *val_ref != 0 {
21409                            *mut_ref = val as _;
21410                        }
21411                    };
21412                }
21413                2u32 => {
21414                    let mut_ref = &mut self.r#sta_list;
21415                    {
21416                        mut_ref.decode_len_delimited(decoder)?;
21417                    };
21418                    self._has.set_sta_list();
21419                }
21420                _ => {
21421                    decoder.skip_wire_value(tag.wire_type())?;
21422                }
21423            }
21424        }
21425        Ok(())
21426    }
21427}
21428impl ::micropb::MessageEncode for Rpc_Resp_WifiApGetStaList {
21429    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
21430        let mut max_size = 0;
21431        if let ::core::option::Option::Some(size) =
21432            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
21433        {
21434            max_size += size;
21435        } else {
21436            break 'msg (::core::option::Option::<usize>::None);
21437        };
21438        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
21439            ::micropb::const_map!(
21440                <r#wifi_sta_list as ::micropb::MessageEncode>::MAX_SIZE,
21441                |size| ::micropb::size::sizeof_len_record(size)
21442            ),
21443            |size| size + 1usize
21444        ) {
21445            max_size += size;
21446        } else {
21447            break 'msg (::core::option::Option::<usize>::None);
21448        };
21449        ::core::option::Option::Some(max_size)
21450    };
21451    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
21452        &self,
21453        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
21454    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
21455        use ::micropb::{FieldEncode, PbMap};
21456        {
21457            let val_ref = &self.r#resp;
21458            if *val_ref != 0 {
21459                encoder.encode_varint32(8u32)?;
21460                encoder.encode_int32(*val_ref as _)?;
21461            }
21462        }
21463        {
21464            if let ::core::option::Option::Some(val_ref) = self.r#sta_list() {
21465                encoder.encode_varint32(18u32)?;
21466                val_ref.encode_len_delimited(encoder)?;
21467            }
21468        }
21469        Ok(())
21470    }
21471    fn compute_size(&self) -> usize {
21472        use ::micropb::{FieldEncode, PbMap};
21473        let mut size = 0;
21474        {
21475            let val_ref = &self.r#resp;
21476            if *val_ref != 0 {
21477                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
21478            }
21479        }
21480        {
21481            if let ::core::option::Option::Some(val_ref) = self.r#sta_list() {
21482                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
21483            }
21484        }
21485        size
21486    }
21487}
21488#[derive(Debug, Default, PartialEq, Clone)]
21489pub struct Rpc_Req_WifiApGetStaAid {
21490    pub r#mac: ::micropb::heapless::Vec<u8, 6>,
21491}
21492impl Rpc_Req_WifiApGetStaAid {
21493    ///Return a reference to `mac`
21494    #[inline]
21495    pub fn r#mac(&self) -> &::micropb::heapless::Vec<u8, 6> {
21496        &self.r#mac
21497    }
21498    ///Return a mutable reference to `mac`
21499    #[inline]
21500    pub fn mut_mac(&mut self) -> &mut ::micropb::heapless::Vec<u8, 6> {
21501        &mut self.r#mac
21502    }
21503    ///Set the value of `mac`
21504    #[inline]
21505    pub fn set_mac(&mut self, value: ::micropb::heapless::Vec<u8, 6>) -> &mut Self {
21506        self.r#mac = value.into();
21507        self
21508    }
21509    ///Builder method that sets the value of `mac`. Useful for initializing the message.
21510    #[inline]
21511    pub fn init_mac(mut self, value: ::micropb::heapless::Vec<u8, 6>) -> Self {
21512        self.r#mac = value.into();
21513        self
21514    }
21515}
21516impl ::micropb::MessageDecode for Rpc_Req_WifiApGetStaAid {
21517    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
21518        &mut self,
21519        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
21520        len: usize,
21521    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
21522        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
21523        let before = decoder.bytes_read();
21524        while decoder.bytes_read() - before < len {
21525            let tag = decoder.decode_tag()?;
21526            match tag.field_num() {
21527                0 => return Err(::micropb::DecodeError::ZeroField),
21528                1u32 => {
21529                    let mut_ref = &mut self.r#mac;
21530                    {
21531                        decoder.decode_bytes(mut_ref, ::micropb::Presence::Implicit)?;
21532                    };
21533                }
21534                _ => {
21535                    decoder.skip_wire_value(tag.wire_type())?;
21536                }
21537            }
21538        }
21539        Ok(())
21540    }
21541}
21542impl ::micropb::MessageEncode for Rpc_Req_WifiApGetStaAid {
21543    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
21544        let mut max_size = 0;
21545        if let ::core::option::Option::Some(size) =
21546            ::micropb::const_map!(::core::option::Option::Some(7usize), |size| size + 1usize)
21547        {
21548            max_size += size;
21549        } else {
21550            break 'msg (::core::option::Option::<usize>::None);
21551        };
21552        ::core::option::Option::Some(max_size)
21553    };
21554    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
21555        &self,
21556        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
21557    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
21558        use ::micropb::{FieldEncode, PbMap};
21559        {
21560            let val_ref = &self.r#mac;
21561            if !val_ref.is_empty() {
21562                encoder.encode_varint32(10u32)?;
21563                encoder.encode_bytes(val_ref)?;
21564            }
21565        }
21566        Ok(())
21567    }
21568    fn compute_size(&self) -> usize {
21569        use ::micropb::{FieldEncode, PbMap};
21570        let mut size = 0;
21571        {
21572            let val_ref = &self.r#mac;
21573            if !val_ref.is_empty() {
21574                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.len());
21575            }
21576        }
21577        size
21578    }
21579}
21580#[derive(Debug, Default, PartialEq, Clone)]
21581pub struct Rpc_Req_WifiStaGetNegotiatedPhymode {}
21582impl Rpc_Req_WifiStaGetNegotiatedPhymode {}
21583impl ::micropb::MessageDecode for Rpc_Req_WifiStaGetNegotiatedPhymode {
21584    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
21585        &mut self,
21586        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
21587        len: usize,
21588    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
21589        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
21590        let before = decoder.bytes_read();
21591        while decoder.bytes_read() - before < len {
21592            let tag = decoder.decode_tag()?;
21593            match tag.field_num() {
21594                0 => return Err(::micropb::DecodeError::ZeroField),
21595                _ => {
21596                    decoder.skip_wire_value(tag.wire_type())?;
21597                }
21598            }
21599        }
21600        Ok(())
21601    }
21602}
21603impl ::micropb::MessageEncode for Rpc_Req_WifiStaGetNegotiatedPhymode {
21604    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
21605        let mut max_size = 0;
21606        ::core::option::Option::Some(max_size)
21607    };
21608    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
21609        &self,
21610        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
21611    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
21612        use ::micropb::{FieldEncode, PbMap};
21613        Ok(())
21614    }
21615    fn compute_size(&self) -> usize {
21616        use ::micropb::{FieldEncode, PbMap};
21617        let mut size = 0;
21618        size
21619    }
21620}
21621#[derive(Debug, Default, PartialEq, Clone)]
21622pub struct Rpc_Resp_WifiStaGetNegotiatedPhymode {
21623    pub r#resp: i32,
21624    pub r#phymode: u32,
21625}
21626impl Rpc_Resp_WifiStaGetNegotiatedPhymode {
21627    ///Return a reference to `resp`
21628    #[inline]
21629    pub fn r#resp(&self) -> &i32 {
21630        &self.r#resp
21631    }
21632    ///Return a mutable reference to `resp`
21633    #[inline]
21634    pub fn mut_resp(&mut self) -> &mut i32 {
21635        &mut self.r#resp
21636    }
21637    ///Set the value of `resp`
21638    #[inline]
21639    pub fn set_resp(&mut self, value: i32) -> &mut Self {
21640        self.r#resp = value.into();
21641        self
21642    }
21643    ///Builder method that sets the value of `resp`. Useful for initializing the message.
21644    #[inline]
21645    pub fn init_resp(mut self, value: i32) -> Self {
21646        self.r#resp = value.into();
21647        self
21648    }
21649    ///Return a reference to `phymode`
21650    #[inline]
21651    pub fn r#phymode(&self) -> &u32 {
21652        &self.r#phymode
21653    }
21654    ///Return a mutable reference to `phymode`
21655    #[inline]
21656    pub fn mut_phymode(&mut self) -> &mut u32 {
21657        &mut self.r#phymode
21658    }
21659    ///Set the value of `phymode`
21660    #[inline]
21661    pub fn set_phymode(&mut self, value: u32) -> &mut Self {
21662        self.r#phymode = value.into();
21663        self
21664    }
21665    ///Builder method that sets the value of `phymode`. Useful for initializing the message.
21666    #[inline]
21667    pub fn init_phymode(mut self, value: u32) -> Self {
21668        self.r#phymode = value.into();
21669        self
21670    }
21671}
21672impl ::micropb::MessageDecode for Rpc_Resp_WifiStaGetNegotiatedPhymode {
21673    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
21674        &mut self,
21675        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
21676        len: usize,
21677    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
21678        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
21679        let before = decoder.bytes_read();
21680        while decoder.bytes_read() - before < len {
21681            let tag = decoder.decode_tag()?;
21682            match tag.field_num() {
21683                0 => return Err(::micropb::DecodeError::ZeroField),
21684                1u32 => {
21685                    let mut_ref = &mut self.r#resp;
21686                    {
21687                        let val = decoder.decode_int32()?;
21688                        let val_ref = &val;
21689                        if *val_ref != 0 {
21690                            *mut_ref = val as _;
21691                        }
21692                    };
21693                }
21694                2u32 => {
21695                    let mut_ref = &mut self.r#phymode;
21696                    {
21697                        let val = decoder.decode_varint32()?;
21698                        let val_ref = &val;
21699                        if *val_ref != 0 {
21700                            *mut_ref = val as _;
21701                        }
21702                    };
21703                }
21704                _ => {
21705                    decoder.skip_wire_value(tag.wire_type())?;
21706                }
21707            }
21708        }
21709        Ok(())
21710    }
21711}
21712impl ::micropb::MessageEncode for Rpc_Resp_WifiStaGetNegotiatedPhymode {
21713    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
21714        let mut max_size = 0;
21715        if let ::core::option::Option::Some(size) =
21716            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
21717        {
21718            max_size += size;
21719        } else {
21720            break 'msg (::core::option::Option::<usize>::None);
21721        };
21722        if let ::core::option::Option::Some(size) =
21723            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
21724        {
21725            max_size += size;
21726        } else {
21727            break 'msg (::core::option::Option::<usize>::None);
21728        };
21729        ::core::option::Option::Some(max_size)
21730    };
21731    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
21732        &self,
21733        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
21734    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
21735        use ::micropb::{FieldEncode, PbMap};
21736        {
21737            let val_ref = &self.r#resp;
21738            if *val_ref != 0 {
21739                encoder.encode_varint32(8u32)?;
21740                encoder.encode_int32(*val_ref as _)?;
21741            }
21742        }
21743        {
21744            let val_ref = &self.r#phymode;
21745            if *val_ref != 0 {
21746                encoder.encode_varint32(16u32)?;
21747                encoder.encode_varint32(*val_ref as _)?;
21748            }
21749        }
21750        Ok(())
21751    }
21752    fn compute_size(&self) -> usize {
21753        use ::micropb::{FieldEncode, PbMap};
21754        let mut size = 0;
21755        {
21756            let val_ref = &self.r#resp;
21757            if *val_ref != 0 {
21758                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
21759            }
21760        }
21761        {
21762            let val_ref = &self.r#phymode;
21763            if *val_ref != 0 {
21764                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
21765            }
21766        }
21767        size
21768    }
21769}
21770#[derive(Debug, Default, PartialEq, Clone)]
21771pub struct Rpc_Resp_WifiApGetStaAid {
21772    pub r#resp: i32,
21773    pub r#aid: u32,
21774}
21775impl Rpc_Resp_WifiApGetStaAid {
21776    ///Return a reference to `resp`
21777    #[inline]
21778    pub fn r#resp(&self) -> &i32 {
21779        &self.r#resp
21780    }
21781    ///Return a mutable reference to `resp`
21782    #[inline]
21783    pub fn mut_resp(&mut self) -> &mut i32 {
21784        &mut self.r#resp
21785    }
21786    ///Set the value of `resp`
21787    #[inline]
21788    pub fn set_resp(&mut self, value: i32) -> &mut Self {
21789        self.r#resp = value.into();
21790        self
21791    }
21792    ///Builder method that sets the value of `resp`. Useful for initializing the message.
21793    #[inline]
21794    pub fn init_resp(mut self, value: i32) -> Self {
21795        self.r#resp = value.into();
21796        self
21797    }
21798    ///Return a reference to `aid`
21799    #[inline]
21800    pub fn r#aid(&self) -> &u32 {
21801        &self.r#aid
21802    }
21803    ///Return a mutable reference to `aid`
21804    #[inline]
21805    pub fn mut_aid(&mut self) -> &mut u32 {
21806        &mut self.r#aid
21807    }
21808    ///Set the value of `aid`
21809    #[inline]
21810    pub fn set_aid(&mut self, value: u32) -> &mut Self {
21811        self.r#aid = value.into();
21812        self
21813    }
21814    ///Builder method that sets the value of `aid`. Useful for initializing the message.
21815    #[inline]
21816    pub fn init_aid(mut self, value: u32) -> Self {
21817        self.r#aid = value.into();
21818        self
21819    }
21820}
21821impl ::micropb::MessageDecode for Rpc_Resp_WifiApGetStaAid {
21822    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
21823        &mut self,
21824        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
21825        len: usize,
21826    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
21827        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
21828        let before = decoder.bytes_read();
21829        while decoder.bytes_read() - before < len {
21830            let tag = decoder.decode_tag()?;
21831            match tag.field_num() {
21832                0 => return Err(::micropb::DecodeError::ZeroField),
21833                1u32 => {
21834                    let mut_ref = &mut self.r#resp;
21835                    {
21836                        let val = decoder.decode_int32()?;
21837                        let val_ref = &val;
21838                        if *val_ref != 0 {
21839                            *mut_ref = val as _;
21840                        }
21841                    };
21842                }
21843                2u32 => {
21844                    let mut_ref = &mut self.r#aid;
21845                    {
21846                        let val = decoder.decode_varint32()?;
21847                        let val_ref = &val;
21848                        if *val_ref != 0 {
21849                            *mut_ref = val as _;
21850                        }
21851                    };
21852                }
21853                _ => {
21854                    decoder.skip_wire_value(tag.wire_type())?;
21855                }
21856            }
21857        }
21858        Ok(())
21859    }
21860}
21861impl ::micropb::MessageEncode for Rpc_Resp_WifiApGetStaAid {
21862    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
21863        let mut max_size = 0;
21864        if let ::core::option::Option::Some(size) =
21865            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
21866        {
21867            max_size += size;
21868        } else {
21869            break 'msg (::core::option::Option::<usize>::None);
21870        };
21871        if let ::core::option::Option::Some(size) =
21872            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
21873        {
21874            max_size += size;
21875        } else {
21876            break 'msg (::core::option::Option::<usize>::None);
21877        };
21878        ::core::option::Option::Some(max_size)
21879    };
21880    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
21881        &self,
21882        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
21883    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
21884        use ::micropb::{FieldEncode, PbMap};
21885        {
21886            let val_ref = &self.r#resp;
21887            if *val_ref != 0 {
21888                encoder.encode_varint32(8u32)?;
21889                encoder.encode_int32(*val_ref as _)?;
21890            }
21891        }
21892        {
21893            let val_ref = &self.r#aid;
21894            if *val_ref != 0 {
21895                encoder.encode_varint32(16u32)?;
21896                encoder.encode_varint32(*val_ref as _)?;
21897            }
21898        }
21899        Ok(())
21900    }
21901    fn compute_size(&self) -> usize {
21902        use ::micropb::{FieldEncode, PbMap};
21903        let mut size = 0;
21904        {
21905            let val_ref = &self.r#resp;
21906            if *val_ref != 0 {
21907                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
21908            }
21909        }
21910        {
21911            let val_ref = &self.r#aid;
21912            if *val_ref != 0 {
21913                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
21914            }
21915        }
21916        size
21917    }
21918}
21919#[derive(Debug, Default, PartialEq, Clone)]
21920pub struct Rpc_Req_WifiStaGetRssi {}
21921impl Rpc_Req_WifiStaGetRssi {}
21922impl ::micropb::MessageDecode for Rpc_Req_WifiStaGetRssi {
21923    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
21924        &mut self,
21925        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
21926        len: usize,
21927    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
21928        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
21929        let before = decoder.bytes_read();
21930        while decoder.bytes_read() - before < len {
21931            let tag = decoder.decode_tag()?;
21932            match tag.field_num() {
21933                0 => return Err(::micropb::DecodeError::ZeroField),
21934                _ => {
21935                    decoder.skip_wire_value(tag.wire_type())?;
21936                }
21937            }
21938        }
21939        Ok(())
21940    }
21941}
21942impl ::micropb::MessageEncode for Rpc_Req_WifiStaGetRssi {
21943    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
21944        let mut max_size = 0;
21945        ::core::option::Option::Some(max_size)
21946    };
21947    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
21948        &self,
21949        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
21950    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
21951        use ::micropb::{FieldEncode, PbMap};
21952        Ok(())
21953    }
21954    fn compute_size(&self) -> usize {
21955        use ::micropb::{FieldEncode, PbMap};
21956        let mut size = 0;
21957        size
21958    }
21959}
21960#[derive(Debug, Default, PartialEq, Clone)]
21961pub struct Rpc_Resp_WifiStaGetRssi {
21962    pub r#resp: i32,
21963    pub r#rssi: i32,
21964}
21965impl Rpc_Resp_WifiStaGetRssi {
21966    ///Return a reference to `resp`
21967    #[inline]
21968    pub fn r#resp(&self) -> &i32 {
21969        &self.r#resp
21970    }
21971    ///Return a mutable reference to `resp`
21972    #[inline]
21973    pub fn mut_resp(&mut self) -> &mut i32 {
21974        &mut self.r#resp
21975    }
21976    ///Set the value of `resp`
21977    #[inline]
21978    pub fn set_resp(&mut self, value: i32) -> &mut Self {
21979        self.r#resp = value.into();
21980        self
21981    }
21982    ///Builder method that sets the value of `resp`. Useful for initializing the message.
21983    #[inline]
21984    pub fn init_resp(mut self, value: i32) -> Self {
21985        self.r#resp = value.into();
21986        self
21987    }
21988    ///Return a reference to `rssi`
21989    #[inline]
21990    pub fn r#rssi(&self) -> &i32 {
21991        &self.r#rssi
21992    }
21993    ///Return a mutable reference to `rssi`
21994    #[inline]
21995    pub fn mut_rssi(&mut self) -> &mut i32 {
21996        &mut self.r#rssi
21997    }
21998    ///Set the value of `rssi`
21999    #[inline]
22000    pub fn set_rssi(&mut self, value: i32) -> &mut Self {
22001        self.r#rssi = value.into();
22002        self
22003    }
22004    ///Builder method that sets the value of `rssi`. Useful for initializing the message.
22005    #[inline]
22006    pub fn init_rssi(mut self, value: i32) -> Self {
22007        self.r#rssi = value.into();
22008        self
22009    }
22010}
22011impl ::micropb::MessageDecode for Rpc_Resp_WifiStaGetRssi {
22012    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
22013        &mut self,
22014        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
22015        len: usize,
22016    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
22017        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
22018        let before = decoder.bytes_read();
22019        while decoder.bytes_read() - before < len {
22020            let tag = decoder.decode_tag()?;
22021            match tag.field_num() {
22022                0 => return Err(::micropb::DecodeError::ZeroField),
22023                1u32 => {
22024                    let mut_ref = &mut self.r#resp;
22025                    {
22026                        let val = decoder.decode_int32()?;
22027                        let val_ref = &val;
22028                        if *val_ref != 0 {
22029                            *mut_ref = val as _;
22030                        }
22031                    };
22032                }
22033                2u32 => {
22034                    let mut_ref = &mut self.r#rssi;
22035                    {
22036                        let val = decoder.decode_int32()?;
22037                        let val_ref = &val;
22038                        if *val_ref != 0 {
22039                            *mut_ref = val as _;
22040                        }
22041                    };
22042                }
22043                _ => {
22044                    decoder.skip_wire_value(tag.wire_type())?;
22045                }
22046            }
22047        }
22048        Ok(())
22049    }
22050}
22051impl ::micropb::MessageEncode for Rpc_Resp_WifiStaGetRssi {
22052    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
22053        let mut max_size = 0;
22054        if let ::core::option::Option::Some(size) =
22055            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
22056        {
22057            max_size += size;
22058        } else {
22059            break 'msg (::core::option::Option::<usize>::None);
22060        };
22061        if let ::core::option::Option::Some(size) =
22062            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
22063        {
22064            max_size += size;
22065        } else {
22066            break 'msg (::core::option::Option::<usize>::None);
22067        };
22068        ::core::option::Option::Some(max_size)
22069    };
22070    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
22071        &self,
22072        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
22073    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
22074        use ::micropb::{FieldEncode, PbMap};
22075        {
22076            let val_ref = &self.r#resp;
22077            if *val_ref != 0 {
22078                encoder.encode_varint32(8u32)?;
22079                encoder.encode_int32(*val_ref as _)?;
22080            }
22081        }
22082        {
22083            let val_ref = &self.r#rssi;
22084            if *val_ref != 0 {
22085                encoder.encode_varint32(16u32)?;
22086                encoder.encode_int32(*val_ref as _)?;
22087            }
22088        }
22089        Ok(())
22090    }
22091    fn compute_size(&self) -> usize {
22092        use ::micropb::{FieldEncode, PbMap};
22093        let mut size = 0;
22094        {
22095            let val_ref = &self.r#resp;
22096            if *val_ref != 0 {
22097                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
22098            }
22099        }
22100        {
22101            let val_ref = &self.r#rssi;
22102            if *val_ref != 0 {
22103                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
22104            }
22105        }
22106        size
22107    }
22108}
22109#[derive(Debug, Default, PartialEq, Clone)]
22110pub struct Rpc_Req_WifiStaGetAid {}
22111impl Rpc_Req_WifiStaGetAid {}
22112impl ::micropb::MessageDecode for Rpc_Req_WifiStaGetAid {
22113    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
22114        &mut self,
22115        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
22116        len: usize,
22117    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
22118        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
22119        let before = decoder.bytes_read();
22120        while decoder.bytes_read() - before < len {
22121            let tag = decoder.decode_tag()?;
22122            match tag.field_num() {
22123                0 => return Err(::micropb::DecodeError::ZeroField),
22124                _ => {
22125                    decoder.skip_wire_value(tag.wire_type())?;
22126                }
22127            }
22128        }
22129        Ok(())
22130    }
22131}
22132impl ::micropb::MessageEncode for Rpc_Req_WifiStaGetAid {
22133    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
22134        let mut max_size = 0;
22135        ::core::option::Option::Some(max_size)
22136    };
22137    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
22138        &self,
22139        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
22140    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
22141        use ::micropb::{FieldEncode, PbMap};
22142        Ok(())
22143    }
22144    fn compute_size(&self) -> usize {
22145        use ::micropb::{FieldEncode, PbMap};
22146        let mut size = 0;
22147        size
22148    }
22149}
22150#[derive(Debug, Default, PartialEq, Clone)]
22151pub struct Rpc_Resp_WifiStaGetAid {
22152    pub r#resp: i32,
22153    pub r#aid: u32,
22154}
22155impl Rpc_Resp_WifiStaGetAid {
22156    ///Return a reference to `resp`
22157    #[inline]
22158    pub fn r#resp(&self) -> &i32 {
22159        &self.r#resp
22160    }
22161    ///Return a mutable reference to `resp`
22162    #[inline]
22163    pub fn mut_resp(&mut self) -> &mut i32 {
22164        &mut self.r#resp
22165    }
22166    ///Set the value of `resp`
22167    #[inline]
22168    pub fn set_resp(&mut self, value: i32) -> &mut Self {
22169        self.r#resp = value.into();
22170        self
22171    }
22172    ///Builder method that sets the value of `resp`. Useful for initializing the message.
22173    #[inline]
22174    pub fn init_resp(mut self, value: i32) -> Self {
22175        self.r#resp = value.into();
22176        self
22177    }
22178    ///Return a reference to `aid`
22179    #[inline]
22180    pub fn r#aid(&self) -> &u32 {
22181        &self.r#aid
22182    }
22183    ///Return a mutable reference to `aid`
22184    #[inline]
22185    pub fn mut_aid(&mut self) -> &mut u32 {
22186        &mut self.r#aid
22187    }
22188    ///Set the value of `aid`
22189    #[inline]
22190    pub fn set_aid(&mut self, value: u32) -> &mut Self {
22191        self.r#aid = value.into();
22192        self
22193    }
22194    ///Builder method that sets the value of `aid`. Useful for initializing the message.
22195    #[inline]
22196    pub fn init_aid(mut self, value: u32) -> Self {
22197        self.r#aid = value.into();
22198        self
22199    }
22200}
22201impl ::micropb::MessageDecode for Rpc_Resp_WifiStaGetAid {
22202    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
22203        &mut self,
22204        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
22205        len: usize,
22206    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
22207        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
22208        let before = decoder.bytes_read();
22209        while decoder.bytes_read() - before < len {
22210            let tag = decoder.decode_tag()?;
22211            match tag.field_num() {
22212                0 => return Err(::micropb::DecodeError::ZeroField),
22213                1u32 => {
22214                    let mut_ref = &mut self.r#resp;
22215                    {
22216                        let val = decoder.decode_int32()?;
22217                        let val_ref = &val;
22218                        if *val_ref != 0 {
22219                            *mut_ref = val as _;
22220                        }
22221                    };
22222                }
22223                2u32 => {
22224                    let mut_ref = &mut self.r#aid;
22225                    {
22226                        let val = decoder.decode_varint32()?;
22227                        let val_ref = &val;
22228                        if *val_ref != 0 {
22229                            *mut_ref = val as _;
22230                        }
22231                    };
22232                }
22233                _ => {
22234                    decoder.skip_wire_value(tag.wire_type())?;
22235                }
22236            }
22237        }
22238        Ok(())
22239    }
22240}
22241impl ::micropb::MessageEncode for Rpc_Resp_WifiStaGetAid {
22242    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
22243        let mut max_size = 0;
22244        if let ::core::option::Option::Some(size) =
22245            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
22246        {
22247            max_size += size;
22248        } else {
22249            break 'msg (::core::option::Option::<usize>::None);
22250        };
22251        if let ::core::option::Option::Some(size) =
22252            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
22253        {
22254            max_size += size;
22255        } else {
22256            break 'msg (::core::option::Option::<usize>::None);
22257        };
22258        ::core::option::Option::Some(max_size)
22259    };
22260    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
22261        &self,
22262        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
22263    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
22264        use ::micropb::{FieldEncode, PbMap};
22265        {
22266            let val_ref = &self.r#resp;
22267            if *val_ref != 0 {
22268                encoder.encode_varint32(8u32)?;
22269                encoder.encode_int32(*val_ref as _)?;
22270            }
22271        }
22272        {
22273            let val_ref = &self.r#aid;
22274            if *val_ref != 0 {
22275                encoder.encode_varint32(16u32)?;
22276                encoder.encode_varint32(*val_ref as _)?;
22277            }
22278        }
22279        Ok(())
22280    }
22281    fn compute_size(&self) -> usize {
22282        use ::micropb::{FieldEncode, PbMap};
22283        let mut size = 0;
22284        {
22285            let val_ref = &self.r#resp;
22286            if *val_ref != 0 {
22287                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
22288            }
22289        }
22290        {
22291            let val_ref = &self.r#aid;
22292            if *val_ref != 0 {
22293                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
22294            }
22295        }
22296        size
22297    }
22298}
22299pub mod Rpc_Req_WifiSetProtocols_ {
22300    #[derive(Debug, Default, PartialEq, Clone)]
22301    pub struct _Hazzer([u8; 1]);
22302    impl _Hazzer {
22303        ///New hazzer with all fields set to off
22304        #[inline]
22305        pub const fn _new() -> Self {
22306            Self([0; 1])
22307        }
22308        ///Query presence of `protocols`
22309        #[inline]
22310        pub const fn r#protocols(&self) -> bool {
22311            (self.0[0] & 1) != 0
22312        }
22313        ///Set presence of `protocols`
22314        #[inline]
22315        pub const fn set_protocols(&mut self) -> &mut Self {
22316            let elem = &mut self.0[0];
22317            *elem |= 1;
22318            self
22319        }
22320        ///Clear presence of `protocols`
22321        #[inline]
22322        pub const fn clear_protocols(&mut self) -> &mut Self {
22323            let elem = &mut self.0[0];
22324            *elem &= !1;
22325            self
22326        }
22327        ///Builder method that sets the presence of `protocols`. Useful for initializing the Hazzer.
22328        #[inline]
22329        pub const fn init_protocols(mut self) -> Self {
22330            self.set_protocols();
22331            self
22332        }
22333    }
22334}
22335#[derive(Debug, Default, Clone)]
22336pub struct Rpc_Req_WifiSetProtocols {
22337    pub r#ifx: i32,
22338    pub r#protocols: r#wifi_protocols,
22339    pub _has: Rpc_Req_WifiSetProtocols_::_Hazzer,
22340}
22341impl ::core::cmp::PartialEq for Rpc_Req_WifiSetProtocols {
22342    fn eq(&self, other: &Self) -> bool {
22343        let mut ret = true;
22344        ret &= (self.r#ifx == other.r#ifx);
22345        ret &= (self.r#protocols() == other.r#protocols());
22346        ret
22347    }
22348}
22349impl Rpc_Req_WifiSetProtocols {
22350    ///Return a reference to `ifx`
22351    #[inline]
22352    pub fn r#ifx(&self) -> &i32 {
22353        &self.r#ifx
22354    }
22355    ///Return a mutable reference to `ifx`
22356    #[inline]
22357    pub fn mut_ifx(&mut self) -> &mut i32 {
22358        &mut self.r#ifx
22359    }
22360    ///Set the value of `ifx`
22361    #[inline]
22362    pub fn set_ifx(&mut self, value: i32) -> &mut Self {
22363        self.r#ifx = value.into();
22364        self
22365    }
22366    ///Builder method that sets the value of `ifx`. Useful for initializing the message.
22367    #[inline]
22368    pub fn init_ifx(mut self, value: i32) -> Self {
22369        self.r#ifx = value.into();
22370        self
22371    }
22372    ///Return a reference to `protocols` as an `Option`
22373    #[inline]
22374    pub fn r#protocols(&self) -> ::core::option::Option<&r#wifi_protocols> {
22375        self._has.r#protocols().then_some(&self.r#protocols)
22376    }
22377    ///Set the value and presence of `protocols`
22378    #[inline]
22379    pub fn set_protocols(&mut self, value: r#wifi_protocols) -> &mut Self {
22380        self._has.set_protocols();
22381        self.r#protocols = value.into();
22382        self
22383    }
22384    ///Return a mutable reference to `protocols` as an `Option`
22385    #[inline]
22386    pub fn mut_protocols(&mut self) -> ::core::option::Option<&mut r#wifi_protocols> {
22387        self._has.r#protocols().then_some(&mut self.r#protocols)
22388    }
22389    ///Clear the presence of `protocols`
22390    #[inline]
22391    pub fn clear_protocols(&mut self) -> &mut Self {
22392        self._has.clear_protocols();
22393        self
22394    }
22395    ///Take the value of `protocols` and clear its presence
22396    #[inline]
22397    pub fn take_protocols(&mut self) -> ::core::option::Option<r#wifi_protocols> {
22398        let val = self
22399            ._has
22400            .r#protocols()
22401            .then(|| ::core::mem::take(&mut self.r#protocols));
22402        self._has.clear_protocols();
22403        val
22404    }
22405    ///Builder method that sets the value of `protocols`. Useful for initializing the message.
22406    #[inline]
22407    pub fn init_protocols(mut self, value: r#wifi_protocols) -> Self {
22408        self.set_protocols(value);
22409        self
22410    }
22411}
22412impl ::micropb::MessageDecode for Rpc_Req_WifiSetProtocols {
22413    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
22414        &mut self,
22415        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
22416        len: usize,
22417    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
22418        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
22419        let before = decoder.bytes_read();
22420        while decoder.bytes_read() - before < len {
22421            let tag = decoder.decode_tag()?;
22422            match tag.field_num() {
22423                0 => return Err(::micropb::DecodeError::ZeroField),
22424                1u32 => {
22425                    let mut_ref = &mut self.r#ifx;
22426                    {
22427                        let val = decoder.decode_int32()?;
22428                        let val_ref = &val;
22429                        if *val_ref != 0 {
22430                            *mut_ref = val as _;
22431                        }
22432                    };
22433                }
22434                2u32 => {
22435                    let mut_ref = &mut self.r#protocols;
22436                    {
22437                        mut_ref.decode_len_delimited(decoder)?;
22438                    };
22439                    self._has.set_protocols();
22440                }
22441                _ => {
22442                    decoder.skip_wire_value(tag.wire_type())?;
22443                }
22444            }
22445        }
22446        Ok(())
22447    }
22448}
22449impl ::micropb::MessageEncode for Rpc_Req_WifiSetProtocols {
22450    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
22451        let mut max_size = 0;
22452        if let ::core::option::Option::Some(size) =
22453            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
22454        {
22455            max_size += size;
22456        } else {
22457            break 'msg (::core::option::Option::<usize>::None);
22458        };
22459        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
22460            ::micropb::const_map!(
22461                <r#wifi_protocols as ::micropb::MessageEncode>::MAX_SIZE,
22462                |size| ::micropb::size::sizeof_len_record(size)
22463            ),
22464            |size| size + 1usize
22465        ) {
22466            max_size += size;
22467        } else {
22468            break 'msg (::core::option::Option::<usize>::None);
22469        };
22470        ::core::option::Option::Some(max_size)
22471    };
22472    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
22473        &self,
22474        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
22475    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
22476        use ::micropb::{FieldEncode, PbMap};
22477        {
22478            let val_ref = &self.r#ifx;
22479            if *val_ref != 0 {
22480                encoder.encode_varint32(8u32)?;
22481                encoder.encode_int32(*val_ref as _)?;
22482            }
22483        }
22484        {
22485            if let ::core::option::Option::Some(val_ref) = self.r#protocols() {
22486                encoder.encode_varint32(18u32)?;
22487                val_ref.encode_len_delimited(encoder)?;
22488            }
22489        }
22490        Ok(())
22491    }
22492    fn compute_size(&self) -> usize {
22493        use ::micropb::{FieldEncode, PbMap};
22494        let mut size = 0;
22495        {
22496            let val_ref = &self.r#ifx;
22497            if *val_ref != 0 {
22498                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
22499            }
22500        }
22501        {
22502            if let ::core::option::Option::Some(val_ref) = self.r#protocols() {
22503                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
22504            }
22505        }
22506        size
22507    }
22508}
22509#[derive(Debug, Default, PartialEq, Clone)]
22510pub struct Rpc_Resp_WifiSetProtocols {
22511    pub r#resp: i32,
22512    pub r#ifx: u32,
22513}
22514impl Rpc_Resp_WifiSetProtocols {
22515    ///Return a reference to `resp`
22516    #[inline]
22517    pub fn r#resp(&self) -> &i32 {
22518        &self.r#resp
22519    }
22520    ///Return a mutable reference to `resp`
22521    #[inline]
22522    pub fn mut_resp(&mut self) -> &mut i32 {
22523        &mut self.r#resp
22524    }
22525    ///Set the value of `resp`
22526    #[inline]
22527    pub fn set_resp(&mut self, value: i32) -> &mut Self {
22528        self.r#resp = value.into();
22529        self
22530    }
22531    ///Builder method that sets the value of `resp`. Useful for initializing the message.
22532    #[inline]
22533    pub fn init_resp(mut self, value: i32) -> Self {
22534        self.r#resp = value.into();
22535        self
22536    }
22537    ///Return a reference to `ifx`
22538    #[inline]
22539    pub fn r#ifx(&self) -> &u32 {
22540        &self.r#ifx
22541    }
22542    ///Return a mutable reference to `ifx`
22543    #[inline]
22544    pub fn mut_ifx(&mut self) -> &mut u32 {
22545        &mut self.r#ifx
22546    }
22547    ///Set the value of `ifx`
22548    #[inline]
22549    pub fn set_ifx(&mut self, value: u32) -> &mut Self {
22550        self.r#ifx = value.into();
22551        self
22552    }
22553    ///Builder method that sets the value of `ifx`. Useful for initializing the message.
22554    #[inline]
22555    pub fn init_ifx(mut self, value: u32) -> Self {
22556        self.r#ifx = value.into();
22557        self
22558    }
22559}
22560impl ::micropb::MessageDecode for Rpc_Resp_WifiSetProtocols {
22561    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
22562        &mut self,
22563        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
22564        len: usize,
22565    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
22566        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
22567        let before = decoder.bytes_read();
22568        while decoder.bytes_read() - before < len {
22569            let tag = decoder.decode_tag()?;
22570            match tag.field_num() {
22571                0 => return Err(::micropb::DecodeError::ZeroField),
22572                1u32 => {
22573                    let mut_ref = &mut self.r#resp;
22574                    {
22575                        let val = decoder.decode_int32()?;
22576                        let val_ref = &val;
22577                        if *val_ref != 0 {
22578                            *mut_ref = val as _;
22579                        }
22580                    };
22581                }
22582                2u32 => {
22583                    let mut_ref = &mut self.r#ifx;
22584                    {
22585                        let val = decoder.decode_varint32()?;
22586                        let val_ref = &val;
22587                        if *val_ref != 0 {
22588                            *mut_ref = val as _;
22589                        }
22590                    };
22591                }
22592                _ => {
22593                    decoder.skip_wire_value(tag.wire_type())?;
22594                }
22595            }
22596        }
22597        Ok(())
22598    }
22599}
22600impl ::micropb::MessageEncode for Rpc_Resp_WifiSetProtocols {
22601    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
22602        let mut max_size = 0;
22603        if let ::core::option::Option::Some(size) =
22604            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
22605        {
22606            max_size += size;
22607        } else {
22608            break 'msg (::core::option::Option::<usize>::None);
22609        };
22610        if let ::core::option::Option::Some(size) =
22611            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
22612        {
22613            max_size += size;
22614        } else {
22615            break 'msg (::core::option::Option::<usize>::None);
22616        };
22617        ::core::option::Option::Some(max_size)
22618    };
22619    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
22620        &self,
22621        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
22622    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
22623        use ::micropb::{FieldEncode, PbMap};
22624        {
22625            let val_ref = &self.r#resp;
22626            if *val_ref != 0 {
22627                encoder.encode_varint32(8u32)?;
22628                encoder.encode_int32(*val_ref as _)?;
22629            }
22630        }
22631        {
22632            let val_ref = &self.r#ifx;
22633            if *val_ref != 0 {
22634                encoder.encode_varint32(16u32)?;
22635                encoder.encode_varint32(*val_ref as _)?;
22636            }
22637        }
22638        Ok(())
22639    }
22640    fn compute_size(&self) -> usize {
22641        use ::micropb::{FieldEncode, PbMap};
22642        let mut size = 0;
22643        {
22644            let val_ref = &self.r#resp;
22645            if *val_ref != 0 {
22646                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
22647            }
22648        }
22649        {
22650            let val_ref = &self.r#ifx;
22651            if *val_ref != 0 {
22652                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
22653            }
22654        }
22655        size
22656    }
22657}
22658#[derive(Debug, Default, PartialEq, Clone)]
22659pub struct Rpc_Req_WifiGetProtocols {
22660    pub r#ifx: i32,
22661}
22662impl Rpc_Req_WifiGetProtocols {
22663    ///Return a reference to `ifx`
22664    #[inline]
22665    pub fn r#ifx(&self) -> &i32 {
22666        &self.r#ifx
22667    }
22668    ///Return a mutable reference to `ifx`
22669    #[inline]
22670    pub fn mut_ifx(&mut self) -> &mut i32 {
22671        &mut self.r#ifx
22672    }
22673    ///Set the value of `ifx`
22674    #[inline]
22675    pub fn set_ifx(&mut self, value: i32) -> &mut Self {
22676        self.r#ifx = value.into();
22677        self
22678    }
22679    ///Builder method that sets the value of `ifx`. Useful for initializing the message.
22680    #[inline]
22681    pub fn init_ifx(mut self, value: i32) -> Self {
22682        self.r#ifx = value.into();
22683        self
22684    }
22685}
22686impl ::micropb::MessageDecode for Rpc_Req_WifiGetProtocols {
22687    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
22688        &mut self,
22689        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
22690        len: usize,
22691    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
22692        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
22693        let before = decoder.bytes_read();
22694        while decoder.bytes_read() - before < len {
22695            let tag = decoder.decode_tag()?;
22696            match tag.field_num() {
22697                0 => return Err(::micropb::DecodeError::ZeroField),
22698                1u32 => {
22699                    let mut_ref = &mut self.r#ifx;
22700                    {
22701                        let val = decoder.decode_int32()?;
22702                        let val_ref = &val;
22703                        if *val_ref != 0 {
22704                            *mut_ref = val as _;
22705                        }
22706                    };
22707                }
22708                _ => {
22709                    decoder.skip_wire_value(tag.wire_type())?;
22710                }
22711            }
22712        }
22713        Ok(())
22714    }
22715}
22716impl ::micropb::MessageEncode for Rpc_Req_WifiGetProtocols {
22717    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
22718        let mut max_size = 0;
22719        if let ::core::option::Option::Some(size) =
22720            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
22721        {
22722            max_size += size;
22723        } else {
22724            break 'msg (::core::option::Option::<usize>::None);
22725        };
22726        ::core::option::Option::Some(max_size)
22727    };
22728    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
22729        &self,
22730        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
22731    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
22732        use ::micropb::{FieldEncode, PbMap};
22733        {
22734            let val_ref = &self.r#ifx;
22735            if *val_ref != 0 {
22736                encoder.encode_varint32(8u32)?;
22737                encoder.encode_int32(*val_ref as _)?;
22738            }
22739        }
22740        Ok(())
22741    }
22742    fn compute_size(&self) -> usize {
22743        use ::micropb::{FieldEncode, PbMap};
22744        let mut size = 0;
22745        {
22746            let val_ref = &self.r#ifx;
22747            if *val_ref != 0 {
22748                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
22749            }
22750        }
22751        size
22752    }
22753}
22754pub mod Rpc_Resp_WifiGetProtocols_ {
22755    #[derive(Debug, Default, PartialEq, Clone)]
22756    pub struct _Hazzer([u8; 1]);
22757    impl _Hazzer {
22758        ///New hazzer with all fields set to off
22759        #[inline]
22760        pub const fn _new() -> Self {
22761            Self([0; 1])
22762        }
22763        ///Query presence of `protocols`
22764        #[inline]
22765        pub const fn r#protocols(&self) -> bool {
22766            (self.0[0] & 1) != 0
22767        }
22768        ///Set presence of `protocols`
22769        #[inline]
22770        pub const fn set_protocols(&mut self) -> &mut Self {
22771            let elem = &mut self.0[0];
22772            *elem |= 1;
22773            self
22774        }
22775        ///Clear presence of `protocols`
22776        #[inline]
22777        pub const fn clear_protocols(&mut self) -> &mut Self {
22778            let elem = &mut self.0[0];
22779            *elem &= !1;
22780            self
22781        }
22782        ///Builder method that sets the presence of `protocols`. Useful for initializing the Hazzer.
22783        #[inline]
22784        pub const fn init_protocols(mut self) -> Self {
22785            self.set_protocols();
22786            self
22787        }
22788    }
22789}
22790#[derive(Debug, Default, Clone)]
22791pub struct Rpc_Resp_WifiGetProtocols {
22792    pub r#resp: i32,
22793    pub r#ifx: i32,
22794    pub r#protocols: r#wifi_protocols,
22795    pub _has: Rpc_Resp_WifiGetProtocols_::_Hazzer,
22796}
22797impl ::core::cmp::PartialEq for Rpc_Resp_WifiGetProtocols {
22798    fn eq(&self, other: &Self) -> bool {
22799        let mut ret = true;
22800        ret &= (self.r#resp == other.r#resp);
22801        ret &= (self.r#ifx == other.r#ifx);
22802        ret &= (self.r#protocols() == other.r#protocols());
22803        ret
22804    }
22805}
22806impl Rpc_Resp_WifiGetProtocols {
22807    ///Return a reference to `resp`
22808    #[inline]
22809    pub fn r#resp(&self) -> &i32 {
22810        &self.r#resp
22811    }
22812    ///Return a mutable reference to `resp`
22813    #[inline]
22814    pub fn mut_resp(&mut self) -> &mut i32 {
22815        &mut self.r#resp
22816    }
22817    ///Set the value of `resp`
22818    #[inline]
22819    pub fn set_resp(&mut self, value: i32) -> &mut Self {
22820        self.r#resp = value.into();
22821        self
22822    }
22823    ///Builder method that sets the value of `resp`. Useful for initializing the message.
22824    #[inline]
22825    pub fn init_resp(mut self, value: i32) -> Self {
22826        self.r#resp = value.into();
22827        self
22828    }
22829    ///Return a reference to `ifx`
22830    #[inline]
22831    pub fn r#ifx(&self) -> &i32 {
22832        &self.r#ifx
22833    }
22834    ///Return a mutable reference to `ifx`
22835    #[inline]
22836    pub fn mut_ifx(&mut self) -> &mut i32 {
22837        &mut self.r#ifx
22838    }
22839    ///Set the value of `ifx`
22840    #[inline]
22841    pub fn set_ifx(&mut self, value: i32) -> &mut Self {
22842        self.r#ifx = value.into();
22843        self
22844    }
22845    ///Builder method that sets the value of `ifx`. Useful for initializing the message.
22846    #[inline]
22847    pub fn init_ifx(mut self, value: i32) -> Self {
22848        self.r#ifx = value.into();
22849        self
22850    }
22851    ///Return a reference to `protocols` as an `Option`
22852    #[inline]
22853    pub fn r#protocols(&self) -> ::core::option::Option<&r#wifi_protocols> {
22854        self._has.r#protocols().then_some(&self.r#protocols)
22855    }
22856    ///Set the value and presence of `protocols`
22857    #[inline]
22858    pub fn set_protocols(&mut self, value: r#wifi_protocols) -> &mut Self {
22859        self._has.set_protocols();
22860        self.r#protocols = value.into();
22861        self
22862    }
22863    ///Return a mutable reference to `protocols` as an `Option`
22864    #[inline]
22865    pub fn mut_protocols(&mut self) -> ::core::option::Option<&mut r#wifi_protocols> {
22866        self._has.r#protocols().then_some(&mut self.r#protocols)
22867    }
22868    ///Clear the presence of `protocols`
22869    #[inline]
22870    pub fn clear_protocols(&mut self) -> &mut Self {
22871        self._has.clear_protocols();
22872        self
22873    }
22874    ///Take the value of `protocols` and clear its presence
22875    #[inline]
22876    pub fn take_protocols(&mut self) -> ::core::option::Option<r#wifi_protocols> {
22877        let val = self
22878            ._has
22879            .r#protocols()
22880            .then(|| ::core::mem::take(&mut self.r#protocols));
22881        self._has.clear_protocols();
22882        val
22883    }
22884    ///Builder method that sets the value of `protocols`. Useful for initializing the message.
22885    #[inline]
22886    pub fn init_protocols(mut self, value: r#wifi_protocols) -> Self {
22887        self.set_protocols(value);
22888        self
22889    }
22890}
22891impl ::micropb::MessageDecode for Rpc_Resp_WifiGetProtocols {
22892    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
22893        &mut self,
22894        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
22895        len: usize,
22896    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
22897        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
22898        let before = decoder.bytes_read();
22899        while decoder.bytes_read() - before < len {
22900            let tag = decoder.decode_tag()?;
22901            match tag.field_num() {
22902                0 => return Err(::micropb::DecodeError::ZeroField),
22903                1u32 => {
22904                    let mut_ref = &mut self.r#resp;
22905                    {
22906                        let val = decoder.decode_int32()?;
22907                        let val_ref = &val;
22908                        if *val_ref != 0 {
22909                            *mut_ref = val as _;
22910                        }
22911                    };
22912                }
22913                2u32 => {
22914                    let mut_ref = &mut self.r#ifx;
22915                    {
22916                        let val = decoder.decode_int32()?;
22917                        let val_ref = &val;
22918                        if *val_ref != 0 {
22919                            *mut_ref = val as _;
22920                        }
22921                    };
22922                }
22923                3u32 => {
22924                    let mut_ref = &mut self.r#protocols;
22925                    {
22926                        mut_ref.decode_len_delimited(decoder)?;
22927                    };
22928                    self._has.set_protocols();
22929                }
22930                _ => {
22931                    decoder.skip_wire_value(tag.wire_type())?;
22932                }
22933            }
22934        }
22935        Ok(())
22936    }
22937}
22938impl ::micropb::MessageEncode for Rpc_Resp_WifiGetProtocols {
22939    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
22940        let mut max_size = 0;
22941        if let ::core::option::Option::Some(size) =
22942            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
22943        {
22944            max_size += size;
22945        } else {
22946            break 'msg (::core::option::Option::<usize>::None);
22947        };
22948        if let ::core::option::Option::Some(size) =
22949            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
22950        {
22951            max_size += size;
22952        } else {
22953            break 'msg (::core::option::Option::<usize>::None);
22954        };
22955        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
22956            ::micropb::const_map!(
22957                <r#wifi_protocols as ::micropb::MessageEncode>::MAX_SIZE,
22958                |size| ::micropb::size::sizeof_len_record(size)
22959            ),
22960            |size| size + 1usize
22961        ) {
22962            max_size += size;
22963        } else {
22964            break 'msg (::core::option::Option::<usize>::None);
22965        };
22966        ::core::option::Option::Some(max_size)
22967    };
22968    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
22969        &self,
22970        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
22971    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
22972        use ::micropb::{FieldEncode, PbMap};
22973        {
22974            let val_ref = &self.r#resp;
22975            if *val_ref != 0 {
22976                encoder.encode_varint32(8u32)?;
22977                encoder.encode_int32(*val_ref as _)?;
22978            }
22979        }
22980        {
22981            let val_ref = &self.r#ifx;
22982            if *val_ref != 0 {
22983                encoder.encode_varint32(16u32)?;
22984                encoder.encode_int32(*val_ref as _)?;
22985            }
22986        }
22987        {
22988            if let ::core::option::Option::Some(val_ref) = self.r#protocols() {
22989                encoder.encode_varint32(26u32)?;
22990                val_ref.encode_len_delimited(encoder)?;
22991            }
22992        }
22993        Ok(())
22994    }
22995    fn compute_size(&self) -> usize {
22996        use ::micropb::{FieldEncode, PbMap};
22997        let mut size = 0;
22998        {
22999            let val_ref = &self.r#resp;
23000            if *val_ref != 0 {
23001                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
23002            }
23003        }
23004        {
23005            let val_ref = &self.r#ifx;
23006            if *val_ref != 0 {
23007                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
23008            }
23009        }
23010        {
23011            if let ::core::option::Option::Some(val_ref) = self.r#protocols() {
23012                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
23013            }
23014        }
23015        size
23016    }
23017}
23018pub mod Rpc_Req_WifiSetBandwidths_ {
23019    #[derive(Debug, Default, PartialEq, Clone)]
23020    pub struct _Hazzer([u8; 1]);
23021    impl _Hazzer {
23022        ///New hazzer with all fields set to off
23023        #[inline]
23024        pub const fn _new() -> Self {
23025            Self([0; 1])
23026        }
23027        ///Query presence of `bandwidths`
23028        #[inline]
23029        pub const fn r#bandwidths(&self) -> bool {
23030            (self.0[0] & 1) != 0
23031        }
23032        ///Set presence of `bandwidths`
23033        #[inline]
23034        pub const fn set_bandwidths(&mut self) -> &mut Self {
23035            let elem = &mut self.0[0];
23036            *elem |= 1;
23037            self
23038        }
23039        ///Clear presence of `bandwidths`
23040        #[inline]
23041        pub const fn clear_bandwidths(&mut self) -> &mut Self {
23042            let elem = &mut self.0[0];
23043            *elem &= !1;
23044            self
23045        }
23046        ///Builder method that sets the presence of `bandwidths`. Useful for initializing the Hazzer.
23047        #[inline]
23048        pub const fn init_bandwidths(mut self) -> Self {
23049            self.set_bandwidths();
23050            self
23051        }
23052    }
23053}
23054#[derive(Debug, Default, Clone)]
23055pub struct Rpc_Req_WifiSetBandwidths {
23056    pub r#ifx: i32,
23057    pub r#bandwidths: r#wifi_bandwidths,
23058    pub _has: Rpc_Req_WifiSetBandwidths_::_Hazzer,
23059}
23060impl ::core::cmp::PartialEq for Rpc_Req_WifiSetBandwidths {
23061    fn eq(&self, other: &Self) -> bool {
23062        let mut ret = true;
23063        ret &= (self.r#ifx == other.r#ifx);
23064        ret &= (self.r#bandwidths() == other.r#bandwidths());
23065        ret
23066    }
23067}
23068impl Rpc_Req_WifiSetBandwidths {
23069    ///Return a reference to `ifx`
23070    #[inline]
23071    pub fn r#ifx(&self) -> &i32 {
23072        &self.r#ifx
23073    }
23074    ///Return a mutable reference to `ifx`
23075    #[inline]
23076    pub fn mut_ifx(&mut self) -> &mut i32 {
23077        &mut self.r#ifx
23078    }
23079    ///Set the value of `ifx`
23080    #[inline]
23081    pub fn set_ifx(&mut self, value: i32) -> &mut Self {
23082        self.r#ifx = value.into();
23083        self
23084    }
23085    ///Builder method that sets the value of `ifx`. Useful for initializing the message.
23086    #[inline]
23087    pub fn init_ifx(mut self, value: i32) -> Self {
23088        self.r#ifx = value.into();
23089        self
23090    }
23091    ///Return a reference to `bandwidths` as an `Option`
23092    #[inline]
23093    pub fn r#bandwidths(&self) -> ::core::option::Option<&r#wifi_bandwidths> {
23094        self._has.r#bandwidths().then_some(&self.r#bandwidths)
23095    }
23096    ///Set the value and presence of `bandwidths`
23097    #[inline]
23098    pub fn set_bandwidths(&mut self, value: r#wifi_bandwidths) -> &mut Self {
23099        self._has.set_bandwidths();
23100        self.r#bandwidths = value.into();
23101        self
23102    }
23103    ///Return a mutable reference to `bandwidths` as an `Option`
23104    #[inline]
23105    pub fn mut_bandwidths(&mut self) -> ::core::option::Option<&mut r#wifi_bandwidths> {
23106        self._has.r#bandwidths().then_some(&mut self.r#bandwidths)
23107    }
23108    ///Clear the presence of `bandwidths`
23109    #[inline]
23110    pub fn clear_bandwidths(&mut self) -> &mut Self {
23111        self._has.clear_bandwidths();
23112        self
23113    }
23114    ///Take the value of `bandwidths` and clear its presence
23115    #[inline]
23116    pub fn take_bandwidths(&mut self) -> ::core::option::Option<r#wifi_bandwidths> {
23117        let val = self
23118            ._has
23119            .r#bandwidths()
23120            .then(|| ::core::mem::take(&mut self.r#bandwidths));
23121        self._has.clear_bandwidths();
23122        val
23123    }
23124    ///Builder method that sets the value of `bandwidths`. Useful for initializing the message.
23125    #[inline]
23126    pub fn init_bandwidths(mut self, value: r#wifi_bandwidths) -> Self {
23127        self.set_bandwidths(value);
23128        self
23129    }
23130}
23131impl ::micropb::MessageDecode for Rpc_Req_WifiSetBandwidths {
23132    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
23133        &mut self,
23134        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
23135        len: usize,
23136    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
23137        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
23138        let before = decoder.bytes_read();
23139        while decoder.bytes_read() - before < len {
23140            let tag = decoder.decode_tag()?;
23141            match tag.field_num() {
23142                0 => return Err(::micropb::DecodeError::ZeroField),
23143                1u32 => {
23144                    let mut_ref = &mut self.r#ifx;
23145                    {
23146                        let val = decoder.decode_int32()?;
23147                        let val_ref = &val;
23148                        if *val_ref != 0 {
23149                            *mut_ref = val as _;
23150                        }
23151                    };
23152                }
23153                2u32 => {
23154                    let mut_ref = &mut self.r#bandwidths;
23155                    {
23156                        mut_ref.decode_len_delimited(decoder)?;
23157                    };
23158                    self._has.set_bandwidths();
23159                }
23160                _ => {
23161                    decoder.skip_wire_value(tag.wire_type())?;
23162                }
23163            }
23164        }
23165        Ok(())
23166    }
23167}
23168impl ::micropb::MessageEncode for Rpc_Req_WifiSetBandwidths {
23169    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
23170        let mut max_size = 0;
23171        if let ::core::option::Option::Some(size) =
23172            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
23173        {
23174            max_size += size;
23175        } else {
23176            break 'msg (::core::option::Option::<usize>::None);
23177        };
23178        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
23179            ::micropb::const_map!(
23180                <r#wifi_bandwidths as ::micropb::MessageEncode>::MAX_SIZE,
23181                |size| ::micropb::size::sizeof_len_record(size)
23182            ),
23183            |size| size + 1usize
23184        ) {
23185            max_size += size;
23186        } else {
23187            break 'msg (::core::option::Option::<usize>::None);
23188        };
23189        ::core::option::Option::Some(max_size)
23190    };
23191    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
23192        &self,
23193        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
23194    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
23195        use ::micropb::{FieldEncode, PbMap};
23196        {
23197            let val_ref = &self.r#ifx;
23198            if *val_ref != 0 {
23199                encoder.encode_varint32(8u32)?;
23200                encoder.encode_int32(*val_ref as _)?;
23201            }
23202        }
23203        {
23204            if let ::core::option::Option::Some(val_ref) = self.r#bandwidths() {
23205                encoder.encode_varint32(18u32)?;
23206                val_ref.encode_len_delimited(encoder)?;
23207            }
23208        }
23209        Ok(())
23210    }
23211    fn compute_size(&self) -> usize {
23212        use ::micropb::{FieldEncode, PbMap};
23213        let mut size = 0;
23214        {
23215            let val_ref = &self.r#ifx;
23216            if *val_ref != 0 {
23217                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
23218            }
23219        }
23220        {
23221            if let ::core::option::Option::Some(val_ref) = self.r#bandwidths() {
23222                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
23223            }
23224        }
23225        size
23226    }
23227}
23228#[derive(Debug, Default, PartialEq, Clone)]
23229pub struct Rpc_Resp_WifiSetBandwidths {
23230    pub r#resp: i32,
23231    pub r#ifx: i32,
23232}
23233impl Rpc_Resp_WifiSetBandwidths {
23234    ///Return a reference to `resp`
23235    #[inline]
23236    pub fn r#resp(&self) -> &i32 {
23237        &self.r#resp
23238    }
23239    ///Return a mutable reference to `resp`
23240    #[inline]
23241    pub fn mut_resp(&mut self) -> &mut i32 {
23242        &mut self.r#resp
23243    }
23244    ///Set the value of `resp`
23245    #[inline]
23246    pub fn set_resp(&mut self, value: i32) -> &mut Self {
23247        self.r#resp = value.into();
23248        self
23249    }
23250    ///Builder method that sets the value of `resp`. Useful for initializing the message.
23251    #[inline]
23252    pub fn init_resp(mut self, value: i32) -> Self {
23253        self.r#resp = value.into();
23254        self
23255    }
23256    ///Return a reference to `ifx`
23257    #[inline]
23258    pub fn r#ifx(&self) -> &i32 {
23259        &self.r#ifx
23260    }
23261    ///Return a mutable reference to `ifx`
23262    #[inline]
23263    pub fn mut_ifx(&mut self) -> &mut i32 {
23264        &mut self.r#ifx
23265    }
23266    ///Set the value of `ifx`
23267    #[inline]
23268    pub fn set_ifx(&mut self, value: i32) -> &mut Self {
23269        self.r#ifx = value.into();
23270        self
23271    }
23272    ///Builder method that sets the value of `ifx`. Useful for initializing the message.
23273    #[inline]
23274    pub fn init_ifx(mut self, value: i32) -> Self {
23275        self.r#ifx = value.into();
23276        self
23277    }
23278}
23279impl ::micropb::MessageDecode for Rpc_Resp_WifiSetBandwidths {
23280    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
23281        &mut self,
23282        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
23283        len: usize,
23284    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
23285        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
23286        let before = decoder.bytes_read();
23287        while decoder.bytes_read() - before < len {
23288            let tag = decoder.decode_tag()?;
23289            match tag.field_num() {
23290                0 => return Err(::micropb::DecodeError::ZeroField),
23291                1u32 => {
23292                    let mut_ref = &mut self.r#resp;
23293                    {
23294                        let val = decoder.decode_int32()?;
23295                        let val_ref = &val;
23296                        if *val_ref != 0 {
23297                            *mut_ref = val as _;
23298                        }
23299                    };
23300                }
23301                2u32 => {
23302                    let mut_ref = &mut self.r#ifx;
23303                    {
23304                        let val = decoder.decode_int32()?;
23305                        let val_ref = &val;
23306                        if *val_ref != 0 {
23307                            *mut_ref = val as _;
23308                        }
23309                    };
23310                }
23311                _ => {
23312                    decoder.skip_wire_value(tag.wire_type())?;
23313                }
23314            }
23315        }
23316        Ok(())
23317    }
23318}
23319impl ::micropb::MessageEncode for Rpc_Resp_WifiSetBandwidths {
23320    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
23321        let mut max_size = 0;
23322        if let ::core::option::Option::Some(size) =
23323            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
23324        {
23325            max_size += size;
23326        } else {
23327            break 'msg (::core::option::Option::<usize>::None);
23328        };
23329        if let ::core::option::Option::Some(size) =
23330            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
23331        {
23332            max_size += size;
23333        } else {
23334            break 'msg (::core::option::Option::<usize>::None);
23335        };
23336        ::core::option::Option::Some(max_size)
23337    };
23338    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
23339        &self,
23340        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
23341    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
23342        use ::micropb::{FieldEncode, PbMap};
23343        {
23344            let val_ref = &self.r#resp;
23345            if *val_ref != 0 {
23346                encoder.encode_varint32(8u32)?;
23347                encoder.encode_int32(*val_ref as _)?;
23348            }
23349        }
23350        {
23351            let val_ref = &self.r#ifx;
23352            if *val_ref != 0 {
23353                encoder.encode_varint32(16u32)?;
23354                encoder.encode_int32(*val_ref as _)?;
23355            }
23356        }
23357        Ok(())
23358    }
23359    fn compute_size(&self) -> usize {
23360        use ::micropb::{FieldEncode, PbMap};
23361        let mut size = 0;
23362        {
23363            let val_ref = &self.r#resp;
23364            if *val_ref != 0 {
23365                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
23366            }
23367        }
23368        {
23369            let val_ref = &self.r#ifx;
23370            if *val_ref != 0 {
23371                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
23372            }
23373        }
23374        size
23375    }
23376}
23377#[derive(Debug, Default, PartialEq, Clone)]
23378pub struct Rpc_Req_WifiGetBandwidths {
23379    pub r#ifx: i32,
23380}
23381impl Rpc_Req_WifiGetBandwidths {
23382    ///Return a reference to `ifx`
23383    #[inline]
23384    pub fn r#ifx(&self) -> &i32 {
23385        &self.r#ifx
23386    }
23387    ///Return a mutable reference to `ifx`
23388    #[inline]
23389    pub fn mut_ifx(&mut self) -> &mut i32 {
23390        &mut self.r#ifx
23391    }
23392    ///Set the value of `ifx`
23393    #[inline]
23394    pub fn set_ifx(&mut self, value: i32) -> &mut Self {
23395        self.r#ifx = value.into();
23396        self
23397    }
23398    ///Builder method that sets the value of `ifx`. Useful for initializing the message.
23399    #[inline]
23400    pub fn init_ifx(mut self, value: i32) -> Self {
23401        self.r#ifx = value.into();
23402        self
23403    }
23404}
23405impl ::micropb::MessageDecode for Rpc_Req_WifiGetBandwidths {
23406    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
23407        &mut self,
23408        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
23409        len: usize,
23410    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
23411        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
23412        let before = decoder.bytes_read();
23413        while decoder.bytes_read() - before < len {
23414            let tag = decoder.decode_tag()?;
23415            match tag.field_num() {
23416                0 => return Err(::micropb::DecodeError::ZeroField),
23417                1u32 => {
23418                    let mut_ref = &mut self.r#ifx;
23419                    {
23420                        let val = decoder.decode_int32()?;
23421                        let val_ref = &val;
23422                        if *val_ref != 0 {
23423                            *mut_ref = val as _;
23424                        }
23425                    };
23426                }
23427                _ => {
23428                    decoder.skip_wire_value(tag.wire_type())?;
23429                }
23430            }
23431        }
23432        Ok(())
23433    }
23434}
23435impl ::micropb::MessageEncode for Rpc_Req_WifiGetBandwidths {
23436    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
23437        let mut max_size = 0;
23438        if let ::core::option::Option::Some(size) =
23439            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
23440        {
23441            max_size += size;
23442        } else {
23443            break 'msg (::core::option::Option::<usize>::None);
23444        };
23445        ::core::option::Option::Some(max_size)
23446    };
23447    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
23448        &self,
23449        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
23450    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
23451        use ::micropb::{FieldEncode, PbMap};
23452        {
23453            let val_ref = &self.r#ifx;
23454            if *val_ref != 0 {
23455                encoder.encode_varint32(8u32)?;
23456                encoder.encode_int32(*val_ref as _)?;
23457            }
23458        }
23459        Ok(())
23460    }
23461    fn compute_size(&self) -> usize {
23462        use ::micropb::{FieldEncode, PbMap};
23463        let mut size = 0;
23464        {
23465            let val_ref = &self.r#ifx;
23466            if *val_ref != 0 {
23467                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
23468            }
23469        }
23470        size
23471    }
23472}
23473pub mod Rpc_Resp_WifiGetBandwidths_ {
23474    #[derive(Debug, Default, PartialEq, Clone)]
23475    pub struct _Hazzer([u8; 1]);
23476    impl _Hazzer {
23477        ///New hazzer with all fields set to off
23478        #[inline]
23479        pub const fn _new() -> Self {
23480            Self([0; 1])
23481        }
23482        ///Query presence of `bandwidths`
23483        #[inline]
23484        pub const fn r#bandwidths(&self) -> bool {
23485            (self.0[0] & 1) != 0
23486        }
23487        ///Set presence of `bandwidths`
23488        #[inline]
23489        pub const fn set_bandwidths(&mut self) -> &mut Self {
23490            let elem = &mut self.0[0];
23491            *elem |= 1;
23492            self
23493        }
23494        ///Clear presence of `bandwidths`
23495        #[inline]
23496        pub const fn clear_bandwidths(&mut self) -> &mut Self {
23497            let elem = &mut self.0[0];
23498            *elem &= !1;
23499            self
23500        }
23501        ///Builder method that sets the presence of `bandwidths`. Useful for initializing the Hazzer.
23502        #[inline]
23503        pub const fn init_bandwidths(mut self) -> Self {
23504            self.set_bandwidths();
23505            self
23506        }
23507    }
23508}
23509#[derive(Debug, Default, Clone)]
23510pub struct Rpc_Resp_WifiGetBandwidths {
23511    pub r#resp: i32,
23512    pub r#ifx: i32,
23513    pub r#bandwidths: r#wifi_bandwidths,
23514    pub _has: Rpc_Resp_WifiGetBandwidths_::_Hazzer,
23515}
23516impl ::core::cmp::PartialEq for Rpc_Resp_WifiGetBandwidths {
23517    fn eq(&self, other: &Self) -> bool {
23518        let mut ret = true;
23519        ret &= (self.r#resp == other.r#resp);
23520        ret &= (self.r#ifx == other.r#ifx);
23521        ret &= (self.r#bandwidths() == other.r#bandwidths());
23522        ret
23523    }
23524}
23525impl Rpc_Resp_WifiGetBandwidths {
23526    ///Return a reference to `resp`
23527    #[inline]
23528    pub fn r#resp(&self) -> &i32 {
23529        &self.r#resp
23530    }
23531    ///Return a mutable reference to `resp`
23532    #[inline]
23533    pub fn mut_resp(&mut self) -> &mut i32 {
23534        &mut self.r#resp
23535    }
23536    ///Set the value of `resp`
23537    #[inline]
23538    pub fn set_resp(&mut self, value: i32) -> &mut Self {
23539        self.r#resp = value.into();
23540        self
23541    }
23542    ///Builder method that sets the value of `resp`. Useful for initializing the message.
23543    #[inline]
23544    pub fn init_resp(mut self, value: i32) -> Self {
23545        self.r#resp = value.into();
23546        self
23547    }
23548    ///Return a reference to `ifx`
23549    #[inline]
23550    pub fn r#ifx(&self) -> &i32 {
23551        &self.r#ifx
23552    }
23553    ///Return a mutable reference to `ifx`
23554    #[inline]
23555    pub fn mut_ifx(&mut self) -> &mut i32 {
23556        &mut self.r#ifx
23557    }
23558    ///Set the value of `ifx`
23559    #[inline]
23560    pub fn set_ifx(&mut self, value: i32) -> &mut Self {
23561        self.r#ifx = value.into();
23562        self
23563    }
23564    ///Builder method that sets the value of `ifx`. Useful for initializing the message.
23565    #[inline]
23566    pub fn init_ifx(mut self, value: i32) -> Self {
23567        self.r#ifx = value.into();
23568        self
23569    }
23570    ///Return a reference to `bandwidths` as an `Option`
23571    #[inline]
23572    pub fn r#bandwidths(&self) -> ::core::option::Option<&r#wifi_bandwidths> {
23573        self._has.r#bandwidths().then_some(&self.r#bandwidths)
23574    }
23575    ///Set the value and presence of `bandwidths`
23576    #[inline]
23577    pub fn set_bandwidths(&mut self, value: r#wifi_bandwidths) -> &mut Self {
23578        self._has.set_bandwidths();
23579        self.r#bandwidths = value.into();
23580        self
23581    }
23582    ///Return a mutable reference to `bandwidths` as an `Option`
23583    #[inline]
23584    pub fn mut_bandwidths(&mut self) -> ::core::option::Option<&mut r#wifi_bandwidths> {
23585        self._has.r#bandwidths().then_some(&mut self.r#bandwidths)
23586    }
23587    ///Clear the presence of `bandwidths`
23588    #[inline]
23589    pub fn clear_bandwidths(&mut self) -> &mut Self {
23590        self._has.clear_bandwidths();
23591        self
23592    }
23593    ///Take the value of `bandwidths` and clear its presence
23594    #[inline]
23595    pub fn take_bandwidths(&mut self) -> ::core::option::Option<r#wifi_bandwidths> {
23596        let val = self
23597            ._has
23598            .r#bandwidths()
23599            .then(|| ::core::mem::take(&mut self.r#bandwidths));
23600        self._has.clear_bandwidths();
23601        val
23602    }
23603    ///Builder method that sets the value of `bandwidths`. Useful for initializing the message.
23604    #[inline]
23605    pub fn init_bandwidths(mut self, value: r#wifi_bandwidths) -> Self {
23606        self.set_bandwidths(value);
23607        self
23608    }
23609}
23610impl ::micropb::MessageDecode for Rpc_Resp_WifiGetBandwidths {
23611    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
23612        &mut self,
23613        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
23614        len: usize,
23615    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
23616        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
23617        let before = decoder.bytes_read();
23618        while decoder.bytes_read() - before < len {
23619            let tag = decoder.decode_tag()?;
23620            match tag.field_num() {
23621                0 => return Err(::micropb::DecodeError::ZeroField),
23622                1u32 => {
23623                    let mut_ref = &mut self.r#resp;
23624                    {
23625                        let val = decoder.decode_int32()?;
23626                        let val_ref = &val;
23627                        if *val_ref != 0 {
23628                            *mut_ref = val as _;
23629                        }
23630                    };
23631                }
23632                2u32 => {
23633                    let mut_ref = &mut self.r#ifx;
23634                    {
23635                        let val = decoder.decode_int32()?;
23636                        let val_ref = &val;
23637                        if *val_ref != 0 {
23638                            *mut_ref = val as _;
23639                        }
23640                    };
23641                }
23642                3u32 => {
23643                    let mut_ref = &mut self.r#bandwidths;
23644                    {
23645                        mut_ref.decode_len_delimited(decoder)?;
23646                    };
23647                    self._has.set_bandwidths();
23648                }
23649                _ => {
23650                    decoder.skip_wire_value(tag.wire_type())?;
23651                }
23652            }
23653        }
23654        Ok(())
23655    }
23656}
23657impl ::micropb::MessageEncode for Rpc_Resp_WifiGetBandwidths {
23658    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
23659        let mut max_size = 0;
23660        if let ::core::option::Option::Some(size) =
23661            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
23662        {
23663            max_size += size;
23664        } else {
23665            break 'msg (::core::option::Option::<usize>::None);
23666        };
23667        if let ::core::option::Option::Some(size) =
23668            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
23669        {
23670            max_size += size;
23671        } else {
23672            break 'msg (::core::option::Option::<usize>::None);
23673        };
23674        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
23675            ::micropb::const_map!(
23676                <r#wifi_bandwidths as ::micropb::MessageEncode>::MAX_SIZE,
23677                |size| ::micropb::size::sizeof_len_record(size)
23678            ),
23679            |size| size + 1usize
23680        ) {
23681            max_size += size;
23682        } else {
23683            break 'msg (::core::option::Option::<usize>::None);
23684        };
23685        ::core::option::Option::Some(max_size)
23686    };
23687    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
23688        &self,
23689        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
23690    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
23691        use ::micropb::{FieldEncode, PbMap};
23692        {
23693            let val_ref = &self.r#resp;
23694            if *val_ref != 0 {
23695                encoder.encode_varint32(8u32)?;
23696                encoder.encode_int32(*val_ref as _)?;
23697            }
23698        }
23699        {
23700            let val_ref = &self.r#ifx;
23701            if *val_ref != 0 {
23702                encoder.encode_varint32(16u32)?;
23703                encoder.encode_int32(*val_ref as _)?;
23704            }
23705        }
23706        {
23707            if let ::core::option::Option::Some(val_ref) = self.r#bandwidths() {
23708                encoder.encode_varint32(26u32)?;
23709                val_ref.encode_len_delimited(encoder)?;
23710            }
23711        }
23712        Ok(())
23713    }
23714    fn compute_size(&self) -> usize {
23715        use ::micropb::{FieldEncode, PbMap};
23716        let mut size = 0;
23717        {
23718            let val_ref = &self.r#resp;
23719            if *val_ref != 0 {
23720                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
23721            }
23722        }
23723        {
23724            let val_ref = &self.r#ifx;
23725            if *val_ref != 0 {
23726                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
23727            }
23728        }
23729        {
23730            if let ::core::option::Option::Some(val_ref) = self.r#bandwidths() {
23731                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
23732            }
23733        }
23734        size
23735    }
23736}
23737#[derive(Debug, Default, PartialEq, Clone)]
23738pub struct Rpc_Req_WifiSetBand {
23739    pub r#band: u32,
23740}
23741impl Rpc_Req_WifiSetBand {
23742    ///Return a reference to `band`
23743    #[inline]
23744    pub fn r#band(&self) -> &u32 {
23745        &self.r#band
23746    }
23747    ///Return a mutable reference to `band`
23748    #[inline]
23749    pub fn mut_band(&mut self) -> &mut u32 {
23750        &mut self.r#band
23751    }
23752    ///Set the value of `band`
23753    #[inline]
23754    pub fn set_band(&mut self, value: u32) -> &mut Self {
23755        self.r#band = value.into();
23756        self
23757    }
23758    ///Builder method that sets the value of `band`. Useful for initializing the message.
23759    #[inline]
23760    pub fn init_band(mut self, value: u32) -> Self {
23761        self.r#band = value.into();
23762        self
23763    }
23764}
23765impl ::micropb::MessageDecode for Rpc_Req_WifiSetBand {
23766    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
23767        &mut self,
23768        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
23769        len: usize,
23770    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
23771        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
23772        let before = decoder.bytes_read();
23773        while decoder.bytes_read() - before < len {
23774            let tag = decoder.decode_tag()?;
23775            match tag.field_num() {
23776                0 => return Err(::micropb::DecodeError::ZeroField),
23777                1u32 => {
23778                    let mut_ref = &mut self.r#band;
23779                    {
23780                        let val = decoder.decode_varint32()?;
23781                        let val_ref = &val;
23782                        if *val_ref != 0 {
23783                            *mut_ref = val as _;
23784                        }
23785                    };
23786                }
23787                _ => {
23788                    decoder.skip_wire_value(tag.wire_type())?;
23789                }
23790            }
23791        }
23792        Ok(())
23793    }
23794}
23795impl ::micropb::MessageEncode for Rpc_Req_WifiSetBand {
23796    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
23797        let mut max_size = 0;
23798        if let ::core::option::Option::Some(size) =
23799            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
23800        {
23801            max_size += size;
23802        } else {
23803            break 'msg (::core::option::Option::<usize>::None);
23804        };
23805        ::core::option::Option::Some(max_size)
23806    };
23807    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
23808        &self,
23809        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
23810    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
23811        use ::micropb::{FieldEncode, PbMap};
23812        {
23813            let val_ref = &self.r#band;
23814            if *val_ref != 0 {
23815                encoder.encode_varint32(8u32)?;
23816                encoder.encode_varint32(*val_ref as _)?;
23817            }
23818        }
23819        Ok(())
23820    }
23821    fn compute_size(&self) -> usize {
23822        use ::micropb::{FieldEncode, PbMap};
23823        let mut size = 0;
23824        {
23825            let val_ref = &self.r#band;
23826            if *val_ref != 0 {
23827                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
23828            }
23829        }
23830        size
23831    }
23832}
23833#[derive(Debug, Default, PartialEq, Clone)]
23834pub struct Rpc_Resp_WifiSetBand {
23835    pub r#resp: i32,
23836}
23837impl Rpc_Resp_WifiSetBand {
23838    ///Return a reference to `resp`
23839    #[inline]
23840    pub fn r#resp(&self) -> &i32 {
23841        &self.r#resp
23842    }
23843    ///Return a mutable reference to `resp`
23844    #[inline]
23845    pub fn mut_resp(&mut self) -> &mut i32 {
23846        &mut self.r#resp
23847    }
23848    ///Set the value of `resp`
23849    #[inline]
23850    pub fn set_resp(&mut self, value: i32) -> &mut Self {
23851        self.r#resp = value.into();
23852        self
23853    }
23854    ///Builder method that sets the value of `resp`. Useful for initializing the message.
23855    #[inline]
23856    pub fn init_resp(mut self, value: i32) -> Self {
23857        self.r#resp = value.into();
23858        self
23859    }
23860}
23861impl ::micropb::MessageDecode for Rpc_Resp_WifiSetBand {
23862    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
23863        &mut self,
23864        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
23865        len: usize,
23866    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
23867        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
23868        let before = decoder.bytes_read();
23869        while decoder.bytes_read() - before < len {
23870            let tag = decoder.decode_tag()?;
23871            match tag.field_num() {
23872                0 => return Err(::micropb::DecodeError::ZeroField),
23873                1u32 => {
23874                    let mut_ref = &mut self.r#resp;
23875                    {
23876                        let val = decoder.decode_int32()?;
23877                        let val_ref = &val;
23878                        if *val_ref != 0 {
23879                            *mut_ref = val as _;
23880                        }
23881                    };
23882                }
23883                _ => {
23884                    decoder.skip_wire_value(tag.wire_type())?;
23885                }
23886            }
23887        }
23888        Ok(())
23889    }
23890}
23891impl ::micropb::MessageEncode for Rpc_Resp_WifiSetBand {
23892    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
23893        let mut max_size = 0;
23894        if let ::core::option::Option::Some(size) =
23895            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
23896        {
23897            max_size += size;
23898        } else {
23899            break 'msg (::core::option::Option::<usize>::None);
23900        };
23901        ::core::option::Option::Some(max_size)
23902    };
23903    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
23904        &self,
23905        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
23906    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
23907        use ::micropb::{FieldEncode, PbMap};
23908        {
23909            let val_ref = &self.r#resp;
23910            if *val_ref != 0 {
23911                encoder.encode_varint32(8u32)?;
23912                encoder.encode_int32(*val_ref as _)?;
23913            }
23914        }
23915        Ok(())
23916    }
23917    fn compute_size(&self) -> usize {
23918        use ::micropb::{FieldEncode, PbMap};
23919        let mut size = 0;
23920        {
23921            let val_ref = &self.r#resp;
23922            if *val_ref != 0 {
23923                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
23924            }
23925        }
23926        size
23927    }
23928}
23929#[derive(Debug, Default, PartialEq, Clone)]
23930pub struct Rpc_Req_WifiGetBand {}
23931impl Rpc_Req_WifiGetBand {}
23932impl ::micropb::MessageDecode for Rpc_Req_WifiGetBand {
23933    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
23934        &mut self,
23935        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
23936        len: usize,
23937    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
23938        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
23939        let before = decoder.bytes_read();
23940        while decoder.bytes_read() - before < len {
23941            let tag = decoder.decode_tag()?;
23942            match tag.field_num() {
23943                0 => return Err(::micropb::DecodeError::ZeroField),
23944                _ => {
23945                    decoder.skip_wire_value(tag.wire_type())?;
23946                }
23947            }
23948        }
23949        Ok(())
23950    }
23951}
23952impl ::micropb::MessageEncode for Rpc_Req_WifiGetBand {
23953    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
23954        let mut max_size = 0;
23955        ::core::option::Option::Some(max_size)
23956    };
23957    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
23958        &self,
23959        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
23960    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
23961        use ::micropb::{FieldEncode, PbMap};
23962        Ok(())
23963    }
23964    fn compute_size(&self) -> usize {
23965        use ::micropb::{FieldEncode, PbMap};
23966        let mut size = 0;
23967        size
23968    }
23969}
23970#[derive(Debug, Default, PartialEq, Clone)]
23971pub struct Rpc_Resp_WifiGetBand {
23972    pub r#resp: i32,
23973    pub r#band: u32,
23974}
23975impl Rpc_Resp_WifiGetBand {
23976    ///Return a reference to `resp`
23977    #[inline]
23978    pub fn r#resp(&self) -> &i32 {
23979        &self.r#resp
23980    }
23981    ///Return a mutable reference to `resp`
23982    #[inline]
23983    pub fn mut_resp(&mut self) -> &mut i32 {
23984        &mut self.r#resp
23985    }
23986    ///Set the value of `resp`
23987    #[inline]
23988    pub fn set_resp(&mut self, value: i32) -> &mut Self {
23989        self.r#resp = value.into();
23990        self
23991    }
23992    ///Builder method that sets the value of `resp`. Useful for initializing the message.
23993    #[inline]
23994    pub fn init_resp(mut self, value: i32) -> Self {
23995        self.r#resp = value.into();
23996        self
23997    }
23998    ///Return a reference to `band`
23999    #[inline]
24000    pub fn r#band(&self) -> &u32 {
24001        &self.r#band
24002    }
24003    ///Return a mutable reference to `band`
24004    #[inline]
24005    pub fn mut_band(&mut self) -> &mut u32 {
24006        &mut self.r#band
24007    }
24008    ///Set the value of `band`
24009    #[inline]
24010    pub fn set_band(&mut self, value: u32) -> &mut Self {
24011        self.r#band = value.into();
24012        self
24013    }
24014    ///Builder method that sets the value of `band`. Useful for initializing the message.
24015    #[inline]
24016    pub fn init_band(mut self, value: u32) -> Self {
24017        self.r#band = value.into();
24018        self
24019    }
24020}
24021impl ::micropb::MessageDecode for Rpc_Resp_WifiGetBand {
24022    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
24023        &mut self,
24024        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
24025        len: usize,
24026    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
24027        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
24028        let before = decoder.bytes_read();
24029        while decoder.bytes_read() - before < len {
24030            let tag = decoder.decode_tag()?;
24031            match tag.field_num() {
24032                0 => return Err(::micropb::DecodeError::ZeroField),
24033                1u32 => {
24034                    let mut_ref = &mut self.r#resp;
24035                    {
24036                        let val = decoder.decode_int32()?;
24037                        let val_ref = &val;
24038                        if *val_ref != 0 {
24039                            *mut_ref = val as _;
24040                        }
24041                    };
24042                }
24043                2u32 => {
24044                    let mut_ref = &mut self.r#band;
24045                    {
24046                        let val = decoder.decode_varint32()?;
24047                        let val_ref = &val;
24048                        if *val_ref != 0 {
24049                            *mut_ref = val as _;
24050                        }
24051                    };
24052                }
24053                _ => {
24054                    decoder.skip_wire_value(tag.wire_type())?;
24055                }
24056            }
24057        }
24058        Ok(())
24059    }
24060}
24061impl ::micropb::MessageEncode for Rpc_Resp_WifiGetBand {
24062    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
24063        let mut max_size = 0;
24064        if let ::core::option::Option::Some(size) =
24065            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
24066        {
24067            max_size += size;
24068        } else {
24069            break 'msg (::core::option::Option::<usize>::None);
24070        };
24071        if let ::core::option::Option::Some(size) =
24072            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
24073        {
24074            max_size += size;
24075        } else {
24076            break 'msg (::core::option::Option::<usize>::None);
24077        };
24078        ::core::option::Option::Some(max_size)
24079    };
24080    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
24081        &self,
24082        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
24083    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
24084        use ::micropb::{FieldEncode, PbMap};
24085        {
24086            let val_ref = &self.r#resp;
24087            if *val_ref != 0 {
24088                encoder.encode_varint32(8u32)?;
24089                encoder.encode_int32(*val_ref as _)?;
24090            }
24091        }
24092        {
24093            let val_ref = &self.r#band;
24094            if *val_ref != 0 {
24095                encoder.encode_varint32(16u32)?;
24096                encoder.encode_varint32(*val_ref as _)?;
24097            }
24098        }
24099        Ok(())
24100    }
24101    fn compute_size(&self) -> usize {
24102        use ::micropb::{FieldEncode, PbMap};
24103        let mut size = 0;
24104        {
24105            let val_ref = &self.r#resp;
24106            if *val_ref != 0 {
24107                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
24108            }
24109        }
24110        {
24111            let val_ref = &self.r#band;
24112            if *val_ref != 0 {
24113                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
24114            }
24115        }
24116        size
24117    }
24118}
24119#[derive(Debug, Default, PartialEq, Clone)]
24120pub struct Rpc_Req_WifiSetBandMode {
24121    pub r#bandmode: u32,
24122}
24123impl Rpc_Req_WifiSetBandMode {
24124    ///Return a reference to `bandmode`
24125    #[inline]
24126    pub fn r#bandmode(&self) -> &u32 {
24127        &self.r#bandmode
24128    }
24129    ///Return a mutable reference to `bandmode`
24130    #[inline]
24131    pub fn mut_bandmode(&mut self) -> &mut u32 {
24132        &mut self.r#bandmode
24133    }
24134    ///Set the value of `bandmode`
24135    #[inline]
24136    pub fn set_bandmode(&mut self, value: u32) -> &mut Self {
24137        self.r#bandmode = value.into();
24138        self
24139    }
24140    ///Builder method that sets the value of `bandmode`. Useful for initializing the message.
24141    #[inline]
24142    pub fn init_bandmode(mut self, value: u32) -> Self {
24143        self.r#bandmode = value.into();
24144        self
24145    }
24146}
24147impl ::micropb::MessageDecode for Rpc_Req_WifiSetBandMode {
24148    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
24149        &mut self,
24150        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
24151        len: usize,
24152    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
24153        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
24154        let before = decoder.bytes_read();
24155        while decoder.bytes_read() - before < len {
24156            let tag = decoder.decode_tag()?;
24157            match tag.field_num() {
24158                0 => return Err(::micropb::DecodeError::ZeroField),
24159                1u32 => {
24160                    let mut_ref = &mut self.r#bandmode;
24161                    {
24162                        let val = decoder.decode_varint32()?;
24163                        let val_ref = &val;
24164                        if *val_ref != 0 {
24165                            *mut_ref = val as _;
24166                        }
24167                    };
24168                }
24169                _ => {
24170                    decoder.skip_wire_value(tag.wire_type())?;
24171                }
24172            }
24173        }
24174        Ok(())
24175    }
24176}
24177impl ::micropb::MessageEncode for Rpc_Req_WifiSetBandMode {
24178    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
24179        let mut max_size = 0;
24180        if let ::core::option::Option::Some(size) =
24181            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
24182        {
24183            max_size += size;
24184        } else {
24185            break 'msg (::core::option::Option::<usize>::None);
24186        };
24187        ::core::option::Option::Some(max_size)
24188    };
24189    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
24190        &self,
24191        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
24192    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
24193        use ::micropb::{FieldEncode, PbMap};
24194        {
24195            let val_ref = &self.r#bandmode;
24196            if *val_ref != 0 {
24197                encoder.encode_varint32(8u32)?;
24198                encoder.encode_varint32(*val_ref as _)?;
24199            }
24200        }
24201        Ok(())
24202    }
24203    fn compute_size(&self) -> usize {
24204        use ::micropb::{FieldEncode, PbMap};
24205        let mut size = 0;
24206        {
24207            let val_ref = &self.r#bandmode;
24208            if *val_ref != 0 {
24209                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
24210            }
24211        }
24212        size
24213    }
24214}
24215#[derive(Debug, Default, PartialEq, Clone)]
24216pub struct Rpc_Resp_WifiSetBandMode {
24217    pub r#resp: i32,
24218}
24219impl Rpc_Resp_WifiSetBandMode {
24220    ///Return a reference to `resp`
24221    #[inline]
24222    pub fn r#resp(&self) -> &i32 {
24223        &self.r#resp
24224    }
24225    ///Return a mutable reference to `resp`
24226    #[inline]
24227    pub fn mut_resp(&mut self) -> &mut i32 {
24228        &mut self.r#resp
24229    }
24230    ///Set the value of `resp`
24231    #[inline]
24232    pub fn set_resp(&mut self, value: i32) -> &mut Self {
24233        self.r#resp = value.into();
24234        self
24235    }
24236    ///Builder method that sets the value of `resp`. Useful for initializing the message.
24237    #[inline]
24238    pub fn init_resp(mut self, value: i32) -> Self {
24239        self.r#resp = value.into();
24240        self
24241    }
24242}
24243impl ::micropb::MessageDecode for Rpc_Resp_WifiSetBandMode {
24244    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
24245        &mut self,
24246        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
24247        len: usize,
24248    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
24249        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
24250        let before = decoder.bytes_read();
24251        while decoder.bytes_read() - before < len {
24252            let tag = decoder.decode_tag()?;
24253            match tag.field_num() {
24254                0 => return Err(::micropb::DecodeError::ZeroField),
24255                1u32 => {
24256                    let mut_ref = &mut self.r#resp;
24257                    {
24258                        let val = decoder.decode_int32()?;
24259                        let val_ref = &val;
24260                        if *val_ref != 0 {
24261                            *mut_ref = val as _;
24262                        }
24263                    };
24264                }
24265                _ => {
24266                    decoder.skip_wire_value(tag.wire_type())?;
24267                }
24268            }
24269        }
24270        Ok(())
24271    }
24272}
24273impl ::micropb::MessageEncode for Rpc_Resp_WifiSetBandMode {
24274    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
24275        let mut max_size = 0;
24276        if let ::core::option::Option::Some(size) =
24277            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
24278        {
24279            max_size += size;
24280        } else {
24281            break 'msg (::core::option::Option::<usize>::None);
24282        };
24283        ::core::option::Option::Some(max_size)
24284    };
24285    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
24286        &self,
24287        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
24288    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
24289        use ::micropb::{FieldEncode, PbMap};
24290        {
24291            let val_ref = &self.r#resp;
24292            if *val_ref != 0 {
24293                encoder.encode_varint32(8u32)?;
24294                encoder.encode_int32(*val_ref as _)?;
24295            }
24296        }
24297        Ok(())
24298    }
24299    fn compute_size(&self) -> usize {
24300        use ::micropb::{FieldEncode, PbMap};
24301        let mut size = 0;
24302        {
24303            let val_ref = &self.r#resp;
24304            if *val_ref != 0 {
24305                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
24306            }
24307        }
24308        size
24309    }
24310}
24311#[derive(Debug, Default, PartialEq, Clone)]
24312pub struct Rpc_Req_WifiGetBandMode {}
24313impl Rpc_Req_WifiGetBandMode {}
24314impl ::micropb::MessageDecode for Rpc_Req_WifiGetBandMode {
24315    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
24316        &mut self,
24317        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
24318        len: usize,
24319    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
24320        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
24321        let before = decoder.bytes_read();
24322        while decoder.bytes_read() - before < len {
24323            let tag = decoder.decode_tag()?;
24324            match tag.field_num() {
24325                0 => return Err(::micropb::DecodeError::ZeroField),
24326                _ => {
24327                    decoder.skip_wire_value(tag.wire_type())?;
24328                }
24329            }
24330        }
24331        Ok(())
24332    }
24333}
24334impl ::micropb::MessageEncode for Rpc_Req_WifiGetBandMode {
24335    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
24336        let mut max_size = 0;
24337        ::core::option::Option::Some(max_size)
24338    };
24339    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
24340        &self,
24341        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
24342    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
24343        use ::micropb::{FieldEncode, PbMap};
24344        Ok(())
24345    }
24346    fn compute_size(&self) -> usize {
24347        use ::micropb::{FieldEncode, PbMap};
24348        let mut size = 0;
24349        size
24350    }
24351}
24352#[derive(Debug, Default, PartialEq, Clone)]
24353pub struct Rpc_Resp_WifiGetBandMode {
24354    pub r#resp: i32,
24355    pub r#bandmode: u32,
24356}
24357impl Rpc_Resp_WifiGetBandMode {
24358    ///Return a reference to `resp`
24359    #[inline]
24360    pub fn r#resp(&self) -> &i32 {
24361        &self.r#resp
24362    }
24363    ///Return a mutable reference to `resp`
24364    #[inline]
24365    pub fn mut_resp(&mut self) -> &mut i32 {
24366        &mut self.r#resp
24367    }
24368    ///Set the value of `resp`
24369    #[inline]
24370    pub fn set_resp(&mut self, value: i32) -> &mut Self {
24371        self.r#resp = value.into();
24372        self
24373    }
24374    ///Builder method that sets the value of `resp`. Useful for initializing the message.
24375    #[inline]
24376    pub fn init_resp(mut self, value: i32) -> Self {
24377        self.r#resp = value.into();
24378        self
24379    }
24380    ///Return a reference to `bandmode`
24381    #[inline]
24382    pub fn r#bandmode(&self) -> &u32 {
24383        &self.r#bandmode
24384    }
24385    ///Return a mutable reference to `bandmode`
24386    #[inline]
24387    pub fn mut_bandmode(&mut self) -> &mut u32 {
24388        &mut self.r#bandmode
24389    }
24390    ///Set the value of `bandmode`
24391    #[inline]
24392    pub fn set_bandmode(&mut self, value: u32) -> &mut Self {
24393        self.r#bandmode = value.into();
24394        self
24395    }
24396    ///Builder method that sets the value of `bandmode`. Useful for initializing the message.
24397    #[inline]
24398    pub fn init_bandmode(mut self, value: u32) -> Self {
24399        self.r#bandmode = value.into();
24400        self
24401    }
24402}
24403impl ::micropb::MessageDecode for Rpc_Resp_WifiGetBandMode {
24404    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
24405        &mut self,
24406        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
24407        len: usize,
24408    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
24409        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
24410        let before = decoder.bytes_read();
24411        while decoder.bytes_read() - before < len {
24412            let tag = decoder.decode_tag()?;
24413            match tag.field_num() {
24414                0 => return Err(::micropb::DecodeError::ZeroField),
24415                1u32 => {
24416                    let mut_ref = &mut self.r#resp;
24417                    {
24418                        let val = decoder.decode_int32()?;
24419                        let val_ref = &val;
24420                        if *val_ref != 0 {
24421                            *mut_ref = val as _;
24422                        }
24423                    };
24424                }
24425                2u32 => {
24426                    let mut_ref = &mut self.r#bandmode;
24427                    {
24428                        let val = decoder.decode_varint32()?;
24429                        let val_ref = &val;
24430                        if *val_ref != 0 {
24431                            *mut_ref = val as _;
24432                        }
24433                    };
24434                }
24435                _ => {
24436                    decoder.skip_wire_value(tag.wire_type())?;
24437                }
24438            }
24439        }
24440        Ok(())
24441    }
24442}
24443impl ::micropb::MessageEncode for Rpc_Resp_WifiGetBandMode {
24444    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
24445        let mut max_size = 0;
24446        if let ::core::option::Option::Some(size) =
24447            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
24448        {
24449            max_size += size;
24450        } else {
24451            break 'msg (::core::option::Option::<usize>::None);
24452        };
24453        if let ::core::option::Option::Some(size) =
24454            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
24455        {
24456            max_size += size;
24457        } else {
24458            break 'msg (::core::option::Option::<usize>::None);
24459        };
24460        ::core::option::Option::Some(max_size)
24461    };
24462    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
24463        &self,
24464        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
24465    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
24466        use ::micropb::{FieldEncode, PbMap};
24467        {
24468            let val_ref = &self.r#resp;
24469            if *val_ref != 0 {
24470                encoder.encode_varint32(8u32)?;
24471                encoder.encode_int32(*val_ref as _)?;
24472            }
24473        }
24474        {
24475            let val_ref = &self.r#bandmode;
24476            if *val_ref != 0 {
24477                encoder.encode_varint32(16u32)?;
24478                encoder.encode_varint32(*val_ref as _)?;
24479            }
24480        }
24481        Ok(())
24482    }
24483    fn compute_size(&self) -> usize {
24484        use ::micropb::{FieldEncode, PbMap};
24485        let mut size = 0;
24486        {
24487            let val_ref = &self.r#resp;
24488            if *val_ref != 0 {
24489                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
24490            }
24491        }
24492        {
24493            let val_ref = &self.r#bandmode;
24494            if *val_ref != 0 {
24495                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
24496            }
24497        }
24498        size
24499    }
24500}
24501#[derive(Debug, Default, PartialEq, Clone)]
24502pub struct Rpc_Req_GetCoprocessorFwVersion {}
24503impl Rpc_Req_GetCoprocessorFwVersion {}
24504impl ::micropb::MessageDecode for Rpc_Req_GetCoprocessorFwVersion {
24505    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
24506        &mut self,
24507        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
24508        len: usize,
24509    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
24510        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
24511        let before = decoder.bytes_read();
24512        while decoder.bytes_read() - before < len {
24513            let tag = decoder.decode_tag()?;
24514            match tag.field_num() {
24515                0 => return Err(::micropb::DecodeError::ZeroField),
24516                _ => {
24517                    decoder.skip_wire_value(tag.wire_type())?;
24518                }
24519            }
24520        }
24521        Ok(())
24522    }
24523}
24524impl ::micropb::MessageEncode for Rpc_Req_GetCoprocessorFwVersion {
24525    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
24526        let mut max_size = 0;
24527        ::core::option::Option::Some(max_size)
24528    };
24529    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
24530        &self,
24531        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
24532    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
24533        use ::micropb::{FieldEncode, PbMap};
24534        Ok(())
24535    }
24536    fn compute_size(&self) -> usize {
24537        use ::micropb::{FieldEncode, PbMap};
24538        let mut size = 0;
24539        size
24540    }
24541}
24542#[derive(Debug, Default, PartialEq, Clone)]
24543pub struct Rpc_Resp_GetCoprocessorFwVersion {
24544    pub r#resp: i32,
24545    pub r#major1: u32,
24546    pub r#minor1: u32,
24547    pub r#patch1: u32,
24548}
24549impl Rpc_Resp_GetCoprocessorFwVersion {
24550    ///Return a reference to `resp`
24551    #[inline]
24552    pub fn r#resp(&self) -> &i32 {
24553        &self.r#resp
24554    }
24555    ///Return a mutable reference to `resp`
24556    #[inline]
24557    pub fn mut_resp(&mut self) -> &mut i32 {
24558        &mut self.r#resp
24559    }
24560    ///Set the value of `resp`
24561    #[inline]
24562    pub fn set_resp(&mut self, value: i32) -> &mut Self {
24563        self.r#resp = value.into();
24564        self
24565    }
24566    ///Builder method that sets the value of `resp`. Useful for initializing the message.
24567    #[inline]
24568    pub fn init_resp(mut self, value: i32) -> Self {
24569        self.r#resp = value.into();
24570        self
24571    }
24572    ///Return a reference to `major1`
24573    #[inline]
24574    pub fn r#major1(&self) -> &u32 {
24575        &self.r#major1
24576    }
24577    ///Return a mutable reference to `major1`
24578    #[inline]
24579    pub fn mut_major1(&mut self) -> &mut u32 {
24580        &mut self.r#major1
24581    }
24582    ///Set the value of `major1`
24583    #[inline]
24584    pub fn set_major1(&mut self, value: u32) -> &mut Self {
24585        self.r#major1 = value.into();
24586        self
24587    }
24588    ///Builder method that sets the value of `major1`. Useful for initializing the message.
24589    #[inline]
24590    pub fn init_major1(mut self, value: u32) -> Self {
24591        self.r#major1 = value.into();
24592        self
24593    }
24594    ///Return a reference to `minor1`
24595    #[inline]
24596    pub fn r#minor1(&self) -> &u32 {
24597        &self.r#minor1
24598    }
24599    ///Return a mutable reference to `minor1`
24600    #[inline]
24601    pub fn mut_minor1(&mut self) -> &mut u32 {
24602        &mut self.r#minor1
24603    }
24604    ///Set the value of `minor1`
24605    #[inline]
24606    pub fn set_minor1(&mut self, value: u32) -> &mut Self {
24607        self.r#minor1 = value.into();
24608        self
24609    }
24610    ///Builder method that sets the value of `minor1`. Useful for initializing the message.
24611    #[inline]
24612    pub fn init_minor1(mut self, value: u32) -> Self {
24613        self.r#minor1 = value.into();
24614        self
24615    }
24616    ///Return a reference to `patch1`
24617    #[inline]
24618    pub fn r#patch1(&self) -> &u32 {
24619        &self.r#patch1
24620    }
24621    ///Return a mutable reference to `patch1`
24622    #[inline]
24623    pub fn mut_patch1(&mut self) -> &mut u32 {
24624        &mut self.r#patch1
24625    }
24626    ///Set the value of `patch1`
24627    #[inline]
24628    pub fn set_patch1(&mut self, value: u32) -> &mut Self {
24629        self.r#patch1 = value.into();
24630        self
24631    }
24632    ///Builder method that sets the value of `patch1`. Useful for initializing the message.
24633    #[inline]
24634    pub fn init_patch1(mut self, value: u32) -> Self {
24635        self.r#patch1 = value.into();
24636        self
24637    }
24638}
24639impl ::micropb::MessageDecode for Rpc_Resp_GetCoprocessorFwVersion {
24640    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
24641        &mut self,
24642        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
24643        len: usize,
24644    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
24645        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
24646        let before = decoder.bytes_read();
24647        while decoder.bytes_read() - before < len {
24648            let tag = decoder.decode_tag()?;
24649            match tag.field_num() {
24650                0 => return Err(::micropb::DecodeError::ZeroField),
24651                1u32 => {
24652                    let mut_ref = &mut self.r#resp;
24653                    {
24654                        let val = decoder.decode_int32()?;
24655                        let val_ref = &val;
24656                        if *val_ref != 0 {
24657                            *mut_ref = val as _;
24658                        }
24659                    };
24660                }
24661                2u32 => {
24662                    let mut_ref = &mut self.r#major1;
24663                    {
24664                        let val = decoder.decode_varint32()?;
24665                        let val_ref = &val;
24666                        if *val_ref != 0 {
24667                            *mut_ref = val as _;
24668                        }
24669                    };
24670                }
24671                3u32 => {
24672                    let mut_ref = &mut self.r#minor1;
24673                    {
24674                        let val = decoder.decode_varint32()?;
24675                        let val_ref = &val;
24676                        if *val_ref != 0 {
24677                            *mut_ref = val as _;
24678                        }
24679                    };
24680                }
24681                4u32 => {
24682                    let mut_ref = &mut self.r#patch1;
24683                    {
24684                        let val = decoder.decode_varint32()?;
24685                        let val_ref = &val;
24686                        if *val_ref != 0 {
24687                            *mut_ref = val as _;
24688                        }
24689                    };
24690                }
24691                _ => {
24692                    decoder.skip_wire_value(tag.wire_type())?;
24693                }
24694            }
24695        }
24696        Ok(())
24697    }
24698}
24699impl ::micropb::MessageEncode for Rpc_Resp_GetCoprocessorFwVersion {
24700    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
24701        let mut max_size = 0;
24702        if let ::core::option::Option::Some(size) =
24703            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
24704        {
24705            max_size += size;
24706        } else {
24707            break 'msg (::core::option::Option::<usize>::None);
24708        };
24709        if let ::core::option::Option::Some(size) =
24710            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
24711        {
24712            max_size += size;
24713        } else {
24714            break 'msg (::core::option::Option::<usize>::None);
24715        };
24716        if let ::core::option::Option::Some(size) =
24717            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
24718        {
24719            max_size += size;
24720        } else {
24721            break 'msg (::core::option::Option::<usize>::None);
24722        };
24723        if let ::core::option::Option::Some(size) =
24724            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
24725        {
24726            max_size += size;
24727        } else {
24728            break 'msg (::core::option::Option::<usize>::None);
24729        };
24730        ::core::option::Option::Some(max_size)
24731    };
24732    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
24733        &self,
24734        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
24735    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
24736        use ::micropb::{FieldEncode, PbMap};
24737        {
24738            let val_ref = &self.r#resp;
24739            if *val_ref != 0 {
24740                encoder.encode_varint32(8u32)?;
24741                encoder.encode_int32(*val_ref as _)?;
24742            }
24743        }
24744        {
24745            let val_ref = &self.r#major1;
24746            if *val_ref != 0 {
24747                encoder.encode_varint32(16u32)?;
24748                encoder.encode_varint32(*val_ref as _)?;
24749            }
24750        }
24751        {
24752            let val_ref = &self.r#minor1;
24753            if *val_ref != 0 {
24754                encoder.encode_varint32(24u32)?;
24755                encoder.encode_varint32(*val_ref as _)?;
24756            }
24757        }
24758        {
24759            let val_ref = &self.r#patch1;
24760            if *val_ref != 0 {
24761                encoder.encode_varint32(32u32)?;
24762                encoder.encode_varint32(*val_ref as _)?;
24763            }
24764        }
24765        Ok(())
24766    }
24767    fn compute_size(&self) -> usize {
24768        use ::micropb::{FieldEncode, PbMap};
24769        let mut size = 0;
24770        {
24771            let val_ref = &self.r#resp;
24772            if *val_ref != 0 {
24773                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
24774            }
24775        }
24776        {
24777            let val_ref = &self.r#major1;
24778            if *val_ref != 0 {
24779                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
24780            }
24781        }
24782        {
24783            let val_ref = &self.r#minor1;
24784            if *val_ref != 0 {
24785                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
24786            }
24787        }
24788        {
24789            let val_ref = &self.r#patch1;
24790            if *val_ref != 0 {
24791                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
24792            }
24793        }
24794        size
24795    }
24796}
24797#[derive(Debug, Default, PartialEq, Clone)]
24798pub struct Rpc_Event_WifiEventNoArgs {
24799    pub r#resp: i32,
24800    pub r#event_id: i32,
24801}
24802impl Rpc_Event_WifiEventNoArgs {
24803    ///Return a reference to `resp`
24804    #[inline]
24805    pub fn r#resp(&self) -> &i32 {
24806        &self.r#resp
24807    }
24808    ///Return a mutable reference to `resp`
24809    #[inline]
24810    pub fn mut_resp(&mut self) -> &mut i32 {
24811        &mut self.r#resp
24812    }
24813    ///Set the value of `resp`
24814    #[inline]
24815    pub fn set_resp(&mut self, value: i32) -> &mut Self {
24816        self.r#resp = value.into();
24817        self
24818    }
24819    ///Builder method that sets the value of `resp`. Useful for initializing the message.
24820    #[inline]
24821    pub fn init_resp(mut self, value: i32) -> Self {
24822        self.r#resp = value.into();
24823        self
24824    }
24825    ///Return a reference to `event_id`
24826    #[inline]
24827    pub fn r#event_id(&self) -> &i32 {
24828        &self.r#event_id
24829    }
24830    ///Return a mutable reference to `event_id`
24831    #[inline]
24832    pub fn mut_event_id(&mut self) -> &mut i32 {
24833        &mut self.r#event_id
24834    }
24835    ///Set the value of `event_id`
24836    #[inline]
24837    pub fn set_event_id(&mut self, value: i32) -> &mut Self {
24838        self.r#event_id = value.into();
24839        self
24840    }
24841    ///Builder method that sets the value of `event_id`. Useful for initializing the message.
24842    #[inline]
24843    pub fn init_event_id(mut self, value: i32) -> Self {
24844        self.r#event_id = value.into();
24845        self
24846    }
24847}
24848impl ::micropb::MessageDecode for Rpc_Event_WifiEventNoArgs {
24849    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
24850        &mut self,
24851        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
24852        len: usize,
24853    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
24854        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
24855        let before = decoder.bytes_read();
24856        while decoder.bytes_read() - before < len {
24857            let tag = decoder.decode_tag()?;
24858            match tag.field_num() {
24859                0 => return Err(::micropb::DecodeError::ZeroField),
24860                1u32 => {
24861                    let mut_ref = &mut self.r#resp;
24862                    {
24863                        let val = decoder.decode_int32()?;
24864                        let val_ref = &val;
24865                        if *val_ref != 0 {
24866                            *mut_ref = val as _;
24867                        }
24868                    };
24869                }
24870                2u32 => {
24871                    let mut_ref = &mut self.r#event_id;
24872                    {
24873                        let val = decoder.decode_int32()?;
24874                        let val_ref = &val;
24875                        if *val_ref != 0 {
24876                            *mut_ref = val as _;
24877                        }
24878                    };
24879                }
24880                _ => {
24881                    decoder.skip_wire_value(tag.wire_type())?;
24882                }
24883            }
24884        }
24885        Ok(())
24886    }
24887}
24888impl ::micropb::MessageEncode for Rpc_Event_WifiEventNoArgs {
24889    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
24890        let mut max_size = 0;
24891        if let ::core::option::Option::Some(size) =
24892            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
24893        {
24894            max_size += size;
24895        } else {
24896            break 'msg (::core::option::Option::<usize>::None);
24897        };
24898        if let ::core::option::Option::Some(size) =
24899            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
24900        {
24901            max_size += size;
24902        } else {
24903            break 'msg (::core::option::Option::<usize>::None);
24904        };
24905        ::core::option::Option::Some(max_size)
24906    };
24907    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
24908        &self,
24909        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
24910    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
24911        use ::micropb::{FieldEncode, PbMap};
24912        {
24913            let val_ref = &self.r#resp;
24914            if *val_ref != 0 {
24915                encoder.encode_varint32(8u32)?;
24916                encoder.encode_int32(*val_ref as _)?;
24917            }
24918        }
24919        {
24920            let val_ref = &self.r#event_id;
24921            if *val_ref != 0 {
24922                encoder.encode_varint32(16u32)?;
24923                encoder.encode_int32(*val_ref as _)?;
24924            }
24925        }
24926        Ok(())
24927    }
24928    fn compute_size(&self) -> usize {
24929        use ::micropb::{FieldEncode, PbMap};
24930        let mut size = 0;
24931        {
24932            let val_ref = &self.r#resp;
24933            if *val_ref != 0 {
24934                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
24935            }
24936        }
24937        {
24938            let val_ref = &self.r#event_id;
24939            if *val_ref != 0 {
24940                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
24941            }
24942        }
24943        size
24944    }
24945}
24946#[derive(Debug, Default, PartialEq, Clone)]
24947pub struct Rpc_Event_ESPInit {
24948    pub r#init_data: ::micropb::heapless::Vec<u8, 16>,
24949}
24950impl Rpc_Event_ESPInit {
24951    ///Return a reference to `init_data`
24952    #[inline]
24953    pub fn r#init_data(&self) -> &::micropb::heapless::Vec<u8, 16> {
24954        &self.r#init_data
24955    }
24956    ///Return a mutable reference to `init_data`
24957    #[inline]
24958    pub fn mut_init_data(&mut self) -> &mut ::micropb::heapless::Vec<u8, 16> {
24959        &mut self.r#init_data
24960    }
24961    ///Set the value of `init_data`
24962    #[inline]
24963    pub fn set_init_data(&mut self, value: ::micropb::heapless::Vec<u8, 16>) -> &mut Self {
24964        self.r#init_data = value.into();
24965        self
24966    }
24967    ///Builder method that sets the value of `init_data`. Useful for initializing the message.
24968    #[inline]
24969    pub fn init_init_data(mut self, value: ::micropb::heapless::Vec<u8, 16>) -> Self {
24970        self.r#init_data = value.into();
24971        self
24972    }
24973}
24974impl ::micropb::MessageDecode for Rpc_Event_ESPInit {
24975    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
24976        &mut self,
24977        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
24978        len: usize,
24979    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
24980        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
24981        let before = decoder.bytes_read();
24982        while decoder.bytes_read() - before < len {
24983            let tag = decoder.decode_tag()?;
24984            match tag.field_num() {
24985                0 => return Err(::micropb::DecodeError::ZeroField),
24986                1u32 => {
24987                    let mut_ref = &mut self.r#init_data;
24988                    {
24989                        decoder.decode_bytes(mut_ref, ::micropb::Presence::Implicit)?;
24990                    };
24991                }
24992                _ => {
24993                    decoder.skip_wire_value(tag.wire_type())?;
24994                }
24995            }
24996        }
24997        Ok(())
24998    }
24999}
25000impl ::micropb::MessageEncode for Rpc_Event_ESPInit {
25001    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
25002        let mut max_size = 0;
25003        if let ::core::option::Option::Some(size) =
25004            ::micropb::const_map!(::core::option::Option::Some(17usize), |size| size + 1usize)
25005        {
25006            max_size += size;
25007        } else {
25008            break 'msg (::core::option::Option::<usize>::None);
25009        };
25010        ::core::option::Option::Some(max_size)
25011    };
25012    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
25013        &self,
25014        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
25015    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
25016        use ::micropb::{FieldEncode, PbMap};
25017        {
25018            let val_ref = &self.r#init_data;
25019            if !val_ref.is_empty() {
25020                encoder.encode_varint32(10u32)?;
25021                encoder.encode_bytes(val_ref)?;
25022            }
25023        }
25024        Ok(())
25025    }
25026    fn compute_size(&self) -> usize {
25027        use ::micropb::{FieldEncode, PbMap};
25028        let mut size = 0;
25029        {
25030            let val_ref = &self.r#init_data;
25031            if !val_ref.is_empty() {
25032                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.len());
25033            }
25034        }
25035        size
25036    }
25037}
25038#[derive(Debug, Default, PartialEq, Clone)]
25039pub struct Rpc_Event_Heartbeat {
25040    pub r#hb_num: i32,
25041}
25042impl Rpc_Event_Heartbeat {
25043    ///Return a reference to `hb_num`
25044    #[inline]
25045    pub fn r#hb_num(&self) -> &i32 {
25046        &self.r#hb_num
25047    }
25048    ///Return a mutable reference to `hb_num`
25049    #[inline]
25050    pub fn mut_hb_num(&mut self) -> &mut i32 {
25051        &mut self.r#hb_num
25052    }
25053    ///Set the value of `hb_num`
25054    #[inline]
25055    pub fn set_hb_num(&mut self, value: i32) -> &mut Self {
25056        self.r#hb_num = value.into();
25057        self
25058    }
25059    ///Builder method that sets the value of `hb_num`. Useful for initializing the message.
25060    #[inline]
25061    pub fn init_hb_num(mut self, value: i32) -> Self {
25062        self.r#hb_num = value.into();
25063        self
25064    }
25065}
25066impl ::micropb::MessageDecode for Rpc_Event_Heartbeat {
25067    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
25068        &mut self,
25069        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
25070        len: usize,
25071    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
25072        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
25073        let before = decoder.bytes_read();
25074        while decoder.bytes_read() - before < len {
25075            let tag = decoder.decode_tag()?;
25076            match tag.field_num() {
25077                0 => return Err(::micropb::DecodeError::ZeroField),
25078                1u32 => {
25079                    let mut_ref = &mut self.r#hb_num;
25080                    {
25081                        let val = decoder.decode_int32()?;
25082                        let val_ref = &val;
25083                        if *val_ref != 0 {
25084                            *mut_ref = val as _;
25085                        }
25086                    };
25087                }
25088                _ => {
25089                    decoder.skip_wire_value(tag.wire_type())?;
25090                }
25091            }
25092        }
25093        Ok(())
25094    }
25095}
25096impl ::micropb::MessageEncode for Rpc_Event_Heartbeat {
25097    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
25098        let mut max_size = 0;
25099        if let ::core::option::Option::Some(size) =
25100            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
25101        {
25102            max_size += size;
25103        } else {
25104            break 'msg (::core::option::Option::<usize>::None);
25105        };
25106        ::core::option::Option::Some(max_size)
25107    };
25108    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
25109        &self,
25110        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
25111    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
25112        use ::micropb::{FieldEncode, PbMap};
25113        {
25114            let val_ref = &self.r#hb_num;
25115            if *val_ref != 0 {
25116                encoder.encode_varint32(8u32)?;
25117                encoder.encode_int32(*val_ref as _)?;
25118            }
25119        }
25120        Ok(())
25121    }
25122    fn compute_size(&self) -> usize {
25123        use ::micropb::{FieldEncode, PbMap};
25124        let mut size = 0;
25125        {
25126            let val_ref = &self.r#hb_num;
25127            if *val_ref != 0 {
25128                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
25129            }
25130        }
25131        size
25132    }
25133}
25134#[derive(Debug, Default, PartialEq, Clone)]
25135pub struct Rpc_Event_AP_StaDisconnected {
25136    pub r#resp: i32,
25137    pub r#mac: ::micropb::heapless::Vec<u8, 6>,
25138    pub r#aid: u32,
25139    pub r#is_mesh_child: bool,
25140    pub r#reason: u32,
25141}
25142impl Rpc_Event_AP_StaDisconnected {
25143    ///Return a reference to `resp`
25144    #[inline]
25145    pub fn r#resp(&self) -> &i32 {
25146        &self.r#resp
25147    }
25148    ///Return a mutable reference to `resp`
25149    #[inline]
25150    pub fn mut_resp(&mut self) -> &mut i32 {
25151        &mut self.r#resp
25152    }
25153    ///Set the value of `resp`
25154    #[inline]
25155    pub fn set_resp(&mut self, value: i32) -> &mut Self {
25156        self.r#resp = value.into();
25157        self
25158    }
25159    ///Builder method that sets the value of `resp`. Useful for initializing the message.
25160    #[inline]
25161    pub fn init_resp(mut self, value: i32) -> Self {
25162        self.r#resp = value.into();
25163        self
25164    }
25165    ///Return a reference to `mac`
25166    #[inline]
25167    pub fn r#mac(&self) -> &::micropb::heapless::Vec<u8, 6> {
25168        &self.r#mac
25169    }
25170    ///Return a mutable reference to `mac`
25171    #[inline]
25172    pub fn mut_mac(&mut self) -> &mut ::micropb::heapless::Vec<u8, 6> {
25173        &mut self.r#mac
25174    }
25175    ///Set the value of `mac`
25176    #[inline]
25177    pub fn set_mac(&mut self, value: ::micropb::heapless::Vec<u8, 6>) -> &mut Self {
25178        self.r#mac = value.into();
25179        self
25180    }
25181    ///Builder method that sets the value of `mac`. Useful for initializing the message.
25182    #[inline]
25183    pub fn init_mac(mut self, value: ::micropb::heapless::Vec<u8, 6>) -> Self {
25184        self.r#mac = value.into();
25185        self
25186    }
25187    ///Return a reference to `aid`
25188    #[inline]
25189    pub fn r#aid(&self) -> &u32 {
25190        &self.r#aid
25191    }
25192    ///Return a mutable reference to `aid`
25193    #[inline]
25194    pub fn mut_aid(&mut self) -> &mut u32 {
25195        &mut self.r#aid
25196    }
25197    ///Set the value of `aid`
25198    #[inline]
25199    pub fn set_aid(&mut self, value: u32) -> &mut Self {
25200        self.r#aid = value.into();
25201        self
25202    }
25203    ///Builder method that sets the value of `aid`. Useful for initializing the message.
25204    #[inline]
25205    pub fn init_aid(mut self, value: u32) -> Self {
25206        self.r#aid = value.into();
25207        self
25208    }
25209    ///Return a reference to `is_mesh_child`
25210    #[inline]
25211    pub fn r#is_mesh_child(&self) -> &bool {
25212        &self.r#is_mesh_child
25213    }
25214    ///Return a mutable reference to `is_mesh_child`
25215    #[inline]
25216    pub fn mut_is_mesh_child(&mut self) -> &mut bool {
25217        &mut self.r#is_mesh_child
25218    }
25219    ///Set the value of `is_mesh_child`
25220    #[inline]
25221    pub fn set_is_mesh_child(&mut self, value: bool) -> &mut Self {
25222        self.r#is_mesh_child = value.into();
25223        self
25224    }
25225    ///Builder method that sets the value of `is_mesh_child`. Useful for initializing the message.
25226    #[inline]
25227    pub fn init_is_mesh_child(mut self, value: bool) -> Self {
25228        self.r#is_mesh_child = value.into();
25229        self
25230    }
25231    ///Return a reference to `reason`
25232    #[inline]
25233    pub fn r#reason(&self) -> &u32 {
25234        &self.r#reason
25235    }
25236    ///Return a mutable reference to `reason`
25237    #[inline]
25238    pub fn mut_reason(&mut self) -> &mut u32 {
25239        &mut self.r#reason
25240    }
25241    ///Set the value of `reason`
25242    #[inline]
25243    pub fn set_reason(&mut self, value: u32) -> &mut Self {
25244        self.r#reason = value.into();
25245        self
25246    }
25247    ///Builder method that sets the value of `reason`. Useful for initializing the message.
25248    #[inline]
25249    pub fn init_reason(mut self, value: u32) -> Self {
25250        self.r#reason = value.into();
25251        self
25252    }
25253}
25254impl ::micropb::MessageDecode for Rpc_Event_AP_StaDisconnected {
25255    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
25256        &mut self,
25257        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
25258        len: usize,
25259    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
25260        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
25261        let before = decoder.bytes_read();
25262        while decoder.bytes_read() - before < len {
25263            let tag = decoder.decode_tag()?;
25264            match tag.field_num() {
25265                0 => return Err(::micropb::DecodeError::ZeroField),
25266                1u32 => {
25267                    let mut_ref = &mut self.r#resp;
25268                    {
25269                        let val = decoder.decode_int32()?;
25270                        let val_ref = &val;
25271                        if *val_ref != 0 {
25272                            *mut_ref = val as _;
25273                        }
25274                    };
25275                }
25276                2u32 => {
25277                    let mut_ref = &mut self.r#mac;
25278                    {
25279                        decoder.decode_bytes(mut_ref, ::micropb::Presence::Implicit)?;
25280                    };
25281                }
25282                3u32 => {
25283                    let mut_ref = &mut self.r#aid;
25284                    {
25285                        let val = decoder.decode_varint32()?;
25286                        let val_ref = &val;
25287                        if *val_ref != 0 {
25288                            *mut_ref = val as _;
25289                        }
25290                    };
25291                }
25292                4u32 => {
25293                    let mut_ref = &mut self.r#is_mesh_child;
25294                    {
25295                        let val = decoder.decode_bool()?;
25296                        let val_ref = &val;
25297                        if *val_ref {
25298                            *mut_ref = val as _;
25299                        }
25300                    };
25301                }
25302                5u32 => {
25303                    let mut_ref = &mut self.r#reason;
25304                    {
25305                        let val = decoder.decode_varint32()?;
25306                        let val_ref = &val;
25307                        if *val_ref != 0 {
25308                            *mut_ref = val as _;
25309                        }
25310                    };
25311                }
25312                _ => {
25313                    decoder.skip_wire_value(tag.wire_type())?;
25314                }
25315            }
25316        }
25317        Ok(())
25318    }
25319}
25320impl ::micropb::MessageEncode for Rpc_Event_AP_StaDisconnected {
25321    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
25322        let mut max_size = 0;
25323        if let ::core::option::Option::Some(size) =
25324            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
25325        {
25326            max_size += size;
25327        } else {
25328            break 'msg (::core::option::Option::<usize>::None);
25329        };
25330        if let ::core::option::Option::Some(size) =
25331            ::micropb::const_map!(::core::option::Option::Some(7usize), |size| size + 1usize)
25332        {
25333            max_size += size;
25334        } else {
25335            break 'msg (::core::option::Option::<usize>::None);
25336        };
25337        if let ::core::option::Option::Some(size) =
25338            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
25339        {
25340            max_size += size;
25341        } else {
25342            break 'msg (::core::option::Option::<usize>::None);
25343        };
25344        if let ::core::option::Option::Some(size) =
25345            ::micropb::const_map!(::core::option::Option::Some(1usize), |size| size + 1usize)
25346        {
25347            max_size += size;
25348        } else {
25349            break 'msg (::core::option::Option::<usize>::None);
25350        };
25351        if let ::core::option::Option::Some(size) =
25352            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
25353        {
25354            max_size += size;
25355        } else {
25356            break 'msg (::core::option::Option::<usize>::None);
25357        };
25358        ::core::option::Option::Some(max_size)
25359    };
25360    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
25361        &self,
25362        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
25363    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
25364        use ::micropb::{FieldEncode, PbMap};
25365        {
25366            let val_ref = &self.r#resp;
25367            if *val_ref != 0 {
25368                encoder.encode_varint32(8u32)?;
25369                encoder.encode_int32(*val_ref as _)?;
25370            }
25371        }
25372        {
25373            let val_ref = &self.r#mac;
25374            if !val_ref.is_empty() {
25375                encoder.encode_varint32(18u32)?;
25376                encoder.encode_bytes(val_ref)?;
25377            }
25378        }
25379        {
25380            let val_ref = &self.r#aid;
25381            if *val_ref != 0 {
25382                encoder.encode_varint32(24u32)?;
25383                encoder.encode_varint32(*val_ref as _)?;
25384            }
25385        }
25386        {
25387            let val_ref = &self.r#is_mesh_child;
25388            if *val_ref {
25389                encoder.encode_varint32(32u32)?;
25390                encoder.encode_bool(*val_ref)?;
25391            }
25392        }
25393        {
25394            let val_ref = &self.r#reason;
25395            if *val_ref != 0 {
25396                encoder.encode_varint32(40u32)?;
25397                encoder.encode_varint32(*val_ref as _)?;
25398            }
25399        }
25400        Ok(())
25401    }
25402    fn compute_size(&self) -> usize {
25403        use ::micropb::{FieldEncode, PbMap};
25404        let mut size = 0;
25405        {
25406            let val_ref = &self.r#resp;
25407            if *val_ref != 0 {
25408                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
25409            }
25410        }
25411        {
25412            let val_ref = &self.r#mac;
25413            if !val_ref.is_empty() {
25414                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.len());
25415            }
25416        }
25417        {
25418            let val_ref = &self.r#aid;
25419            if *val_ref != 0 {
25420                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
25421            }
25422        }
25423        {
25424            let val_ref = &self.r#is_mesh_child;
25425            if *val_ref {
25426                size += 1usize + 1;
25427            }
25428        }
25429        {
25430            let val_ref = &self.r#reason;
25431            if *val_ref != 0 {
25432                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
25433            }
25434        }
25435        size
25436    }
25437}
25438#[derive(Debug, Default, PartialEq, Clone)]
25439pub struct Rpc_Event_AP_StaConnected {
25440    pub r#resp: i32,
25441    pub r#mac: ::micropb::heapless::Vec<u8, 6>,
25442    pub r#aid: u32,
25443    pub r#is_mesh_child: bool,
25444}
25445impl Rpc_Event_AP_StaConnected {
25446    ///Return a reference to `resp`
25447    #[inline]
25448    pub fn r#resp(&self) -> &i32 {
25449        &self.r#resp
25450    }
25451    ///Return a mutable reference to `resp`
25452    #[inline]
25453    pub fn mut_resp(&mut self) -> &mut i32 {
25454        &mut self.r#resp
25455    }
25456    ///Set the value of `resp`
25457    #[inline]
25458    pub fn set_resp(&mut self, value: i32) -> &mut Self {
25459        self.r#resp = value.into();
25460        self
25461    }
25462    ///Builder method that sets the value of `resp`. Useful for initializing the message.
25463    #[inline]
25464    pub fn init_resp(mut self, value: i32) -> Self {
25465        self.r#resp = value.into();
25466        self
25467    }
25468    ///Return a reference to `mac`
25469    #[inline]
25470    pub fn r#mac(&self) -> &::micropb::heapless::Vec<u8, 6> {
25471        &self.r#mac
25472    }
25473    ///Return a mutable reference to `mac`
25474    #[inline]
25475    pub fn mut_mac(&mut self) -> &mut ::micropb::heapless::Vec<u8, 6> {
25476        &mut self.r#mac
25477    }
25478    ///Set the value of `mac`
25479    #[inline]
25480    pub fn set_mac(&mut self, value: ::micropb::heapless::Vec<u8, 6>) -> &mut Self {
25481        self.r#mac = value.into();
25482        self
25483    }
25484    ///Builder method that sets the value of `mac`. Useful for initializing the message.
25485    #[inline]
25486    pub fn init_mac(mut self, value: ::micropb::heapless::Vec<u8, 6>) -> Self {
25487        self.r#mac = value.into();
25488        self
25489    }
25490    ///Return a reference to `aid`
25491    #[inline]
25492    pub fn r#aid(&self) -> &u32 {
25493        &self.r#aid
25494    }
25495    ///Return a mutable reference to `aid`
25496    #[inline]
25497    pub fn mut_aid(&mut self) -> &mut u32 {
25498        &mut self.r#aid
25499    }
25500    ///Set the value of `aid`
25501    #[inline]
25502    pub fn set_aid(&mut self, value: u32) -> &mut Self {
25503        self.r#aid = value.into();
25504        self
25505    }
25506    ///Builder method that sets the value of `aid`. Useful for initializing the message.
25507    #[inline]
25508    pub fn init_aid(mut self, value: u32) -> Self {
25509        self.r#aid = value.into();
25510        self
25511    }
25512    ///Return a reference to `is_mesh_child`
25513    #[inline]
25514    pub fn r#is_mesh_child(&self) -> &bool {
25515        &self.r#is_mesh_child
25516    }
25517    ///Return a mutable reference to `is_mesh_child`
25518    #[inline]
25519    pub fn mut_is_mesh_child(&mut self) -> &mut bool {
25520        &mut self.r#is_mesh_child
25521    }
25522    ///Set the value of `is_mesh_child`
25523    #[inline]
25524    pub fn set_is_mesh_child(&mut self, value: bool) -> &mut Self {
25525        self.r#is_mesh_child = value.into();
25526        self
25527    }
25528    ///Builder method that sets the value of `is_mesh_child`. Useful for initializing the message.
25529    #[inline]
25530    pub fn init_is_mesh_child(mut self, value: bool) -> Self {
25531        self.r#is_mesh_child = value.into();
25532        self
25533    }
25534}
25535impl ::micropb::MessageDecode for Rpc_Event_AP_StaConnected {
25536    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
25537        &mut self,
25538        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
25539        len: usize,
25540    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
25541        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
25542        let before = decoder.bytes_read();
25543        while decoder.bytes_read() - before < len {
25544            let tag = decoder.decode_tag()?;
25545            match tag.field_num() {
25546                0 => return Err(::micropb::DecodeError::ZeroField),
25547                1u32 => {
25548                    let mut_ref = &mut self.r#resp;
25549                    {
25550                        let val = decoder.decode_int32()?;
25551                        let val_ref = &val;
25552                        if *val_ref != 0 {
25553                            *mut_ref = val as _;
25554                        }
25555                    };
25556                }
25557                2u32 => {
25558                    let mut_ref = &mut self.r#mac;
25559                    {
25560                        decoder.decode_bytes(mut_ref, ::micropb::Presence::Implicit)?;
25561                    };
25562                }
25563                3u32 => {
25564                    let mut_ref = &mut self.r#aid;
25565                    {
25566                        let val = decoder.decode_varint32()?;
25567                        let val_ref = &val;
25568                        if *val_ref != 0 {
25569                            *mut_ref = val as _;
25570                        }
25571                    };
25572                }
25573                4u32 => {
25574                    let mut_ref = &mut self.r#is_mesh_child;
25575                    {
25576                        let val = decoder.decode_bool()?;
25577                        let val_ref = &val;
25578                        if *val_ref {
25579                            *mut_ref = val as _;
25580                        }
25581                    };
25582                }
25583                _ => {
25584                    decoder.skip_wire_value(tag.wire_type())?;
25585                }
25586            }
25587        }
25588        Ok(())
25589    }
25590}
25591impl ::micropb::MessageEncode for Rpc_Event_AP_StaConnected {
25592    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
25593        let mut max_size = 0;
25594        if let ::core::option::Option::Some(size) =
25595            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
25596        {
25597            max_size += size;
25598        } else {
25599            break 'msg (::core::option::Option::<usize>::None);
25600        };
25601        if let ::core::option::Option::Some(size) =
25602            ::micropb::const_map!(::core::option::Option::Some(7usize), |size| size + 1usize)
25603        {
25604            max_size += size;
25605        } else {
25606            break 'msg (::core::option::Option::<usize>::None);
25607        };
25608        if let ::core::option::Option::Some(size) =
25609            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
25610        {
25611            max_size += size;
25612        } else {
25613            break 'msg (::core::option::Option::<usize>::None);
25614        };
25615        if let ::core::option::Option::Some(size) =
25616            ::micropb::const_map!(::core::option::Option::Some(1usize), |size| size + 1usize)
25617        {
25618            max_size += size;
25619        } else {
25620            break 'msg (::core::option::Option::<usize>::None);
25621        };
25622        ::core::option::Option::Some(max_size)
25623    };
25624    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
25625        &self,
25626        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
25627    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
25628        use ::micropb::{FieldEncode, PbMap};
25629        {
25630            let val_ref = &self.r#resp;
25631            if *val_ref != 0 {
25632                encoder.encode_varint32(8u32)?;
25633                encoder.encode_int32(*val_ref as _)?;
25634            }
25635        }
25636        {
25637            let val_ref = &self.r#mac;
25638            if !val_ref.is_empty() {
25639                encoder.encode_varint32(18u32)?;
25640                encoder.encode_bytes(val_ref)?;
25641            }
25642        }
25643        {
25644            let val_ref = &self.r#aid;
25645            if *val_ref != 0 {
25646                encoder.encode_varint32(24u32)?;
25647                encoder.encode_varint32(*val_ref as _)?;
25648            }
25649        }
25650        {
25651            let val_ref = &self.r#is_mesh_child;
25652            if *val_ref {
25653                encoder.encode_varint32(32u32)?;
25654                encoder.encode_bool(*val_ref)?;
25655            }
25656        }
25657        Ok(())
25658    }
25659    fn compute_size(&self) -> usize {
25660        use ::micropb::{FieldEncode, PbMap};
25661        let mut size = 0;
25662        {
25663            let val_ref = &self.r#resp;
25664            if *val_ref != 0 {
25665                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
25666            }
25667        }
25668        {
25669            let val_ref = &self.r#mac;
25670            if !val_ref.is_empty() {
25671                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.len());
25672            }
25673        }
25674        {
25675            let val_ref = &self.r#aid;
25676            if *val_ref != 0 {
25677                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
25678            }
25679        }
25680        {
25681            let val_ref = &self.r#is_mesh_child;
25682            if *val_ref {
25683                size += 1usize + 1;
25684            }
25685        }
25686        size
25687    }
25688}
25689pub mod Rpc_Event_StaScanDone_ {
25690    #[derive(Debug, Default, PartialEq, Clone)]
25691    pub struct _Hazzer([u8; 1]);
25692    impl _Hazzer {
25693        ///New hazzer with all fields set to off
25694        #[inline]
25695        pub const fn _new() -> Self {
25696            Self([0; 1])
25697        }
25698        ///Query presence of `scan_done`
25699        #[inline]
25700        pub const fn r#scan_done(&self) -> bool {
25701            (self.0[0] & 1) != 0
25702        }
25703        ///Set presence of `scan_done`
25704        #[inline]
25705        pub const fn set_scan_done(&mut self) -> &mut Self {
25706            let elem = &mut self.0[0];
25707            *elem |= 1;
25708            self
25709        }
25710        ///Clear presence of `scan_done`
25711        #[inline]
25712        pub const fn clear_scan_done(&mut self) -> &mut Self {
25713            let elem = &mut self.0[0];
25714            *elem &= !1;
25715            self
25716        }
25717        ///Builder method that sets the presence of `scan_done`. Useful for initializing the Hazzer.
25718        #[inline]
25719        pub const fn init_scan_done(mut self) -> Self {
25720            self.set_scan_done();
25721            self
25722        }
25723    }
25724}
25725#[derive(Debug, Default, Clone)]
25726pub struct Rpc_Event_StaScanDone {
25727    pub r#resp: i32,
25728    pub r#scan_done: r#wifi_event_sta_scan_done,
25729    pub _has: Rpc_Event_StaScanDone_::_Hazzer,
25730}
25731impl ::core::cmp::PartialEq for Rpc_Event_StaScanDone {
25732    fn eq(&self, other: &Self) -> bool {
25733        let mut ret = true;
25734        ret &= (self.r#resp == other.r#resp);
25735        ret &= (self.r#scan_done() == other.r#scan_done());
25736        ret
25737    }
25738}
25739impl Rpc_Event_StaScanDone {
25740    ///Return a reference to `resp`
25741    #[inline]
25742    pub fn r#resp(&self) -> &i32 {
25743        &self.r#resp
25744    }
25745    ///Return a mutable reference to `resp`
25746    #[inline]
25747    pub fn mut_resp(&mut self) -> &mut i32 {
25748        &mut self.r#resp
25749    }
25750    ///Set the value of `resp`
25751    #[inline]
25752    pub fn set_resp(&mut self, value: i32) -> &mut Self {
25753        self.r#resp = value.into();
25754        self
25755    }
25756    ///Builder method that sets the value of `resp`. Useful for initializing the message.
25757    #[inline]
25758    pub fn init_resp(mut self, value: i32) -> Self {
25759        self.r#resp = value.into();
25760        self
25761    }
25762    ///Return a reference to `scan_done` as an `Option`
25763    #[inline]
25764    pub fn r#scan_done(&self) -> ::core::option::Option<&r#wifi_event_sta_scan_done> {
25765        self._has.r#scan_done().then_some(&self.r#scan_done)
25766    }
25767    ///Set the value and presence of `scan_done`
25768    #[inline]
25769    pub fn set_scan_done(&mut self, value: r#wifi_event_sta_scan_done) -> &mut Self {
25770        self._has.set_scan_done();
25771        self.r#scan_done = value.into();
25772        self
25773    }
25774    ///Return a mutable reference to `scan_done` as an `Option`
25775    #[inline]
25776    pub fn mut_scan_done(&mut self) -> ::core::option::Option<&mut r#wifi_event_sta_scan_done> {
25777        self._has.r#scan_done().then_some(&mut self.r#scan_done)
25778    }
25779    ///Clear the presence of `scan_done`
25780    #[inline]
25781    pub fn clear_scan_done(&mut self) -> &mut Self {
25782        self._has.clear_scan_done();
25783        self
25784    }
25785    ///Take the value of `scan_done` and clear its presence
25786    #[inline]
25787    pub fn take_scan_done(&mut self) -> ::core::option::Option<r#wifi_event_sta_scan_done> {
25788        let val = self
25789            ._has
25790            .r#scan_done()
25791            .then(|| ::core::mem::take(&mut self.r#scan_done));
25792        self._has.clear_scan_done();
25793        val
25794    }
25795    ///Builder method that sets the value of `scan_done`. Useful for initializing the message.
25796    #[inline]
25797    pub fn init_scan_done(mut self, value: r#wifi_event_sta_scan_done) -> Self {
25798        self.set_scan_done(value);
25799        self
25800    }
25801}
25802impl ::micropb::MessageDecode for Rpc_Event_StaScanDone {
25803    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
25804        &mut self,
25805        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
25806        len: usize,
25807    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
25808        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
25809        let before = decoder.bytes_read();
25810        while decoder.bytes_read() - before < len {
25811            let tag = decoder.decode_tag()?;
25812            match tag.field_num() {
25813                0 => return Err(::micropb::DecodeError::ZeroField),
25814                1u32 => {
25815                    let mut_ref = &mut self.r#resp;
25816                    {
25817                        let val = decoder.decode_int32()?;
25818                        let val_ref = &val;
25819                        if *val_ref != 0 {
25820                            *mut_ref = val as _;
25821                        }
25822                    };
25823                }
25824                2u32 => {
25825                    let mut_ref = &mut self.r#scan_done;
25826                    {
25827                        mut_ref.decode_len_delimited(decoder)?;
25828                    };
25829                    self._has.set_scan_done();
25830                }
25831                _ => {
25832                    decoder.skip_wire_value(tag.wire_type())?;
25833                }
25834            }
25835        }
25836        Ok(())
25837    }
25838}
25839impl ::micropb::MessageEncode for Rpc_Event_StaScanDone {
25840    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
25841        let mut max_size = 0;
25842        if let ::core::option::Option::Some(size) =
25843            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
25844        {
25845            max_size += size;
25846        } else {
25847            break 'msg (::core::option::Option::<usize>::None);
25848        };
25849        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
25850            ::micropb::const_map!(
25851                <r#wifi_event_sta_scan_done as ::micropb::MessageEncode>::MAX_SIZE,
25852                |size| ::micropb::size::sizeof_len_record(size)
25853            ),
25854            |size| size + 1usize
25855        ) {
25856            max_size += size;
25857        } else {
25858            break 'msg (::core::option::Option::<usize>::None);
25859        };
25860        ::core::option::Option::Some(max_size)
25861    };
25862    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
25863        &self,
25864        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
25865    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
25866        use ::micropb::{FieldEncode, PbMap};
25867        {
25868            let val_ref = &self.r#resp;
25869            if *val_ref != 0 {
25870                encoder.encode_varint32(8u32)?;
25871                encoder.encode_int32(*val_ref as _)?;
25872            }
25873        }
25874        {
25875            if let ::core::option::Option::Some(val_ref) = self.r#scan_done() {
25876                encoder.encode_varint32(18u32)?;
25877                val_ref.encode_len_delimited(encoder)?;
25878            }
25879        }
25880        Ok(())
25881    }
25882    fn compute_size(&self) -> usize {
25883        use ::micropb::{FieldEncode, PbMap};
25884        let mut size = 0;
25885        {
25886            let val_ref = &self.r#resp;
25887            if *val_ref != 0 {
25888                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
25889            }
25890        }
25891        {
25892            if let ::core::option::Option::Some(val_ref) = self.r#scan_done() {
25893                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
25894            }
25895        }
25896        size
25897    }
25898}
25899pub mod Rpc_Event_StaConnected_ {
25900    #[derive(Debug, Default, PartialEq, Clone)]
25901    pub struct _Hazzer([u8; 1]);
25902    impl _Hazzer {
25903        ///New hazzer with all fields set to off
25904        #[inline]
25905        pub const fn _new() -> Self {
25906            Self([0; 1])
25907        }
25908        ///Query presence of `sta_connected`
25909        #[inline]
25910        pub const fn r#sta_connected(&self) -> bool {
25911            (self.0[0] & 1) != 0
25912        }
25913        ///Set presence of `sta_connected`
25914        #[inline]
25915        pub const fn set_sta_connected(&mut self) -> &mut Self {
25916            let elem = &mut self.0[0];
25917            *elem |= 1;
25918            self
25919        }
25920        ///Clear presence of `sta_connected`
25921        #[inline]
25922        pub const fn clear_sta_connected(&mut self) -> &mut Self {
25923            let elem = &mut self.0[0];
25924            *elem &= !1;
25925            self
25926        }
25927        ///Builder method that sets the presence of `sta_connected`. Useful for initializing the Hazzer.
25928        #[inline]
25929        pub const fn init_sta_connected(mut self) -> Self {
25930            self.set_sta_connected();
25931            self
25932        }
25933    }
25934}
25935#[derive(Debug, Default, Clone)]
25936pub struct Rpc_Event_StaConnected {
25937    pub r#resp: i32,
25938    pub r#sta_connected: r#wifi_event_sta_connected,
25939    pub _has: Rpc_Event_StaConnected_::_Hazzer,
25940}
25941impl ::core::cmp::PartialEq for Rpc_Event_StaConnected {
25942    fn eq(&self, other: &Self) -> bool {
25943        let mut ret = true;
25944        ret &= (self.r#resp == other.r#resp);
25945        ret &= (self.r#sta_connected() == other.r#sta_connected());
25946        ret
25947    }
25948}
25949impl Rpc_Event_StaConnected {
25950    ///Return a reference to `resp`
25951    #[inline]
25952    pub fn r#resp(&self) -> &i32 {
25953        &self.r#resp
25954    }
25955    ///Return a mutable reference to `resp`
25956    #[inline]
25957    pub fn mut_resp(&mut self) -> &mut i32 {
25958        &mut self.r#resp
25959    }
25960    ///Set the value of `resp`
25961    #[inline]
25962    pub fn set_resp(&mut self, value: i32) -> &mut Self {
25963        self.r#resp = value.into();
25964        self
25965    }
25966    ///Builder method that sets the value of `resp`. Useful for initializing the message.
25967    #[inline]
25968    pub fn init_resp(mut self, value: i32) -> Self {
25969        self.r#resp = value.into();
25970        self
25971    }
25972    ///Return a reference to `sta_connected` as an `Option`
25973    #[inline]
25974    pub fn r#sta_connected(&self) -> ::core::option::Option<&r#wifi_event_sta_connected> {
25975        self._has.r#sta_connected().then_some(&self.r#sta_connected)
25976    }
25977    ///Set the value and presence of `sta_connected`
25978    #[inline]
25979    pub fn set_sta_connected(&mut self, value: r#wifi_event_sta_connected) -> &mut Self {
25980        self._has.set_sta_connected();
25981        self.r#sta_connected = value.into();
25982        self
25983    }
25984    ///Return a mutable reference to `sta_connected` as an `Option`
25985    #[inline]
25986    pub fn mut_sta_connected(&mut self) -> ::core::option::Option<&mut r#wifi_event_sta_connected> {
25987        self._has
25988            .r#sta_connected()
25989            .then_some(&mut self.r#sta_connected)
25990    }
25991    ///Clear the presence of `sta_connected`
25992    #[inline]
25993    pub fn clear_sta_connected(&mut self) -> &mut Self {
25994        self._has.clear_sta_connected();
25995        self
25996    }
25997    ///Take the value of `sta_connected` and clear its presence
25998    #[inline]
25999    pub fn take_sta_connected(&mut self) -> ::core::option::Option<r#wifi_event_sta_connected> {
26000        let val = self
26001            ._has
26002            .r#sta_connected()
26003            .then(|| ::core::mem::take(&mut self.r#sta_connected));
26004        self._has.clear_sta_connected();
26005        val
26006    }
26007    ///Builder method that sets the value of `sta_connected`. Useful for initializing the message.
26008    #[inline]
26009    pub fn init_sta_connected(mut self, value: r#wifi_event_sta_connected) -> Self {
26010        self.set_sta_connected(value);
26011        self
26012    }
26013}
26014impl ::micropb::MessageDecode for Rpc_Event_StaConnected {
26015    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
26016        &mut self,
26017        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
26018        len: usize,
26019    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
26020        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
26021        let before = decoder.bytes_read();
26022        while decoder.bytes_read() - before < len {
26023            let tag = decoder.decode_tag()?;
26024            match tag.field_num() {
26025                0 => return Err(::micropb::DecodeError::ZeroField),
26026                1u32 => {
26027                    let mut_ref = &mut self.r#resp;
26028                    {
26029                        let val = decoder.decode_int32()?;
26030                        let val_ref = &val;
26031                        if *val_ref != 0 {
26032                            *mut_ref = val as _;
26033                        }
26034                    };
26035                }
26036                2u32 => {
26037                    let mut_ref = &mut self.r#sta_connected;
26038                    {
26039                        mut_ref.decode_len_delimited(decoder)?;
26040                    };
26041                    self._has.set_sta_connected();
26042                }
26043                _ => {
26044                    decoder.skip_wire_value(tag.wire_type())?;
26045                }
26046            }
26047        }
26048        Ok(())
26049    }
26050}
26051impl ::micropb::MessageEncode for Rpc_Event_StaConnected {
26052    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
26053        let mut max_size = 0;
26054        if let ::core::option::Option::Some(size) =
26055            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
26056        {
26057            max_size += size;
26058        } else {
26059            break 'msg (::core::option::Option::<usize>::None);
26060        };
26061        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
26062            ::micropb::const_map!(
26063                <r#wifi_event_sta_connected as ::micropb::MessageEncode>::MAX_SIZE,
26064                |size| ::micropb::size::sizeof_len_record(size)
26065            ),
26066            |size| size + 1usize
26067        ) {
26068            max_size += size;
26069        } else {
26070            break 'msg (::core::option::Option::<usize>::None);
26071        };
26072        ::core::option::Option::Some(max_size)
26073    };
26074    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
26075        &self,
26076        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
26077    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
26078        use ::micropb::{FieldEncode, PbMap};
26079        {
26080            let val_ref = &self.r#resp;
26081            if *val_ref != 0 {
26082                encoder.encode_varint32(8u32)?;
26083                encoder.encode_int32(*val_ref as _)?;
26084            }
26085        }
26086        {
26087            if let ::core::option::Option::Some(val_ref) = self.r#sta_connected() {
26088                encoder.encode_varint32(18u32)?;
26089                val_ref.encode_len_delimited(encoder)?;
26090            }
26091        }
26092        Ok(())
26093    }
26094    fn compute_size(&self) -> usize {
26095        use ::micropb::{FieldEncode, PbMap};
26096        let mut size = 0;
26097        {
26098            let val_ref = &self.r#resp;
26099            if *val_ref != 0 {
26100                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
26101            }
26102        }
26103        {
26104            if let ::core::option::Option::Some(val_ref) = self.r#sta_connected() {
26105                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
26106            }
26107        }
26108        size
26109    }
26110}
26111pub mod Rpc_Event_StaDisconnected_ {
26112    #[derive(Debug, Default, PartialEq, Clone)]
26113    pub struct _Hazzer([u8; 1]);
26114    impl _Hazzer {
26115        ///New hazzer with all fields set to off
26116        #[inline]
26117        pub const fn _new() -> Self {
26118            Self([0; 1])
26119        }
26120        ///Query presence of `sta_disconnected`
26121        #[inline]
26122        pub const fn r#sta_disconnected(&self) -> bool {
26123            (self.0[0] & 1) != 0
26124        }
26125        ///Set presence of `sta_disconnected`
26126        #[inline]
26127        pub const fn set_sta_disconnected(&mut self) -> &mut Self {
26128            let elem = &mut self.0[0];
26129            *elem |= 1;
26130            self
26131        }
26132        ///Clear presence of `sta_disconnected`
26133        #[inline]
26134        pub const fn clear_sta_disconnected(&mut self) -> &mut Self {
26135            let elem = &mut self.0[0];
26136            *elem &= !1;
26137            self
26138        }
26139        ///Builder method that sets the presence of `sta_disconnected`. Useful for initializing the Hazzer.
26140        #[inline]
26141        pub const fn init_sta_disconnected(mut self) -> Self {
26142            self.set_sta_disconnected();
26143            self
26144        }
26145    }
26146}
26147#[derive(Debug, Default, Clone)]
26148pub struct Rpc_Event_StaDisconnected {
26149    pub r#resp: i32,
26150    pub r#sta_disconnected: r#wifi_event_sta_disconnected,
26151    pub _has: Rpc_Event_StaDisconnected_::_Hazzer,
26152}
26153impl ::core::cmp::PartialEq for Rpc_Event_StaDisconnected {
26154    fn eq(&self, other: &Self) -> bool {
26155        let mut ret = true;
26156        ret &= (self.r#resp == other.r#resp);
26157        ret &= (self.r#sta_disconnected() == other.r#sta_disconnected());
26158        ret
26159    }
26160}
26161impl Rpc_Event_StaDisconnected {
26162    ///Return a reference to `resp`
26163    #[inline]
26164    pub fn r#resp(&self) -> &i32 {
26165        &self.r#resp
26166    }
26167    ///Return a mutable reference to `resp`
26168    #[inline]
26169    pub fn mut_resp(&mut self) -> &mut i32 {
26170        &mut self.r#resp
26171    }
26172    ///Set the value of `resp`
26173    #[inline]
26174    pub fn set_resp(&mut self, value: i32) -> &mut Self {
26175        self.r#resp = value.into();
26176        self
26177    }
26178    ///Builder method that sets the value of `resp`. Useful for initializing the message.
26179    #[inline]
26180    pub fn init_resp(mut self, value: i32) -> Self {
26181        self.r#resp = value.into();
26182        self
26183    }
26184    ///Return a reference to `sta_disconnected` as an `Option`
26185    #[inline]
26186    pub fn r#sta_disconnected(&self) -> ::core::option::Option<&r#wifi_event_sta_disconnected> {
26187        self._has
26188            .r#sta_disconnected()
26189            .then_some(&self.r#sta_disconnected)
26190    }
26191    ///Set the value and presence of `sta_disconnected`
26192    #[inline]
26193    pub fn set_sta_disconnected(&mut self, value: r#wifi_event_sta_disconnected) -> &mut Self {
26194        self._has.set_sta_disconnected();
26195        self.r#sta_disconnected = value.into();
26196        self
26197    }
26198    ///Return a mutable reference to `sta_disconnected` as an `Option`
26199    #[inline]
26200    pub fn mut_sta_disconnected(
26201        &mut self,
26202    ) -> ::core::option::Option<&mut r#wifi_event_sta_disconnected> {
26203        self._has
26204            .r#sta_disconnected()
26205            .then_some(&mut self.r#sta_disconnected)
26206    }
26207    ///Clear the presence of `sta_disconnected`
26208    #[inline]
26209    pub fn clear_sta_disconnected(&mut self) -> &mut Self {
26210        self._has.clear_sta_disconnected();
26211        self
26212    }
26213    ///Take the value of `sta_disconnected` and clear its presence
26214    #[inline]
26215    pub fn take_sta_disconnected(
26216        &mut self,
26217    ) -> ::core::option::Option<r#wifi_event_sta_disconnected> {
26218        let val = self
26219            ._has
26220            .r#sta_disconnected()
26221            .then(|| ::core::mem::take(&mut self.r#sta_disconnected));
26222        self._has.clear_sta_disconnected();
26223        val
26224    }
26225    ///Builder method that sets the value of `sta_disconnected`. Useful for initializing the message.
26226    #[inline]
26227    pub fn init_sta_disconnected(mut self, value: r#wifi_event_sta_disconnected) -> Self {
26228        self.set_sta_disconnected(value);
26229        self
26230    }
26231}
26232impl ::micropb::MessageDecode for Rpc_Event_StaDisconnected {
26233    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
26234        &mut self,
26235        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
26236        len: usize,
26237    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
26238        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
26239        let before = decoder.bytes_read();
26240        while decoder.bytes_read() - before < len {
26241            let tag = decoder.decode_tag()?;
26242            match tag.field_num() {
26243                0 => return Err(::micropb::DecodeError::ZeroField),
26244                1u32 => {
26245                    let mut_ref = &mut self.r#resp;
26246                    {
26247                        let val = decoder.decode_int32()?;
26248                        let val_ref = &val;
26249                        if *val_ref != 0 {
26250                            *mut_ref = val as _;
26251                        }
26252                    };
26253                }
26254                2u32 => {
26255                    let mut_ref = &mut self.r#sta_disconnected;
26256                    {
26257                        mut_ref.decode_len_delimited(decoder)?;
26258                    };
26259                    self._has.set_sta_disconnected();
26260                }
26261                _ => {
26262                    decoder.skip_wire_value(tag.wire_type())?;
26263                }
26264            }
26265        }
26266        Ok(())
26267    }
26268}
26269impl ::micropb::MessageEncode for Rpc_Event_StaDisconnected {
26270    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
26271        let mut max_size = 0;
26272        if let ::core::option::Option::Some(size) =
26273            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
26274        {
26275            max_size += size;
26276        } else {
26277            break 'msg (::core::option::Option::<usize>::None);
26278        };
26279        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
26280            ::micropb::const_map!(
26281                <r#wifi_event_sta_disconnected as ::micropb::MessageEncode>::MAX_SIZE,
26282                |size| ::micropb::size::sizeof_len_record(size)
26283            ),
26284            |size| size + 1usize
26285        ) {
26286            max_size += size;
26287        } else {
26288            break 'msg (::core::option::Option::<usize>::None);
26289        };
26290        ::core::option::Option::Some(max_size)
26291    };
26292    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
26293        &self,
26294        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
26295    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
26296        use ::micropb::{FieldEncode, PbMap};
26297        {
26298            let val_ref = &self.r#resp;
26299            if *val_ref != 0 {
26300                encoder.encode_varint32(8u32)?;
26301                encoder.encode_int32(*val_ref as _)?;
26302            }
26303        }
26304        {
26305            if let ::core::option::Option::Some(val_ref) = self.r#sta_disconnected() {
26306                encoder.encode_varint32(18u32)?;
26307                val_ref.encode_len_delimited(encoder)?;
26308            }
26309        }
26310        Ok(())
26311    }
26312    fn compute_size(&self) -> usize {
26313        use ::micropb::{FieldEncode, PbMap};
26314        let mut size = 0;
26315        {
26316            let val_ref = &self.r#resp;
26317            if *val_ref != 0 {
26318                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
26319            }
26320        }
26321        {
26322            if let ::core::option::Option::Some(val_ref) = self.r#sta_disconnected() {
26323                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
26324            }
26325        }
26326        size
26327    }
26328}
26329pub mod Rpc_ {
26330    #[derive(Debug, PartialEq, Clone)]
26331    pub enum Payload {
26332        ReqGetMacAddress(super::Rpc_Req_GetMacAddress),
26333        ReqSetMacAddress(super::Rpc_Req_SetMacAddress),
26334        ReqGetWifiMode(super::Rpc_Req_GetMode),
26335        ReqSetWifiMode(super::Rpc_Req_SetMode),
26336        ReqWifiSetPs(super::Rpc_Req_SetPs),
26337        ReqWifiGetPs(super::Rpc_Req_GetPs),
26338        ReqOtaBegin(super::Rpc_Req_OTABegin),
26339        ReqOtaWrite(super::Rpc_Req_OTAWrite),
26340        ReqOtaEnd(super::Rpc_Req_OTAEnd),
26341        ReqSetWifiMaxTxPower(super::Rpc_Req_WifiSetMaxTxPower),
26342        ReqGetWifiMaxTxPower(super::Rpc_Req_WifiGetMaxTxPower),
26343        ReqConfigHeartbeat(super::Rpc_Req_ConfigHeartbeat),
26344        ReqWifiInit(super::Rpc_Req_WifiInit),
26345        ReqWifiDeinit(super::Rpc_Req_WifiDeinit),
26346        ReqWifiStart(super::Rpc_Req_WifiStart),
26347        ReqWifiStop(super::Rpc_Req_WifiStop),
26348        ReqWifiConnect(super::Rpc_Req_WifiConnect),
26349        ReqWifiDisconnect(super::Rpc_Req_WifiDisconnect),
26350        ReqWifiSetConfig(super::Rpc_Req_WifiSetConfig),
26351        ReqWifiGetConfig(super::Rpc_Req_WifiGetConfig),
26352        ReqWifiScanStart(super::Rpc_Req_WifiScanStart),
26353        ReqWifiScanStop(super::Rpc_Req_WifiScanStop),
26354        ReqWifiScanGetApNum(super::Rpc_Req_WifiScanGetApNum),
26355        ReqWifiScanGetApRecords(super::Rpc_Req_WifiScanGetApRecords),
26356        ReqWifiClearApList(super::Rpc_Req_WifiClearApList),
26357        ReqWifiRestore(super::Rpc_Req_WifiRestore),
26358        ReqWifiClearFastConnect(super::Rpc_Req_WifiClearFastConnect),
26359        ReqWifiDeauthSta(super::Rpc_Req_WifiDeauthSta),
26360        ReqWifiStaGetApInfo(super::Rpc_Req_WifiStaGetApInfo),
26361        ReqWifiSetProtocol(super::Rpc_Req_WifiSetProtocol),
26362        ReqWifiGetProtocol(super::Rpc_Req_WifiGetProtocol),
26363        ReqWifiSetBandwidth(super::Rpc_Req_WifiSetBandwidth),
26364        ReqWifiGetBandwidth(super::Rpc_Req_WifiGetBandwidth),
26365        ReqWifiSetChannel(super::Rpc_Req_WifiSetChannel),
26366        ReqWifiGetChannel(super::Rpc_Req_WifiGetChannel),
26367        ReqWifiSetCountry(super::Rpc_Req_WifiSetCountry),
26368        ReqWifiGetCountry(super::Rpc_Req_WifiGetCountry),
26369        ReqWifiApGetStaList(super::Rpc_Req_WifiApGetStaList),
26370        ReqWifiApGetStaAid(super::Rpc_Req_WifiApGetStaAid),
26371        ReqWifiSetStorage(super::Rpc_Req_WifiSetStorage),
26372        ReqWifiSetCountryCode(super::Rpc_Req_WifiSetCountryCode),
26373        ReqWifiGetCountryCode(super::Rpc_Req_WifiGetCountryCode),
26374        ReqWifiStaGetAid(super::Rpc_Req_WifiStaGetAid),
26375        ReqWifiStaGetNegotiatedPhymode(super::Rpc_Req_WifiStaGetNegotiatedPhymode),
26376        ReqWifiStaGetRssi(super::Rpc_Req_WifiStaGetRssi),
26377        ReqWifiSetProtocols(super::Rpc_Req_WifiSetProtocols),
26378        ReqWifiGetProtocols(super::Rpc_Req_WifiGetProtocols),
26379        ReqWifiSetBandwidths(super::Rpc_Req_WifiSetBandwidths),
26380        ReqWifiGetBandwidths(super::Rpc_Req_WifiGetBandwidths),
26381        ReqWifiSetBand(super::Rpc_Req_WifiSetBand),
26382        ReqWifiGetBand(super::Rpc_Req_WifiGetBand),
26383        ReqWifiSetBandmode(super::Rpc_Req_WifiSetBandMode),
26384        ReqWifiGetBandmode(super::Rpc_Req_WifiGetBandMode),
26385        ReqGetCoprocessorFwversion(super::Rpc_Req_GetCoprocessorFwVersion),
26386        ReqWifiScanGetApRecord(super::Rpc_Req_WifiScanGetApRecord),
26387        RespGetMacAddress(super::Rpc_Resp_GetMacAddress),
26388        RespSetMacAddress(super::Rpc_Resp_SetMacAddress),
26389        RespGetWifiMode(super::Rpc_Resp_GetMode),
26390        RespSetWifiMode(super::Rpc_Resp_SetMode),
26391        RespWifiSetPs(super::Rpc_Resp_SetPs),
26392        RespWifiGetPs(super::Rpc_Resp_GetPs),
26393        RespOtaBegin(super::Rpc_Resp_OTABegin),
26394        RespOtaWrite(super::Rpc_Resp_OTAWrite),
26395        RespOtaEnd(super::Rpc_Resp_OTAEnd),
26396        RespSetWifiMaxTxPower(super::Rpc_Resp_WifiSetMaxTxPower),
26397        RespGetWifiMaxTxPower(super::Rpc_Resp_WifiGetMaxTxPower),
26398        RespConfigHeartbeat(super::Rpc_Resp_ConfigHeartbeat),
26399        RespWifiInit(super::Rpc_Resp_WifiInit),
26400        RespWifiDeinit(super::Rpc_Resp_WifiDeinit),
26401        RespWifiStart(super::Rpc_Resp_WifiStart),
26402        RespWifiStop(super::Rpc_Resp_WifiStop),
26403        RespWifiConnect(super::Rpc_Resp_WifiConnect),
26404        RespWifiDisconnect(super::Rpc_Resp_WifiDisconnect),
26405        RespWifiSetConfig(super::Rpc_Resp_WifiSetConfig),
26406        RespWifiGetConfig(super::Rpc_Resp_WifiGetConfig),
26407        RespWifiScanStart(super::Rpc_Resp_WifiScanStart),
26408        RespWifiScanStop(super::Rpc_Resp_WifiScanStop),
26409        RespWifiScanGetApNum(super::Rpc_Resp_WifiScanGetApNum),
26410        RespWifiScanGetApRecords(super::Rpc_Resp_WifiScanGetApRecords),
26411        RespWifiClearApList(super::Rpc_Resp_WifiClearApList),
26412        RespWifiRestore(super::Rpc_Resp_WifiRestore),
26413        RespWifiClearFastConnect(super::Rpc_Resp_WifiClearFastConnect),
26414        RespWifiDeauthSta(super::Rpc_Resp_WifiDeauthSta),
26415        RespWifiStaGetApInfo(super::Rpc_Resp_WifiStaGetApInfo),
26416        RespWifiSetProtocol(super::Rpc_Resp_WifiSetProtocol),
26417        RespWifiGetProtocol(super::Rpc_Resp_WifiGetProtocol),
26418        RespWifiSetBandwidth(super::Rpc_Resp_WifiSetBandwidth),
26419        RespWifiGetBandwidth(super::Rpc_Resp_WifiGetBandwidth),
26420        RespWifiSetChannel(super::Rpc_Resp_WifiSetChannel),
26421        RespWifiGetChannel(super::Rpc_Resp_WifiGetChannel),
26422        RespWifiSetCountry(super::Rpc_Resp_WifiSetCountry),
26423        RespWifiGetCountry(super::Rpc_Resp_WifiGetCountry),
26424        RespWifiApGetStaList(super::Rpc_Resp_WifiApGetStaList),
26425        RespWifiApGetStaAid(super::Rpc_Resp_WifiApGetStaAid),
26426        RespWifiSetStorage(super::Rpc_Resp_WifiSetStorage),
26427        RespWifiSetCountryCode(super::Rpc_Resp_WifiSetCountryCode),
26428        RespWifiGetCountryCode(super::Rpc_Resp_WifiGetCountryCode),
26429        RespWifiStaGetAid(super::Rpc_Resp_WifiStaGetAid),
26430        RespWifiStaGetNegotiatedPhymode(super::Rpc_Resp_WifiStaGetNegotiatedPhymode),
26431        RespWifiStaGetRssi(super::Rpc_Resp_WifiStaGetRssi),
26432        RespWifiSetProtocols(super::Rpc_Resp_WifiSetProtocols),
26433        RespWifiGetProtocols(super::Rpc_Resp_WifiGetProtocols),
26434        RespWifiSetBandwidths(super::Rpc_Resp_WifiSetBandwidths),
26435        RespWifiGetBandwidths(super::Rpc_Resp_WifiGetBandwidths),
26436        RespWifiSetBand(super::Rpc_Resp_WifiSetBand),
26437        RespWifiGetBand(super::Rpc_Resp_WifiGetBand),
26438        RespWifiSetBandmode(super::Rpc_Resp_WifiSetBandMode),
26439        RespWifiGetBandmode(super::Rpc_Resp_WifiGetBandMode),
26440        RespGetCoprocessorFwversion(super::Rpc_Resp_GetCoprocessorFwVersion),
26441        RespWifiScanGetApRecord(super::Rpc_Resp_WifiScanGetApRecord),
26442        EventEspInit(super::Rpc_Event_ESPInit),
26443        EventHeartbeat(super::Rpc_Event_Heartbeat),
26444        EventApStaConnected(super::Rpc_Event_AP_StaConnected),
26445        EventApStaDisconnected(super::Rpc_Event_AP_StaDisconnected),
26446        EventWifiEventNoArgs(super::Rpc_Event_WifiEventNoArgs),
26447        EventStaScanDone(super::Rpc_Event_StaScanDone),
26448        EventStaConnected(super::Rpc_Event_StaConnected),
26449        EventStaDisconnected(super::Rpc_Event_StaDisconnected),
26450    }
26451}
26452#[derive(Debug, Default, PartialEq, Clone)]
26453pub struct Rpc {
26454    pub r#msg_type: RpcType,
26455    pub r#msg_id: RpcId,
26456    pub r#uid: u32,
26457    pub r#payload: ::core::option::Option<Rpc_::Payload>,
26458}
26459impl Rpc {
26460    ///Return a reference to `msg_type`
26461    #[inline]
26462    pub fn r#msg_type(&self) -> &RpcType {
26463        &self.r#msg_type
26464    }
26465    ///Return a mutable reference to `msg_type`
26466    #[inline]
26467    pub fn mut_msg_type(&mut self) -> &mut RpcType {
26468        &mut self.r#msg_type
26469    }
26470    ///Set the value of `msg_type`
26471    #[inline]
26472    pub fn set_msg_type(&mut self, value: RpcType) -> &mut Self {
26473        self.r#msg_type = value.into();
26474        self
26475    }
26476    ///Builder method that sets the value of `msg_type`. Useful for initializing the message.
26477    #[inline]
26478    pub fn init_msg_type(mut self, value: RpcType) -> Self {
26479        self.r#msg_type = value.into();
26480        self
26481    }
26482    ///Return a reference to `msg_id`
26483    #[inline]
26484    pub fn r#msg_id(&self) -> &RpcId {
26485        &self.r#msg_id
26486    }
26487    ///Return a mutable reference to `msg_id`
26488    #[inline]
26489    pub fn mut_msg_id(&mut self) -> &mut RpcId {
26490        &mut self.r#msg_id
26491    }
26492    ///Set the value of `msg_id`
26493    #[inline]
26494    pub fn set_msg_id(&mut self, value: RpcId) -> &mut Self {
26495        self.r#msg_id = value.into();
26496        self
26497    }
26498    ///Builder method that sets the value of `msg_id`. Useful for initializing the message.
26499    #[inline]
26500    pub fn init_msg_id(mut self, value: RpcId) -> Self {
26501        self.r#msg_id = value.into();
26502        self
26503    }
26504    ///Return a reference to `uid`
26505    #[inline]
26506    pub fn r#uid(&self) -> &u32 {
26507        &self.r#uid
26508    }
26509    ///Return a mutable reference to `uid`
26510    #[inline]
26511    pub fn mut_uid(&mut self) -> &mut u32 {
26512        &mut self.r#uid
26513    }
26514    ///Set the value of `uid`
26515    #[inline]
26516    pub fn set_uid(&mut self, value: u32) -> &mut Self {
26517        self.r#uid = value.into();
26518        self
26519    }
26520    ///Builder method that sets the value of `uid`. Useful for initializing the message.
26521    #[inline]
26522    pub fn init_uid(mut self, value: u32) -> Self {
26523        self.r#uid = value.into();
26524        self
26525    }
26526}
26527impl ::micropb::MessageDecode for Rpc {
26528    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
26529        &mut self,
26530        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
26531        len: usize,
26532    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
26533        use ::micropb::{FieldDecode, PbBytes, PbMap, PbString, PbVec};
26534        let before = decoder.bytes_read();
26535        while decoder.bytes_read() - before < len {
26536            let tag = decoder.decode_tag()?;
26537            match tag.field_num() {
26538                0 => return Err(::micropb::DecodeError::ZeroField),
26539                1u32 => {
26540                    let mut_ref = &mut self.r#msg_type;
26541                    {
26542                        let val = decoder.decode_int32().map(|n| RpcType(n as _))?;
26543                        let val_ref = &val;
26544                        if val_ref.0 != 0 {
26545                            *mut_ref = val as _;
26546                        }
26547                    };
26548                }
26549                2u32 => {
26550                    let mut_ref = &mut self.r#msg_id;
26551                    {
26552                        let val = decoder.decode_int32().map(|n| RpcId(n as _))?;
26553                        let val_ref = &val;
26554                        if val_ref.0 != 0 {
26555                            *mut_ref = val as _;
26556                        }
26557                    };
26558                }
26559                3u32 => {
26560                    let mut_ref = &mut self.r#uid;
26561                    {
26562                        let val = decoder.decode_varint32()?;
26563                        let val_ref = &val;
26564                        if *val_ref != 0 {
26565                            *mut_ref = val as _;
26566                        }
26567                    };
26568                }
26569                257u32 => {
26570                    let mut_ref = loop {
26571                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
26572                            if let Rpc_::Payload::ReqGetMacAddress(variant) = &mut *variant {
26573                                break &mut *variant;
26574                            }
26575                        }
26576                        self.r#payload = ::core::option::Option::Some(
26577                            Rpc_::Payload::ReqGetMacAddress(::core::default::Default::default()),
26578                        );
26579                    };
26580                    mut_ref.decode_len_delimited(decoder)?;
26581                }
26582                258u32 => {
26583                    let mut_ref = loop {
26584                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
26585                            if let Rpc_::Payload::ReqSetMacAddress(variant) = &mut *variant {
26586                                break &mut *variant;
26587                            }
26588                        }
26589                        self.r#payload = ::core::option::Option::Some(
26590                            Rpc_::Payload::ReqSetMacAddress(::core::default::Default::default()),
26591                        );
26592                    };
26593                    mut_ref.decode_len_delimited(decoder)?;
26594                }
26595                259u32 => {
26596                    let mut_ref = loop {
26597                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
26598                            if let Rpc_::Payload::ReqGetWifiMode(variant) = &mut *variant {
26599                                break &mut *variant;
26600                            }
26601                        }
26602                        self.r#payload = ::core::option::Option::Some(
26603                            Rpc_::Payload::ReqGetWifiMode(::core::default::Default::default()),
26604                        );
26605                    };
26606                    mut_ref.decode_len_delimited(decoder)?;
26607                }
26608                260u32 => {
26609                    let mut_ref = loop {
26610                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
26611                            if let Rpc_::Payload::ReqSetWifiMode(variant) = &mut *variant {
26612                                break &mut *variant;
26613                            }
26614                        }
26615                        self.r#payload = ::core::option::Option::Some(
26616                            Rpc_::Payload::ReqSetWifiMode(::core::default::Default::default()),
26617                        );
26618                    };
26619                    mut_ref.decode_len_delimited(decoder)?;
26620                }
26621                270u32 => {
26622                    let mut_ref = loop {
26623                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
26624                            if let Rpc_::Payload::ReqWifiSetPs(variant) = &mut *variant {
26625                                break &mut *variant;
26626                            }
26627                        }
26628                        self.r#payload = ::core::option::Option::Some(Rpc_::Payload::ReqWifiSetPs(
26629                            ::core::default::Default::default(),
26630                        ));
26631                    };
26632                    mut_ref.decode_len_delimited(decoder)?;
26633                }
26634                271u32 => {
26635                    let mut_ref = loop {
26636                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
26637                            if let Rpc_::Payload::ReqWifiGetPs(variant) = &mut *variant {
26638                                break &mut *variant;
26639                            }
26640                        }
26641                        self.r#payload = ::core::option::Option::Some(Rpc_::Payload::ReqWifiGetPs(
26642                            ::core::default::Default::default(),
26643                        ));
26644                    };
26645                    mut_ref.decode_len_delimited(decoder)?;
26646                }
26647                272u32 => {
26648                    let mut_ref = loop {
26649                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
26650                            if let Rpc_::Payload::ReqOtaBegin(variant) = &mut *variant {
26651                                break &mut *variant;
26652                            }
26653                        }
26654                        self.r#payload = ::core::option::Option::Some(Rpc_::Payload::ReqOtaBegin(
26655                            ::core::default::Default::default(),
26656                        ));
26657                    };
26658                    mut_ref.decode_len_delimited(decoder)?;
26659                }
26660                273u32 => {
26661                    let mut_ref = loop {
26662                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
26663                            if let Rpc_::Payload::ReqOtaWrite(variant) = &mut *variant {
26664                                break &mut *variant;
26665                            }
26666                        }
26667                        self.r#payload = ::core::option::Option::Some(Rpc_::Payload::ReqOtaWrite(
26668                            ::core::default::Default::default(),
26669                        ));
26670                    };
26671                    mut_ref.decode_len_delimited(decoder)?;
26672                }
26673                274u32 => {
26674                    let mut_ref = loop {
26675                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
26676                            if let Rpc_::Payload::ReqOtaEnd(variant) = &mut *variant {
26677                                break &mut *variant;
26678                            }
26679                        }
26680                        self.r#payload = ::core::option::Option::Some(Rpc_::Payload::ReqOtaEnd(
26681                            ::core::default::Default::default(),
26682                        ));
26683                    };
26684                    mut_ref.decode_len_delimited(decoder)?;
26685                }
26686                275u32 => {
26687                    let mut_ref = loop {
26688                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
26689                            if let Rpc_::Payload::ReqSetWifiMaxTxPower(variant) = &mut *variant {
26690                                break &mut *variant;
26691                            }
26692                        }
26693                        self.r#payload = ::core::option::Option::Some(
26694                            Rpc_::Payload::ReqSetWifiMaxTxPower(::core::default::Default::default()),
26695                        );
26696                    };
26697                    mut_ref.decode_len_delimited(decoder)?;
26698                }
26699                276u32 => {
26700                    let mut_ref = loop {
26701                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
26702                            if let Rpc_::Payload::ReqGetWifiMaxTxPower(variant) = &mut *variant {
26703                                break &mut *variant;
26704                            }
26705                        }
26706                        self.r#payload = ::core::option::Option::Some(
26707                            Rpc_::Payload::ReqGetWifiMaxTxPower(::core::default::Default::default()),
26708                        );
26709                    };
26710                    mut_ref.decode_len_delimited(decoder)?;
26711                }
26712                277u32 => {
26713                    let mut_ref = loop {
26714                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
26715                            if let Rpc_::Payload::ReqConfigHeartbeat(variant) = &mut *variant {
26716                                break &mut *variant;
26717                            }
26718                        }
26719                        self.r#payload = ::core::option::Option::Some(
26720                            Rpc_::Payload::ReqConfigHeartbeat(::core::default::Default::default()),
26721                        );
26722                    };
26723                    mut_ref.decode_len_delimited(decoder)?;
26724                }
26725                278u32 => {
26726                    let mut_ref = loop {
26727                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
26728                            if let Rpc_::Payload::ReqWifiInit(variant) = &mut *variant {
26729                                break &mut *variant;
26730                            }
26731                        }
26732                        self.r#payload = ::core::option::Option::Some(Rpc_::Payload::ReqWifiInit(
26733                            ::core::default::Default::default(),
26734                        ));
26735                    };
26736                    mut_ref.decode_len_delimited(decoder)?;
26737                }
26738                279u32 => {
26739                    let mut_ref = loop {
26740                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
26741                            if let Rpc_::Payload::ReqWifiDeinit(variant) = &mut *variant {
26742                                break &mut *variant;
26743                            }
26744                        }
26745                        self.r#payload = ::core::option::Option::Some(
26746                            Rpc_::Payload::ReqWifiDeinit(::core::default::Default::default()),
26747                        );
26748                    };
26749                    mut_ref.decode_len_delimited(decoder)?;
26750                }
26751                280u32 => {
26752                    let mut_ref = loop {
26753                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
26754                            if let Rpc_::Payload::ReqWifiStart(variant) = &mut *variant {
26755                                break &mut *variant;
26756                            }
26757                        }
26758                        self.r#payload = ::core::option::Option::Some(Rpc_::Payload::ReqWifiStart(
26759                            ::core::default::Default::default(),
26760                        ));
26761                    };
26762                    mut_ref.decode_len_delimited(decoder)?;
26763                }
26764                281u32 => {
26765                    let mut_ref = loop {
26766                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
26767                            if let Rpc_::Payload::ReqWifiStop(variant) = &mut *variant {
26768                                break &mut *variant;
26769                            }
26770                        }
26771                        self.r#payload = ::core::option::Option::Some(Rpc_::Payload::ReqWifiStop(
26772                            ::core::default::Default::default(),
26773                        ));
26774                    };
26775                    mut_ref.decode_len_delimited(decoder)?;
26776                }
26777                282u32 => {
26778                    let mut_ref = loop {
26779                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
26780                            if let Rpc_::Payload::ReqWifiConnect(variant) = &mut *variant {
26781                                break &mut *variant;
26782                            }
26783                        }
26784                        self.r#payload = ::core::option::Option::Some(
26785                            Rpc_::Payload::ReqWifiConnect(::core::default::Default::default()),
26786                        );
26787                    };
26788                    mut_ref.decode_len_delimited(decoder)?;
26789                }
26790                283u32 => {
26791                    let mut_ref = loop {
26792                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
26793                            if let Rpc_::Payload::ReqWifiDisconnect(variant) = &mut *variant {
26794                                break &mut *variant;
26795                            }
26796                        }
26797                        self.r#payload = ::core::option::Option::Some(
26798                            Rpc_::Payload::ReqWifiDisconnect(::core::default::Default::default()),
26799                        );
26800                    };
26801                    mut_ref.decode_len_delimited(decoder)?;
26802                }
26803                284u32 => {
26804                    let mut_ref = loop {
26805                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
26806                            if let Rpc_::Payload::ReqWifiSetConfig(variant) = &mut *variant {
26807                                break &mut *variant;
26808                            }
26809                        }
26810                        self.r#payload = ::core::option::Option::Some(
26811                            Rpc_::Payload::ReqWifiSetConfig(::core::default::Default::default()),
26812                        );
26813                    };
26814                    mut_ref.decode_len_delimited(decoder)?;
26815                }
26816                285u32 => {
26817                    let mut_ref = loop {
26818                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
26819                            if let Rpc_::Payload::ReqWifiGetConfig(variant) = &mut *variant {
26820                                break &mut *variant;
26821                            }
26822                        }
26823                        self.r#payload = ::core::option::Option::Some(
26824                            Rpc_::Payload::ReqWifiGetConfig(::core::default::Default::default()),
26825                        );
26826                    };
26827                    mut_ref.decode_len_delimited(decoder)?;
26828                }
26829                286u32 => {
26830                    let mut_ref = loop {
26831                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
26832                            if let Rpc_::Payload::ReqWifiScanStart(variant) = &mut *variant {
26833                                break &mut *variant;
26834                            }
26835                        }
26836                        self.r#payload = ::core::option::Option::Some(
26837                            Rpc_::Payload::ReqWifiScanStart(::core::default::Default::default()),
26838                        );
26839                    };
26840                    mut_ref.decode_len_delimited(decoder)?;
26841                }
26842                287u32 => {
26843                    let mut_ref = loop {
26844                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
26845                            if let Rpc_::Payload::ReqWifiScanStop(variant) = &mut *variant {
26846                                break &mut *variant;
26847                            }
26848                        }
26849                        self.r#payload = ::core::option::Option::Some(
26850                            Rpc_::Payload::ReqWifiScanStop(::core::default::Default::default()),
26851                        );
26852                    };
26853                    mut_ref.decode_len_delimited(decoder)?;
26854                }
26855                288u32 => {
26856                    let mut_ref = loop {
26857                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
26858                            if let Rpc_::Payload::ReqWifiScanGetApNum(variant) = &mut *variant {
26859                                break &mut *variant;
26860                            }
26861                        }
26862                        self.r#payload = ::core::option::Option::Some(
26863                            Rpc_::Payload::ReqWifiScanGetApNum(::core::default::Default::default()),
26864                        );
26865                    };
26866                    mut_ref.decode_len_delimited(decoder)?;
26867                }
26868                289u32 => {
26869                    let mut_ref = loop {
26870                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
26871                            if let Rpc_::Payload::ReqWifiScanGetApRecords(variant) = &mut *variant {
26872                                break &mut *variant;
26873                            }
26874                        }
26875                        self.r#payload =
26876                            ::core::option::Option::Some(Rpc_::Payload::ReqWifiScanGetApRecords(
26877                                ::core::default::Default::default(),
26878                            ));
26879                    };
26880                    mut_ref.decode_len_delimited(decoder)?;
26881                }
26882                290u32 => {
26883                    let mut_ref = loop {
26884                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
26885                            if let Rpc_::Payload::ReqWifiClearApList(variant) = &mut *variant {
26886                                break &mut *variant;
26887                            }
26888                        }
26889                        self.r#payload = ::core::option::Option::Some(
26890                            Rpc_::Payload::ReqWifiClearApList(::core::default::Default::default()),
26891                        );
26892                    };
26893                    mut_ref.decode_len_delimited(decoder)?;
26894                }
26895                291u32 => {
26896                    let mut_ref = loop {
26897                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
26898                            if let Rpc_::Payload::ReqWifiRestore(variant) = &mut *variant {
26899                                break &mut *variant;
26900                            }
26901                        }
26902                        self.r#payload = ::core::option::Option::Some(
26903                            Rpc_::Payload::ReqWifiRestore(::core::default::Default::default()),
26904                        );
26905                    };
26906                    mut_ref.decode_len_delimited(decoder)?;
26907                }
26908                292u32 => {
26909                    let mut_ref = loop {
26910                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
26911                            if let Rpc_::Payload::ReqWifiClearFastConnect(variant) = &mut *variant {
26912                                break &mut *variant;
26913                            }
26914                        }
26915                        self.r#payload =
26916                            ::core::option::Option::Some(Rpc_::Payload::ReqWifiClearFastConnect(
26917                                ::core::default::Default::default(),
26918                            ));
26919                    };
26920                    mut_ref.decode_len_delimited(decoder)?;
26921                }
26922                293u32 => {
26923                    let mut_ref = loop {
26924                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
26925                            if let Rpc_::Payload::ReqWifiDeauthSta(variant) = &mut *variant {
26926                                break &mut *variant;
26927                            }
26928                        }
26929                        self.r#payload = ::core::option::Option::Some(
26930                            Rpc_::Payload::ReqWifiDeauthSta(::core::default::Default::default()),
26931                        );
26932                    };
26933                    mut_ref.decode_len_delimited(decoder)?;
26934                }
26935                294u32 => {
26936                    let mut_ref = loop {
26937                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
26938                            if let Rpc_::Payload::ReqWifiStaGetApInfo(variant) = &mut *variant {
26939                                break &mut *variant;
26940                            }
26941                        }
26942                        self.r#payload = ::core::option::Option::Some(
26943                            Rpc_::Payload::ReqWifiStaGetApInfo(::core::default::Default::default()),
26944                        );
26945                    };
26946                    mut_ref.decode_len_delimited(decoder)?;
26947                }
26948                297u32 => {
26949                    let mut_ref = loop {
26950                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
26951                            if let Rpc_::Payload::ReqWifiSetProtocol(variant) = &mut *variant {
26952                                break &mut *variant;
26953                            }
26954                        }
26955                        self.r#payload = ::core::option::Option::Some(
26956                            Rpc_::Payload::ReqWifiSetProtocol(::core::default::Default::default()),
26957                        );
26958                    };
26959                    mut_ref.decode_len_delimited(decoder)?;
26960                }
26961                298u32 => {
26962                    let mut_ref = loop {
26963                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
26964                            if let Rpc_::Payload::ReqWifiGetProtocol(variant) = &mut *variant {
26965                                break &mut *variant;
26966                            }
26967                        }
26968                        self.r#payload = ::core::option::Option::Some(
26969                            Rpc_::Payload::ReqWifiGetProtocol(::core::default::Default::default()),
26970                        );
26971                    };
26972                    mut_ref.decode_len_delimited(decoder)?;
26973                }
26974                299u32 => {
26975                    let mut_ref = loop {
26976                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
26977                            if let Rpc_::Payload::ReqWifiSetBandwidth(variant) = &mut *variant {
26978                                break &mut *variant;
26979                            }
26980                        }
26981                        self.r#payload = ::core::option::Option::Some(
26982                            Rpc_::Payload::ReqWifiSetBandwidth(::core::default::Default::default()),
26983                        );
26984                    };
26985                    mut_ref.decode_len_delimited(decoder)?;
26986                }
26987                300u32 => {
26988                    let mut_ref = loop {
26989                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
26990                            if let Rpc_::Payload::ReqWifiGetBandwidth(variant) = &mut *variant {
26991                                break &mut *variant;
26992                            }
26993                        }
26994                        self.r#payload = ::core::option::Option::Some(
26995                            Rpc_::Payload::ReqWifiGetBandwidth(::core::default::Default::default()),
26996                        );
26997                    };
26998                    mut_ref.decode_len_delimited(decoder)?;
26999                }
27000                301u32 => {
27001                    let mut_ref = loop {
27002                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
27003                            if let Rpc_::Payload::ReqWifiSetChannel(variant) = &mut *variant {
27004                                break &mut *variant;
27005                            }
27006                        }
27007                        self.r#payload = ::core::option::Option::Some(
27008                            Rpc_::Payload::ReqWifiSetChannel(::core::default::Default::default()),
27009                        );
27010                    };
27011                    mut_ref.decode_len_delimited(decoder)?;
27012                }
27013                302u32 => {
27014                    let mut_ref = loop {
27015                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
27016                            if let Rpc_::Payload::ReqWifiGetChannel(variant) = &mut *variant {
27017                                break &mut *variant;
27018                            }
27019                        }
27020                        self.r#payload = ::core::option::Option::Some(
27021                            Rpc_::Payload::ReqWifiGetChannel(::core::default::Default::default()),
27022                        );
27023                    };
27024                    mut_ref.decode_len_delimited(decoder)?;
27025                }
27026                303u32 => {
27027                    let mut_ref = loop {
27028                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
27029                            if let Rpc_::Payload::ReqWifiSetCountry(variant) = &mut *variant {
27030                                break &mut *variant;
27031                            }
27032                        }
27033                        self.r#payload = ::core::option::Option::Some(
27034                            Rpc_::Payload::ReqWifiSetCountry(::core::default::Default::default()),
27035                        );
27036                    };
27037                    mut_ref.decode_len_delimited(decoder)?;
27038                }
27039                304u32 => {
27040                    let mut_ref = loop {
27041                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
27042                            if let Rpc_::Payload::ReqWifiGetCountry(variant) = &mut *variant {
27043                                break &mut *variant;
27044                            }
27045                        }
27046                        self.r#payload = ::core::option::Option::Some(
27047                            Rpc_::Payload::ReqWifiGetCountry(::core::default::Default::default()),
27048                        );
27049                    };
27050                    mut_ref.decode_len_delimited(decoder)?;
27051                }
27052                311u32 => {
27053                    let mut_ref = loop {
27054                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
27055                            if let Rpc_::Payload::ReqWifiApGetStaList(variant) = &mut *variant {
27056                                break &mut *variant;
27057                            }
27058                        }
27059                        self.r#payload = ::core::option::Option::Some(
27060                            Rpc_::Payload::ReqWifiApGetStaList(::core::default::Default::default()),
27061                        );
27062                    };
27063                    mut_ref.decode_len_delimited(decoder)?;
27064                }
27065                312u32 => {
27066                    let mut_ref = loop {
27067                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
27068                            if let Rpc_::Payload::ReqWifiApGetStaAid(variant) = &mut *variant {
27069                                break &mut *variant;
27070                            }
27071                        }
27072                        self.r#payload = ::core::option::Option::Some(
27073                            Rpc_::Payload::ReqWifiApGetStaAid(::core::default::Default::default()),
27074                        );
27075                    };
27076                    mut_ref.decode_len_delimited(decoder)?;
27077                }
27078                313u32 => {
27079                    let mut_ref = loop {
27080                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
27081                            if let Rpc_::Payload::ReqWifiSetStorage(variant) = &mut *variant {
27082                                break &mut *variant;
27083                            }
27084                        }
27085                        self.r#payload = ::core::option::Option::Some(
27086                            Rpc_::Payload::ReqWifiSetStorage(::core::default::Default::default()),
27087                        );
27088                    };
27089                    mut_ref.decode_len_delimited(decoder)?;
27090                }
27091                334u32 => {
27092                    let mut_ref = loop {
27093                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
27094                            if let Rpc_::Payload::ReqWifiSetCountryCode(variant) = &mut *variant {
27095                                break &mut *variant;
27096                            }
27097                        }
27098                        self.r#payload =
27099                            ::core::option::Option::Some(Rpc_::Payload::ReqWifiSetCountryCode(
27100                                ::core::default::Default::default(),
27101                            ));
27102                    };
27103                    mut_ref.decode_len_delimited(decoder)?;
27104                }
27105                335u32 => {
27106                    let mut_ref = loop {
27107                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
27108                            if let Rpc_::Payload::ReqWifiGetCountryCode(variant) = &mut *variant {
27109                                break &mut *variant;
27110                            }
27111                        }
27112                        self.r#payload =
27113                            ::core::option::Option::Some(Rpc_::Payload::ReqWifiGetCountryCode(
27114                                ::core::default::Default::default(),
27115                            ));
27116                    };
27117                    mut_ref.decode_len_delimited(decoder)?;
27118                }
27119                338u32 => {
27120                    let mut_ref = loop {
27121                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
27122                            if let Rpc_::Payload::ReqWifiStaGetAid(variant) = &mut *variant {
27123                                break &mut *variant;
27124                            }
27125                        }
27126                        self.r#payload = ::core::option::Option::Some(
27127                            Rpc_::Payload::ReqWifiStaGetAid(::core::default::Default::default()),
27128                        );
27129                    };
27130                    mut_ref.decode_len_delimited(decoder)?;
27131                }
27132                339u32 => {
27133                    let mut_ref = loop {
27134                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
27135                            if let Rpc_::Payload::ReqWifiStaGetNegotiatedPhymode(variant) =
27136                                &mut *variant
27137                            {
27138                                break &mut *variant;
27139                            }
27140                        }
27141                        self.r#payload = ::core::option::Option::Some(
27142                            Rpc_::Payload::ReqWifiStaGetNegotiatedPhymode(
27143                                ::core::default::Default::default(),
27144                            ),
27145                        );
27146                    };
27147                    mut_ref.decode_len_delimited(decoder)?;
27148                }
27149                341u32 => {
27150                    let mut_ref = loop {
27151                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
27152                            if let Rpc_::Payload::ReqWifiStaGetRssi(variant) = &mut *variant {
27153                                break &mut *variant;
27154                            }
27155                        }
27156                        self.r#payload = ::core::option::Option::Some(
27157                            Rpc_::Payload::ReqWifiStaGetRssi(::core::default::Default::default()),
27158                        );
27159                    };
27160                    mut_ref.decode_len_delimited(decoder)?;
27161                }
27162                342u32 => {
27163                    let mut_ref = loop {
27164                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
27165                            if let Rpc_::Payload::ReqWifiSetProtocols(variant) = &mut *variant {
27166                                break &mut *variant;
27167                            }
27168                        }
27169                        self.r#payload = ::core::option::Option::Some(
27170                            Rpc_::Payload::ReqWifiSetProtocols(::core::default::Default::default()),
27171                        );
27172                    };
27173                    mut_ref.decode_len_delimited(decoder)?;
27174                }
27175                343u32 => {
27176                    let mut_ref = loop {
27177                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
27178                            if let Rpc_::Payload::ReqWifiGetProtocols(variant) = &mut *variant {
27179                                break &mut *variant;
27180                            }
27181                        }
27182                        self.r#payload = ::core::option::Option::Some(
27183                            Rpc_::Payload::ReqWifiGetProtocols(::core::default::Default::default()),
27184                        );
27185                    };
27186                    mut_ref.decode_len_delimited(decoder)?;
27187                }
27188                344u32 => {
27189                    let mut_ref = loop {
27190                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
27191                            if let Rpc_::Payload::ReqWifiSetBandwidths(variant) = &mut *variant {
27192                                break &mut *variant;
27193                            }
27194                        }
27195                        self.r#payload = ::core::option::Option::Some(
27196                            Rpc_::Payload::ReqWifiSetBandwidths(::core::default::Default::default()),
27197                        );
27198                    };
27199                    mut_ref.decode_len_delimited(decoder)?;
27200                }
27201                345u32 => {
27202                    let mut_ref = loop {
27203                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
27204                            if let Rpc_::Payload::ReqWifiGetBandwidths(variant) = &mut *variant {
27205                                break &mut *variant;
27206                            }
27207                        }
27208                        self.r#payload = ::core::option::Option::Some(
27209                            Rpc_::Payload::ReqWifiGetBandwidths(::core::default::Default::default()),
27210                        );
27211                    };
27212                    mut_ref.decode_len_delimited(decoder)?;
27213                }
27214                346u32 => {
27215                    let mut_ref = loop {
27216                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
27217                            if let Rpc_::Payload::ReqWifiSetBand(variant) = &mut *variant {
27218                                break &mut *variant;
27219                            }
27220                        }
27221                        self.r#payload = ::core::option::Option::Some(
27222                            Rpc_::Payload::ReqWifiSetBand(::core::default::Default::default()),
27223                        );
27224                    };
27225                    mut_ref.decode_len_delimited(decoder)?;
27226                }
27227                347u32 => {
27228                    let mut_ref = loop {
27229                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
27230                            if let Rpc_::Payload::ReqWifiGetBand(variant) = &mut *variant {
27231                                break &mut *variant;
27232                            }
27233                        }
27234                        self.r#payload = ::core::option::Option::Some(
27235                            Rpc_::Payload::ReqWifiGetBand(::core::default::Default::default()),
27236                        );
27237                    };
27238                    mut_ref.decode_len_delimited(decoder)?;
27239                }
27240                348u32 => {
27241                    let mut_ref = loop {
27242                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
27243                            if let Rpc_::Payload::ReqWifiSetBandmode(variant) = &mut *variant {
27244                                break &mut *variant;
27245                            }
27246                        }
27247                        self.r#payload = ::core::option::Option::Some(
27248                            Rpc_::Payload::ReqWifiSetBandmode(::core::default::Default::default()),
27249                        );
27250                    };
27251                    mut_ref.decode_len_delimited(decoder)?;
27252                }
27253                349u32 => {
27254                    let mut_ref = loop {
27255                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
27256                            if let Rpc_::Payload::ReqWifiGetBandmode(variant) = &mut *variant {
27257                                break &mut *variant;
27258                            }
27259                        }
27260                        self.r#payload = ::core::option::Option::Some(
27261                            Rpc_::Payload::ReqWifiGetBandmode(::core::default::Default::default()),
27262                        );
27263                    };
27264                    mut_ref.decode_len_delimited(decoder)?;
27265                }
27266                350u32 => {
27267                    let mut_ref = loop {
27268                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
27269                            if let Rpc_::Payload::ReqGetCoprocessorFwversion(variant) =
27270                                &mut *variant
27271                            {
27272                                break &mut *variant;
27273                            }
27274                        }
27275                        self.r#payload = ::core::option::Option::Some(
27276                            Rpc_::Payload::ReqGetCoprocessorFwversion(
27277                                ::core::default::Default::default(),
27278                            ),
27279                        );
27280                    };
27281                    mut_ref.decode_len_delimited(decoder)?;
27282                }
27283                351u32 => {
27284                    let mut_ref = loop {
27285                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
27286                            if let Rpc_::Payload::ReqWifiScanGetApRecord(variant) = &mut *variant {
27287                                break &mut *variant;
27288                            }
27289                        }
27290                        self.r#payload =
27291                            ::core::option::Option::Some(Rpc_::Payload::ReqWifiScanGetApRecord(
27292                                ::core::default::Default::default(),
27293                            ));
27294                    };
27295                    mut_ref.decode_len_delimited(decoder)?;
27296                }
27297                513u32 => {
27298                    let mut_ref = loop {
27299                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
27300                            if let Rpc_::Payload::RespGetMacAddress(variant) = &mut *variant {
27301                                break &mut *variant;
27302                            }
27303                        }
27304                        self.r#payload = ::core::option::Option::Some(
27305                            Rpc_::Payload::RespGetMacAddress(::core::default::Default::default()),
27306                        );
27307                    };
27308                    mut_ref.decode_len_delimited(decoder)?;
27309                }
27310                514u32 => {
27311                    let mut_ref = loop {
27312                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
27313                            if let Rpc_::Payload::RespSetMacAddress(variant) = &mut *variant {
27314                                break &mut *variant;
27315                            }
27316                        }
27317                        self.r#payload = ::core::option::Option::Some(
27318                            Rpc_::Payload::RespSetMacAddress(::core::default::Default::default()),
27319                        );
27320                    };
27321                    mut_ref.decode_len_delimited(decoder)?;
27322                }
27323                515u32 => {
27324                    let mut_ref = loop {
27325                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
27326                            if let Rpc_::Payload::RespGetWifiMode(variant) = &mut *variant {
27327                                break &mut *variant;
27328                            }
27329                        }
27330                        self.r#payload = ::core::option::Option::Some(
27331                            Rpc_::Payload::RespGetWifiMode(::core::default::Default::default()),
27332                        );
27333                    };
27334                    mut_ref.decode_len_delimited(decoder)?;
27335                }
27336                516u32 => {
27337                    let mut_ref = loop {
27338                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
27339                            if let Rpc_::Payload::RespSetWifiMode(variant) = &mut *variant {
27340                                break &mut *variant;
27341                            }
27342                        }
27343                        self.r#payload = ::core::option::Option::Some(
27344                            Rpc_::Payload::RespSetWifiMode(::core::default::Default::default()),
27345                        );
27346                    };
27347                    mut_ref.decode_len_delimited(decoder)?;
27348                }
27349                526u32 => {
27350                    let mut_ref = loop {
27351                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
27352                            if let Rpc_::Payload::RespWifiSetPs(variant) = &mut *variant {
27353                                break &mut *variant;
27354                            }
27355                        }
27356                        self.r#payload = ::core::option::Option::Some(
27357                            Rpc_::Payload::RespWifiSetPs(::core::default::Default::default()),
27358                        );
27359                    };
27360                    mut_ref.decode_len_delimited(decoder)?;
27361                }
27362                527u32 => {
27363                    let mut_ref = loop {
27364                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
27365                            if let Rpc_::Payload::RespWifiGetPs(variant) = &mut *variant {
27366                                break &mut *variant;
27367                            }
27368                        }
27369                        self.r#payload = ::core::option::Option::Some(
27370                            Rpc_::Payload::RespWifiGetPs(::core::default::Default::default()),
27371                        );
27372                    };
27373                    mut_ref.decode_len_delimited(decoder)?;
27374                }
27375                528u32 => {
27376                    let mut_ref = loop {
27377                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
27378                            if let Rpc_::Payload::RespOtaBegin(variant) = &mut *variant {
27379                                break &mut *variant;
27380                            }
27381                        }
27382                        self.r#payload = ::core::option::Option::Some(Rpc_::Payload::RespOtaBegin(
27383                            ::core::default::Default::default(),
27384                        ));
27385                    };
27386                    mut_ref.decode_len_delimited(decoder)?;
27387                }
27388                529u32 => {
27389                    let mut_ref = loop {
27390                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
27391                            if let Rpc_::Payload::RespOtaWrite(variant) = &mut *variant {
27392                                break &mut *variant;
27393                            }
27394                        }
27395                        self.r#payload = ::core::option::Option::Some(Rpc_::Payload::RespOtaWrite(
27396                            ::core::default::Default::default(),
27397                        ));
27398                    };
27399                    mut_ref.decode_len_delimited(decoder)?;
27400                }
27401                530u32 => {
27402                    let mut_ref = loop {
27403                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
27404                            if let Rpc_::Payload::RespOtaEnd(variant) = &mut *variant {
27405                                break &mut *variant;
27406                            }
27407                        }
27408                        self.r#payload = ::core::option::Option::Some(Rpc_::Payload::RespOtaEnd(
27409                            ::core::default::Default::default(),
27410                        ));
27411                    };
27412                    mut_ref.decode_len_delimited(decoder)?;
27413                }
27414                531u32 => {
27415                    let mut_ref = loop {
27416                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
27417                            if let Rpc_::Payload::RespSetWifiMaxTxPower(variant) = &mut *variant {
27418                                break &mut *variant;
27419                            }
27420                        }
27421                        self.r#payload =
27422                            ::core::option::Option::Some(Rpc_::Payload::RespSetWifiMaxTxPower(
27423                                ::core::default::Default::default(),
27424                            ));
27425                    };
27426                    mut_ref.decode_len_delimited(decoder)?;
27427                }
27428                532u32 => {
27429                    let mut_ref = loop {
27430                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
27431                            if let Rpc_::Payload::RespGetWifiMaxTxPower(variant) = &mut *variant {
27432                                break &mut *variant;
27433                            }
27434                        }
27435                        self.r#payload =
27436                            ::core::option::Option::Some(Rpc_::Payload::RespGetWifiMaxTxPower(
27437                                ::core::default::Default::default(),
27438                            ));
27439                    };
27440                    mut_ref.decode_len_delimited(decoder)?;
27441                }
27442                533u32 => {
27443                    let mut_ref = loop {
27444                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
27445                            if let Rpc_::Payload::RespConfigHeartbeat(variant) = &mut *variant {
27446                                break &mut *variant;
27447                            }
27448                        }
27449                        self.r#payload = ::core::option::Option::Some(
27450                            Rpc_::Payload::RespConfigHeartbeat(::core::default::Default::default()),
27451                        );
27452                    };
27453                    mut_ref.decode_len_delimited(decoder)?;
27454                }
27455                534u32 => {
27456                    let mut_ref = loop {
27457                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
27458                            if let Rpc_::Payload::RespWifiInit(variant) = &mut *variant {
27459                                break &mut *variant;
27460                            }
27461                        }
27462                        self.r#payload = ::core::option::Option::Some(Rpc_::Payload::RespWifiInit(
27463                            ::core::default::Default::default(),
27464                        ));
27465                    };
27466                    mut_ref.decode_len_delimited(decoder)?;
27467                }
27468                535u32 => {
27469                    let mut_ref = loop {
27470                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
27471                            if let Rpc_::Payload::RespWifiDeinit(variant) = &mut *variant {
27472                                break &mut *variant;
27473                            }
27474                        }
27475                        self.r#payload = ::core::option::Option::Some(
27476                            Rpc_::Payload::RespWifiDeinit(::core::default::Default::default()),
27477                        );
27478                    };
27479                    mut_ref.decode_len_delimited(decoder)?;
27480                }
27481                536u32 => {
27482                    let mut_ref = loop {
27483                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
27484                            if let Rpc_::Payload::RespWifiStart(variant) = &mut *variant {
27485                                break &mut *variant;
27486                            }
27487                        }
27488                        self.r#payload = ::core::option::Option::Some(
27489                            Rpc_::Payload::RespWifiStart(::core::default::Default::default()),
27490                        );
27491                    };
27492                    mut_ref.decode_len_delimited(decoder)?;
27493                }
27494                537u32 => {
27495                    let mut_ref = loop {
27496                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
27497                            if let Rpc_::Payload::RespWifiStop(variant) = &mut *variant {
27498                                break &mut *variant;
27499                            }
27500                        }
27501                        self.r#payload = ::core::option::Option::Some(Rpc_::Payload::RespWifiStop(
27502                            ::core::default::Default::default(),
27503                        ));
27504                    };
27505                    mut_ref.decode_len_delimited(decoder)?;
27506                }
27507                538u32 => {
27508                    let mut_ref = loop {
27509                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
27510                            if let Rpc_::Payload::RespWifiConnect(variant) = &mut *variant {
27511                                break &mut *variant;
27512                            }
27513                        }
27514                        self.r#payload = ::core::option::Option::Some(
27515                            Rpc_::Payload::RespWifiConnect(::core::default::Default::default()),
27516                        );
27517                    };
27518                    mut_ref.decode_len_delimited(decoder)?;
27519                }
27520                539u32 => {
27521                    let mut_ref = loop {
27522                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
27523                            if let Rpc_::Payload::RespWifiDisconnect(variant) = &mut *variant {
27524                                break &mut *variant;
27525                            }
27526                        }
27527                        self.r#payload = ::core::option::Option::Some(
27528                            Rpc_::Payload::RespWifiDisconnect(::core::default::Default::default()),
27529                        );
27530                    };
27531                    mut_ref.decode_len_delimited(decoder)?;
27532                }
27533                540u32 => {
27534                    let mut_ref = loop {
27535                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
27536                            if let Rpc_::Payload::RespWifiSetConfig(variant) = &mut *variant {
27537                                break &mut *variant;
27538                            }
27539                        }
27540                        self.r#payload = ::core::option::Option::Some(
27541                            Rpc_::Payload::RespWifiSetConfig(::core::default::Default::default()),
27542                        );
27543                    };
27544                    mut_ref.decode_len_delimited(decoder)?;
27545                }
27546                541u32 => {
27547                    let mut_ref = loop {
27548                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
27549                            if let Rpc_::Payload::RespWifiGetConfig(variant) = &mut *variant {
27550                                break &mut *variant;
27551                            }
27552                        }
27553                        self.r#payload = ::core::option::Option::Some(
27554                            Rpc_::Payload::RespWifiGetConfig(::core::default::Default::default()),
27555                        );
27556                    };
27557                    mut_ref.decode_len_delimited(decoder)?;
27558                }
27559                542u32 => {
27560                    let mut_ref = loop {
27561                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
27562                            if let Rpc_::Payload::RespWifiScanStart(variant) = &mut *variant {
27563                                break &mut *variant;
27564                            }
27565                        }
27566                        self.r#payload = ::core::option::Option::Some(
27567                            Rpc_::Payload::RespWifiScanStart(::core::default::Default::default()),
27568                        );
27569                    };
27570                    mut_ref.decode_len_delimited(decoder)?;
27571                }
27572                543u32 => {
27573                    let mut_ref = loop {
27574                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
27575                            if let Rpc_::Payload::RespWifiScanStop(variant) = &mut *variant {
27576                                break &mut *variant;
27577                            }
27578                        }
27579                        self.r#payload = ::core::option::Option::Some(
27580                            Rpc_::Payload::RespWifiScanStop(::core::default::Default::default()),
27581                        );
27582                    };
27583                    mut_ref.decode_len_delimited(decoder)?;
27584                }
27585                544u32 => {
27586                    let mut_ref = loop {
27587                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
27588                            if let Rpc_::Payload::RespWifiScanGetApNum(variant) = &mut *variant {
27589                                break &mut *variant;
27590                            }
27591                        }
27592                        self.r#payload = ::core::option::Option::Some(
27593                            Rpc_::Payload::RespWifiScanGetApNum(::core::default::Default::default()),
27594                        );
27595                    };
27596                    mut_ref.decode_len_delimited(decoder)?;
27597                }
27598                545u32 => {
27599                    let mut_ref = loop {
27600                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
27601                            if let Rpc_::Payload::RespWifiScanGetApRecords(variant) = &mut *variant
27602                            {
27603                                break &mut *variant;
27604                            }
27605                        }
27606                        self.r#payload =
27607                            ::core::option::Option::Some(Rpc_::Payload::RespWifiScanGetApRecords(
27608                                ::core::default::Default::default(),
27609                            ));
27610                    };
27611                    mut_ref.decode_len_delimited(decoder)?;
27612                }
27613                546u32 => {
27614                    let mut_ref = loop {
27615                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
27616                            if let Rpc_::Payload::RespWifiClearApList(variant) = &mut *variant {
27617                                break &mut *variant;
27618                            }
27619                        }
27620                        self.r#payload = ::core::option::Option::Some(
27621                            Rpc_::Payload::RespWifiClearApList(::core::default::Default::default()),
27622                        );
27623                    };
27624                    mut_ref.decode_len_delimited(decoder)?;
27625                }
27626                547u32 => {
27627                    let mut_ref = loop {
27628                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
27629                            if let Rpc_::Payload::RespWifiRestore(variant) = &mut *variant {
27630                                break &mut *variant;
27631                            }
27632                        }
27633                        self.r#payload = ::core::option::Option::Some(
27634                            Rpc_::Payload::RespWifiRestore(::core::default::Default::default()),
27635                        );
27636                    };
27637                    mut_ref.decode_len_delimited(decoder)?;
27638                }
27639                548u32 => {
27640                    let mut_ref = loop {
27641                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
27642                            if let Rpc_::Payload::RespWifiClearFastConnect(variant) = &mut *variant
27643                            {
27644                                break &mut *variant;
27645                            }
27646                        }
27647                        self.r#payload =
27648                            ::core::option::Option::Some(Rpc_::Payload::RespWifiClearFastConnect(
27649                                ::core::default::Default::default(),
27650                            ));
27651                    };
27652                    mut_ref.decode_len_delimited(decoder)?;
27653                }
27654                549u32 => {
27655                    let mut_ref = loop {
27656                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
27657                            if let Rpc_::Payload::RespWifiDeauthSta(variant) = &mut *variant {
27658                                break &mut *variant;
27659                            }
27660                        }
27661                        self.r#payload = ::core::option::Option::Some(
27662                            Rpc_::Payload::RespWifiDeauthSta(::core::default::Default::default()),
27663                        );
27664                    };
27665                    mut_ref.decode_len_delimited(decoder)?;
27666                }
27667                550u32 => {
27668                    let mut_ref = loop {
27669                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
27670                            if let Rpc_::Payload::RespWifiStaGetApInfo(variant) = &mut *variant {
27671                                break &mut *variant;
27672                            }
27673                        }
27674                        self.r#payload = ::core::option::Option::Some(
27675                            Rpc_::Payload::RespWifiStaGetApInfo(::core::default::Default::default()),
27676                        );
27677                    };
27678                    mut_ref.decode_len_delimited(decoder)?;
27679                }
27680                553u32 => {
27681                    let mut_ref = loop {
27682                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
27683                            if let Rpc_::Payload::RespWifiSetProtocol(variant) = &mut *variant {
27684                                break &mut *variant;
27685                            }
27686                        }
27687                        self.r#payload = ::core::option::Option::Some(
27688                            Rpc_::Payload::RespWifiSetProtocol(::core::default::Default::default()),
27689                        );
27690                    };
27691                    mut_ref.decode_len_delimited(decoder)?;
27692                }
27693                554u32 => {
27694                    let mut_ref = loop {
27695                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
27696                            if let Rpc_::Payload::RespWifiGetProtocol(variant) = &mut *variant {
27697                                break &mut *variant;
27698                            }
27699                        }
27700                        self.r#payload = ::core::option::Option::Some(
27701                            Rpc_::Payload::RespWifiGetProtocol(::core::default::Default::default()),
27702                        );
27703                    };
27704                    mut_ref.decode_len_delimited(decoder)?;
27705                }
27706                555u32 => {
27707                    let mut_ref = loop {
27708                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
27709                            if let Rpc_::Payload::RespWifiSetBandwidth(variant) = &mut *variant {
27710                                break &mut *variant;
27711                            }
27712                        }
27713                        self.r#payload = ::core::option::Option::Some(
27714                            Rpc_::Payload::RespWifiSetBandwidth(::core::default::Default::default()),
27715                        );
27716                    };
27717                    mut_ref.decode_len_delimited(decoder)?;
27718                }
27719                556u32 => {
27720                    let mut_ref = loop {
27721                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
27722                            if let Rpc_::Payload::RespWifiGetBandwidth(variant) = &mut *variant {
27723                                break &mut *variant;
27724                            }
27725                        }
27726                        self.r#payload = ::core::option::Option::Some(
27727                            Rpc_::Payload::RespWifiGetBandwidth(::core::default::Default::default()),
27728                        );
27729                    };
27730                    mut_ref.decode_len_delimited(decoder)?;
27731                }
27732                557u32 => {
27733                    let mut_ref = loop {
27734                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
27735                            if let Rpc_::Payload::RespWifiSetChannel(variant) = &mut *variant {
27736                                break &mut *variant;
27737                            }
27738                        }
27739                        self.r#payload = ::core::option::Option::Some(
27740                            Rpc_::Payload::RespWifiSetChannel(::core::default::Default::default()),
27741                        );
27742                    };
27743                    mut_ref.decode_len_delimited(decoder)?;
27744                }
27745                558u32 => {
27746                    let mut_ref = loop {
27747                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
27748                            if let Rpc_::Payload::RespWifiGetChannel(variant) = &mut *variant {
27749                                break &mut *variant;
27750                            }
27751                        }
27752                        self.r#payload = ::core::option::Option::Some(
27753                            Rpc_::Payload::RespWifiGetChannel(::core::default::Default::default()),
27754                        );
27755                    };
27756                    mut_ref.decode_len_delimited(decoder)?;
27757                }
27758                559u32 => {
27759                    let mut_ref = loop {
27760                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
27761                            if let Rpc_::Payload::RespWifiSetCountry(variant) = &mut *variant {
27762                                break &mut *variant;
27763                            }
27764                        }
27765                        self.r#payload = ::core::option::Option::Some(
27766                            Rpc_::Payload::RespWifiSetCountry(::core::default::Default::default()),
27767                        );
27768                    };
27769                    mut_ref.decode_len_delimited(decoder)?;
27770                }
27771                560u32 => {
27772                    let mut_ref = loop {
27773                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
27774                            if let Rpc_::Payload::RespWifiGetCountry(variant) = &mut *variant {
27775                                break &mut *variant;
27776                            }
27777                        }
27778                        self.r#payload = ::core::option::Option::Some(
27779                            Rpc_::Payload::RespWifiGetCountry(::core::default::Default::default()),
27780                        );
27781                    };
27782                    mut_ref.decode_len_delimited(decoder)?;
27783                }
27784                567u32 => {
27785                    let mut_ref = loop {
27786                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
27787                            if let Rpc_::Payload::RespWifiApGetStaList(variant) = &mut *variant {
27788                                break &mut *variant;
27789                            }
27790                        }
27791                        self.r#payload = ::core::option::Option::Some(
27792                            Rpc_::Payload::RespWifiApGetStaList(::core::default::Default::default()),
27793                        );
27794                    };
27795                    mut_ref.decode_len_delimited(decoder)?;
27796                }
27797                568u32 => {
27798                    let mut_ref = loop {
27799                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
27800                            if let Rpc_::Payload::RespWifiApGetStaAid(variant) = &mut *variant {
27801                                break &mut *variant;
27802                            }
27803                        }
27804                        self.r#payload = ::core::option::Option::Some(
27805                            Rpc_::Payload::RespWifiApGetStaAid(::core::default::Default::default()),
27806                        );
27807                    };
27808                    mut_ref.decode_len_delimited(decoder)?;
27809                }
27810                569u32 => {
27811                    let mut_ref = loop {
27812                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
27813                            if let Rpc_::Payload::RespWifiSetStorage(variant) = &mut *variant {
27814                                break &mut *variant;
27815                            }
27816                        }
27817                        self.r#payload = ::core::option::Option::Some(
27818                            Rpc_::Payload::RespWifiSetStorage(::core::default::Default::default()),
27819                        );
27820                    };
27821                    mut_ref.decode_len_delimited(decoder)?;
27822                }
27823                590u32 => {
27824                    let mut_ref = loop {
27825                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
27826                            if let Rpc_::Payload::RespWifiSetCountryCode(variant) = &mut *variant {
27827                                break &mut *variant;
27828                            }
27829                        }
27830                        self.r#payload =
27831                            ::core::option::Option::Some(Rpc_::Payload::RespWifiSetCountryCode(
27832                                ::core::default::Default::default(),
27833                            ));
27834                    };
27835                    mut_ref.decode_len_delimited(decoder)?;
27836                }
27837                591u32 => {
27838                    let mut_ref = loop {
27839                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
27840                            if let Rpc_::Payload::RespWifiGetCountryCode(variant) = &mut *variant {
27841                                break &mut *variant;
27842                            }
27843                        }
27844                        self.r#payload =
27845                            ::core::option::Option::Some(Rpc_::Payload::RespWifiGetCountryCode(
27846                                ::core::default::Default::default(),
27847                            ));
27848                    };
27849                    mut_ref.decode_len_delimited(decoder)?;
27850                }
27851                594u32 => {
27852                    let mut_ref = loop {
27853                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
27854                            if let Rpc_::Payload::RespWifiStaGetAid(variant) = &mut *variant {
27855                                break &mut *variant;
27856                            }
27857                        }
27858                        self.r#payload = ::core::option::Option::Some(
27859                            Rpc_::Payload::RespWifiStaGetAid(::core::default::Default::default()),
27860                        );
27861                    };
27862                    mut_ref.decode_len_delimited(decoder)?;
27863                }
27864                595u32 => {
27865                    let mut_ref = loop {
27866                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
27867                            if let Rpc_::Payload::RespWifiStaGetNegotiatedPhymode(variant) =
27868                                &mut *variant
27869                            {
27870                                break &mut *variant;
27871                            }
27872                        }
27873                        self.r#payload = ::core::option::Option::Some(
27874                            Rpc_::Payload::RespWifiStaGetNegotiatedPhymode(
27875                                ::core::default::Default::default(),
27876                            ),
27877                        );
27878                    };
27879                    mut_ref.decode_len_delimited(decoder)?;
27880                }
27881                597u32 => {
27882                    let mut_ref = loop {
27883                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
27884                            if let Rpc_::Payload::RespWifiStaGetRssi(variant) = &mut *variant {
27885                                break &mut *variant;
27886                            }
27887                        }
27888                        self.r#payload = ::core::option::Option::Some(
27889                            Rpc_::Payload::RespWifiStaGetRssi(::core::default::Default::default()),
27890                        );
27891                    };
27892                    mut_ref.decode_len_delimited(decoder)?;
27893                }
27894                598u32 => {
27895                    let mut_ref = loop {
27896                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
27897                            if let Rpc_::Payload::RespWifiSetProtocols(variant) = &mut *variant {
27898                                break &mut *variant;
27899                            }
27900                        }
27901                        self.r#payload = ::core::option::Option::Some(
27902                            Rpc_::Payload::RespWifiSetProtocols(::core::default::Default::default()),
27903                        );
27904                    };
27905                    mut_ref.decode_len_delimited(decoder)?;
27906                }
27907                599u32 => {
27908                    let mut_ref = loop {
27909                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
27910                            if let Rpc_::Payload::RespWifiGetProtocols(variant) = &mut *variant {
27911                                break &mut *variant;
27912                            }
27913                        }
27914                        self.r#payload = ::core::option::Option::Some(
27915                            Rpc_::Payload::RespWifiGetProtocols(::core::default::Default::default()),
27916                        );
27917                    };
27918                    mut_ref.decode_len_delimited(decoder)?;
27919                }
27920                600u32 => {
27921                    let mut_ref = loop {
27922                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
27923                            if let Rpc_::Payload::RespWifiSetBandwidths(variant) = &mut *variant {
27924                                break &mut *variant;
27925                            }
27926                        }
27927                        self.r#payload =
27928                            ::core::option::Option::Some(Rpc_::Payload::RespWifiSetBandwidths(
27929                                ::core::default::Default::default(),
27930                            ));
27931                    };
27932                    mut_ref.decode_len_delimited(decoder)?;
27933                }
27934                601u32 => {
27935                    let mut_ref = loop {
27936                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
27937                            if let Rpc_::Payload::RespWifiGetBandwidths(variant) = &mut *variant {
27938                                break &mut *variant;
27939                            }
27940                        }
27941                        self.r#payload =
27942                            ::core::option::Option::Some(Rpc_::Payload::RespWifiGetBandwidths(
27943                                ::core::default::Default::default(),
27944                            ));
27945                    };
27946                    mut_ref.decode_len_delimited(decoder)?;
27947                }
27948                602u32 => {
27949                    let mut_ref = loop {
27950                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
27951                            if let Rpc_::Payload::RespWifiSetBand(variant) = &mut *variant {
27952                                break &mut *variant;
27953                            }
27954                        }
27955                        self.r#payload = ::core::option::Option::Some(
27956                            Rpc_::Payload::RespWifiSetBand(::core::default::Default::default()),
27957                        );
27958                    };
27959                    mut_ref.decode_len_delimited(decoder)?;
27960                }
27961                603u32 => {
27962                    let mut_ref = loop {
27963                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
27964                            if let Rpc_::Payload::RespWifiGetBand(variant) = &mut *variant {
27965                                break &mut *variant;
27966                            }
27967                        }
27968                        self.r#payload = ::core::option::Option::Some(
27969                            Rpc_::Payload::RespWifiGetBand(::core::default::Default::default()),
27970                        );
27971                    };
27972                    mut_ref.decode_len_delimited(decoder)?;
27973                }
27974                604u32 => {
27975                    let mut_ref = loop {
27976                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
27977                            if let Rpc_::Payload::RespWifiSetBandmode(variant) = &mut *variant {
27978                                break &mut *variant;
27979                            }
27980                        }
27981                        self.r#payload = ::core::option::Option::Some(
27982                            Rpc_::Payload::RespWifiSetBandmode(::core::default::Default::default()),
27983                        );
27984                    };
27985                    mut_ref.decode_len_delimited(decoder)?;
27986                }
27987                605u32 => {
27988                    let mut_ref = loop {
27989                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
27990                            if let Rpc_::Payload::RespWifiGetBandmode(variant) = &mut *variant {
27991                                break &mut *variant;
27992                            }
27993                        }
27994                        self.r#payload = ::core::option::Option::Some(
27995                            Rpc_::Payload::RespWifiGetBandmode(::core::default::Default::default()),
27996                        );
27997                    };
27998                    mut_ref.decode_len_delimited(decoder)?;
27999                }
28000                606u32 => {
28001                    let mut_ref = loop {
28002                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
28003                            if let Rpc_::Payload::RespGetCoprocessorFwversion(variant) =
28004                                &mut *variant
28005                            {
28006                                break &mut *variant;
28007                            }
28008                        }
28009                        self.r#payload = ::core::option::Option::Some(
28010                            Rpc_::Payload::RespGetCoprocessorFwversion(
28011                                ::core::default::Default::default(),
28012                            ),
28013                        );
28014                    };
28015                    mut_ref.decode_len_delimited(decoder)?;
28016                }
28017                607u32 => {
28018                    let mut_ref = loop {
28019                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
28020                            if let Rpc_::Payload::RespWifiScanGetApRecord(variant) = &mut *variant {
28021                                break &mut *variant;
28022                            }
28023                        }
28024                        self.r#payload =
28025                            ::core::option::Option::Some(Rpc_::Payload::RespWifiScanGetApRecord(
28026                                ::core::default::Default::default(),
28027                            ));
28028                    };
28029                    mut_ref.decode_len_delimited(decoder)?;
28030                }
28031                769u32 => {
28032                    let mut_ref = loop {
28033                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
28034                            if let Rpc_::Payload::EventEspInit(variant) = &mut *variant {
28035                                break &mut *variant;
28036                            }
28037                        }
28038                        self.r#payload = ::core::option::Option::Some(Rpc_::Payload::EventEspInit(
28039                            ::core::default::Default::default(),
28040                        ));
28041                    };
28042                    mut_ref.decode_len_delimited(decoder)?;
28043                }
28044                770u32 => {
28045                    let mut_ref = loop {
28046                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
28047                            if let Rpc_::Payload::EventHeartbeat(variant) = &mut *variant {
28048                                break &mut *variant;
28049                            }
28050                        }
28051                        self.r#payload = ::core::option::Option::Some(
28052                            Rpc_::Payload::EventHeartbeat(::core::default::Default::default()),
28053                        );
28054                    };
28055                    mut_ref.decode_len_delimited(decoder)?;
28056                }
28057                771u32 => {
28058                    let mut_ref = loop {
28059                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
28060                            if let Rpc_::Payload::EventApStaConnected(variant) = &mut *variant {
28061                                break &mut *variant;
28062                            }
28063                        }
28064                        self.r#payload = ::core::option::Option::Some(
28065                            Rpc_::Payload::EventApStaConnected(::core::default::Default::default()),
28066                        );
28067                    };
28068                    mut_ref.decode_len_delimited(decoder)?;
28069                }
28070                772u32 => {
28071                    let mut_ref = loop {
28072                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
28073                            if let Rpc_::Payload::EventApStaDisconnected(variant) = &mut *variant {
28074                                break &mut *variant;
28075                            }
28076                        }
28077                        self.r#payload =
28078                            ::core::option::Option::Some(Rpc_::Payload::EventApStaDisconnected(
28079                                ::core::default::Default::default(),
28080                            ));
28081                    };
28082                    mut_ref.decode_len_delimited(decoder)?;
28083                }
28084                773u32 => {
28085                    let mut_ref = loop {
28086                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
28087                            if let Rpc_::Payload::EventWifiEventNoArgs(variant) = &mut *variant {
28088                                break &mut *variant;
28089                            }
28090                        }
28091                        self.r#payload = ::core::option::Option::Some(
28092                            Rpc_::Payload::EventWifiEventNoArgs(::core::default::Default::default()),
28093                        );
28094                    };
28095                    mut_ref.decode_len_delimited(decoder)?;
28096                }
28097                774u32 => {
28098                    let mut_ref = loop {
28099                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
28100                            if let Rpc_::Payload::EventStaScanDone(variant) = &mut *variant {
28101                                break &mut *variant;
28102                            }
28103                        }
28104                        self.r#payload = ::core::option::Option::Some(
28105                            Rpc_::Payload::EventStaScanDone(::core::default::Default::default()),
28106                        );
28107                    };
28108                    mut_ref.decode_len_delimited(decoder)?;
28109                }
28110                775u32 => {
28111                    let mut_ref = loop {
28112                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
28113                            if let Rpc_::Payload::EventStaConnected(variant) = &mut *variant {
28114                                break &mut *variant;
28115                            }
28116                        }
28117                        self.r#payload = ::core::option::Option::Some(
28118                            Rpc_::Payload::EventStaConnected(::core::default::Default::default()),
28119                        );
28120                    };
28121                    mut_ref.decode_len_delimited(decoder)?;
28122                }
28123                776u32 => {
28124                    let mut_ref = loop {
28125                        if let ::core::option::Option::Some(variant) = &mut self.r#payload {
28126                            if let Rpc_::Payload::EventStaDisconnected(variant) = &mut *variant {
28127                                break &mut *variant;
28128                            }
28129                        }
28130                        self.r#payload = ::core::option::Option::Some(
28131                            Rpc_::Payload::EventStaDisconnected(::core::default::Default::default()),
28132                        );
28133                    };
28134                    mut_ref.decode_len_delimited(decoder)?;
28135                }
28136                _ => {
28137                    decoder.skip_wire_value(tag.wire_type())?;
28138                }
28139            }
28140        }
28141        Ok(())
28142    }
28143}
28144impl ::micropb::MessageEncode for Rpc {
28145    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
28146        let mut max_size = 0;
28147        if let ::core::option::Option::Some(size) =
28148            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
28149        {
28150            max_size += size;
28151        } else {
28152            break 'msg (::core::option::Option::<usize>::None);
28153        };
28154        if let ::core::option::Option::Some(size) =
28155            ::micropb::const_map!(::core::option::Option::Some(10usize), |size| size + 1usize)
28156        {
28157            max_size += size;
28158        } else {
28159            break 'msg (::core::option::Option::<usize>::None);
28160        };
28161        if let ::core::option::Option::Some(size) =
28162            ::micropb::const_map!(::core::option::Option::Some(5usize), |size| size + 1usize)
28163        {
28164            max_size += size;
28165        } else {
28166            break 'msg (::core::option::Option::<usize>::None);
28167        };
28168        if let ::core::option::Option::Some(size) = 'oneof: {
28169            let mut max_size = 0;
28170            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28171                ::micropb::const_map!(
28172                    <Rpc_Req_GetMacAddress as ::micropb::MessageEncode>::MAX_SIZE,
28173                    |size| ::micropb::size::sizeof_len_record(size)
28174                ),
28175                |size| size + 2usize
28176            ) {
28177                if size > max_size {
28178                    max_size = size;
28179                }
28180            } else {
28181                break 'oneof (::core::option::Option::<usize>::None);
28182            }
28183            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28184                ::micropb::const_map!(
28185                    <Rpc_Req_SetMacAddress as ::micropb::MessageEncode>::MAX_SIZE,
28186                    |size| ::micropb::size::sizeof_len_record(size)
28187                ),
28188                |size| size + 2usize
28189            ) {
28190                if size > max_size {
28191                    max_size = size;
28192                }
28193            } else {
28194                break 'oneof (::core::option::Option::<usize>::None);
28195            }
28196            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28197                ::micropb::const_map!(
28198                    <Rpc_Req_GetMode as ::micropb::MessageEncode>::MAX_SIZE,
28199                    |size| ::micropb::size::sizeof_len_record(size)
28200                ),
28201                |size| size + 2usize
28202            ) {
28203                if size > max_size {
28204                    max_size = size;
28205                }
28206            } else {
28207                break 'oneof (::core::option::Option::<usize>::None);
28208            }
28209            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28210                ::micropb::const_map!(
28211                    <Rpc_Req_SetMode as ::micropb::MessageEncode>::MAX_SIZE,
28212                    |size| ::micropb::size::sizeof_len_record(size)
28213                ),
28214                |size| size + 2usize
28215            ) {
28216                if size > max_size {
28217                    max_size = size;
28218                }
28219            } else {
28220                break 'oneof (::core::option::Option::<usize>::None);
28221            }
28222            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28223                ::micropb::const_map!(
28224                    <Rpc_Req_SetPs as ::micropb::MessageEncode>::MAX_SIZE,
28225                    |size| ::micropb::size::sizeof_len_record(size)
28226                ),
28227                |size| size + 2usize
28228            ) {
28229                if size > max_size {
28230                    max_size = size;
28231                }
28232            } else {
28233                break 'oneof (::core::option::Option::<usize>::None);
28234            }
28235            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28236                ::micropb::const_map!(
28237                    <Rpc_Req_GetPs as ::micropb::MessageEncode>::MAX_SIZE,
28238                    |size| ::micropb::size::sizeof_len_record(size)
28239                ),
28240                |size| size + 2usize
28241            ) {
28242                if size > max_size {
28243                    max_size = size;
28244                }
28245            } else {
28246                break 'oneof (::core::option::Option::<usize>::None);
28247            }
28248            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28249                ::micropb::const_map!(
28250                    <Rpc_Req_OTABegin as ::micropb::MessageEncode>::MAX_SIZE,
28251                    |size| ::micropb::size::sizeof_len_record(size)
28252                ),
28253                |size| size + 2usize
28254            ) {
28255                if size > max_size {
28256                    max_size = size;
28257                }
28258            } else {
28259                break 'oneof (::core::option::Option::<usize>::None);
28260            }
28261            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28262                ::micropb::const_map!(
28263                    <Rpc_Req_OTAWrite as ::micropb::MessageEncode>::MAX_SIZE,
28264                    |size| ::micropb::size::sizeof_len_record(size)
28265                ),
28266                |size| size + 2usize
28267            ) {
28268                if size > max_size {
28269                    max_size = size;
28270                }
28271            } else {
28272                break 'oneof (::core::option::Option::<usize>::None);
28273            }
28274            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28275                ::micropb::const_map!(
28276                    <Rpc_Req_OTAEnd as ::micropb::MessageEncode>::MAX_SIZE,
28277                    |size| ::micropb::size::sizeof_len_record(size)
28278                ),
28279                |size| size + 2usize
28280            ) {
28281                if size > max_size {
28282                    max_size = size;
28283                }
28284            } else {
28285                break 'oneof (::core::option::Option::<usize>::None);
28286            }
28287            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28288                ::micropb::const_map!(
28289                    <Rpc_Req_WifiSetMaxTxPower as ::micropb::MessageEncode>::MAX_SIZE,
28290                    |size| ::micropb::size::sizeof_len_record(size)
28291                ),
28292                |size| size + 2usize
28293            ) {
28294                if size > max_size {
28295                    max_size = size;
28296                }
28297            } else {
28298                break 'oneof (::core::option::Option::<usize>::None);
28299            }
28300            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28301                ::micropb::const_map!(
28302                    <Rpc_Req_WifiGetMaxTxPower as ::micropb::MessageEncode>::MAX_SIZE,
28303                    |size| ::micropb::size::sizeof_len_record(size)
28304                ),
28305                |size| size + 2usize
28306            ) {
28307                if size > max_size {
28308                    max_size = size;
28309                }
28310            } else {
28311                break 'oneof (::core::option::Option::<usize>::None);
28312            }
28313            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28314                ::micropb::const_map!(
28315                    <Rpc_Req_ConfigHeartbeat as ::micropb::MessageEncode>::MAX_SIZE,
28316                    |size| ::micropb::size::sizeof_len_record(size)
28317                ),
28318                |size| size + 2usize
28319            ) {
28320                if size > max_size {
28321                    max_size = size;
28322                }
28323            } else {
28324                break 'oneof (::core::option::Option::<usize>::None);
28325            }
28326            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28327                ::micropb::const_map!(
28328                    <Rpc_Req_WifiInit as ::micropb::MessageEncode>::MAX_SIZE,
28329                    |size| ::micropb::size::sizeof_len_record(size)
28330                ),
28331                |size| size + 2usize
28332            ) {
28333                if size > max_size {
28334                    max_size = size;
28335                }
28336            } else {
28337                break 'oneof (::core::option::Option::<usize>::None);
28338            }
28339            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28340                ::micropb::const_map!(
28341                    <Rpc_Req_WifiDeinit as ::micropb::MessageEncode>::MAX_SIZE,
28342                    |size| ::micropb::size::sizeof_len_record(size)
28343                ),
28344                |size| size + 2usize
28345            ) {
28346                if size > max_size {
28347                    max_size = size;
28348                }
28349            } else {
28350                break 'oneof (::core::option::Option::<usize>::None);
28351            }
28352            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28353                ::micropb::const_map!(
28354                    <Rpc_Req_WifiStart as ::micropb::MessageEncode>::MAX_SIZE,
28355                    |size| ::micropb::size::sizeof_len_record(size)
28356                ),
28357                |size| size + 2usize
28358            ) {
28359                if size > max_size {
28360                    max_size = size;
28361                }
28362            } else {
28363                break 'oneof (::core::option::Option::<usize>::None);
28364            }
28365            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28366                ::micropb::const_map!(
28367                    <Rpc_Req_WifiStop as ::micropb::MessageEncode>::MAX_SIZE,
28368                    |size| ::micropb::size::sizeof_len_record(size)
28369                ),
28370                |size| size + 2usize
28371            ) {
28372                if size > max_size {
28373                    max_size = size;
28374                }
28375            } else {
28376                break 'oneof (::core::option::Option::<usize>::None);
28377            }
28378            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28379                ::micropb::const_map!(
28380                    <Rpc_Req_WifiConnect as ::micropb::MessageEncode>::MAX_SIZE,
28381                    |size| ::micropb::size::sizeof_len_record(size)
28382                ),
28383                |size| size + 2usize
28384            ) {
28385                if size > max_size {
28386                    max_size = size;
28387                }
28388            } else {
28389                break 'oneof (::core::option::Option::<usize>::None);
28390            }
28391            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28392                ::micropb::const_map!(
28393                    <Rpc_Req_WifiDisconnect as ::micropb::MessageEncode>::MAX_SIZE,
28394                    |size| ::micropb::size::sizeof_len_record(size)
28395                ),
28396                |size| size + 2usize
28397            ) {
28398                if size > max_size {
28399                    max_size = size;
28400                }
28401            } else {
28402                break 'oneof (::core::option::Option::<usize>::None);
28403            }
28404            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28405                ::micropb::const_map!(
28406                    <Rpc_Req_WifiSetConfig as ::micropb::MessageEncode>::MAX_SIZE,
28407                    |size| ::micropb::size::sizeof_len_record(size)
28408                ),
28409                |size| size + 2usize
28410            ) {
28411                if size > max_size {
28412                    max_size = size;
28413                }
28414            } else {
28415                break 'oneof (::core::option::Option::<usize>::None);
28416            }
28417            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28418                ::micropb::const_map!(
28419                    <Rpc_Req_WifiGetConfig as ::micropb::MessageEncode>::MAX_SIZE,
28420                    |size| ::micropb::size::sizeof_len_record(size)
28421                ),
28422                |size| size + 2usize
28423            ) {
28424                if size > max_size {
28425                    max_size = size;
28426                }
28427            } else {
28428                break 'oneof (::core::option::Option::<usize>::None);
28429            }
28430            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28431                ::micropb::const_map!(
28432                    <Rpc_Req_WifiScanStart as ::micropb::MessageEncode>::MAX_SIZE,
28433                    |size| ::micropb::size::sizeof_len_record(size)
28434                ),
28435                |size| size + 2usize
28436            ) {
28437                if size > max_size {
28438                    max_size = size;
28439                }
28440            } else {
28441                break 'oneof (::core::option::Option::<usize>::None);
28442            }
28443            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28444                ::micropb::const_map!(
28445                    <Rpc_Req_WifiScanStop as ::micropb::MessageEncode>::MAX_SIZE,
28446                    |size| ::micropb::size::sizeof_len_record(size)
28447                ),
28448                |size| size + 2usize
28449            ) {
28450                if size > max_size {
28451                    max_size = size;
28452                }
28453            } else {
28454                break 'oneof (::core::option::Option::<usize>::None);
28455            }
28456            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28457                ::micropb::const_map!(
28458                    <Rpc_Req_WifiScanGetApNum as ::micropb::MessageEncode>::MAX_SIZE,
28459                    |size| ::micropb::size::sizeof_len_record(size)
28460                ),
28461                |size| size + 2usize
28462            ) {
28463                if size > max_size {
28464                    max_size = size;
28465                }
28466            } else {
28467                break 'oneof (::core::option::Option::<usize>::None);
28468            }
28469            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28470                ::micropb::const_map!(
28471                    <Rpc_Req_WifiScanGetApRecords as ::micropb::MessageEncode>::MAX_SIZE,
28472                    |size| ::micropb::size::sizeof_len_record(size)
28473                ),
28474                |size| size + 2usize
28475            ) {
28476                if size > max_size {
28477                    max_size = size;
28478                }
28479            } else {
28480                break 'oneof (::core::option::Option::<usize>::None);
28481            }
28482            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28483                ::micropb::const_map!(
28484                    <Rpc_Req_WifiClearApList as ::micropb::MessageEncode>::MAX_SIZE,
28485                    |size| ::micropb::size::sizeof_len_record(size)
28486                ),
28487                |size| size + 2usize
28488            ) {
28489                if size > max_size {
28490                    max_size = size;
28491                }
28492            } else {
28493                break 'oneof (::core::option::Option::<usize>::None);
28494            }
28495            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28496                ::micropb::const_map!(
28497                    <Rpc_Req_WifiRestore as ::micropb::MessageEncode>::MAX_SIZE,
28498                    |size| ::micropb::size::sizeof_len_record(size)
28499                ),
28500                |size| size + 2usize
28501            ) {
28502                if size > max_size {
28503                    max_size = size;
28504                }
28505            } else {
28506                break 'oneof (::core::option::Option::<usize>::None);
28507            }
28508            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28509                ::micropb::const_map!(
28510                    <Rpc_Req_WifiClearFastConnect as ::micropb::MessageEncode>::MAX_SIZE,
28511                    |size| ::micropb::size::sizeof_len_record(size)
28512                ),
28513                |size| size + 2usize
28514            ) {
28515                if size > max_size {
28516                    max_size = size;
28517                }
28518            } else {
28519                break 'oneof (::core::option::Option::<usize>::None);
28520            }
28521            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28522                ::micropb::const_map!(
28523                    <Rpc_Req_WifiDeauthSta as ::micropb::MessageEncode>::MAX_SIZE,
28524                    |size| ::micropb::size::sizeof_len_record(size)
28525                ),
28526                |size| size + 2usize
28527            ) {
28528                if size > max_size {
28529                    max_size = size;
28530                }
28531            } else {
28532                break 'oneof (::core::option::Option::<usize>::None);
28533            }
28534            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28535                ::micropb::const_map!(
28536                    <Rpc_Req_WifiStaGetApInfo as ::micropb::MessageEncode>::MAX_SIZE,
28537                    |size| ::micropb::size::sizeof_len_record(size)
28538                ),
28539                |size| size + 2usize
28540            ) {
28541                if size > max_size {
28542                    max_size = size;
28543                }
28544            } else {
28545                break 'oneof (::core::option::Option::<usize>::None);
28546            }
28547            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28548                ::micropb::const_map!(
28549                    <Rpc_Req_WifiSetProtocol as ::micropb::MessageEncode>::MAX_SIZE,
28550                    |size| ::micropb::size::sizeof_len_record(size)
28551                ),
28552                |size| size + 2usize
28553            ) {
28554                if size > max_size {
28555                    max_size = size;
28556                }
28557            } else {
28558                break 'oneof (::core::option::Option::<usize>::None);
28559            }
28560            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28561                ::micropb::const_map!(
28562                    <Rpc_Req_WifiGetProtocol as ::micropb::MessageEncode>::MAX_SIZE,
28563                    |size| ::micropb::size::sizeof_len_record(size)
28564                ),
28565                |size| size + 2usize
28566            ) {
28567                if size > max_size {
28568                    max_size = size;
28569                }
28570            } else {
28571                break 'oneof (::core::option::Option::<usize>::None);
28572            }
28573            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28574                ::micropb::const_map!(
28575                    <Rpc_Req_WifiSetBandwidth as ::micropb::MessageEncode>::MAX_SIZE,
28576                    |size| ::micropb::size::sizeof_len_record(size)
28577                ),
28578                |size| size + 2usize
28579            ) {
28580                if size > max_size {
28581                    max_size = size;
28582                }
28583            } else {
28584                break 'oneof (::core::option::Option::<usize>::None);
28585            }
28586            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28587                ::micropb::const_map!(
28588                    <Rpc_Req_WifiGetBandwidth as ::micropb::MessageEncode>::MAX_SIZE,
28589                    |size| ::micropb::size::sizeof_len_record(size)
28590                ),
28591                |size| size + 2usize
28592            ) {
28593                if size > max_size {
28594                    max_size = size;
28595                }
28596            } else {
28597                break 'oneof (::core::option::Option::<usize>::None);
28598            }
28599            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28600                ::micropb::const_map!(
28601                    <Rpc_Req_WifiSetChannel as ::micropb::MessageEncode>::MAX_SIZE,
28602                    |size| ::micropb::size::sizeof_len_record(size)
28603                ),
28604                |size| size + 2usize
28605            ) {
28606                if size > max_size {
28607                    max_size = size;
28608                }
28609            } else {
28610                break 'oneof (::core::option::Option::<usize>::None);
28611            }
28612            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28613                ::micropb::const_map!(
28614                    <Rpc_Req_WifiGetChannel as ::micropb::MessageEncode>::MAX_SIZE,
28615                    |size| ::micropb::size::sizeof_len_record(size)
28616                ),
28617                |size| size + 2usize
28618            ) {
28619                if size > max_size {
28620                    max_size = size;
28621                }
28622            } else {
28623                break 'oneof (::core::option::Option::<usize>::None);
28624            }
28625            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28626                ::micropb::const_map!(
28627                    <Rpc_Req_WifiSetCountry as ::micropb::MessageEncode>::MAX_SIZE,
28628                    |size| ::micropb::size::sizeof_len_record(size)
28629                ),
28630                |size| size + 2usize
28631            ) {
28632                if size > max_size {
28633                    max_size = size;
28634                }
28635            } else {
28636                break 'oneof (::core::option::Option::<usize>::None);
28637            }
28638            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28639                ::micropb::const_map!(
28640                    <Rpc_Req_WifiGetCountry as ::micropb::MessageEncode>::MAX_SIZE,
28641                    |size| ::micropb::size::sizeof_len_record(size)
28642                ),
28643                |size| size + 2usize
28644            ) {
28645                if size > max_size {
28646                    max_size = size;
28647                }
28648            } else {
28649                break 'oneof (::core::option::Option::<usize>::None);
28650            }
28651            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28652                ::micropb::const_map!(
28653                    <Rpc_Req_WifiApGetStaList as ::micropb::MessageEncode>::MAX_SIZE,
28654                    |size| ::micropb::size::sizeof_len_record(size)
28655                ),
28656                |size| size + 2usize
28657            ) {
28658                if size > max_size {
28659                    max_size = size;
28660                }
28661            } else {
28662                break 'oneof (::core::option::Option::<usize>::None);
28663            }
28664            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28665                ::micropb::const_map!(
28666                    <Rpc_Req_WifiApGetStaAid as ::micropb::MessageEncode>::MAX_SIZE,
28667                    |size| ::micropb::size::sizeof_len_record(size)
28668                ),
28669                |size| size + 2usize
28670            ) {
28671                if size > max_size {
28672                    max_size = size;
28673                }
28674            } else {
28675                break 'oneof (::core::option::Option::<usize>::None);
28676            }
28677            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28678                ::micropb::const_map!(
28679                    <Rpc_Req_WifiSetStorage as ::micropb::MessageEncode>::MAX_SIZE,
28680                    |size| ::micropb::size::sizeof_len_record(size)
28681                ),
28682                |size| size + 2usize
28683            ) {
28684                if size > max_size {
28685                    max_size = size;
28686                }
28687            } else {
28688                break 'oneof (::core::option::Option::<usize>::None);
28689            }
28690            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28691                ::micropb::const_map!(
28692                    <Rpc_Req_WifiSetCountryCode as ::micropb::MessageEncode>::MAX_SIZE,
28693                    |size| ::micropb::size::sizeof_len_record(size)
28694                ),
28695                |size| size + 2usize
28696            ) {
28697                if size > max_size {
28698                    max_size = size;
28699                }
28700            } else {
28701                break 'oneof (::core::option::Option::<usize>::None);
28702            }
28703            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28704                ::micropb::const_map!(
28705                    <Rpc_Req_WifiGetCountryCode as ::micropb::MessageEncode>::MAX_SIZE,
28706                    |size| ::micropb::size::sizeof_len_record(size)
28707                ),
28708                |size| size + 2usize
28709            ) {
28710                if size > max_size {
28711                    max_size = size;
28712                }
28713            } else {
28714                break 'oneof (::core::option::Option::<usize>::None);
28715            }
28716            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28717                ::micropb::const_map!(
28718                    <Rpc_Req_WifiStaGetAid as ::micropb::MessageEncode>::MAX_SIZE,
28719                    |size| ::micropb::size::sizeof_len_record(size)
28720                ),
28721                |size| size + 2usize
28722            ) {
28723                if size > max_size {
28724                    max_size = size;
28725                }
28726            } else {
28727                break 'oneof (::core::option::Option::<usize>::None);
28728            }
28729            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28730                ::micropb::const_map!(
28731                    <Rpc_Req_WifiStaGetNegotiatedPhymode as ::micropb::MessageEncode>::MAX_SIZE,
28732                    |size| ::micropb::size::sizeof_len_record(size)
28733                ),
28734                |size| size + 2usize
28735            ) {
28736                if size > max_size {
28737                    max_size = size;
28738                }
28739            } else {
28740                break 'oneof (::core::option::Option::<usize>::None);
28741            }
28742            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28743                ::micropb::const_map!(
28744                    <Rpc_Req_WifiStaGetRssi as ::micropb::MessageEncode>::MAX_SIZE,
28745                    |size| ::micropb::size::sizeof_len_record(size)
28746                ),
28747                |size| size + 2usize
28748            ) {
28749                if size > max_size {
28750                    max_size = size;
28751                }
28752            } else {
28753                break 'oneof (::core::option::Option::<usize>::None);
28754            }
28755            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28756                ::micropb::const_map!(
28757                    <Rpc_Req_WifiSetProtocols as ::micropb::MessageEncode>::MAX_SIZE,
28758                    |size| ::micropb::size::sizeof_len_record(size)
28759                ),
28760                |size| size + 2usize
28761            ) {
28762                if size > max_size {
28763                    max_size = size;
28764                }
28765            } else {
28766                break 'oneof (::core::option::Option::<usize>::None);
28767            }
28768            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28769                ::micropb::const_map!(
28770                    <Rpc_Req_WifiGetProtocols as ::micropb::MessageEncode>::MAX_SIZE,
28771                    |size| ::micropb::size::sizeof_len_record(size)
28772                ),
28773                |size| size + 2usize
28774            ) {
28775                if size > max_size {
28776                    max_size = size;
28777                }
28778            } else {
28779                break 'oneof (::core::option::Option::<usize>::None);
28780            }
28781            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28782                ::micropb::const_map!(
28783                    <Rpc_Req_WifiSetBandwidths as ::micropb::MessageEncode>::MAX_SIZE,
28784                    |size| ::micropb::size::sizeof_len_record(size)
28785                ),
28786                |size| size + 2usize
28787            ) {
28788                if size > max_size {
28789                    max_size = size;
28790                }
28791            } else {
28792                break 'oneof (::core::option::Option::<usize>::None);
28793            }
28794            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28795                ::micropb::const_map!(
28796                    <Rpc_Req_WifiGetBandwidths as ::micropb::MessageEncode>::MAX_SIZE,
28797                    |size| ::micropb::size::sizeof_len_record(size)
28798                ),
28799                |size| size + 2usize
28800            ) {
28801                if size > max_size {
28802                    max_size = size;
28803                }
28804            } else {
28805                break 'oneof (::core::option::Option::<usize>::None);
28806            }
28807            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28808                ::micropb::const_map!(
28809                    <Rpc_Req_WifiSetBand as ::micropb::MessageEncode>::MAX_SIZE,
28810                    |size| ::micropb::size::sizeof_len_record(size)
28811                ),
28812                |size| size + 2usize
28813            ) {
28814                if size > max_size {
28815                    max_size = size;
28816                }
28817            } else {
28818                break 'oneof (::core::option::Option::<usize>::None);
28819            }
28820            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28821                ::micropb::const_map!(
28822                    <Rpc_Req_WifiGetBand as ::micropb::MessageEncode>::MAX_SIZE,
28823                    |size| ::micropb::size::sizeof_len_record(size)
28824                ),
28825                |size| size + 2usize
28826            ) {
28827                if size > max_size {
28828                    max_size = size;
28829                }
28830            } else {
28831                break 'oneof (::core::option::Option::<usize>::None);
28832            }
28833            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28834                ::micropb::const_map!(
28835                    <Rpc_Req_WifiSetBandMode as ::micropb::MessageEncode>::MAX_SIZE,
28836                    |size| ::micropb::size::sizeof_len_record(size)
28837                ),
28838                |size| size + 2usize
28839            ) {
28840                if size > max_size {
28841                    max_size = size;
28842                }
28843            } else {
28844                break 'oneof (::core::option::Option::<usize>::None);
28845            }
28846            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28847                ::micropb::const_map!(
28848                    <Rpc_Req_WifiGetBandMode as ::micropb::MessageEncode>::MAX_SIZE,
28849                    |size| ::micropb::size::sizeof_len_record(size)
28850                ),
28851                |size| size + 2usize
28852            ) {
28853                if size > max_size {
28854                    max_size = size;
28855                }
28856            } else {
28857                break 'oneof (::core::option::Option::<usize>::None);
28858            }
28859            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28860                ::micropb::const_map!(
28861                    <Rpc_Req_GetCoprocessorFwVersion as ::micropb::MessageEncode>::MAX_SIZE,
28862                    |size| ::micropb::size::sizeof_len_record(size)
28863                ),
28864                |size| size + 2usize
28865            ) {
28866                if size > max_size {
28867                    max_size = size;
28868                }
28869            } else {
28870                break 'oneof (::core::option::Option::<usize>::None);
28871            }
28872            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28873                ::micropb::const_map!(
28874                    <Rpc_Req_WifiScanGetApRecord as ::micropb::MessageEncode>::MAX_SIZE,
28875                    |size| ::micropb::size::sizeof_len_record(size)
28876                ),
28877                |size| size + 2usize
28878            ) {
28879                if size > max_size {
28880                    max_size = size;
28881                }
28882            } else {
28883                break 'oneof (::core::option::Option::<usize>::None);
28884            }
28885            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28886                ::micropb::const_map!(
28887                    <Rpc_Resp_GetMacAddress as ::micropb::MessageEncode>::MAX_SIZE,
28888                    |size| ::micropb::size::sizeof_len_record(size)
28889                ),
28890                |size| size + 2usize
28891            ) {
28892                if size > max_size {
28893                    max_size = size;
28894                }
28895            } else {
28896                break 'oneof (::core::option::Option::<usize>::None);
28897            }
28898            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28899                ::micropb::const_map!(
28900                    <Rpc_Resp_SetMacAddress as ::micropb::MessageEncode>::MAX_SIZE,
28901                    |size| ::micropb::size::sizeof_len_record(size)
28902                ),
28903                |size| size + 2usize
28904            ) {
28905                if size > max_size {
28906                    max_size = size;
28907                }
28908            } else {
28909                break 'oneof (::core::option::Option::<usize>::None);
28910            }
28911            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28912                ::micropb::const_map!(
28913                    <Rpc_Resp_GetMode as ::micropb::MessageEncode>::MAX_SIZE,
28914                    |size| ::micropb::size::sizeof_len_record(size)
28915                ),
28916                |size| size + 2usize
28917            ) {
28918                if size > max_size {
28919                    max_size = size;
28920                }
28921            } else {
28922                break 'oneof (::core::option::Option::<usize>::None);
28923            }
28924            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28925                ::micropb::const_map!(
28926                    <Rpc_Resp_SetMode as ::micropb::MessageEncode>::MAX_SIZE,
28927                    |size| ::micropb::size::sizeof_len_record(size)
28928                ),
28929                |size| size + 2usize
28930            ) {
28931                if size > max_size {
28932                    max_size = size;
28933                }
28934            } else {
28935                break 'oneof (::core::option::Option::<usize>::None);
28936            }
28937            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28938                ::micropb::const_map!(
28939                    <Rpc_Resp_SetPs as ::micropb::MessageEncode>::MAX_SIZE,
28940                    |size| ::micropb::size::sizeof_len_record(size)
28941                ),
28942                |size| size + 2usize
28943            ) {
28944                if size > max_size {
28945                    max_size = size;
28946                }
28947            } else {
28948                break 'oneof (::core::option::Option::<usize>::None);
28949            }
28950            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28951                ::micropb::const_map!(
28952                    <Rpc_Resp_GetPs as ::micropb::MessageEncode>::MAX_SIZE,
28953                    |size| ::micropb::size::sizeof_len_record(size)
28954                ),
28955                |size| size + 2usize
28956            ) {
28957                if size > max_size {
28958                    max_size = size;
28959                }
28960            } else {
28961                break 'oneof (::core::option::Option::<usize>::None);
28962            }
28963            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28964                ::micropb::const_map!(
28965                    <Rpc_Resp_OTABegin as ::micropb::MessageEncode>::MAX_SIZE,
28966                    |size| ::micropb::size::sizeof_len_record(size)
28967                ),
28968                |size| size + 2usize
28969            ) {
28970                if size > max_size {
28971                    max_size = size;
28972                }
28973            } else {
28974                break 'oneof (::core::option::Option::<usize>::None);
28975            }
28976            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28977                ::micropb::const_map!(
28978                    <Rpc_Resp_OTAWrite as ::micropb::MessageEncode>::MAX_SIZE,
28979                    |size| ::micropb::size::sizeof_len_record(size)
28980                ),
28981                |size| size + 2usize
28982            ) {
28983                if size > max_size {
28984                    max_size = size;
28985                }
28986            } else {
28987                break 'oneof (::core::option::Option::<usize>::None);
28988            }
28989            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28990                ::micropb::const_map!(
28991                    <Rpc_Resp_OTAEnd as ::micropb::MessageEncode>::MAX_SIZE,
28992                    |size| ::micropb::size::sizeof_len_record(size)
28993                ),
28994                |size| size + 2usize
28995            ) {
28996                if size > max_size {
28997                    max_size = size;
28998                }
28999            } else {
29000                break 'oneof (::core::option::Option::<usize>::None);
29001            }
29002            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29003                ::micropb::const_map!(
29004                    <Rpc_Resp_WifiSetMaxTxPower as ::micropb::MessageEncode>::MAX_SIZE,
29005                    |size| ::micropb::size::sizeof_len_record(size)
29006                ),
29007                |size| size + 2usize
29008            ) {
29009                if size > max_size {
29010                    max_size = size;
29011                }
29012            } else {
29013                break 'oneof (::core::option::Option::<usize>::None);
29014            }
29015            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29016                ::micropb::const_map!(
29017                    <Rpc_Resp_WifiGetMaxTxPower as ::micropb::MessageEncode>::MAX_SIZE,
29018                    |size| ::micropb::size::sizeof_len_record(size)
29019                ),
29020                |size| size + 2usize
29021            ) {
29022                if size > max_size {
29023                    max_size = size;
29024                }
29025            } else {
29026                break 'oneof (::core::option::Option::<usize>::None);
29027            }
29028            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29029                ::micropb::const_map!(
29030                    <Rpc_Resp_ConfigHeartbeat as ::micropb::MessageEncode>::MAX_SIZE,
29031                    |size| ::micropb::size::sizeof_len_record(size)
29032                ),
29033                |size| size + 2usize
29034            ) {
29035                if size > max_size {
29036                    max_size = size;
29037                }
29038            } else {
29039                break 'oneof (::core::option::Option::<usize>::None);
29040            }
29041            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29042                ::micropb::const_map!(
29043                    <Rpc_Resp_WifiInit as ::micropb::MessageEncode>::MAX_SIZE,
29044                    |size| ::micropb::size::sizeof_len_record(size)
29045                ),
29046                |size| size + 2usize
29047            ) {
29048                if size > max_size {
29049                    max_size = size;
29050                }
29051            } else {
29052                break 'oneof (::core::option::Option::<usize>::None);
29053            }
29054            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29055                ::micropb::const_map!(
29056                    <Rpc_Resp_WifiDeinit as ::micropb::MessageEncode>::MAX_SIZE,
29057                    |size| ::micropb::size::sizeof_len_record(size)
29058                ),
29059                |size| size + 2usize
29060            ) {
29061                if size > max_size {
29062                    max_size = size;
29063                }
29064            } else {
29065                break 'oneof (::core::option::Option::<usize>::None);
29066            }
29067            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29068                ::micropb::const_map!(
29069                    <Rpc_Resp_WifiStart as ::micropb::MessageEncode>::MAX_SIZE,
29070                    |size| ::micropb::size::sizeof_len_record(size)
29071                ),
29072                |size| size + 2usize
29073            ) {
29074                if size > max_size {
29075                    max_size = size;
29076                }
29077            } else {
29078                break 'oneof (::core::option::Option::<usize>::None);
29079            }
29080            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29081                ::micropb::const_map!(
29082                    <Rpc_Resp_WifiStop as ::micropb::MessageEncode>::MAX_SIZE,
29083                    |size| ::micropb::size::sizeof_len_record(size)
29084                ),
29085                |size| size + 2usize
29086            ) {
29087                if size > max_size {
29088                    max_size = size;
29089                }
29090            } else {
29091                break 'oneof (::core::option::Option::<usize>::None);
29092            }
29093            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29094                ::micropb::const_map!(
29095                    <Rpc_Resp_WifiConnect as ::micropb::MessageEncode>::MAX_SIZE,
29096                    |size| ::micropb::size::sizeof_len_record(size)
29097                ),
29098                |size| size + 2usize
29099            ) {
29100                if size > max_size {
29101                    max_size = size;
29102                }
29103            } else {
29104                break 'oneof (::core::option::Option::<usize>::None);
29105            }
29106            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29107                ::micropb::const_map!(
29108                    <Rpc_Resp_WifiDisconnect as ::micropb::MessageEncode>::MAX_SIZE,
29109                    |size| ::micropb::size::sizeof_len_record(size)
29110                ),
29111                |size| size + 2usize
29112            ) {
29113                if size > max_size {
29114                    max_size = size;
29115                }
29116            } else {
29117                break 'oneof (::core::option::Option::<usize>::None);
29118            }
29119            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29120                ::micropb::const_map!(
29121                    <Rpc_Resp_WifiSetConfig as ::micropb::MessageEncode>::MAX_SIZE,
29122                    |size| ::micropb::size::sizeof_len_record(size)
29123                ),
29124                |size| size + 2usize
29125            ) {
29126                if size > max_size {
29127                    max_size = size;
29128                }
29129            } else {
29130                break 'oneof (::core::option::Option::<usize>::None);
29131            }
29132            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29133                ::micropb::const_map!(
29134                    <Rpc_Resp_WifiGetConfig as ::micropb::MessageEncode>::MAX_SIZE,
29135                    |size| ::micropb::size::sizeof_len_record(size)
29136                ),
29137                |size| size + 2usize
29138            ) {
29139                if size > max_size {
29140                    max_size = size;
29141                }
29142            } else {
29143                break 'oneof (::core::option::Option::<usize>::None);
29144            }
29145            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29146                ::micropb::const_map!(
29147                    <Rpc_Resp_WifiScanStart as ::micropb::MessageEncode>::MAX_SIZE,
29148                    |size| ::micropb::size::sizeof_len_record(size)
29149                ),
29150                |size| size + 2usize
29151            ) {
29152                if size > max_size {
29153                    max_size = size;
29154                }
29155            } else {
29156                break 'oneof (::core::option::Option::<usize>::None);
29157            }
29158            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29159                ::micropb::const_map!(
29160                    <Rpc_Resp_WifiScanStop as ::micropb::MessageEncode>::MAX_SIZE,
29161                    |size| ::micropb::size::sizeof_len_record(size)
29162                ),
29163                |size| size + 2usize
29164            ) {
29165                if size > max_size {
29166                    max_size = size;
29167                }
29168            } else {
29169                break 'oneof (::core::option::Option::<usize>::None);
29170            }
29171            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29172                ::micropb::const_map!(
29173                    <Rpc_Resp_WifiScanGetApNum as ::micropb::MessageEncode>::MAX_SIZE,
29174                    |size| ::micropb::size::sizeof_len_record(size)
29175                ),
29176                |size| size + 2usize
29177            ) {
29178                if size > max_size {
29179                    max_size = size;
29180                }
29181            } else {
29182                break 'oneof (::core::option::Option::<usize>::None);
29183            }
29184            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29185                ::micropb::const_map!(
29186                    <Rpc_Resp_WifiScanGetApRecords as ::micropb::MessageEncode>::MAX_SIZE,
29187                    |size| ::micropb::size::sizeof_len_record(size)
29188                ),
29189                |size| size + 2usize
29190            ) {
29191                if size > max_size {
29192                    max_size = size;
29193                }
29194            } else {
29195                break 'oneof (::core::option::Option::<usize>::None);
29196            }
29197            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29198                ::micropb::const_map!(
29199                    <Rpc_Resp_WifiClearApList as ::micropb::MessageEncode>::MAX_SIZE,
29200                    |size| ::micropb::size::sizeof_len_record(size)
29201                ),
29202                |size| size + 2usize
29203            ) {
29204                if size > max_size {
29205                    max_size = size;
29206                }
29207            } else {
29208                break 'oneof (::core::option::Option::<usize>::None);
29209            }
29210            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29211                ::micropb::const_map!(
29212                    <Rpc_Resp_WifiRestore as ::micropb::MessageEncode>::MAX_SIZE,
29213                    |size| ::micropb::size::sizeof_len_record(size)
29214                ),
29215                |size| size + 2usize
29216            ) {
29217                if size > max_size {
29218                    max_size = size;
29219                }
29220            } else {
29221                break 'oneof (::core::option::Option::<usize>::None);
29222            }
29223            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29224                ::micropb::const_map!(
29225                    <Rpc_Resp_WifiClearFastConnect as ::micropb::MessageEncode>::MAX_SIZE,
29226                    |size| ::micropb::size::sizeof_len_record(size)
29227                ),
29228                |size| size + 2usize
29229            ) {
29230                if size > max_size {
29231                    max_size = size;
29232                }
29233            } else {
29234                break 'oneof (::core::option::Option::<usize>::None);
29235            }
29236            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29237                ::micropb::const_map!(
29238                    <Rpc_Resp_WifiDeauthSta as ::micropb::MessageEncode>::MAX_SIZE,
29239                    |size| ::micropb::size::sizeof_len_record(size)
29240                ),
29241                |size| size + 2usize
29242            ) {
29243                if size > max_size {
29244                    max_size = size;
29245                }
29246            } else {
29247                break 'oneof (::core::option::Option::<usize>::None);
29248            }
29249            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29250                ::micropb::const_map!(
29251                    <Rpc_Resp_WifiStaGetApInfo as ::micropb::MessageEncode>::MAX_SIZE,
29252                    |size| ::micropb::size::sizeof_len_record(size)
29253                ),
29254                |size| size + 2usize
29255            ) {
29256                if size > max_size {
29257                    max_size = size;
29258                }
29259            } else {
29260                break 'oneof (::core::option::Option::<usize>::None);
29261            }
29262            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29263                ::micropb::const_map!(
29264                    <Rpc_Resp_WifiSetProtocol as ::micropb::MessageEncode>::MAX_SIZE,
29265                    |size| ::micropb::size::sizeof_len_record(size)
29266                ),
29267                |size| size + 2usize
29268            ) {
29269                if size > max_size {
29270                    max_size = size;
29271                }
29272            } else {
29273                break 'oneof (::core::option::Option::<usize>::None);
29274            }
29275            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29276                ::micropb::const_map!(
29277                    <Rpc_Resp_WifiGetProtocol as ::micropb::MessageEncode>::MAX_SIZE,
29278                    |size| ::micropb::size::sizeof_len_record(size)
29279                ),
29280                |size| size + 2usize
29281            ) {
29282                if size > max_size {
29283                    max_size = size;
29284                }
29285            } else {
29286                break 'oneof (::core::option::Option::<usize>::None);
29287            }
29288            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29289                ::micropb::const_map!(
29290                    <Rpc_Resp_WifiSetBandwidth as ::micropb::MessageEncode>::MAX_SIZE,
29291                    |size| ::micropb::size::sizeof_len_record(size)
29292                ),
29293                |size| size + 2usize
29294            ) {
29295                if size > max_size {
29296                    max_size = size;
29297                }
29298            } else {
29299                break 'oneof (::core::option::Option::<usize>::None);
29300            }
29301            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29302                ::micropb::const_map!(
29303                    <Rpc_Resp_WifiGetBandwidth as ::micropb::MessageEncode>::MAX_SIZE,
29304                    |size| ::micropb::size::sizeof_len_record(size)
29305                ),
29306                |size| size + 2usize
29307            ) {
29308                if size > max_size {
29309                    max_size = size;
29310                }
29311            } else {
29312                break 'oneof (::core::option::Option::<usize>::None);
29313            }
29314            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29315                ::micropb::const_map!(
29316                    <Rpc_Resp_WifiSetChannel as ::micropb::MessageEncode>::MAX_SIZE,
29317                    |size| ::micropb::size::sizeof_len_record(size)
29318                ),
29319                |size| size + 2usize
29320            ) {
29321                if size > max_size {
29322                    max_size = size;
29323                }
29324            } else {
29325                break 'oneof (::core::option::Option::<usize>::None);
29326            }
29327            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29328                ::micropb::const_map!(
29329                    <Rpc_Resp_WifiGetChannel as ::micropb::MessageEncode>::MAX_SIZE,
29330                    |size| ::micropb::size::sizeof_len_record(size)
29331                ),
29332                |size| size + 2usize
29333            ) {
29334                if size > max_size {
29335                    max_size = size;
29336                }
29337            } else {
29338                break 'oneof (::core::option::Option::<usize>::None);
29339            }
29340            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29341                ::micropb::const_map!(
29342                    <Rpc_Resp_WifiSetCountry as ::micropb::MessageEncode>::MAX_SIZE,
29343                    |size| ::micropb::size::sizeof_len_record(size)
29344                ),
29345                |size| size + 2usize
29346            ) {
29347                if size > max_size {
29348                    max_size = size;
29349                }
29350            } else {
29351                break 'oneof (::core::option::Option::<usize>::None);
29352            }
29353            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29354                ::micropb::const_map!(
29355                    <Rpc_Resp_WifiGetCountry as ::micropb::MessageEncode>::MAX_SIZE,
29356                    |size| ::micropb::size::sizeof_len_record(size)
29357                ),
29358                |size| size + 2usize
29359            ) {
29360                if size > max_size {
29361                    max_size = size;
29362                }
29363            } else {
29364                break 'oneof (::core::option::Option::<usize>::None);
29365            }
29366            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29367                ::micropb::const_map!(
29368                    <Rpc_Resp_WifiApGetStaList as ::micropb::MessageEncode>::MAX_SIZE,
29369                    |size| ::micropb::size::sizeof_len_record(size)
29370                ),
29371                |size| size + 2usize
29372            ) {
29373                if size > max_size {
29374                    max_size = size;
29375                }
29376            } else {
29377                break 'oneof (::core::option::Option::<usize>::None);
29378            }
29379            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29380                ::micropb::const_map!(
29381                    <Rpc_Resp_WifiApGetStaAid as ::micropb::MessageEncode>::MAX_SIZE,
29382                    |size| ::micropb::size::sizeof_len_record(size)
29383                ),
29384                |size| size + 2usize
29385            ) {
29386                if size > max_size {
29387                    max_size = size;
29388                }
29389            } else {
29390                break 'oneof (::core::option::Option::<usize>::None);
29391            }
29392            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29393                ::micropb::const_map!(
29394                    <Rpc_Resp_WifiSetStorage as ::micropb::MessageEncode>::MAX_SIZE,
29395                    |size| ::micropb::size::sizeof_len_record(size)
29396                ),
29397                |size| size + 2usize
29398            ) {
29399                if size > max_size {
29400                    max_size = size;
29401                }
29402            } else {
29403                break 'oneof (::core::option::Option::<usize>::None);
29404            }
29405            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29406                ::micropb::const_map!(
29407                    <Rpc_Resp_WifiSetCountryCode as ::micropb::MessageEncode>::MAX_SIZE,
29408                    |size| ::micropb::size::sizeof_len_record(size)
29409                ),
29410                |size| size + 2usize
29411            ) {
29412                if size > max_size {
29413                    max_size = size;
29414                }
29415            } else {
29416                break 'oneof (::core::option::Option::<usize>::None);
29417            }
29418            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29419                ::micropb::const_map!(
29420                    <Rpc_Resp_WifiGetCountryCode as ::micropb::MessageEncode>::MAX_SIZE,
29421                    |size| ::micropb::size::sizeof_len_record(size)
29422                ),
29423                |size| size + 2usize
29424            ) {
29425                if size > max_size {
29426                    max_size = size;
29427                }
29428            } else {
29429                break 'oneof (::core::option::Option::<usize>::None);
29430            }
29431            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29432                ::micropb::const_map!(
29433                    <Rpc_Resp_WifiStaGetAid as ::micropb::MessageEncode>::MAX_SIZE,
29434                    |size| ::micropb::size::sizeof_len_record(size)
29435                ),
29436                |size| size + 2usize
29437            ) {
29438                if size > max_size {
29439                    max_size = size;
29440                }
29441            } else {
29442                break 'oneof (::core::option::Option::<usize>::None);
29443            }
29444            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29445                ::micropb::const_map!(
29446                    <Rpc_Resp_WifiStaGetNegotiatedPhymode as ::micropb::MessageEncode>::MAX_SIZE,
29447                    |size| ::micropb::size::sizeof_len_record(size)
29448                ),
29449                |size| size + 2usize
29450            ) {
29451                if size > max_size {
29452                    max_size = size;
29453                }
29454            } else {
29455                break 'oneof (::core::option::Option::<usize>::None);
29456            }
29457            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29458                ::micropb::const_map!(
29459                    <Rpc_Resp_WifiStaGetRssi as ::micropb::MessageEncode>::MAX_SIZE,
29460                    |size| ::micropb::size::sizeof_len_record(size)
29461                ),
29462                |size| size + 2usize
29463            ) {
29464                if size > max_size {
29465                    max_size = size;
29466                }
29467            } else {
29468                break 'oneof (::core::option::Option::<usize>::None);
29469            }
29470            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29471                ::micropb::const_map!(
29472                    <Rpc_Resp_WifiSetProtocols as ::micropb::MessageEncode>::MAX_SIZE,
29473                    |size| ::micropb::size::sizeof_len_record(size)
29474                ),
29475                |size| size + 2usize
29476            ) {
29477                if size > max_size {
29478                    max_size = size;
29479                }
29480            } else {
29481                break 'oneof (::core::option::Option::<usize>::None);
29482            }
29483            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29484                ::micropb::const_map!(
29485                    <Rpc_Resp_WifiGetProtocols as ::micropb::MessageEncode>::MAX_SIZE,
29486                    |size| ::micropb::size::sizeof_len_record(size)
29487                ),
29488                |size| size + 2usize
29489            ) {
29490                if size > max_size {
29491                    max_size = size;
29492                }
29493            } else {
29494                break 'oneof (::core::option::Option::<usize>::None);
29495            }
29496            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29497                ::micropb::const_map!(
29498                    <Rpc_Resp_WifiSetBandwidths as ::micropb::MessageEncode>::MAX_SIZE,
29499                    |size| ::micropb::size::sizeof_len_record(size)
29500                ),
29501                |size| size + 2usize
29502            ) {
29503                if size > max_size {
29504                    max_size = size;
29505                }
29506            } else {
29507                break 'oneof (::core::option::Option::<usize>::None);
29508            }
29509            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29510                ::micropb::const_map!(
29511                    <Rpc_Resp_WifiGetBandwidths as ::micropb::MessageEncode>::MAX_SIZE,
29512                    |size| ::micropb::size::sizeof_len_record(size)
29513                ),
29514                |size| size + 2usize
29515            ) {
29516                if size > max_size {
29517                    max_size = size;
29518                }
29519            } else {
29520                break 'oneof (::core::option::Option::<usize>::None);
29521            }
29522            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29523                ::micropb::const_map!(
29524                    <Rpc_Resp_WifiSetBand as ::micropb::MessageEncode>::MAX_SIZE,
29525                    |size| ::micropb::size::sizeof_len_record(size)
29526                ),
29527                |size| size + 2usize
29528            ) {
29529                if size > max_size {
29530                    max_size = size;
29531                }
29532            } else {
29533                break 'oneof (::core::option::Option::<usize>::None);
29534            }
29535            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29536                ::micropb::const_map!(
29537                    <Rpc_Resp_WifiGetBand as ::micropb::MessageEncode>::MAX_SIZE,
29538                    |size| ::micropb::size::sizeof_len_record(size)
29539                ),
29540                |size| size + 2usize
29541            ) {
29542                if size > max_size {
29543                    max_size = size;
29544                }
29545            } else {
29546                break 'oneof (::core::option::Option::<usize>::None);
29547            }
29548            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29549                ::micropb::const_map!(
29550                    <Rpc_Resp_WifiSetBandMode as ::micropb::MessageEncode>::MAX_SIZE,
29551                    |size| ::micropb::size::sizeof_len_record(size)
29552                ),
29553                |size| size + 2usize
29554            ) {
29555                if size > max_size {
29556                    max_size = size;
29557                }
29558            } else {
29559                break 'oneof (::core::option::Option::<usize>::None);
29560            }
29561            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29562                ::micropb::const_map!(
29563                    <Rpc_Resp_WifiGetBandMode as ::micropb::MessageEncode>::MAX_SIZE,
29564                    |size| ::micropb::size::sizeof_len_record(size)
29565                ),
29566                |size| size + 2usize
29567            ) {
29568                if size > max_size {
29569                    max_size = size;
29570                }
29571            } else {
29572                break 'oneof (::core::option::Option::<usize>::None);
29573            }
29574            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29575                ::micropb::const_map!(
29576                    <Rpc_Resp_GetCoprocessorFwVersion as ::micropb::MessageEncode>::MAX_SIZE,
29577                    |size| ::micropb::size::sizeof_len_record(size)
29578                ),
29579                |size| size + 2usize
29580            ) {
29581                if size > max_size {
29582                    max_size = size;
29583                }
29584            } else {
29585                break 'oneof (::core::option::Option::<usize>::None);
29586            }
29587            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29588                ::micropb::const_map!(
29589                    <Rpc_Resp_WifiScanGetApRecord as ::micropb::MessageEncode>::MAX_SIZE,
29590                    |size| ::micropb::size::sizeof_len_record(size)
29591                ),
29592                |size| size + 2usize
29593            ) {
29594                if size > max_size {
29595                    max_size = size;
29596                }
29597            } else {
29598                break 'oneof (::core::option::Option::<usize>::None);
29599            }
29600            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29601                ::micropb::const_map!(
29602                    <Rpc_Event_ESPInit as ::micropb::MessageEncode>::MAX_SIZE,
29603                    |size| ::micropb::size::sizeof_len_record(size)
29604                ),
29605                |size| size + 2usize
29606            ) {
29607                if size > max_size {
29608                    max_size = size;
29609                }
29610            } else {
29611                break 'oneof (::core::option::Option::<usize>::None);
29612            }
29613            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29614                ::micropb::const_map!(
29615                    <Rpc_Event_Heartbeat as ::micropb::MessageEncode>::MAX_SIZE,
29616                    |size| ::micropb::size::sizeof_len_record(size)
29617                ),
29618                |size| size + 2usize
29619            ) {
29620                if size > max_size {
29621                    max_size = size;
29622                }
29623            } else {
29624                break 'oneof (::core::option::Option::<usize>::None);
29625            }
29626            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29627                ::micropb::const_map!(
29628                    <Rpc_Event_AP_StaConnected as ::micropb::MessageEncode>::MAX_SIZE,
29629                    |size| ::micropb::size::sizeof_len_record(size)
29630                ),
29631                |size| size + 2usize
29632            ) {
29633                if size > max_size {
29634                    max_size = size;
29635                }
29636            } else {
29637                break 'oneof (::core::option::Option::<usize>::None);
29638            }
29639            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29640                ::micropb::const_map!(
29641                    <Rpc_Event_AP_StaDisconnected as ::micropb::MessageEncode>::MAX_SIZE,
29642                    |size| ::micropb::size::sizeof_len_record(size)
29643                ),
29644                |size| size + 2usize
29645            ) {
29646                if size > max_size {
29647                    max_size = size;
29648                }
29649            } else {
29650                break 'oneof (::core::option::Option::<usize>::None);
29651            }
29652            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29653                ::micropb::const_map!(
29654                    <Rpc_Event_WifiEventNoArgs as ::micropb::MessageEncode>::MAX_SIZE,
29655                    |size| ::micropb::size::sizeof_len_record(size)
29656                ),
29657                |size| size + 2usize
29658            ) {
29659                if size > max_size {
29660                    max_size = size;
29661                }
29662            } else {
29663                break 'oneof (::core::option::Option::<usize>::None);
29664            }
29665            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29666                ::micropb::const_map!(
29667                    <Rpc_Event_StaScanDone as ::micropb::MessageEncode>::MAX_SIZE,
29668                    |size| ::micropb::size::sizeof_len_record(size)
29669                ),
29670                |size| size + 2usize
29671            ) {
29672                if size > max_size {
29673                    max_size = size;
29674                }
29675            } else {
29676                break 'oneof (::core::option::Option::<usize>::None);
29677            }
29678            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29679                ::micropb::const_map!(
29680                    <Rpc_Event_StaConnected as ::micropb::MessageEncode>::MAX_SIZE,
29681                    |size| ::micropb::size::sizeof_len_record(size)
29682                ),
29683                |size| size + 2usize
29684            ) {
29685                if size > max_size {
29686                    max_size = size;
29687                }
29688            } else {
29689                break 'oneof (::core::option::Option::<usize>::None);
29690            }
29691            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29692                ::micropb::const_map!(
29693                    <Rpc_Event_StaDisconnected as ::micropb::MessageEncode>::MAX_SIZE,
29694                    |size| ::micropb::size::sizeof_len_record(size)
29695                ),
29696                |size| size + 2usize
29697            ) {
29698                if size > max_size {
29699                    max_size = size;
29700                }
29701            } else {
29702                break 'oneof (::core::option::Option::<usize>::None);
29703            }
29704            ::core::option::Option::Some(max_size)
29705        } {
29706            max_size += size;
29707        } else {
29708            break 'msg (::core::option::Option::<usize>::None);
29709        };
29710        ::core::option::Option::Some(max_size)
29711    };
29712    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
29713        &self,
29714        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
29715    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
29716        use ::micropb::{FieldEncode, PbMap};
29717        {
29718            let val_ref = &self.r#msg_type;
29719            if val_ref.0 != 0 {
29720                encoder.encode_varint32(8u32)?;
29721                encoder.encode_int32(val_ref.0 as _)?;
29722            }
29723        }
29724        {
29725            let val_ref = &self.r#msg_id;
29726            if val_ref.0 != 0 {
29727                encoder.encode_varint32(16u32)?;
29728                encoder.encode_int32(val_ref.0 as _)?;
29729            }
29730        }
29731        {
29732            let val_ref = &self.r#uid;
29733            if *val_ref != 0 {
29734                encoder.encode_varint32(24u32)?;
29735                encoder.encode_varint32(*val_ref as _)?;
29736            }
29737        }
29738        if let Some(oneof) = &self.r#payload {
29739            match &*oneof {
29740                Rpc_::Payload::ReqGetMacAddress(val_ref) => {
29741                    let val_ref = &*val_ref;
29742                    encoder.encode_varint32(2058u32)?;
29743                    val_ref.encode_len_delimited(encoder)?;
29744                }
29745                Rpc_::Payload::ReqSetMacAddress(val_ref) => {
29746                    let val_ref = &*val_ref;
29747                    encoder.encode_varint32(2066u32)?;
29748                    val_ref.encode_len_delimited(encoder)?;
29749                }
29750                Rpc_::Payload::ReqGetWifiMode(val_ref) => {
29751                    let val_ref = &*val_ref;
29752                    encoder.encode_varint32(2074u32)?;
29753                    val_ref.encode_len_delimited(encoder)?;
29754                }
29755                Rpc_::Payload::ReqSetWifiMode(val_ref) => {
29756                    let val_ref = &*val_ref;
29757                    encoder.encode_varint32(2082u32)?;
29758                    val_ref.encode_len_delimited(encoder)?;
29759                }
29760                Rpc_::Payload::ReqWifiSetPs(val_ref) => {
29761                    let val_ref = &*val_ref;
29762                    encoder.encode_varint32(2162u32)?;
29763                    val_ref.encode_len_delimited(encoder)?;
29764                }
29765                Rpc_::Payload::ReqWifiGetPs(val_ref) => {
29766                    let val_ref = &*val_ref;
29767                    encoder.encode_varint32(2170u32)?;
29768                    val_ref.encode_len_delimited(encoder)?;
29769                }
29770                Rpc_::Payload::ReqOtaBegin(val_ref) => {
29771                    let val_ref = &*val_ref;
29772                    encoder.encode_varint32(2178u32)?;
29773                    val_ref.encode_len_delimited(encoder)?;
29774                }
29775                Rpc_::Payload::ReqOtaWrite(val_ref) => {
29776                    let val_ref = &*val_ref;
29777                    encoder.encode_varint32(2186u32)?;
29778                    val_ref.encode_len_delimited(encoder)?;
29779                }
29780                Rpc_::Payload::ReqOtaEnd(val_ref) => {
29781                    let val_ref = &*val_ref;
29782                    encoder.encode_varint32(2194u32)?;
29783                    val_ref.encode_len_delimited(encoder)?;
29784                }
29785                Rpc_::Payload::ReqSetWifiMaxTxPower(val_ref) => {
29786                    let val_ref = &*val_ref;
29787                    encoder.encode_varint32(2202u32)?;
29788                    val_ref.encode_len_delimited(encoder)?;
29789                }
29790                Rpc_::Payload::ReqGetWifiMaxTxPower(val_ref) => {
29791                    let val_ref = &*val_ref;
29792                    encoder.encode_varint32(2210u32)?;
29793                    val_ref.encode_len_delimited(encoder)?;
29794                }
29795                Rpc_::Payload::ReqConfigHeartbeat(val_ref) => {
29796                    let val_ref = &*val_ref;
29797                    encoder.encode_varint32(2218u32)?;
29798                    val_ref.encode_len_delimited(encoder)?;
29799                }
29800                Rpc_::Payload::ReqWifiInit(val_ref) => {
29801                    let val_ref = &*val_ref;
29802                    encoder.encode_varint32(2226u32)?;
29803                    val_ref.encode_len_delimited(encoder)?;
29804                }
29805                Rpc_::Payload::ReqWifiDeinit(val_ref) => {
29806                    let val_ref = &*val_ref;
29807                    encoder.encode_varint32(2234u32)?;
29808                    val_ref.encode_len_delimited(encoder)?;
29809                }
29810                Rpc_::Payload::ReqWifiStart(val_ref) => {
29811                    let val_ref = &*val_ref;
29812                    encoder.encode_varint32(2242u32)?;
29813                    val_ref.encode_len_delimited(encoder)?;
29814                }
29815                Rpc_::Payload::ReqWifiStop(val_ref) => {
29816                    let val_ref = &*val_ref;
29817                    encoder.encode_varint32(2250u32)?;
29818                    val_ref.encode_len_delimited(encoder)?;
29819                }
29820                Rpc_::Payload::ReqWifiConnect(val_ref) => {
29821                    let val_ref = &*val_ref;
29822                    encoder.encode_varint32(2258u32)?;
29823                    val_ref.encode_len_delimited(encoder)?;
29824                }
29825                Rpc_::Payload::ReqWifiDisconnect(val_ref) => {
29826                    let val_ref = &*val_ref;
29827                    encoder.encode_varint32(2266u32)?;
29828                    val_ref.encode_len_delimited(encoder)?;
29829                }
29830                Rpc_::Payload::ReqWifiSetConfig(val_ref) => {
29831                    let val_ref = &*val_ref;
29832                    encoder.encode_varint32(2274u32)?;
29833                    val_ref.encode_len_delimited(encoder)?;
29834                }
29835                Rpc_::Payload::ReqWifiGetConfig(val_ref) => {
29836                    let val_ref = &*val_ref;
29837                    encoder.encode_varint32(2282u32)?;
29838                    val_ref.encode_len_delimited(encoder)?;
29839                }
29840                Rpc_::Payload::ReqWifiScanStart(val_ref) => {
29841                    let val_ref = &*val_ref;
29842                    encoder.encode_varint32(2290u32)?;
29843                    val_ref.encode_len_delimited(encoder)?;
29844                }
29845                Rpc_::Payload::ReqWifiScanStop(val_ref) => {
29846                    let val_ref = &*val_ref;
29847                    encoder.encode_varint32(2298u32)?;
29848                    val_ref.encode_len_delimited(encoder)?;
29849                }
29850                Rpc_::Payload::ReqWifiScanGetApNum(val_ref) => {
29851                    let val_ref = &*val_ref;
29852                    encoder.encode_varint32(2306u32)?;
29853                    val_ref.encode_len_delimited(encoder)?;
29854                }
29855                Rpc_::Payload::ReqWifiScanGetApRecords(val_ref) => {
29856                    let val_ref = &*val_ref;
29857                    encoder.encode_varint32(2314u32)?;
29858                    val_ref.encode_len_delimited(encoder)?;
29859                }
29860                Rpc_::Payload::ReqWifiClearApList(val_ref) => {
29861                    let val_ref = &*val_ref;
29862                    encoder.encode_varint32(2322u32)?;
29863                    val_ref.encode_len_delimited(encoder)?;
29864                }
29865                Rpc_::Payload::ReqWifiRestore(val_ref) => {
29866                    let val_ref = &*val_ref;
29867                    encoder.encode_varint32(2330u32)?;
29868                    val_ref.encode_len_delimited(encoder)?;
29869                }
29870                Rpc_::Payload::ReqWifiClearFastConnect(val_ref) => {
29871                    let val_ref = &*val_ref;
29872                    encoder.encode_varint32(2338u32)?;
29873                    val_ref.encode_len_delimited(encoder)?;
29874                }
29875                Rpc_::Payload::ReqWifiDeauthSta(val_ref) => {
29876                    let val_ref = &*val_ref;
29877                    encoder.encode_varint32(2346u32)?;
29878                    val_ref.encode_len_delimited(encoder)?;
29879                }
29880                Rpc_::Payload::ReqWifiStaGetApInfo(val_ref) => {
29881                    let val_ref = &*val_ref;
29882                    encoder.encode_varint32(2354u32)?;
29883                    val_ref.encode_len_delimited(encoder)?;
29884                }
29885                Rpc_::Payload::ReqWifiSetProtocol(val_ref) => {
29886                    let val_ref = &*val_ref;
29887                    encoder.encode_varint32(2378u32)?;
29888                    val_ref.encode_len_delimited(encoder)?;
29889                }
29890                Rpc_::Payload::ReqWifiGetProtocol(val_ref) => {
29891                    let val_ref = &*val_ref;
29892                    encoder.encode_varint32(2386u32)?;
29893                    val_ref.encode_len_delimited(encoder)?;
29894                }
29895                Rpc_::Payload::ReqWifiSetBandwidth(val_ref) => {
29896                    let val_ref = &*val_ref;
29897                    encoder.encode_varint32(2394u32)?;
29898                    val_ref.encode_len_delimited(encoder)?;
29899                }
29900                Rpc_::Payload::ReqWifiGetBandwidth(val_ref) => {
29901                    let val_ref = &*val_ref;
29902                    encoder.encode_varint32(2402u32)?;
29903                    val_ref.encode_len_delimited(encoder)?;
29904                }
29905                Rpc_::Payload::ReqWifiSetChannel(val_ref) => {
29906                    let val_ref = &*val_ref;
29907                    encoder.encode_varint32(2410u32)?;
29908                    val_ref.encode_len_delimited(encoder)?;
29909                }
29910                Rpc_::Payload::ReqWifiGetChannel(val_ref) => {
29911                    let val_ref = &*val_ref;
29912                    encoder.encode_varint32(2418u32)?;
29913                    val_ref.encode_len_delimited(encoder)?;
29914                }
29915                Rpc_::Payload::ReqWifiSetCountry(val_ref) => {
29916                    let val_ref = &*val_ref;
29917                    encoder.encode_varint32(2426u32)?;
29918                    val_ref.encode_len_delimited(encoder)?;
29919                }
29920                Rpc_::Payload::ReqWifiGetCountry(val_ref) => {
29921                    let val_ref = &*val_ref;
29922                    encoder.encode_varint32(2434u32)?;
29923                    val_ref.encode_len_delimited(encoder)?;
29924                }
29925                Rpc_::Payload::ReqWifiApGetStaList(val_ref) => {
29926                    let val_ref = &*val_ref;
29927                    encoder.encode_varint32(2490u32)?;
29928                    val_ref.encode_len_delimited(encoder)?;
29929                }
29930                Rpc_::Payload::ReqWifiApGetStaAid(val_ref) => {
29931                    let val_ref = &*val_ref;
29932                    encoder.encode_varint32(2498u32)?;
29933                    val_ref.encode_len_delimited(encoder)?;
29934                }
29935                Rpc_::Payload::ReqWifiSetStorage(val_ref) => {
29936                    let val_ref = &*val_ref;
29937                    encoder.encode_varint32(2506u32)?;
29938                    val_ref.encode_len_delimited(encoder)?;
29939                }
29940                Rpc_::Payload::ReqWifiSetCountryCode(val_ref) => {
29941                    let val_ref = &*val_ref;
29942                    encoder.encode_varint32(2674u32)?;
29943                    val_ref.encode_len_delimited(encoder)?;
29944                }
29945                Rpc_::Payload::ReqWifiGetCountryCode(val_ref) => {
29946                    let val_ref = &*val_ref;
29947                    encoder.encode_varint32(2682u32)?;
29948                    val_ref.encode_len_delimited(encoder)?;
29949                }
29950                Rpc_::Payload::ReqWifiStaGetAid(val_ref) => {
29951                    let val_ref = &*val_ref;
29952                    encoder.encode_varint32(2706u32)?;
29953                    val_ref.encode_len_delimited(encoder)?;
29954                }
29955                Rpc_::Payload::ReqWifiStaGetNegotiatedPhymode(val_ref) => {
29956                    let val_ref = &*val_ref;
29957                    encoder.encode_varint32(2714u32)?;
29958                    val_ref.encode_len_delimited(encoder)?;
29959                }
29960                Rpc_::Payload::ReqWifiStaGetRssi(val_ref) => {
29961                    let val_ref = &*val_ref;
29962                    encoder.encode_varint32(2730u32)?;
29963                    val_ref.encode_len_delimited(encoder)?;
29964                }
29965                Rpc_::Payload::ReqWifiSetProtocols(val_ref) => {
29966                    let val_ref = &*val_ref;
29967                    encoder.encode_varint32(2738u32)?;
29968                    val_ref.encode_len_delimited(encoder)?;
29969                }
29970                Rpc_::Payload::ReqWifiGetProtocols(val_ref) => {
29971                    let val_ref = &*val_ref;
29972                    encoder.encode_varint32(2746u32)?;
29973                    val_ref.encode_len_delimited(encoder)?;
29974                }
29975                Rpc_::Payload::ReqWifiSetBandwidths(val_ref) => {
29976                    let val_ref = &*val_ref;
29977                    encoder.encode_varint32(2754u32)?;
29978                    val_ref.encode_len_delimited(encoder)?;
29979                }
29980                Rpc_::Payload::ReqWifiGetBandwidths(val_ref) => {
29981                    let val_ref = &*val_ref;
29982                    encoder.encode_varint32(2762u32)?;
29983                    val_ref.encode_len_delimited(encoder)?;
29984                }
29985                Rpc_::Payload::ReqWifiSetBand(val_ref) => {
29986                    let val_ref = &*val_ref;
29987                    encoder.encode_varint32(2770u32)?;
29988                    val_ref.encode_len_delimited(encoder)?;
29989                }
29990                Rpc_::Payload::ReqWifiGetBand(val_ref) => {
29991                    let val_ref = &*val_ref;
29992                    encoder.encode_varint32(2778u32)?;
29993                    val_ref.encode_len_delimited(encoder)?;
29994                }
29995                Rpc_::Payload::ReqWifiSetBandmode(val_ref) => {
29996                    let val_ref = &*val_ref;
29997                    encoder.encode_varint32(2786u32)?;
29998                    val_ref.encode_len_delimited(encoder)?;
29999                }
30000                Rpc_::Payload::ReqWifiGetBandmode(val_ref) => {
30001                    let val_ref = &*val_ref;
30002                    encoder.encode_varint32(2794u32)?;
30003                    val_ref.encode_len_delimited(encoder)?;
30004                }
30005                Rpc_::Payload::ReqGetCoprocessorFwversion(val_ref) => {
30006                    let val_ref = &*val_ref;
30007                    encoder.encode_varint32(2802u32)?;
30008                    val_ref.encode_len_delimited(encoder)?;
30009                }
30010                Rpc_::Payload::ReqWifiScanGetApRecord(val_ref) => {
30011                    let val_ref = &*val_ref;
30012                    encoder.encode_varint32(2810u32)?;
30013                    val_ref.encode_len_delimited(encoder)?;
30014                }
30015                Rpc_::Payload::RespGetMacAddress(val_ref) => {
30016                    let val_ref = &*val_ref;
30017                    encoder.encode_varint32(4106u32)?;
30018                    val_ref.encode_len_delimited(encoder)?;
30019                }
30020                Rpc_::Payload::RespSetMacAddress(val_ref) => {
30021                    let val_ref = &*val_ref;
30022                    encoder.encode_varint32(4114u32)?;
30023                    val_ref.encode_len_delimited(encoder)?;
30024                }
30025                Rpc_::Payload::RespGetWifiMode(val_ref) => {
30026                    let val_ref = &*val_ref;
30027                    encoder.encode_varint32(4122u32)?;
30028                    val_ref.encode_len_delimited(encoder)?;
30029                }
30030                Rpc_::Payload::RespSetWifiMode(val_ref) => {
30031                    let val_ref = &*val_ref;
30032                    encoder.encode_varint32(4130u32)?;
30033                    val_ref.encode_len_delimited(encoder)?;
30034                }
30035                Rpc_::Payload::RespWifiSetPs(val_ref) => {
30036                    let val_ref = &*val_ref;
30037                    encoder.encode_varint32(4210u32)?;
30038                    val_ref.encode_len_delimited(encoder)?;
30039                }
30040                Rpc_::Payload::RespWifiGetPs(val_ref) => {
30041                    let val_ref = &*val_ref;
30042                    encoder.encode_varint32(4218u32)?;
30043                    val_ref.encode_len_delimited(encoder)?;
30044                }
30045                Rpc_::Payload::RespOtaBegin(val_ref) => {
30046                    let val_ref = &*val_ref;
30047                    encoder.encode_varint32(4226u32)?;
30048                    val_ref.encode_len_delimited(encoder)?;
30049                }
30050                Rpc_::Payload::RespOtaWrite(val_ref) => {
30051                    let val_ref = &*val_ref;
30052                    encoder.encode_varint32(4234u32)?;
30053                    val_ref.encode_len_delimited(encoder)?;
30054                }
30055                Rpc_::Payload::RespOtaEnd(val_ref) => {
30056                    let val_ref = &*val_ref;
30057                    encoder.encode_varint32(4242u32)?;
30058                    val_ref.encode_len_delimited(encoder)?;
30059                }
30060                Rpc_::Payload::RespSetWifiMaxTxPower(val_ref) => {
30061                    let val_ref = &*val_ref;
30062                    encoder.encode_varint32(4250u32)?;
30063                    val_ref.encode_len_delimited(encoder)?;
30064                }
30065                Rpc_::Payload::RespGetWifiMaxTxPower(val_ref) => {
30066                    let val_ref = &*val_ref;
30067                    encoder.encode_varint32(4258u32)?;
30068                    val_ref.encode_len_delimited(encoder)?;
30069                }
30070                Rpc_::Payload::RespConfigHeartbeat(val_ref) => {
30071                    let val_ref = &*val_ref;
30072                    encoder.encode_varint32(4266u32)?;
30073                    val_ref.encode_len_delimited(encoder)?;
30074                }
30075                Rpc_::Payload::RespWifiInit(val_ref) => {
30076                    let val_ref = &*val_ref;
30077                    encoder.encode_varint32(4274u32)?;
30078                    val_ref.encode_len_delimited(encoder)?;
30079                }
30080                Rpc_::Payload::RespWifiDeinit(val_ref) => {
30081                    let val_ref = &*val_ref;
30082                    encoder.encode_varint32(4282u32)?;
30083                    val_ref.encode_len_delimited(encoder)?;
30084                }
30085                Rpc_::Payload::RespWifiStart(val_ref) => {
30086                    let val_ref = &*val_ref;
30087                    encoder.encode_varint32(4290u32)?;
30088                    val_ref.encode_len_delimited(encoder)?;
30089                }
30090                Rpc_::Payload::RespWifiStop(val_ref) => {
30091                    let val_ref = &*val_ref;
30092                    encoder.encode_varint32(4298u32)?;
30093                    val_ref.encode_len_delimited(encoder)?;
30094                }
30095                Rpc_::Payload::RespWifiConnect(val_ref) => {
30096                    let val_ref = &*val_ref;
30097                    encoder.encode_varint32(4306u32)?;
30098                    val_ref.encode_len_delimited(encoder)?;
30099                }
30100                Rpc_::Payload::RespWifiDisconnect(val_ref) => {
30101                    let val_ref = &*val_ref;
30102                    encoder.encode_varint32(4314u32)?;
30103                    val_ref.encode_len_delimited(encoder)?;
30104                }
30105                Rpc_::Payload::RespWifiSetConfig(val_ref) => {
30106                    let val_ref = &*val_ref;
30107                    encoder.encode_varint32(4322u32)?;
30108                    val_ref.encode_len_delimited(encoder)?;
30109                }
30110                Rpc_::Payload::RespWifiGetConfig(val_ref) => {
30111                    let val_ref = &*val_ref;
30112                    encoder.encode_varint32(4330u32)?;
30113                    val_ref.encode_len_delimited(encoder)?;
30114                }
30115                Rpc_::Payload::RespWifiScanStart(val_ref) => {
30116                    let val_ref = &*val_ref;
30117                    encoder.encode_varint32(4338u32)?;
30118                    val_ref.encode_len_delimited(encoder)?;
30119                }
30120                Rpc_::Payload::RespWifiScanStop(val_ref) => {
30121                    let val_ref = &*val_ref;
30122                    encoder.encode_varint32(4346u32)?;
30123                    val_ref.encode_len_delimited(encoder)?;
30124                }
30125                Rpc_::Payload::RespWifiScanGetApNum(val_ref) => {
30126                    let val_ref = &*val_ref;
30127                    encoder.encode_varint32(4354u32)?;
30128                    val_ref.encode_len_delimited(encoder)?;
30129                }
30130                Rpc_::Payload::RespWifiScanGetApRecords(val_ref) => {
30131                    let val_ref = &*val_ref;
30132                    encoder.encode_varint32(4362u32)?;
30133                    val_ref.encode_len_delimited(encoder)?;
30134                }
30135                Rpc_::Payload::RespWifiClearApList(val_ref) => {
30136                    let val_ref = &*val_ref;
30137                    encoder.encode_varint32(4370u32)?;
30138                    val_ref.encode_len_delimited(encoder)?;
30139                }
30140                Rpc_::Payload::RespWifiRestore(val_ref) => {
30141                    let val_ref = &*val_ref;
30142                    encoder.encode_varint32(4378u32)?;
30143                    val_ref.encode_len_delimited(encoder)?;
30144                }
30145                Rpc_::Payload::RespWifiClearFastConnect(val_ref) => {
30146                    let val_ref = &*val_ref;
30147                    encoder.encode_varint32(4386u32)?;
30148                    val_ref.encode_len_delimited(encoder)?;
30149                }
30150                Rpc_::Payload::RespWifiDeauthSta(val_ref) => {
30151                    let val_ref = &*val_ref;
30152                    encoder.encode_varint32(4394u32)?;
30153                    val_ref.encode_len_delimited(encoder)?;
30154                }
30155                Rpc_::Payload::RespWifiStaGetApInfo(val_ref) => {
30156                    let val_ref = &*val_ref;
30157                    encoder.encode_varint32(4402u32)?;
30158                    val_ref.encode_len_delimited(encoder)?;
30159                }
30160                Rpc_::Payload::RespWifiSetProtocol(val_ref) => {
30161                    let val_ref = &*val_ref;
30162                    encoder.encode_varint32(4426u32)?;
30163                    val_ref.encode_len_delimited(encoder)?;
30164                }
30165                Rpc_::Payload::RespWifiGetProtocol(val_ref) => {
30166                    let val_ref = &*val_ref;
30167                    encoder.encode_varint32(4434u32)?;
30168                    val_ref.encode_len_delimited(encoder)?;
30169                }
30170                Rpc_::Payload::RespWifiSetBandwidth(val_ref) => {
30171                    let val_ref = &*val_ref;
30172                    encoder.encode_varint32(4442u32)?;
30173                    val_ref.encode_len_delimited(encoder)?;
30174                }
30175                Rpc_::Payload::RespWifiGetBandwidth(val_ref) => {
30176                    let val_ref = &*val_ref;
30177                    encoder.encode_varint32(4450u32)?;
30178                    val_ref.encode_len_delimited(encoder)?;
30179                }
30180                Rpc_::Payload::RespWifiSetChannel(val_ref) => {
30181                    let val_ref = &*val_ref;
30182                    encoder.encode_varint32(4458u32)?;
30183                    val_ref.encode_len_delimited(encoder)?;
30184                }
30185                Rpc_::Payload::RespWifiGetChannel(val_ref) => {
30186                    let val_ref = &*val_ref;
30187                    encoder.encode_varint32(4466u32)?;
30188                    val_ref.encode_len_delimited(encoder)?;
30189                }
30190                Rpc_::Payload::RespWifiSetCountry(val_ref) => {
30191                    let val_ref = &*val_ref;
30192                    encoder.encode_varint32(4474u32)?;
30193                    val_ref.encode_len_delimited(encoder)?;
30194                }
30195                Rpc_::Payload::RespWifiGetCountry(val_ref) => {
30196                    let val_ref = &*val_ref;
30197                    encoder.encode_varint32(4482u32)?;
30198                    val_ref.encode_len_delimited(encoder)?;
30199                }
30200                Rpc_::Payload::RespWifiApGetStaList(val_ref) => {
30201                    let val_ref = &*val_ref;
30202                    encoder.encode_varint32(4538u32)?;
30203                    val_ref.encode_len_delimited(encoder)?;
30204                }
30205                Rpc_::Payload::RespWifiApGetStaAid(val_ref) => {
30206                    let val_ref = &*val_ref;
30207                    encoder.encode_varint32(4546u32)?;
30208                    val_ref.encode_len_delimited(encoder)?;
30209                }
30210                Rpc_::Payload::RespWifiSetStorage(val_ref) => {
30211                    let val_ref = &*val_ref;
30212                    encoder.encode_varint32(4554u32)?;
30213                    val_ref.encode_len_delimited(encoder)?;
30214                }
30215                Rpc_::Payload::RespWifiSetCountryCode(val_ref) => {
30216                    let val_ref = &*val_ref;
30217                    encoder.encode_varint32(4722u32)?;
30218                    val_ref.encode_len_delimited(encoder)?;
30219                }
30220                Rpc_::Payload::RespWifiGetCountryCode(val_ref) => {
30221                    let val_ref = &*val_ref;
30222                    encoder.encode_varint32(4730u32)?;
30223                    val_ref.encode_len_delimited(encoder)?;
30224                }
30225                Rpc_::Payload::RespWifiStaGetAid(val_ref) => {
30226                    let val_ref = &*val_ref;
30227                    encoder.encode_varint32(4754u32)?;
30228                    val_ref.encode_len_delimited(encoder)?;
30229                }
30230                Rpc_::Payload::RespWifiStaGetNegotiatedPhymode(val_ref) => {
30231                    let val_ref = &*val_ref;
30232                    encoder.encode_varint32(4762u32)?;
30233                    val_ref.encode_len_delimited(encoder)?;
30234                }
30235                Rpc_::Payload::RespWifiStaGetRssi(val_ref) => {
30236                    let val_ref = &*val_ref;
30237                    encoder.encode_varint32(4778u32)?;
30238                    val_ref.encode_len_delimited(encoder)?;
30239                }
30240                Rpc_::Payload::RespWifiSetProtocols(val_ref) => {
30241                    let val_ref = &*val_ref;
30242                    encoder.encode_varint32(4786u32)?;
30243                    val_ref.encode_len_delimited(encoder)?;
30244                }
30245                Rpc_::Payload::RespWifiGetProtocols(val_ref) => {
30246                    let val_ref = &*val_ref;
30247                    encoder.encode_varint32(4794u32)?;
30248                    val_ref.encode_len_delimited(encoder)?;
30249                }
30250                Rpc_::Payload::RespWifiSetBandwidths(val_ref) => {
30251                    let val_ref = &*val_ref;
30252                    encoder.encode_varint32(4802u32)?;
30253                    val_ref.encode_len_delimited(encoder)?;
30254                }
30255                Rpc_::Payload::RespWifiGetBandwidths(val_ref) => {
30256                    let val_ref = &*val_ref;
30257                    encoder.encode_varint32(4810u32)?;
30258                    val_ref.encode_len_delimited(encoder)?;
30259                }
30260                Rpc_::Payload::RespWifiSetBand(val_ref) => {
30261                    let val_ref = &*val_ref;
30262                    encoder.encode_varint32(4818u32)?;
30263                    val_ref.encode_len_delimited(encoder)?;
30264                }
30265                Rpc_::Payload::RespWifiGetBand(val_ref) => {
30266                    let val_ref = &*val_ref;
30267                    encoder.encode_varint32(4826u32)?;
30268                    val_ref.encode_len_delimited(encoder)?;
30269                }
30270                Rpc_::Payload::RespWifiSetBandmode(val_ref) => {
30271                    let val_ref = &*val_ref;
30272                    encoder.encode_varint32(4834u32)?;
30273                    val_ref.encode_len_delimited(encoder)?;
30274                }
30275                Rpc_::Payload::RespWifiGetBandmode(val_ref) => {
30276                    let val_ref = &*val_ref;
30277                    encoder.encode_varint32(4842u32)?;
30278                    val_ref.encode_len_delimited(encoder)?;
30279                }
30280                Rpc_::Payload::RespGetCoprocessorFwversion(val_ref) => {
30281                    let val_ref = &*val_ref;
30282                    encoder.encode_varint32(4850u32)?;
30283                    val_ref.encode_len_delimited(encoder)?;
30284                }
30285                Rpc_::Payload::RespWifiScanGetApRecord(val_ref) => {
30286                    let val_ref = &*val_ref;
30287                    encoder.encode_varint32(4858u32)?;
30288                    val_ref.encode_len_delimited(encoder)?;
30289                }
30290                Rpc_::Payload::EventEspInit(val_ref) => {
30291                    let val_ref = &*val_ref;
30292                    encoder.encode_varint32(6154u32)?;
30293                    val_ref.encode_len_delimited(encoder)?;
30294                }
30295                Rpc_::Payload::EventHeartbeat(val_ref) => {
30296                    let val_ref = &*val_ref;
30297                    encoder.encode_varint32(6162u32)?;
30298                    val_ref.encode_len_delimited(encoder)?;
30299                }
30300                Rpc_::Payload::EventApStaConnected(val_ref) => {
30301                    let val_ref = &*val_ref;
30302                    encoder.encode_varint32(6170u32)?;
30303                    val_ref.encode_len_delimited(encoder)?;
30304                }
30305                Rpc_::Payload::EventApStaDisconnected(val_ref) => {
30306                    let val_ref = &*val_ref;
30307                    encoder.encode_varint32(6178u32)?;
30308                    val_ref.encode_len_delimited(encoder)?;
30309                }
30310                Rpc_::Payload::EventWifiEventNoArgs(val_ref) => {
30311                    let val_ref = &*val_ref;
30312                    encoder.encode_varint32(6186u32)?;
30313                    val_ref.encode_len_delimited(encoder)?;
30314                }
30315                Rpc_::Payload::EventStaScanDone(val_ref) => {
30316                    let val_ref = &*val_ref;
30317                    encoder.encode_varint32(6194u32)?;
30318                    val_ref.encode_len_delimited(encoder)?;
30319                }
30320                Rpc_::Payload::EventStaConnected(val_ref) => {
30321                    let val_ref = &*val_ref;
30322                    encoder.encode_varint32(6202u32)?;
30323                    val_ref.encode_len_delimited(encoder)?;
30324                }
30325                Rpc_::Payload::EventStaDisconnected(val_ref) => {
30326                    let val_ref = &*val_ref;
30327                    encoder.encode_varint32(6210u32)?;
30328                    val_ref.encode_len_delimited(encoder)?;
30329                }
30330            }
30331        }
30332        Ok(())
30333    }
30334    fn compute_size(&self) -> usize {
30335        use ::micropb::{FieldEncode, PbMap};
30336        let mut size = 0;
30337        {
30338            let val_ref = &self.r#msg_type;
30339            if val_ref.0 != 0 {
30340                size += 1usize + ::micropb::size::sizeof_int32(val_ref.0 as _);
30341            }
30342        }
30343        {
30344            let val_ref = &self.r#msg_id;
30345            if val_ref.0 != 0 {
30346                size += 1usize + ::micropb::size::sizeof_int32(val_ref.0 as _);
30347            }
30348        }
30349        {
30350            let val_ref = &self.r#uid;
30351            if *val_ref != 0 {
30352                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
30353            }
30354        }
30355        if let Some(oneof) = &self.r#payload {
30356            match &*oneof {
30357                Rpc_::Payload::ReqGetMacAddress(val_ref) => {
30358                    let val_ref = &*val_ref;
30359                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30360                }
30361                Rpc_::Payload::ReqSetMacAddress(val_ref) => {
30362                    let val_ref = &*val_ref;
30363                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30364                }
30365                Rpc_::Payload::ReqGetWifiMode(val_ref) => {
30366                    let val_ref = &*val_ref;
30367                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30368                }
30369                Rpc_::Payload::ReqSetWifiMode(val_ref) => {
30370                    let val_ref = &*val_ref;
30371                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30372                }
30373                Rpc_::Payload::ReqWifiSetPs(val_ref) => {
30374                    let val_ref = &*val_ref;
30375                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30376                }
30377                Rpc_::Payload::ReqWifiGetPs(val_ref) => {
30378                    let val_ref = &*val_ref;
30379                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30380                }
30381                Rpc_::Payload::ReqOtaBegin(val_ref) => {
30382                    let val_ref = &*val_ref;
30383                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30384                }
30385                Rpc_::Payload::ReqOtaWrite(val_ref) => {
30386                    let val_ref = &*val_ref;
30387                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30388                }
30389                Rpc_::Payload::ReqOtaEnd(val_ref) => {
30390                    let val_ref = &*val_ref;
30391                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30392                }
30393                Rpc_::Payload::ReqSetWifiMaxTxPower(val_ref) => {
30394                    let val_ref = &*val_ref;
30395                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30396                }
30397                Rpc_::Payload::ReqGetWifiMaxTxPower(val_ref) => {
30398                    let val_ref = &*val_ref;
30399                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30400                }
30401                Rpc_::Payload::ReqConfigHeartbeat(val_ref) => {
30402                    let val_ref = &*val_ref;
30403                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30404                }
30405                Rpc_::Payload::ReqWifiInit(val_ref) => {
30406                    let val_ref = &*val_ref;
30407                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30408                }
30409                Rpc_::Payload::ReqWifiDeinit(val_ref) => {
30410                    let val_ref = &*val_ref;
30411                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30412                }
30413                Rpc_::Payload::ReqWifiStart(val_ref) => {
30414                    let val_ref = &*val_ref;
30415                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30416                }
30417                Rpc_::Payload::ReqWifiStop(val_ref) => {
30418                    let val_ref = &*val_ref;
30419                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30420                }
30421                Rpc_::Payload::ReqWifiConnect(val_ref) => {
30422                    let val_ref = &*val_ref;
30423                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30424                }
30425                Rpc_::Payload::ReqWifiDisconnect(val_ref) => {
30426                    let val_ref = &*val_ref;
30427                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30428                }
30429                Rpc_::Payload::ReqWifiSetConfig(val_ref) => {
30430                    let val_ref = &*val_ref;
30431                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30432                }
30433                Rpc_::Payload::ReqWifiGetConfig(val_ref) => {
30434                    let val_ref = &*val_ref;
30435                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30436                }
30437                Rpc_::Payload::ReqWifiScanStart(val_ref) => {
30438                    let val_ref = &*val_ref;
30439                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30440                }
30441                Rpc_::Payload::ReqWifiScanStop(val_ref) => {
30442                    let val_ref = &*val_ref;
30443                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30444                }
30445                Rpc_::Payload::ReqWifiScanGetApNum(val_ref) => {
30446                    let val_ref = &*val_ref;
30447                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30448                }
30449                Rpc_::Payload::ReqWifiScanGetApRecords(val_ref) => {
30450                    let val_ref = &*val_ref;
30451                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30452                }
30453                Rpc_::Payload::ReqWifiClearApList(val_ref) => {
30454                    let val_ref = &*val_ref;
30455                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30456                }
30457                Rpc_::Payload::ReqWifiRestore(val_ref) => {
30458                    let val_ref = &*val_ref;
30459                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30460                }
30461                Rpc_::Payload::ReqWifiClearFastConnect(val_ref) => {
30462                    let val_ref = &*val_ref;
30463                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30464                }
30465                Rpc_::Payload::ReqWifiDeauthSta(val_ref) => {
30466                    let val_ref = &*val_ref;
30467                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30468                }
30469                Rpc_::Payload::ReqWifiStaGetApInfo(val_ref) => {
30470                    let val_ref = &*val_ref;
30471                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30472                }
30473                Rpc_::Payload::ReqWifiSetProtocol(val_ref) => {
30474                    let val_ref = &*val_ref;
30475                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30476                }
30477                Rpc_::Payload::ReqWifiGetProtocol(val_ref) => {
30478                    let val_ref = &*val_ref;
30479                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30480                }
30481                Rpc_::Payload::ReqWifiSetBandwidth(val_ref) => {
30482                    let val_ref = &*val_ref;
30483                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30484                }
30485                Rpc_::Payload::ReqWifiGetBandwidth(val_ref) => {
30486                    let val_ref = &*val_ref;
30487                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30488                }
30489                Rpc_::Payload::ReqWifiSetChannel(val_ref) => {
30490                    let val_ref = &*val_ref;
30491                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30492                }
30493                Rpc_::Payload::ReqWifiGetChannel(val_ref) => {
30494                    let val_ref = &*val_ref;
30495                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30496                }
30497                Rpc_::Payload::ReqWifiSetCountry(val_ref) => {
30498                    let val_ref = &*val_ref;
30499                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30500                }
30501                Rpc_::Payload::ReqWifiGetCountry(val_ref) => {
30502                    let val_ref = &*val_ref;
30503                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30504                }
30505                Rpc_::Payload::ReqWifiApGetStaList(val_ref) => {
30506                    let val_ref = &*val_ref;
30507                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30508                }
30509                Rpc_::Payload::ReqWifiApGetStaAid(val_ref) => {
30510                    let val_ref = &*val_ref;
30511                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30512                }
30513                Rpc_::Payload::ReqWifiSetStorage(val_ref) => {
30514                    let val_ref = &*val_ref;
30515                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30516                }
30517                Rpc_::Payload::ReqWifiSetCountryCode(val_ref) => {
30518                    let val_ref = &*val_ref;
30519                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30520                }
30521                Rpc_::Payload::ReqWifiGetCountryCode(val_ref) => {
30522                    let val_ref = &*val_ref;
30523                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30524                }
30525                Rpc_::Payload::ReqWifiStaGetAid(val_ref) => {
30526                    let val_ref = &*val_ref;
30527                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30528                }
30529                Rpc_::Payload::ReqWifiStaGetNegotiatedPhymode(val_ref) => {
30530                    let val_ref = &*val_ref;
30531                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30532                }
30533                Rpc_::Payload::ReqWifiStaGetRssi(val_ref) => {
30534                    let val_ref = &*val_ref;
30535                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30536                }
30537                Rpc_::Payload::ReqWifiSetProtocols(val_ref) => {
30538                    let val_ref = &*val_ref;
30539                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30540                }
30541                Rpc_::Payload::ReqWifiGetProtocols(val_ref) => {
30542                    let val_ref = &*val_ref;
30543                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30544                }
30545                Rpc_::Payload::ReqWifiSetBandwidths(val_ref) => {
30546                    let val_ref = &*val_ref;
30547                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30548                }
30549                Rpc_::Payload::ReqWifiGetBandwidths(val_ref) => {
30550                    let val_ref = &*val_ref;
30551                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30552                }
30553                Rpc_::Payload::ReqWifiSetBand(val_ref) => {
30554                    let val_ref = &*val_ref;
30555                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30556                }
30557                Rpc_::Payload::ReqWifiGetBand(val_ref) => {
30558                    let val_ref = &*val_ref;
30559                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30560                }
30561                Rpc_::Payload::ReqWifiSetBandmode(val_ref) => {
30562                    let val_ref = &*val_ref;
30563                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30564                }
30565                Rpc_::Payload::ReqWifiGetBandmode(val_ref) => {
30566                    let val_ref = &*val_ref;
30567                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30568                }
30569                Rpc_::Payload::ReqGetCoprocessorFwversion(val_ref) => {
30570                    let val_ref = &*val_ref;
30571                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30572                }
30573                Rpc_::Payload::ReqWifiScanGetApRecord(val_ref) => {
30574                    let val_ref = &*val_ref;
30575                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30576                }
30577                Rpc_::Payload::RespGetMacAddress(val_ref) => {
30578                    let val_ref = &*val_ref;
30579                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30580                }
30581                Rpc_::Payload::RespSetMacAddress(val_ref) => {
30582                    let val_ref = &*val_ref;
30583                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30584                }
30585                Rpc_::Payload::RespGetWifiMode(val_ref) => {
30586                    let val_ref = &*val_ref;
30587                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30588                }
30589                Rpc_::Payload::RespSetWifiMode(val_ref) => {
30590                    let val_ref = &*val_ref;
30591                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30592                }
30593                Rpc_::Payload::RespWifiSetPs(val_ref) => {
30594                    let val_ref = &*val_ref;
30595                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30596                }
30597                Rpc_::Payload::RespWifiGetPs(val_ref) => {
30598                    let val_ref = &*val_ref;
30599                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30600                }
30601                Rpc_::Payload::RespOtaBegin(val_ref) => {
30602                    let val_ref = &*val_ref;
30603                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30604                }
30605                Rpc_::Payload::RespOtaWrite(val_ref) => {
30606                    let val_ref = &*val_ref;
30607                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30608                }
30609                Rpc_::Payload::RespOtaEnd(val_ref) => {
30610                    let val_ref = &*val_ref;
30611                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30612                }
30613                Rpc_::Payload::RespSetWifiMaxTxPower(val_ref) => {
30614                    let val_ref = &*val_ref;
30615                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30616                }
30617                Rpc_::Payload::RespGetWifiMaxTxPower(val_ref) => {
30618                    let val_ref = &*val_ref;
30619                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30620                }
30621                Rpc_::Payload::RespConfigHeartbeat(val_ref) => {
30622                    let val_ref = &*val_ref;
30623                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30624                }
30625                Rpc_::Payload::RespWifiInit(val_ref) => {
30626                    let val_ref = &*val_ref;
30627                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30628                }
30629                Rpc_::Payload::RespWifiDeinit(val_ref) => {
30630                    let val_ref = &*val_ref;
30631                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30632                }
30633                Rpc_::Payload::RespWifiStart(val_ref) => {
30634                    let val_ref = &*val_ref;
30635                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30636                }
30637                Rpc_::Payload::RespWifiStop(val_ref) => {
30638                    let val_ref = &*val_ref;
30639                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30640                }
30641                Rpc_::Payload::RespWifiConnect(val_ref) => {
30642                    let val_ref = &*val_ref;
30643                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30644                }
30645                Rpc_::Payload::RespWifiDisconnect(val_ref) => {
30646                    let val_ref = &*val_ref;
30647                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30648                }
30649                Rpc_::Payload::RespWifiSetConfig(val_ref) => {
30650                    let val_ref = &*val_ref;
30651                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30652                }
30653                Rpc_::Payload::RespWifiGetConfig(val_ref) => {
30654                    let val_ref = &*val_ref;
30655                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30656                }
30657                Rpc_::Payload::RespWifiScanStart(val_ref) => {
30658                    let val_ref = &*val_ref;
30659                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30660                }
30661                Rpc_::Payload::RespWifiScanStop(val_ref) => {
30662                    let val_ref = &*val_ref;
30663                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30664                }
30665                Rpc_::Payload::RespWifiScanGetApNum(val_ref) => {
30666                    let val_ref = &*val_ref;
30667                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30668                }
30669                Rpc_::Payload::RespWifiScanGetApRecords(val_ref) => {
30670                    let val_ref = &*val_ref;
30671                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30672                }
30673                Rpc_::Payload::RespWifiClearApList(val_ref) => {
30674                    let val_ref = &*val_ref;
30675                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30676                }
30677                Rpc_::Payload::RespWifiRestore(val_ref) => {
30678                    let val_ref = &*val_ref;
30679                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30680                }
30681                Rpc_::Payload::RespWifiClearFastConnect(val_ref) => {
30682                    let val_ref = &*val_ref;
30683                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30684                }
30685                Rpc_::Payload::RespWifiDeauthSta(val_ref) => {
30686                    let val_ref = &*val_ref;
30687                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30688                }
30689                Rpc_::Payload::RespWifiStaGetApInfo(val_ref) => {
30690                    let val_ref = &*val_ref;
30691                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30692                }
30693                Rpc_::Payload::RespWifiSetProtocol(val_ref) => {
30694                    let val_ref = &*val_ref;
30695                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30696                }
30697                Rpc_::Payload::RespWifiGetProtocol(val_ref) => {
30698                    let val_ref = &*val_ref;
30699                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30700                }
30701                Rpc_::Payload::RespWifiSetBandwidth(val_ref) => {
30702                    let val_ref = &*val_ref;
30703                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30704                }
30705                Rpc_::Payload::RespWifiGetBandwidth(val_ref) => {
30706                    let val_ref = &*val_ref;
30707                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30708                }
30709                Rpc_::Payload::RespWifiSetChannel(val_ref) => {
30710                    let val_ref = &*val_ref;
30711                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30712                }
30713                Rpc_::Payload::RespWifiGetChannel(val_ref) => {
30714                    let val_ref = &*val_ref;
30715                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30716                }
30717                Rpc_::Payload::RespWifiSetCountry(val_ref) => {
30718                    let val_ref = &*val_ref;
30719                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30720                }
30721                Rpc_::Payload::RespWifiGetCountry(val_ref) => {
30722                    let val_ref = &*val_ref;
30723                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30724                }
30725                Rpc_::Payload::RespWifiApGetStaList(val_ref) => {
30726                    let val_ref = &*val_ref;
30727                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30728                }
30729                Rpc_::Payload::RespWifiApGetStaAid(val_ref) => {
30730                    let val_ref = &*val_ref;
30731                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30732                }
30733                Rpc_::Payload::RespWifiSetStorage(val_ref) => {
30734                    let val_ref = &*val_ref;
30735                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30736                }
30737                Rpc_::Payload::RespWifiSetCountryCode(val_ref) => {
30738                    let val_ref = &*val_ref;
30739                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30740                }
30741                Rpc_::Payload::RespWifiGetCountryCode(val_ref) => {
30742                    let val_ref = &*val_ref;
30743                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30744                }
30745                Rpc_::Payload::RespWifiStaGetAid(val_ref) => {
30746                    let val_ref = &*val_ref;
30747                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30748                }
30749                Rpc_::Payload::RespWifiStaGetNegotiatedPhymode(val_ref) => {
30750                    let val_ref = &*val_ref;
30751                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30752                }
30753                Rpc_::Payload::RespWifiStaGetRssi(val_ref) => {
30754                    let val_ref = &*val_ref;
30755                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30756                }
30757                Rpc_::Payload::RespWifiSetProtocols(val_ref) => {
30758                    let val_ref = &*val_ref;
30759                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30760                }
30761                Rpc_::Payload::RespWifiGetProtocols(val_ref) => {
30762                    let val_ref = &*val_ref;
30763                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30764                }
30765                Rpc_::Payload::RespWifiSetBandwidths(val_ref) => {
30766                    let val_ref = &*val_ref;
30767                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30768                }
30769                Rpc_::Payload::RespWifiGetBandwidths(val_ref) => {
30770                    let val_ref = &*val_ref;
30771                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30772                }
30773                Rpc_::Payload::RespWifiSetBand(val_ref) => {
30774                    let val_ref = &*val_ref;
30775                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30776                }
30777                Rpc_::Payload::RespWifiGetBand(val_ref) => {
30778                    let val_ref = &*val_ref;
30779                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30780                }
30781                Rpc_::Payload::RespWifiSetBandmode(val_ref) => {
30782                    let val_ref = &*val_ref;
30783                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30784                }
30785                Rpc_::Payload::RespWifiGetBandmode(val_ref) => {
30786                    let val_ref = &*val_ref;
30787                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30788                }
30789                Rpc_::Payload::RespGetCoprocessorFwversion(val_ref) => {
30790                    let val_ref = &*val_ref;
30791                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30792                }
30793                Rpc_::Payload::RespWifiScanGetApRecord(val_ref) => {
30794                    let val_ref = &*val_ref;
30795                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30796                }
30797                Rpc_::Payload::EventEspInit(val_ref) => {
30798                    let val_ref = &*val_ref;
30799                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30800                }
30801                Rpc_::Payload::EventHeartbeat(val_ref) => {
30802                    let val_ref = &*val_ref;
30803                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30804                }
30805                Rpc_::Payload::EventApStaConnected(val_ref) => {
30806                    let val_ref = &*val_ref;
30807                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30808                }
30809                Rpc_::Payload::EventApStaDisconnected(val_ref) => {
30810                    let val_ref = &*val_ref;
30811                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30812                }
30813                Rpc_::Payload::EventWifiEventNoArgs(val_ref) => {
30814                    let val_ref = &*val_ref;
30815                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30816                }
30817                Rpc_::Payload::EventStaScanDone(val_ref) => {
30818                    let val_ref = &*val_ref;
30819                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30820                }
30821                Rpc_::Payload::EventStaConnected(val_ref) => {
30822                    let val_ref = &*val_ref;
30823                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30824                }
30825                Rpc_::Payload::EventStaDisconnected(val_ref) => {
30826                    let val_ref = &*val_ref;
30827                    size += 2usize + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30828                }
30829            }
30830        }
30831        size
30832    }
30833}
30834#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
30835#[repr(transparent)]
30836pub struct Rpc_WifiBw(pub i32);
30837impl Rpc_WifiBw {
30838    pub const BwInvalid: Self = Self(0);
30839    pub const Ht20: Self = Self(1);
30840    pub const Ht40: Self = Self(2);
30841}
30842impl core::default::Default for Rpc_WifiBw {
30843    fn default() -> Self {
30844        Self(0)
30845    }
30846}
30847impl core::convert::From<i32> for Rpc_WifiBw {
30848    fn from(val: i32) -> Self {
30849        Self(val)
30850    }
30851}
30852#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
30853#[repr(transparent)]
30854pub struct Rpc_WifiPowerSave(pub i32);
30855impl Rpc_WifiPowerSave {
30856    pub const PsInvalid: Self = Self(0);
30857    pub const MinModem: Self = Self(1);
30858    pub const MaxModem: Self = Self(2);
30859}
30860impl core::default::Default for Rpc_WifiPowerSave {
30861    fn default() -> Self {
30862        Self(0)
30863    }
30864}
30865impl core::convert::From<i32> for Rpc_WifiPowerSave {
30866    fn from(val: i32) -> Self {
30867        Self(val)
30868    }
30869}
30870#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
30871#[repr(transparent)]
30872pub struct Rpc_WifiSecProt(pub i32);
30873impl Rpc_WifiSecProt {
30874    pub const Open: Self = Self(0);
30875    pub const Wep: Self = Self(1);
30876    pub const WpaPsk: Self = Self(2);
30877    pub const Wpa2Psk: Self = Self(3);
30878    pub const WpaWpa2Psk: Self = Self(4);
30879    pub const Wpa2Enterprise: Self = Self(5);
30880    pub const Wpa3Psk: Self = Self(6);
30881    pub const Wpa2Wpa3Psk: Self = Self(7);
30882}
30883impl core::default::Default for Rpc_WifiSecProt {
30884    fn default() -> Self {
30885        Self(0)
30886    }
30887}
30888impl core::convert::From<i32> for Rpc_WifiSecProt {
30889    fn from(val: i32) -> Self {
30890        Self(val)
30891    }
30892}
30893#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
30894#[repr(transparent)]
30895pub struct Rpc_Status(pub i32);
30896impl Rpc_Status {
30897    pub const Connected: Self = Self(0);
30898    pub const NotConnected: Self = Self(1);
30899    pub const NoApFound: Self = Self(2);
30900    pub const ConnectionFail: Self = Self(3);
30901    pub const InvalidArgument: Self = Self(4);
30902    pub const OutOfRange: Self = Self(5);
30903}
30904impl core::default::Default for Rpc_Status {
30905    fn default() -> Self {
30906        Self(0)
30907    }
30908}
30909impl core::convert::From<i32> for Rpc_Status {
30910    fn from(val: i32) -> Self {
30911        Self(val)
30912    }
30913}
30914#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
30915#[repr(transparent)]
30916pub struct RpcType(pub i32);
30917impl RpcType {
30918    pub const MsgTypeInvalid: Self = Self(0);
30919    pub const Req: Self = Self(1);
30920    pub const Resp: Self = Self(2);
30921    pub const Event: Self = Self(3);
30922    pub const MsgTypeMax: Self = Self(4);
30923}
30924impl core::default::Default for RpcType {
30925    fn default() -> Self {
30926        Self(0)
30927    }
30928}
30929impl core::convert::From<i32> for RpcType {
30930    fn from(val: i32) -> Self {
30931        Self(val)
30932    }
30933}
30934#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
30935#[repr(transparent)]
30936pub struct RpcId(pub i32);
30937impl RpcId {
30938    pub const MsgIdInvalid: Self = Self(0);
30939    pub const ReqBase: Self = Self(256);
30940    pub const ReqGetMacAddress: Self = Self(257);
30941    pub const ReqSetMacAddress: Self = Self(258);
30942    pub const ReqGetWifiMode: Self = Self(259);
30943    pub const ReqSetWifiMode: Self = Self(260);
30944    pub const ReqWifiSetPs: Self = Self(270);
30945    pub const ReqWifiGetPs: Self = Self(271);
30946    pub const ReqOtaBegin: Self = Self(272);
30947    pub const ReqOtaWrite: Self = Self(273);
30948    pub const ReqOtaEnd: Self = Self(274);
30949    pub const ReqWifiSetMaxTxPower: Self = Self(275);
30950    pub const ReqWifiGetMaxTxPower: Self = Self(276);
30951    pub const ReqConfigHeartbeat: Self = Self(277);
30952    pub const ReqWifiInit: Self = Self(278);
30953    pub const ReqWifiDeinit: Self = Self(279);
30954    pub const ReqWifiStart: Self = Self(280);
30955    pub const ReqWifiStop: Self = Self(281);
30956    pub const ReqWifiConnect: Self = Self(282);
30957    pub const ReqWifiDisconnect: Self = Self(283);
30958    pub const ReqWifiSetConfig: Self = Self(284);
30959    pub const ReqWifiGetConfig: Self = Self(285);
30960    pub const ReqWifiScanStart: Self = Self(286);
30961    pub const ReqWifiScanStop: Self = Self(287);
30962    pub const ReqWifiScanGetApNum: Self = Self(288);
30963    pub const ReqWifiScanGetApRecords: Self = Self(289);
30964    pub const ReqWifiClearApList: Self = Self(290);
30965    pub const ReqWifiRestore: Self = Self(291);
30966    pub const ReqWifiClearFastConnect: Self = Self(292);
30967    pub const ReqWifiDeauthSta: Self = Self(293);
30968    pub const ReqWifiStaGetApInfo: Self = Self(294);
30969    pub const ReqWifiSetProtocol: Self = Self(297);
30970    pub const ReqWifiGetProtocol: Self = Self(298);
30971    pub const ReqWifiSetBandwidth: Self = Self(299);
30972    pub const ReqWifiGetBandwidth: Self = Self(300);
30973    pub const ReqWifiSetChannel: Self = Self(301);
30974    pub const ReqWifiGetChannel: Self = Self(302);
30975    pub const ReqWifiSetCountry: Self = Self(303);
30976    pub const ReqWifiGetCountry: Self = Self(304);
30977    pub const ReqWifiSetPromiscuous: Self = Self(305);
30978    pub const ReqWifiGetPromiscuous: Self = Self(306);
30979    pub const ReqWifiSetPromiscuousFilter: Self = Self(307);
30980    pub const ReqWifiGetPromiscuousFilter: Self = Self(308);
30981    pub const ReqWifiSetPromiscuousCtrlFilter: Self = Self(309);
30982    pub const ReqWifiGetPromiscuousCtrlFilter: Self = Self(310);
30983    pub const ReqWifiApGetStaList: Self = Self(311);
30984    pub const ReqWifiApGetStaAid: Self = Self(312);
30985    pub const ReqWifiSetStorage: Self = Self(313);
30986    pub const ReqWifiSetVendorIe: Self = Self(314);
30987    pub const ReqWifiSetEventMask: Self = Self(315);
30988    pub const ReqWifiGetEventMask: Self = Self(316);
30989    pub const ReqWifi80211Tx: Self = Self(317);
30990    pub const ReqWifiSetCsiConfig: Self = Self(318);
30991    pub const ReqWifiSetCsi: Self = Self(319);
30992    pub const ReqWifiSetAntGpio: Self = Self(320);
30993    pub const ReqWifiGetAntGpio: Self = Self(321);
30994    pub const ReqWifiSetAnt: Self = Self(322);
30995    pub const ReqWifiGetAnt: Self = Self(323);
30996    pub const ReqWifiGetTsfTime: Self = Self(324);
30997    pub const ReqWifiSetInactiveTime: Self = Self(325);
30998    pub const ReqWifiGetInactiveTime: Self = Self(326);
30999    pub const ReqWifiStatisDump: Self = Self(327);
31000    pub const ReqWifiSetRssiThreshold: Self = Self(328);
31001    pub const ReqWifiFtmInitiateSession: Self = Self(329);
31002    pub const ReqWifiFtmEndSession: Self = Self(330);
31003    pub const ReqWifiFtmRespSetOffset: Self = Self(331);
31004    pub const ReqWifiConfig11BRate: Self = Self(332);
31005    pub const ReqWifiConnectionlessModuleSetWakeInterval: Self = Self(333);
31006    pub const ReqWifiSetCountryCode: Self = Self(334);
31007    pub const ReqWifiGetCountryCode: Self = Self(335);
31008    pub const ReqWifiConfig80211TxRate: Self = Self(336);
31009    pub const ReqWifiDisablePmfConfig: Self = Self(337);
31010    pub const ReqWifiStaGetAid: Self = Self(338);
31011    pub const ReqWifiStaGetNegotiatedPhymode: Self = Self(339);
31012    pub const ReqWifiSetDynamicCs: Self = Self(340);
31013    pub const ReqWifiStaGetRssi: Self = Self(341);
31014    pub const ReqWifiSetProtocols: Self = Self(342);
31015    pub const ReqWifiGetProtocols: Self = Self(343);
31016    pub const ReqWifiSetBandwidths: Self = Self(344);
31017    pub const ReqWifiGetBandwidths: Self = Self(345);
31018    pub const ReqWifiSetBand: Self = Self(346);
31019    pub const ReqWifiGetBand: Self = Self(347);
31020    pub const ReqWifiSetBandMode: Self = Self(348);
31021    pub const ReqWifiGetBandMode: Self = Self(349);
31022    pub const ReqGetCoprocessorFwVersion: Self = Self(350);
31023    pub const ReqWifiScanGetApRecord: Self = Self(351);
31024    pub const ReqMax: Self = Self(352);
31025    pub const RespBase: Self = Self(512);
31026    pub const RespGetMacAddress: Self = Self(513);
31027    pub const RespSetMacAddress: Self = Self(514);
31028    pub const RespGetWifiMode: Self = Self(515);
31029    pub const RespSetWifiMode: Self = Self(516);
31030    pub const RespWifiSetPs: Self = Self(526);
31031    pub const RespWifiGetPs: Self = Self(527);
31032    pub const RespOtaBegin: Self = Self(528);
31033    pub const RespOtaWrite: Self = Self(529);
31034    pub const RespOtaEnd: Self = Self(530);
31035    pub const RespWifiSetMaxTxPower: Self = Self(531);
31036    pub const RespWifiGetMaxTxPower: Self = Self(532);
31037    pub const RespConfigHeartbeat: Self = Self(533);
31038    pub const RespWifiInit: Self = Self(534);
31039    pub const RespWifiDeinit: Self = Self(535);
31040    pub const RespWifiStart: Self = Self(536);
31041    pub const RespWifiStop: Self = Self(537);
31042    pub const RespWifiConnect: Self = Self(538);
31043    pub const RespWifiDisconnect: Self = Self(539);
31044    pub const RespWifiSetConfig: Self = Self(540);
31045    pub const RespWifiGetConfig: Self = Self(541);
31046    pub const RespWifiScanStart: Self = Self(542);
31047    pub const RespWifiScanStop: Self = Self(543);
31048    pub const RespWifiScanGetApNum: Self = Self(544);
31049    pub const RespWifiScanGetApRecords: Self = Self(545);
31050    pub const RespWifiClearApList: Self = Self(546);
31051    pub const RespWifiRestore: Self = Self(547);
31052    pub const RespWifiClearFastConnect: Self = Self(548);
31053    pub const RespWifiDeauthSta: Self = Self(549);
31054    pub const RespWifiStaGetApInfo: Self = Self(550);
31055    pub const RespWifiSetProtocol: Self = Self(553);
31056    pub const RespWifiGetProtocol: Self = Self(554);
31057    pub const RespWifiSetBandwidth: Self = Self(555);
31058    pub const RespWifiGetBandwidth: Self = Self(556);
31059    pub const RespWifiSetChannel: Self = Self(557);
31060    pub const RespWifiGetChannel: Self = Self(558);
31061    pub const RespWifiSetCountry: Self = Self(559);
31062    pub const RespWifiGetCountry: Self = Self(560);
31063    pub const RespWifiSetPromiscuous: Self = Self(561);
31064    pub const RespWifiGetPromiscuous: Self = Self(562);
31065    pub const RespWifiSetPromiscuousFilter: Self = Self(563);
31066    pub const RespWifiGetPromiscuousFilter: Self = Self(564);
31067    pub const RespWifiSetPromiscuousCtrlFilter: Self = Self(565);
31068    pub const RespWifiGetPromiscuousCtrlFilter: Self = Self(566);
31069    pub const RespWifiApGetStaList: Self = Self(567);
31070    pub const RespWifiApGetStaAid: Self = Self(568);
31071    pub const RespWifiSetStorage: Self = Self(569);
31072    pub const RespWifiSetVendorIe: Self = Self(570);
31073    pub const RespWifiSetEventMask: Self = Self(571);
31074    pub const RespWifiGetEventMask: Self = Self(572);
31075    pub const RespWifi80211Tx: Self = Self(573);
31076    pub const RespWifiSetCsiConfig: Self = Self(574);
31077    pub const RespWifiSetCsi: Self = Self(575);
31078    pub const RespWifiSetAntGpio: Self = Self(576);
31079    pub const RespWifiGetAntGpio: Self = Self(577);
31080    pub const RespWifiSetAnt: Self = Self(578);
31081    pub const RespWifiGetAnt: Self = Self(579);
31082    pub const RespWifiGetTsfTime: Self = Self(580);
31083    pub const RespWifiSetInactiveTime: Self = Self(581);
31084    pub const RespWifiGetInactiveTime: Self = Self(582);
31085    pub const RespWifiStatisDump: Self = Self(583);
31086    pub const RespWifiSetRssiThreshold: Self = Self(584);
31087    pub const RespWifiFtmInitiateSession: Self = Self(585);
31088    pub const RespWifiFtmEndSession: Self = Self(586);
31089    pub const RespWifiFtmRespSetOffset: Self = Self(587);
31090    pub const RespWifiConfig11BRate: Self = Self(588);
31091    pub const RespWifiConnectionlessModuleSetWakeInterval: Self = Self(589);
31092    pub const RespWifiSetCountryCode: Self = Self(590);
31093    pub const RespWifiGetCountryCode: Self = Self(591);
31094    pub const RespWifiConfig80211TxRate: Self = Self(592);
31095    pub const RespWifiDisablePmfConfig: Self = Self(593);
31096    pub const RespWifiStaGetAid: Self = Self(594);
31097    pub const RespWifiStaGetNegotiatedPhymode: Self = Self(595);
31098    pub const RespWifiSetDynamicCs: Self = Self(596);
31099    pub const RespWifiStaGetRssi: Self = Self(597);
31100    pub const RespWifiSetProtocols: Self = Self(598);
31101    pub const RespWifiGetProtocols: Self = Self(599);
31102    pub const RespWifiSetBandwidths: Self = Self(600);
31103    pub const RespWifiGetBandwidths: Self = Self(601);
31104    pub const RespWifiSetBand: Self = Self(602);
31105    pub const RespWifiGetBand: Self = Self(603);
31106    pub const RespWifiSetBandMode: Self = Self(604);
31107    pub const RespWifiGetBandMode: Self = Self(605);
31108    pub const RespGetCoprocessorFwVersion: Self = Self(606);
31109    pub const RespWifiScanGetApRecord: Self = Self(607);
31110    pub const RespMax: Self = Self(608);
31111    pub const EventBase: Self = Self(768);
31112    pub const EventEspInit: Self = Self(769);
31113    pub const EventHeartbeat: Self = Self(770);
31114    pub const EventApStaConnected: Self = Self(771);
31115    pub const EventApStaDisconnected: Self = Self(772);
31116    pub const EventWifiEventNoArgs: Self = Self(773);
31117    pub const EventStaScanDone: Self = Self(774);
31118    pub const EventStaConnected: Self = Self(775);
31119    pub const EventStaDisconnected: Self = Self(776);
31120    pub const EventMax: Self = Self(777);
31121}
31122impl core::default::Default for RpcId {
31123    fn default() -> Self {
31124        Self(0)
31125    }
31126}
31127impl core::convert::From<i32> for RpcId {
31128    fn from(val: i32) -> Self {
31129        Self(val)
31130    }
31131}