esp_hosted/
esp_hosted_proto.rs

1#[allow(warnings)]
2#[allow(clippy::all)]
3#[allow(unused_parens)]
4
5#[derive(Debug, Default, PartialEq, Clone)]
6pub struct r#wifi_init_config {
7    pub r#static_rx_buf_num: i32,
8    pub r#dynamic_rx_buf_num: i32,
9    pub r#tx_buf_type: i32,
10    pub r#static_tx_buf_num: i32,
11    pub r#dynamic_tx_buf_num: i32,
12    pub r#cache_tx_buf_num: i32,
13    pub r#csi_enable: i32,
14    pub r#ampdu_rx_enable: i32,
15    pub r#ampdu_tx_enable: i32,
16    pub r#amsdu_tx_enable: i32,
17    pub r#nvs_enable: i32,
18    pub r#nano_enable: i32,
19    pub r#rx_ba_win: i32,
20    pub r#wifi_task_core_id: i32,
21    pub r#beacon_max_len: i32,
22    pub r#mgmt_sbuf_num: i32,
23    pub r#feature_caps: u64,
24    pub r#sta_disconnected_pm: bool,
25    pub r#espnow_max_encrypt_num: i32,
26    pub r#magic: i32,
27}
28impl r#wifi_init_config {
29    ///Return a reference to `static_rx_buf_num`
30    #[inline]
31    pub fn r#static_rx_buf_num(&self) -> &i32 {
32        &self.r#static_rx_buf_num
33    }
34    ///Return a mutable reference to `static_rx_buf_num`
35    #[inline]
36    pub fn mut_static_rx_buf_num(&mut self) -> &mut i32 {
37        &mut self.r#static_rx_buf_num
38    }
39    ///Set the value of `static_rx_buf_num`
40    #[inline]
41    pub fn set_static_rx_buf_num(&mut self, value: i32) -> &mut Self {
42        self.r#static_rx_buf_num = value.into();
43        self
44    }
45    ///Builder method that sets the value of `static_rx_buf_num`. Useful for initializing the message.
46    #[inline]
47    pub fn init_static_rx_buf_num(mut self, value: i32) -> Self {
48        self.r#static_rx_buf_num = value.into();
49        self
50    }
51    ///Return a reference to `dynamic_rx_buf_num`
52    #[inline]
53    pub fn r#dynamic_rx_buf_num(&self) -> &i32 {
54        &self.r#dynamic_rx_buf_num
55    }
56    ///Return a mutable reference to `dynamic_rx_buf_num`
57    #[inline]
58    pub fn mut_dynamic_rx_buf_num(&mut self) -> &mut i32 {
59        &mut self.r#dynamic_rx_buf_num
60    }
61    ///Set the value of `dynamic_rx_buf_num`
62    #[inline]
63    pub fn set_dynamic_rx_buf_num(&mut self, value: i32) -> &mut Self {
64        self.r#dynamic_rx_buf_num = value.into();
65        self
66    }
67    ///Builder method that sets the value of `dynamic_rx_buf_num`. Useful for initializing the message.
68    #[inline]
69    pub fn init_dynamic_rx_buf_num(mut self, value: i32) -> Self {
70        self.r#dynamic_rx_buf_num = value.into();
71        self
72    }
73    ///Return a reference to `tx_buf_type`
74    #[inline]
75    pub fn r#tx_buf_type(&self) -> &i32 {
76        &self.r#tx_buf_type
77    }
78    ///Return a mutable reference to `tx_buf_type`
79    #[inline]
80    pub fn mut_tx_buf_type(&mut self) -> &mut i32 {
81        &mut self.r#tx_buf_type
82    }
83    ///Set the value of `tx_buf_type`
84    #[inline]
85    pub fn set_tx_buf_type(&mut self, value: i32) -> &mut Self {
86        self.r#tx_buf_type = value.into();
87        self
88    }
89    ///Builder method that sets the value of `tx_buf_type`. Useful for initializing the message.
90    #[inline]
91    pub fn init_tx_buf_type(mut self, value: i32) -> Self {
92        self.r#tx_buf_type = value.into();
93        self
94    }
95    ///Return a reference to `static_tx_buf_num`
96    #[inline]
97    pub fn r#static_tx_buf_num(&self) -> &i32 {
98        &self.r#static_tx_buf_num
99    }
100    ///Return a mutable reference to `static_tx_buf_num`
101    #[inline]
102    pub fn mut_static_tx_buf_num(&mut self) -> &mut i32 {
103        &mut self.r#static_tx_buf_num
104    }
105    ///Set the value of `static_tx_buf_num`
106    #[inline]
107    pub fn set_static_tx_buf_num(&mut self, value: i32) -> &mut Self {
108        self.r#static_tx_buf_num = value.into();
109        self
110    }
111    ///Builder method that sets the value of `static_tx_buf_num`. Useful for initializing the message.
112    #[inline]
113    pub fn init_static_tx_buf_num(mut self, value: i32) -> Self {
114        self.r#static_tx_buf_num = value.into();
115        self
116    }
117    ///Return a reference to `dynamic_tx_buf_num`
118    #[inline]
119    pub fn r#dynamic_tx_buf_num(&self) -> &i32 {
120        &self.r#dynamic_tx_buf_num
121    }
122    ///Return a mutable reference to `dynamic_tx_buf_num`
123    #[inline]
124    pub fn mut_dynamic_tx_buf_num(&mut self) -> &mut i32 {
125        &mut self.r#dynamic_tx_buf_num
126    }
127    ///Set the value of `dynamic_tx_buf_num`
128    #[inline]
129    pub fn set_dynamic_tx_buf_num(&mut self, value: i32) -> &mut Self {
130        self.r#dynamic_tx_buf_num = value.into();
131        self
132    }
133    ///Builder method that sets the value of `dynamic_tx_buf_num`. Useful for initializing the message.
134    #[inline]
135    pub fn init_dynamic_tx_buf_num(mut self, value: i32) -> Self {
136        self.r#dynamic_tx_buf_num = value.into();
137        self
138    }
139    ///Return a reference to `cache_tx_buf_num`
140    #[inline]
141    pub fn r#cache_tx_buf_num(&self) -> &i32 {
142        &self.r#cache_tx_buf_num
143    }
144    ///Return a mutable reference to `cache_tx_buf_num`
145    #[inline]
146    pub fn mut_cache_tx_buf_num(&mut self) -> &mut i32 {
147        &mut self.r#cache_tx_buf_num
148    }
149    ///Set the value of `cache_tx_buf_num`
150    #[inline]
151    pub fn set_cache_tx_buf_num(&mut self, value: i32) -> &mut Self {
152        self.r#cache_tx_buf_num = value.into();
153        self
154    }
155    ///Builder method that sets the value of `cache_tx_buf_num`. Useful for initializing the message.
156    #[inline]
157    pub fn init_cache_tx_buf_num(mut self, value: i32) -> Self {
158        self.r#cache_tx_buf_num = value.into();
159        self
160    }
161    ///Return a reference to `csi_enable`
162    #[inline]
163    pub fn r#csi_enable(&self) -> &i32 {
164        &self.r#csi_enable
165    }
166    ///Return a mutable reference to `csi_enable`
167    #[inline]
168    pub fn mut_csi_enable(&mut self) -> &mut i32 {
169        &mut self.r#csi_enable
170    }
171    ///Set the value of `csi_enable`
172    #[inline]
173    pub fn set_csi_enable(&mut self, value: i32) -> &mut Self {
174        self.r#csi_enable = value.into();
175        self
176    }
177    ///Builder method that sets the value of `csi_enable`. Useful for initializing the message.
178    #[inline]
179    pub fn init_csi_enable(mut self, value: i32) -> Self {
180        self.r#csi_enable = value.into();
181        self
182    }
183    ///Return a reference to `ampdu_rx_enable`
184    #[inline]
185    pub fn r#ampdu_rx_enable(&self) -> &i32 {
186        &self.r#ampdu_rx_enable
187    }
188    ///Return a mutable reference to `ampdu_rx_enable`
189    #[inline]
190    pub fn mut_ampdu_rx_enable(&mut self) -> &mut i32 {
191        &mut self.r#ampdu_rx_enable
192    }
193    ///Set the value of `ampdu_rx_enable`
194    #[inline]
195    pub fn set_ampdu_rx_enable(&mut self, value: i32) -> &mut Self {
196        self.r#ampdu_rx_enable = value.into();
197        self
198    }
199    ///Builder method that sets the value of `ampdu_rx_enable`. Useful for initializing the message.
200    #[inline]
201    pub fn init_ampdu_rx_enable(mut self, value: i32) -> Self {
202        self.r#ampdu_rx_enable = value.into();
203        self
204    }
205    ///Return a reference to `ampdu_tx_enable`
206    #[inline]
207    pub fn r#ampdu_tx_enable(&self) -> &i32 {
208        &self.r#ampdu_tx_enable
209    }
210    ///Return a mutable reference to `ampdu_tx_enable`
211    #[inline]
212    pub fn mut_ampdu_tx_enable(&mut self) -> &mut i32 {
213        &mut self.r#ampdu_tx_enable
214    }
215    ///Set the value of `ampdu_tx_enable`
216    #[inline]
217    pub fn set_ampdu_tx_enable(&mut self, value: i32) -> &mut Self {
218        self.r#ampdu_tx_enable = value.into();
219        self
220    }
221    ///Builder method that sets the value of `ampdu_tx_enable`. Useful for initializing the message.
222    #[inline]
223    pub fn init_ampdu_tx_enable(mut self, value: i32) -> Self {
224        self.r#ampdu_tx_enable = value.into();
225        self
226    }
227    ///Return a reference to `amsdu_tx_enable`
228    #[inline]
229    pub fn r#amsdu_tx_enable(&self) -> &i32 {
230        &self.r#amsdu_tx_enable
231    }
232    ///Return a mutable reference to `amsdu_tx_enable`
233    #[inline]
234    pub fn mut_amsdu_tx_enable(&mut self) -> &mut i32 {
235        &mut self.r#amsdu_tx_enable
236    }
237    ///Set the value of `amsdu_tx_enable`
238    #[inline]
239    pub fn set_amsdu_tx_enable(&mut self, value: i32) -> &mut Self {
240        self.r#amsdu_tx_enable = value.into();
241        self
242    }
243    ///Builder method that sets the value of `amsdu_tx_enable`. Useful for initializing the message.
244    #[inline]
245    pub fn init_amsdu_tx_enable(mut self, value: i32) -> Self {
246        self.r#amsdu_tx_enable = value.into();
247        self
248    }
249    ///Return a reference to `nvs_enable`
250    #[inline]
251    pub fn r#nvs_enable(&self) -> &i32 {
252        &self.r#nvs_enable
253    }
254    ///Return a mutable reference to `nvs_enable`
255    #[inline]
256    pub fn mut_nvs_enable(&mut self) -> &mut i32 {
257        &mut self.r#nvs_enable
258    }
259    ///Set the value of `nvs_enable`
260    #[inline]
261    pub fn set_nvs_enable(&mut self, value: i32) -> &mut Self {
262        self.r#nvs_enable = value.into();
263        self
264    }
265    ///Builder method that sets the value of `nvs_enable`. Useful for initializing the message.
266    #[inline]
267    pub fn init_nvs_enable(mut self, value: i32) -> Self {
268        self.r#nvs_enable = value.into();
269        self
270    }
271    ///Return a reference to `nano_enable`
272    #[inline]
273    pub fn r#nano_enable(&self) -> &i32 {
274        &self.r#nano_enable
275    }
276    ///Return a mutable reference to `nano_enable`
277    #[inline]
278    pub fn mut_nano_enable(&mut self) -> &mut i32 {
279        &mut self.r#nano_enable
280    }
281    ///Set the value of `nano_enable`
282    #[inline]
283    pub fn set_nano_enable(&mut self, value: i32) -> &mut Self {
284        self.r#nano_enable = value.into();
285        self
286    }
287    ///Builder method that sets the value of `nano_enable`. Useful for initializing the message.
288    #[inline]
289    pub fn init_nano_enable(mut self, value: i32) -> Self {
290        self.r#nano_enable = value.into();
291        self
292    }
293    ///Return a reference to `rx_ba_win`
294    #[inline]
295    pub fn r#rx_ba_win(&self) -> &i32 {
296        &self.r#rx_ba_win
297    }
298    ///Return a mutable reference to `rx_ba_win`
299    #[inline]
300    pub fn mut_rx_ba_win(&mut self) -> &mut i32 {
301        &mut self.r#rx_ba_win
302    }
303    ///Set the value of `rx_ba_win`
304    #[inline]
305    pub fn set_rx_ba_win(&mut self, value: i32) -> &mut Self {
306        self.r#rx_ba_win = value.into();
307        self
308    }
309    ///Builder method that sets the value of `rx_ba_win`. Useful for initializing the message.
310    #[inline]
311    pub fn init_rx_ba_win(mut self, value: i32) -> Self {
312        self.r#rx_ba_win = value.into();
313        self
314    }
315    ///Return a reference to `wifi_task_core_id`
316    #[inline]
317    pub fn r#wifi_task_core_id(&self) -> &i32 {
318        &self.r#wifi_task_core_id
319    }
320    ///Return a mutable reference to `wifi_task_core_id`
321    #[inline]
322    pub fn mut_wifi_task_core_id(&mut self) -> &mut i32 {
323        &mut self.r#wifi_task_core_id
324    }
325    ///Set the value of `wifi_task_core_id`
326    #[inline]
327    pub fn set_wifi_task_core_id(&mut self, value: i32) -> &mut Self {
328        self.r#wifi_task_core_id = value.into();
329        self
330    }
331    ///Builder method that sets the value of `wifi_task_core_id`. Useful for initializing the message.
332    #[inline]
333    pub fn init_wifi_task_core_id(mut self, value: i32) -> Self {
334        self.r#wifi_task_core_id = value.into();
335        self
336    }
337    ///Return a reference to `beacon_max_len`
338    #[inline]
339    pub fn r#beacon_max_len(&self) -> &i32 {
340        &self.r#beacon_max_len
341    }
342    ///Return a mutable reference to `beacon_max_len`
343    #[inline]
344    pub fn mut_beacon_max_len(&mut self) -> &mut i32 {
345        &mut self.r#beacon_max_len
346    }
347    ///Set the value of `beacon_max_len`
348    #[inline]
349    pub fn set_beacon_max_len(&mut self, value: i32) -> &mut Self {
350        self.r#beacon_max_len = value.into();
351        self
352    }
353    ///Builder method that sets the value of `beacon_max_len`. Useful for initializing the message.
354    #[inline]
355    pub fn init_beacon_max_len(mut self, value: i32) -> Self {
356        self.r#beacon_max_len = value.into();
357        self
358    }
359    ///Return a reference to `mgmt_sbuf_num`
360    #[inline]
361    pub fn r#mgmt_sbuf_num(&self) -> &i32 {
362        &self.r#mgmt_sbuf_num
363    }
364    ///Return a mutable reference to `mgmt_sbuf_num`
365    #[inline]
366    pub fn mut_mgmt_sbuf_num(&mut self) -> &mut i32 {
367        &mut self.r#mgmt_sbuf_num
368    }
369    ///Set the value of `mgmt_sbuf_num`
370    #[inline]
371    pub fn set_mgmt_sbuf_num(&mut self, value: i32) -> &mut Self {
372        self.r#mgmt_sbuf_num = value.into();
373        self
374    }
375    ///Builder method that sets the value of `mgmt_sbuf_num`. Useful for initializing the message.
376    #[inline]
377    pub fn init_mgmt_sbuf_num(mut self, value: i32) -> Self {
378        self.r#mgmt_sbuf_num = value.into();
379        self
380    }
381    ///Return a reference to `feature_caps`
382    #[inline]
383    pub fn r#feature_caps(&self) -> &u64 {
384        &self.r#feature_caps
385    }
386    ///Return a mutable reference to `feature_caps`
387    #[inline]
388    pub fn mut_feature_caps(&mut self) -> &mut u64 {
389        &mut self.r#feature_caps
390    }
391    ///Set the value of `feature_caps`
392    #[inline]
393    pub fn set_feature_caps(&mut self, value: u64) -> &mut Self {
394        self.r#feature_caps = value.into();
395        self
396    }
397    ///Builder method that sets the value of `feature_caps`. Useful for initializing the message.
398    #[inline]
399    pub fn init_feature_caps(mut self, value: u64) -> Self {
400        self.r#feature_caps = value.into();
401        self
402    }
403    ///Return a reference to `sta_disconnected_pm`
404    #[inline]
405    pub fn r#sta_disconnected_pm(&self) -> &bool {
406        &self.r#sta_disconnected_pm
407    }
408    ///Return a mutable reference to `sta_disconnected_pm`
409    #[inline]
410    pub fn mut_sta_disconnected_pm(&mut self) -> &mut bool {
411        &mut self.r#sta_disconnected_pm
412    }
413    ///Set the value of `sta_disconnected_pm`
414    #[inline]
415    pub fn set_sta_disconnected_pm(&mut self, value: bool) -> &mut Self {
416        self.r#sta_disconnected_pm = value.into();
417        self
418    }
419    ///Builder method that sets the value of `sta_disconnected_pm`. Useful for initializing the message.
420    #[inline]
421    pub fn init_sta_disconnected_pm(mut self, value: bool) -> Self {
422        self.r#sta_disconnected_pm = value.into();
423        self
424    }
425    ///Return a reference to `espnow_max_encrypt_num`
426    #[inline]
427    pub fn r#espnow_max_encrypt_num(&self) -> &i32 {
428        &self.r#espnow_max_encrypt_num
429    }
430    ///Return a mutable reference to `espnow_max_encrypt_num`
431    #[inline]
432    pub fn mut_espnow_max_encrypt_num(&mut self) -> &mut i32 {
433        &mut self.r#espnow_max_encrypt_num
434    }
435    ///Set the value of `espnow_max_encrypt_num`
436    #[inline]
437    pub fn set_espnow_max_encrypt_num(&mut self, value: i32) -> &mut Self {
438        self.r#espnow_max_encrypt_num = value.into();
439        self
440    }
441    ///Builder method that sets the value of `espnow_max_encrypt_num`. Useful for initializing the message.
442    #[inline]
443    pub fn init_espnow_max_encrypt_num(mut self, value: i32) -> Self {
444        self.r#espnow_max_encrypt_num = value.into();
445        self
446    }
447    ///Return a reference to `magic`
448    #[inline]
449    pub fn r#magic(&self) -> &i32 {
450        &self.r#magic
451    }
452    ///Return a mutable reference to `magic`
453    #[inline]
454    pub fn mut_magic(&mut self) -> &mut i32 {
455        &mut self.r#magic
456    }
457    ///Set the value of `magic`
458    #[inline]
459    pub fn set_magic(&mut self, value: i32) -> &mut Self {
460        self.r#magic = value.into();
461        self
462    }
463    ///Builder method that sets the value of `magic`. Useful for initializing the message.
464    #[inline]
465    pub fn init_magic(mut self, value: i32) -> Self {
466        self.r#magic = value.into();
467        self
468    }
469}
470impl ::micropb::MessageDecode for r#wifi_init_config {
471    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
472        &mut self,
473        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
474        len: usize,
475    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
476        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
477        let before = decoder.bytes_read();
478        while decoder.bytes_read() - before < len {
479            let tag = decoder.decode_tag()?;
480            match tag.field_num() {
481                0 => return Err(::micropb::DecodeError::ZeroField),
482                1u32 => {
483                    let mut_ref = &mut self.r#static_rx_buf_num;
484                    {
485                        let val = decoder.decode_int32()?;
486                        let val_ref = &val;
487                        if *val_ref != 0 {
488                            *mut_ref = val as _;
489                        }
490                    };
491                }
492                2u32 => {
493                    let mut_ref = &mut self.r#dynamic_rx_buf_num;
494                    {
495                        let val = decoder.decode_int32()?;
496                        let val_ref = &val;
497                        if *val_ref != 0 {
498                            *mut_ref = val as _;
499                        }
500                    };
501                }
502                3u32 => {
503                    let mut_ref = &mut self.r#tx_buf_type;
504                    {
505                        let val = decoder.decode_int32()?;
506                        let val_ref = &val;
507                        if *val_ref != 0 {
508                            *mut_ref = val as _;
509                        }
510                    };
511                }
512                4u32 => {
513                    let mut_ref = &mut self.r#static_tx_buf_num;
514                    {
515                        let val = decoder.decode_int32()?;
516                        let val_ref = &val;
517                        if *val_ref != 0 {
518                            *mut_ref = val as _;
519                        }
520                    };
521                }
522                5u32 => {
523                    let mut_ref = &mut self.r#dynamic_tx_buf_num;
524                    {
525                        let val = decoder.decode_int32()?;
526                        let val_ref = &val;
527                        if *val_ref != 0 {
528                            *mut_ref = val as _;
529                        }
530                    };
531                }
532                6u32 => {
533                    let mut_ref = &mut self.r#cache_tx_buf_num;
534                    {
535                        let val = decoder.decode_int32()?;
536                        let val_ref = &val;
537                        if *val_ref != 0 {
538                            *mut_ref = val as _;
539                        }
540                    };
541                }
542                7u32 => {
543                    let mut_ref = &mut self.r#csi_enable;
544                    {
545                        let val = decoder.decode_int32()?;
546                        let val_ref = &val;
547                        if *val_ref != 0 {
548                            *mut_ref = val as _;
549                        }
550                    };
551                }
552                8u32 => {
553                    let mut_ref = &mut self.r#ampdu_rx_enable;
554                    {
555                        let val = decoder.decode_int32()?;
556                        let val_ref = &val;
557                        if *val_ref != 0 {
558                            *mut_ref = val as _;
559                        }
560                    };
561                }
562                9u32 => {
563                    let mut_ref = &mut self.r#ampdu_tx_enable;
564                    {
565                        let val = decoder.decode_int32()?;
566                        let val_ref = &val;
567                        if *val_ref != 0 {
568                            *mut_ref = val as _;
569                        }
570                    };
571                }
572                10u32 => {
573                    let mut_ref = &mut self.r#amsdu_tx_enable;
574                    {
575                        let val = decoder.decode_int32()?;
576                        let val_ref = &val;
577                        if *val_ref != 0 {
578                            *mut_ref = val as _;
579                        }
580                    };
581                }
582                11u32 => {
583                    let mut_ref = &mut self.r#nvs_enable;
584                    {
585                        let val = decoder.decode_int32()?;
586                        let val_ref = &val;
587                        if *val_ref != 0 {
588                            *mut_ref = val as _;
589                        }
590                    };
591                }
592                12u32 => {
593                    let mut_ref = &mut self.r#nano_enable;
594                    {
595                        let val = decoder.decode_int32()?;
596                        let val_ref = &val;
597                        if *val_ref != 0 {
598                            *mut_ref = val as _;
599                        }
600                    };
601                }
602                13u32 => {
603                    let mut_ref = &mut self.r#rx_ba_win;
604                    {
605                        let val = decoder.decode_int32()?;
606                        let val_ref = &val;
607                        if *val_ref != 0 {
608                            *mut_ref = val as _;
609                        }
610                    };
611                }
612                14u32 => {
613                    let mut_ref = &mut self.r#wifi_task_core_id;
614                    {
615                        let val = decoder.decode_int32()?;
616                        let val_ref = &val;
617                        if *val_ref != 0 {
618                            *mut_ref = val as _;
619                        }
620                    };
621                }
622                15u32 => {
623                    let mut_ref = &mut self.r#beacon_max_len;
624                    {
625                        let val = decoder.decode_int32()?;
626                        let val_ref = &val;
627                        if *val_ref != 0 {
628                            *mut_ref = val as _;
629                        }
630                    };
631                }
632                16u32 => {
633                    let mut_ref = &mut self.r#mgmt_sbuf_num;
634                    {
635                        let val = decoder.decode_int32()?;
636                        let val_ref = &val;
637                        if *val_ref != 0 {
638                            *mut_ref = val as _;
639                        }
640                    };
641                }
642                17u32 => {
643                    let mut_ref = &mut self.r#feature_caps;
644                    {
645                        let val = decoder.decode_varint64()?;
646                        let val_ref = &val;
647                        if *val_ref != 0 {
648                            *mut_ref = val as _;
649                        }
650                    };
651                }
652                18u32 => {
653                    let mut_ref = &mut self.r#sta_disconnected_pm;
654                    {
655                        let val = decoder.decode_bool()?;
656                        let val_ref = &val;
657                        if *val_ref {
658                            *mut_ref = val as _;
659                        }
660                    };
661                }
662                19u32 => {
663                    let mut_ref = &mut self.r#espnow_max_encrypt_num;
664                    {
665                        let val = decoder.decode_int32()?;
666                        let val_ref = &val;
667                        if *val_ref != 0 {
668                            *mut_ref = val as _;
669                        }
670                    };
671                }
672                20u32 => {
673                    let mut_ref = &mut self.r#magic;
674                    {
675                        let val = decoder.decode_int32()?;
676                        let val_ref = &val;
677                        if *val_ref != 0 {
678                            *mut_ref = val as _;
679                        }
680                    };
681                }
682                _ => {
683                    decoder.skip_wire_value(tag.wire_type())?;
684                }
685            }
686        }
687        Ok(())
688    }
689}
690impl ::micropb::MessageEncode for r#wifi_init_config {
691    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
692        let mut max_size = 0;
693        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
694            ::core::option::Option::Some(10usize), | size | size + 1usize
695        ) {
696            max_size += size;
697        } else {
698            break 'msg (::core::option::Option::<usize>::None);
699        };
700        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
701            ::core::option::Option::Some(10usize), | size | size + 1usize
702        ) {
703            max_size += size;
704        } else {
705            break 'msg (::core::option::Option::<usize>::None);
706        };
707        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
708            ::core::option::Option::Some(10usize), | size | size + 1usize
709        ) {
710            max_size += size;
711        } else {
712            break 'msg (::core::option::Option::<usize>::None);
713        };
714        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
715            ::core::option::Option::Some(10usize), | size | size + 1usize
716        ) {
717            max_size += size;
718        } else {
719            break 'msg (::core::option::Option::<usize>::None);
720        };
721        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
722            ::core::option::Option::Some(10usize), | size | size + 1usize
723        ) {
724            max_size += size;
725        } else {
726            break 'msg (::core::option::Option::<usize>::None);
727        };
728        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
729            ::core::option::Option::Some(10usize), | size | size + 1usize
730        ) {
731            max_size += size;
732        } else {
733            break 'msg (::core::option::Option::<usize>::None);
734        };
735        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
736            ::core::option::Option::Some(10usize), | size | size + 1usize
737        ) {
738            max_size += size;
739        } else {
740            break 'msg (::core::option::Option::<usize>::None);
741        };
742        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
743            ::core::option::Option::Some(10usize), | size | size + 1usize
744        ) {
745            max_size += size;
746        } else {
747            break 'msg (::core::option::Option::<usize>::None);
748        };
749        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
750            ::core::option::Option::Some(10usize), | size | size + 1usize
751        ) {
752            max_size += size;
753        } else {
754            break 'msg (::core::option::Option::<usize>::None);
755        };
756        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
757            ::core::option::Option::Some(10usize), | size | size + 1usize
758        ) {
759            max_size += size;
760        } else {
761            break 'msg (::core::option::Option::<usize>::None);
762        };
763        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
764            ::core::option::Option::Some(10usize), | size | size + 1usize
765        ) {
766            max_size += size;
767        } else {
768            break 'msg (::core::option::Option::<usize>::None);
769        };
770        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
771            ::core::option::Option::Some(10usize), | size | size + 1usize
772        ) {
773            max_size += size;
774        } else {
775            break 'msg (::core::option::Option::<usize>::None);
776        };
777        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
778            ::core::option::Option::Some(10usize), | size | size + 1usize
779        ) {
780            max_size += size;
781        } else {
782            break 'msg (::core::option::Option::<usize>::None);
783        };
784        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
785            ::core::option::Option::Some(10usize), | size | size + 1usize
786        ) {
787            max_size += size;
788        } else {
789            break 'msg (::core::option::Option::<usize>::None);
790        };
791        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
792            ::core::option::Option::Some(10usize), | size | size + 1usize
793        ) {
794            max_size += size;
795        } else {
796            break 'msg (::core::option::Option::<usize>::None);
797        };
798        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
799            ::core::option::Option::Some(10usize), | size | size + 2usize
800        ) {
801            max_size += size;
802        } else {
803            break 'msg (::core::option::Option::<usize>::None);
804        };
805        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
806            ::core::option::Option::Some(10usize), | size | size + 2usize
807        ) {
808            max_size += size;
809        } else {
810            break 'msg (::core::option::Option::<usize>::None);
811        };
812        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
813            ::core::option::Option::Some(1usize), | size | size + 2usize
814        ) {
815            max_size += size;
816        } else {
817            break 'msg (::core::option::Option::<usize>::None);
818        };
819        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
820            ::core::option::Option::Some(10usize), | size | size + 2usize
821        ) {
822            max_size += size;
823        } else {
824            break 'msg (::core::option::Option::<usize>::None);
825        };
826        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
827            ::core::option::Option::Some(10usize), | size | size + 2usize
828        ) {
829            max_size += size;
830        } else {
831            break 'msg (::core::option::Option::<usize>::None);
832        };
833        ::core::option::Option::Some(max_size)
834    };
835    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
836        &self,
837        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
838    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
839        use ::micropb::{PbMap, FieldEncode};
840        {
841            let val_ref = &self.r#static_rx_buf_num;
842            if *val_ref != 0 {
843                encoder.encode_varint32(8u32)?;
844                encoder.encode_int32(*val_ref as _)?;
845            }
846        }
847        {
848            let val_ref = &self.r#dynamic_rx_buf_num;
849            if *val_ref != 0 {
850                encoder.encode_varint32(16u32)?;
851                encoder.encode_int32(*val_ref as _)?;
852            }
853        }
854        {
855            let val_ref = &self.r#tx_buf_type;
856            if *val_ref != 0 {
857                encoder.encode_varint32(24u32)?;
858                encoder.encode_int32(*val_ref as _)?;
859            }
860        }
861        {
862            let val_ref = &self.r#static_tx_buf_num;
863            if *val_ref != 0 {
864                encoder.encode_varint32(32u32)?;
865                encoder.encode_int32(*val_ref as _)?;
866            }
867        }
868        {
869            let val_ref = &self.r#dynamic_tx_buf_num;
870            if *val_ref != 0 {
871                encoder.encode_varint32(40u32)?;
872                encoder.encode_int32(*val_ref as _)?;
873            }
874        }
875        {
876            let val_ref = &self.r#cache_tx_buf_num;
877            if *val_ref != 0 {
878                encoder.encode_varint32(48u32)?;
879                encoder.encode_int32(*val_ref as _)?;
880            }
881        }
882        {
883            let val_ref = &self.r#csi_enable;
884            if *val_ref != 0 {
885                encoder.encode_varint32(56u32)?;
886                encoder.encode_int32(*val_ref as _)?;
887            }
888        }
889        {
890            let val_ref = &self.r#ampdu_rx_enable;
891            if *val_ref != 0 {
892                encoder.encode_varint32(64u32)?;
893                encoder.encode_int32(*val_ref as _)?;
894            }
895        }
896        {
897            let val_ref = &self.r#ampdu_tx_enable;
898            if *val_ref != 0 {
899                encoder.encode_varint32(72u32)?;
900                encoder.encode_int32(*val_ref as _)?;
901            }
902        }
903        {
904            let val_ref = &self.r#amsdu_tx_enable;
905            if *val_ref != 0 {
906                encoder.encode_varint32(80u32)?;
907                encoder.encode_int32(*val_ref as _)?;
908            }
909        }
910        {
911            let val_ref = &self.r#nvs_enable;
912            if *val_ref != 0 {
913                encoder.encode_varint32(88u32)?;
914                encoder.encode_int32(*val_ref as _)?;
915            }
916        }
917        {
918            let val_ref = &self.r#nano_enable;
919            if *val_ref != 0 {
920                encoder.encode_varint32(96u32)?;
921                encoder.encode_int32(*val_ref as _)?;
922            }
923        }
924        {
925            let val_ref = &self.r#rx_ba_win;
926            if *val_ref != 0 {
927                encoder.encode_varint32(104u32)?;
928                encoder.encode_int32(*val_ref as _)?;
929            }
930        }
931        {
932            let val_ref = &self.r#wifi_task_core_id;
933            if *val_ref != 0 {
934                encoder.encode_varint32(112u32)?;
935                encoder.encode_int32(*val_ref as _)?;
936            }
937        }
938        {
939            let val_ref = &self.r#beacon_max_len;
940            if *val_ref != 0 {
941                encoder.encode_varint32(120u32)?;
942                encoder.encode_int32(*val_ref as _)?;
943            }
944        }
945        {
946            let val_ref = &self.r#mgmt_sbuf_num;
947            if *val_ref != 0 {
948                encoder.encode_varint32(128u32)?;
949                encoder.encode_int32(*val_ref as _)?;
950            }
951        }
952        {
953            let val_ref = &self.r#feature_caps;
954            if *val_ref != 0 {
955                encoder.encode_varint32(136u32)?;
956                encoder.encode_varint64(*val_ref as _)?;
957            }
958        }
959        {
960            let val_ref = &self.r#sta_disconnected_pm;
961            if *val_ref {
962                encoder.encode_varint32(144u32)?;
963                encoder.encode_bool(*val_ref)?;
964            }
965        }
966        {
967            let val_ref = &self.r#espnow_max_encrypt_num;
968            if *val_ref != 0 {
969                encoder.encode_varint32(152u32)?;
970                encoder.encode_int32(*val_ref as _)?;
971            }
972        }
973        {
974            let val_ref = &self.r#magic;
975            if *val_ref != 0 {
976                encoder.encode_varint32(160u32)?;
977                encoder.encode_int32(*val_ref as _)?;
978            }
979        }
980        Ok(())
981    }
982    fn compute_size(&self) -> usize {
983        use ::micropb::{PbMap, FieldEncode};
984        let mut size = 0;
985        {
986            let val_ref = &self.r#static_rx_buf_num;
987            if *val_ref != 0 {
988                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
989            }
990        }
991        {
992            let val_ref = &self.r#dynamic_rx_buf_num;
993            if *val_ref != 0 {
994                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
995            }
996        }
997        {
998            let val_ref = &self.r#tx_buf_type;
999            if *val_ref != 0 {
1000                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
1001            }
1002        }
1003        {
1004            let val_ref = &self.r#static_tx_buf_num;
1005            if *val_ref != 0 {
1006                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
1007            }
1008        }
1009        {
1010            let val_ref = &self.r#dynamic_tx_buf_num;
1011            if *val_ref != 0 {
1012                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
1013            }
1014        }
1015        {
1016            let val_ref = &self.r#cache_tx_buf_num;
1017            if *val_ref != 0 {
1018                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
1019            }
1020        }
1021        {
1022            let val_ref = &self.r#csi_enable;
1023            if *val_ref != 0 {
1024                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
1025            }
1026        }
1027        {
1028            let val_ref = &self.r#ampdu_rx_enable;
1029            if *val_ref != 0 {
1030                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
1031            }
1032        }
1033        {
1034            let val_ref = &self.r#ampdu_tx_enable;
1035            if *val_ref != 0 {
1036                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
1037            }
1038        }
1039        {
1040            let val_ref = &self.r#amsdu_tx_enable;
1041            if *val_ref != 0 {
1042                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
1043            }
1044        }
1045        {
1046            let val_ref = &self.r#nvs_enable;
1047            if *val_ref != 0 {
1048                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
1049            }
1050        }
1051        {
1052            let val_ref = &self.r#nano_enable;
1053            if *val_ref != 0 {
1054                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
1055            }
1056        }
1057        {
1058            let val_ref = &self.r#rx_ba_win;
1059            if *val_ref != 0 {
1060                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
1061            }
1062        }
1063        {
1064            let val_ref = &self.r#wifi_task_core_id;
1065            if *val_ref != 0 {
1066                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
1067            }
1068        }
1069        {
1070            let val_ref = &self.r#beacon_max_len;
1071            if *val_ref != 0 {
1072                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
1073            }
1074        }
1075        {
1076            let val_ref = &self.r#mgmt_sbuf_num;
1077            if *val_ref != 0 {
1078                size += 2usize + ::micropb::size::sizeof_int32(*val_ref as _);
1079            }
1080        }
1081        {
1082            let val_ref = &self.r#feature_caps;
1083            if *val_ref != 0 {
1084                size += 2usize + ::micropb::size::sizeof_varint64(*val_ref as _);
1085            }
1086        }
1087        {
1088            let val_ref = &self.r#sta_disconnected_pm;
1089            if *val_ref {
1090                size += 2usize + 1;
1091            }
1092        }
1093        {
1094            let val_ref = &self.r#espnow_max_encrypt_num;
1095            if *val_ref != 0 {
1096                size += 2usize + ::micropb::size::sizeof_int32(*val_ref as _);
1097            }
1098        }
1099        {
1100            let val_ref = &self.r#magic;
1101            if *val_ref != 0 {
1102                size += 2usize + ::micropb::size::sizeof_int32(*val_ref as _);
1103            }
1104        }
1105        size
1106    }
1107}
1108#[derive(Debug, Default, PartialEq, Clone)]
1109pub struct r#wifi_country {
1110    pub r#cc: ::micropb::heapless::Vec<u8, 2>,
1111    pub r#schan: u32,
1112    pub r#nchan: u32,
1113    pub r#max_tx_power: i32,
1114    pub r#policy: i32,
1115}
1116impl r#wifi_country {
1117    ///Return a reference to `cc`
1118    #[inline]
1119    pub fn r#cc(&self) -> &::micropb::heapless::Vec<u8, 2> {
1120        &self.r#cc
1121    }
1122    ///Return a mutable reference to `cc`
1123    #[inline]
1124    pub fn mut_cc(&mut self) -> &mut ::micropb::heapless::Vec<u8, 2> {
1125        &mut self.r#cc
1126    }
1127    ///Set the value of `cc`
1128    #[inline]
1129    pub fn set_cc(&mut self, value: ::micropb::heapless::Vec<u8, 2>) -> &mut Self {
1130        self.r#cc = value.into();
1131        self
1132    }
1133    ///Builder method that sets the value of `cc`. Useful for initializing the message.
1134    #[inline]
1135    pub fn init_cc(mut self, value: ::micropb::heapless::Vec<u8, 2>) -> Self {
1136        self.r#cc = value.into();
1137        self
1138    }
1139    ///Return a reference to `schan`
1140    #[inline]
1141    pub fn r#schan(&self) -> &u32 {
1142        &self.r#schan
1143    }
1144    ///Return a mutable reference to `schan`
1145    #[inline]
1146    pub fn mut_schan(&mut self) -> &mut u32 {
1147        &mut self.r#schan
1148    }
1149    ///Set the value of `schan`
1150    #[inline]
1151    pub fn set_schan(&mut self, value: u32) -> &mut Self {
1152        self.r#schan = value.into();
1153        self
1154    }
1155    ///Builder method that sets the value of `schan`. Useful for initializing the message.
1156    #[inline]
1157    pub fn init_schan(mut self, value: u32) -> Self {
1158        self.r#schan = value.into();
1159        self
1160    }
1161    ///Return a reference to `nchan`
1162    #[inline]
1163    pub fn r#nchan(&self) -> &u32 {
1164        &self.r#nchan
1165    }
1166    ///Return a mutable reference to `nchan`
1167    #[inline]
1168    pub fn mut_nchan(&mut self) -> &mut u32 {
1169        &mut self.r#nchan
1170    }
1171    ///Set the value of `nchan`
1172    #[inline]
1173    pub fn set_nchan(&mut self, value: u32) -> &mut Self {
1174        self.r#nchan = value.into();
1175        self
1176    }
1177    ///Builder method that sets the value of `nchan`. Useful for initializing the message.
1178    #[inline]
1179    pub fn init_nchan(mut self, value: u32) -> Self {
1180        self.r#nchan = value.into();
1181        self
1182    }
1183    ///Return a reference to `max_tx_power`
1184    #[inline]
1185    pub fn r#max_tx_power(&self) -> &i32 {
1186        &self.r#max_tx_power
1187    }
1188    ///Return a mutable reference to `max_tx_power`
1189    #[inline]
1190    pub fn mut_max_tx_power(&mut self) -> &mut i32 {
1191        &mut self.r#max_tx_power
1192    }
1193    ///Set the value of `max_tx_power`
1194    #[inline]
1195    pub fn set_max_tx_power(&mut self, value: i32) -> &mut Self {
1196        self.r#max_tx_power = value.into();
1197        self
1198    }
1199    ///Builder method that sets the value of `max_tx_power`. Useful for initializing the message.
1200    #[inline]
1201    pub fn init_max_tx_power(mut self, value: i32) -> Self {
1202        self.r#max_tx_power = value.into();
1203        self
1204    }
1205    ///Return a reference to `policy`
1206    #[inline]
1207    pub fn r#policy(&self) -> &i32 {
1208        &self.r#policy
1209    }
1210    ///Return a mutable reference to `policy`
1211    #[inline]
1212    pub fn mut_policy(&mut self) -> &mut i32 {
1213        &mut self.r#policy
1214    }
1215    ///Set the value of `policy`
1216    #[inline]
1217    pub fn set_policy(&mut self, value: i32) -> &mut Self {
1218        self.r#policy = value.into();
1219        self
1220    }
1221    ///Builder method that sets the value of `policy`. Useful for initializing the message.
1222    #[inline]
1223    pub fn init_policy(mut self, value: i32) -> Self {
1224        self.r#policy = value.into();
1225        self
1226    }
1227}
1228impl ::micropb::MessageDecode for r#wifi_country {
1229    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
1230        &mut self,
1231        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
1232        len: usize,
1233    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
1234        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
1235        let before = decoder.bytes_read();
1236        while decoder.bytes_read() - before < len {
1237            let tag = decoder.decode_tag()?;
1238            match tag.field_num() {
1239                0 => return Err(::micropb::DecodeError::ZeroField),
1240                1u32 => {
1241                    let mut_ref = &mut self.r#cc;
1242                    {
1243                        decoder.decode_bytes(mut_ref, ::micropb::Presence::Implicit)?;
1244                    };
1245                }
1246                2u32 => {
1247                    let mut_ref = &mut self.r#schan;
1248                    {
1249                        let val = decoder.decode_varint32()?;
1250                        let val_ref = &val;
1251                        if *val_ref != 0 {
1252                            *mut_ref = val as _;
1253                        }
1254                    };
1255                }
1256                3u32 => {
1257                    let mut_ref = &mut self.r#nchan;
1258                    {
1259                        let val = decoder.decode_varint32()?;
1260                        let val_ref = &val;
1261                        if *val_ref != 0 {
1262                            *mut_ref = val as _;
1263                        }
1264                    };
1265                }
1266                4u32 => {
1267                    let mut_ref = &mut self.r#max_tx_power;
1268                    {
1269                        let val = decoder.decode_int32()?;
1270                        let val_ref = &val;
1271                        if *val_ref != 0 {
1272                            *mut_ref = val as _;
1273                        }
1274                    };
1275                }
1276                5u32 => {
1277                    let mut_ref = &mut self.r#policy;
1278                    {
1279                        let val = decoder.decode_int32()?;
1280                        let val_ref = &val;
1281                        if *val_ref != 0 {
1282                            *mut_ref = val as _;
1283                        }
1284                    };
1285                }
1286                _ => {
1287                    decoder.skip_wire_value(tag.wire_type())?;
1288                }
1289            }
1290        }
1291        Ok(())
1292    }
1293}
1294impl ::micropb::MessageEncode for r#wifi_country {
1295    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
1296        let mut max_size = 0;
1297        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
1298            ::core::option::Option::Some(3usize), | size | size + 1usize
1299        ) {
1300            max_size += size;
1301        } else {
1302            break 'msg (::core::option::Option::<usize>::None);
1303        };
1304        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
1305            ::core::option::Option::Some(5usize), | size | size + 1usize
1306        ) {
1307            max_size += size;
1308        } else {
1309            break 'msg (::core::option::Option::<usize>::None);
1310        };
1311        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
1312            ::core::option::Option::Some(5usize), | size | size + 1usize
1313        ) {
1314            max_size += size;
1315        } else {
1316            break 'msg (::core::option::Option::<usize>::None);
1317        };
1318        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
1319            ::core::option::Option::Some(10usize), | size | size + 1usize
1320        ) {
1321            max_size += size;
1322        } else {
1323            break 'msg (::core::option::Option::<usize>::None);
1324        };
1325        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
1326            ::core::option::Option::Some(10usize), | size | size + 1usize
1327        ) {
1328            max_size += size;
1329        } else {
1330            break 'msg (::core::option::Option::<usize>::None);
1331        };
1332        ::core::option::Option::Some(max_size)
1333    };
1334    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
1335        &self,
1336        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
1337    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
1338        use ::micropb::{PbMap, FieldEncode};
1339        {
1340            let val_ref = &self.r#cc;
1341            if !val_ref.is_empty() {
1342                encoder.encode_varint32(10u32)?;
1343                encoder.encode_bytes(val_ref)?;
1344            }
1345        }
1346        {
1347            let val_ref = &self.r#schan;
1348            if *val_ref != 0 {
1349                encoder.encode_varint32(16u32)?;
1350                encoder.encode_varint32(*val_ref as _)?;
1351            }
1352        }
1353        {
1354            let val_ref = &self.r#nchan;
1355            if *val_ref != 0 {
1356                encoder.encode_varint32(24u32)?;
1357                encoder.encode_varint32(*val_ref as _)?;
1358            }
1359        }
1360        {
1361            let val_ref = &self.r#max_tx_power;
1362            if *val_ref != 0 {
1363                encoder.encode_varint32(32u32)?;
1364                encoder.encode_int32(*val_ref as _)?;
1365            }
1366        }
1367        {
1368            let val_ref = &self.r#policy;
1369            if *val_ref != 0 {
1370                encoder.encode_varint32(40u32)?;
1371                encoder.encode_int32(*val_ref as _)?;
1372            }
1373        }
1374        Ok(())
1375    }
1376    fn compute_size(&self) -> usize {
1377        use ::micropb::{PbMap, FieldEncode};
1378        let mut size = 0;
1379        {
1380            let val_ref = &self.r#cc;
1381            if !val_ref.is_empty() {
1382                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.len());
1383            }
1384        }
1385        {
1386            let val_ref = &self.r#schan;
1387            if *val_ref != 0 {
1388                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
1389            }
1390        }
1391        {
1392            let val_ref = &self.r#nchan;
1393            if *val_ref != 0 {
1394                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
1395            }
1396        }
1397        {
1398            let val_ref = &self.r#max_tx_power;
1399            if *val_ref != 0 {
1400                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
1401            }
1402        }
1403        {
1404            let val_ref = &self.r#policy;
1405            if *val_ref != 0 {
1406                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
1407            }
1408        }
1409        size
1410    }
1411}
1412#[derive(Debug, Default, PartialEq, Clone)]
1413pub struct r#wifi_active_scan_time {
1414    pub r#min: u32,
1415    pub r#max: u32,
1416}
1417impl r#wifi_active_scan_time {
1418    ///Return a reference to `min`
1419    #[inline]
1420    pub fn r#min(&self) -> &u32 {
1421        &self.r#min
1422    }
1423    ///Return a mutable reference to `min`
1424    #[inline]
1425    pub fn mut_min(&mut self) -> &mut u32 {
1426        &mut self.r#min
1427    }
1428    ///Set the value of `min`
1429    #[inline]
1430    pub fn set_min(&mut self, value: u32) -> &mut Self {
1431        self.r#min = value.into();
1432        self
1433    }
1434    ///Builder method that sets the value of `min`. Useful for initializing the message.
1435    #[inline]
1436    pub fn init_min(mut self, value: u32) -> Self {
1437        self.r#min = value.into();
1438        self
1439    }
1440    ///Return a reference to `max`
1441    #[inline]
1442    pub fn r#max(&self) -> &u32 {
1443        &self.r#max
1444    }
1445    ///Return a mutable reference to `max`
1446    #[inline]
1447    pub fn mut_max(&mut self) -> &mut u32 {
1448        &mut self.r#max
1449    }
1450    ///Set the value of `max`
1451    #[inline]
1452    pub fn set_max(&mut self, value: u32) -> &mut Self {
1453        self.r#max = value.into();
1454        self
1455    }
1456    ///Builder method that sets the value of `max`. Useful for initializing the message.
1457    #[inline]
1458    pub fn init_max(mut self, value: u32) -> Self {
1459        self.r#max = value.into();
1460        self
1461    }
1462}
1463impl ::micropb::MessageDecode for r#wifi_active_scan_time {
1464    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
1465        &mut self,
1466        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
1467        len: usize,
1468    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
1469        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
1470        let before = decoder.bytes_read();
1471        while decoder.bytes_read() - before < len {
1472            let tag = decoder.decode_tag()?;
1473            match tag.field_num() {
1474                0 => return Err(::micropb::DecodeError::ZeroField),
1475                1u32 => {
1476                    let mut_ref = &mut self.r#min;
1477                    {
1478                        let val = decoder.decode_varint32()?;
1479                        let val_ref = &val;
1480                        if *val_ref != 0 {
1481                            *mut_ref = val as _;
1482                        }
1483                    };
1484                }
1485                2u32 => {
1486                    let mut_ref = &mut self.r#max;
1487                    {
1488                        let val = decoder.decode_varint32()?;
1489                        let val_ref = &val;
1490                        if *val_ref != 0 {
1491                            *mut_ref = val as _;
1492                        }
1493                    };
1494                }
1495                _ => {
1496                    decoder.skip_wire_value(tag.wire_type())?;
1497                }
1498            }
1499        }
1500        Ok(())
1501    }
1502}
1503impl ::micropb::MessageEncode for r#wifi_active_scan_time {
1504    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
1505        let mut max_size = 0;
1506        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
1507            ::core::option::Option::Some(5usize), | size | size + 1usize
1508        ) {
1509            max_size += size;
1510        } else {
1511            break 'msg (::core::option::Option::<usize>::None);
1512        };
1513        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
1514            ::core::option::Option::Some(5usize), | size | size + 1usize
1515        ) {
1516            max_size += size;
1517        } else {
1518            break 'msg (::core::option::Option::<usize>::None);
1519        };
1520        ::core::option::Option::Some(max_size)
1521    };
1522    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
1523        &self,
1524        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
1525    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
1526        use ::micropb::{PbMap, FieldEncode};
1527        {
1528            let val_ref = &self.r#min;
1529            if *val_ref != 0 {
1530                encoder.encode_varint32(8u32)?;
1531                encoder.encode_varint32(*val_ref as _)?;
1532            }
1533        }
1534        {
1535            let val_ref = &self.r#max;
1536            if *val_ref != 0 {
1537                encoder.encode_varint32(16u32)?;
1538                encoder.encode_varint32(*val_ref as _)?;
1539            }
1540        }
1541        Ok(())
1542    }
1543    fn compute_size(&self) -> usize {
1544        use ::micropb::{PbMap, FieldEncode};
1545        let mut size = 0;
1546        {
1547            let val_ref = &self.r#min;
1548            if *val_ref != 0 {
1549                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
1550            }
1551        }
1552        {
1553            let val_ref = &self.r#max;
1554            if *val_ref != 0 {
1555                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
1556            }
1557        }
1558        size
1559    }
1560}
1561pub mod wifi_scan_time_ {
1562    #[derive(Debug, Default, PartialEq, Clone)]
1563    pub struct _Hazzer([u8; 1]);
1564    impl _Hazzer {
1565        ///New hazzer with all fields set to off
1566        #[inline]
1567        pub const fn _new() -> Self {
1568            Self([0; 1])
1569        }
1570        ///Query presence of `active`
1571        #[inline]
1572        pub const fn r#active(&self) -> bool {
1573            (self.0[0] & 1) != 0
1574        }
1575        ///Set presence of `active`
1576        #[inline]
1577        pub const fn set_active(&mut self) -> &mut Self {
1578            let elem = &mut self.0[0];
1579            *elem |= 1;
1580            self
1581        }
1582        ///Clear presence of `active`
1583        #[inline]
1584        pub const fn clear_active(&mut self) -> &mut Self {
1585            let elem = &mut self.0[0];
1586            *elem &= !1;
1587            self
1588        }
1589        ///Builder method that sets the presence of `active`. Useful for initializing the Hazzer.
1590        #[inline]
1591        pub const fn init_active(mut self) -> Self {
1592            self.set_active();
1593            self
1594        }
1595    }
1596}
1597#[derive(Debug, Default, Clone)]
1598pub struct r#wifi_scan_time {
1599    pub r#active: r#wifi_active_scan_time,
1600    pub r#passive: u32,
1601    pub _has: wifi_scan_time_::_Hazzer,
1602}
1603impl ::core::cmp::PartialEq for r#wifi_scan_time {
1604    fn eq(&self, other: &Self) -> bool {
1605        let mut ret = true;
1606        ret &= (self.r#active() == other.r#active());
1607        ret &= (self.r#passive == other.r#passive);
1608        ret
1609    }
1610}
1611impl r#wifi_scan_time {
1612    ///Return a reference to `active` as an `Option`
1613    #[inline]
1614    pub fn r#active(&self) -> ::core::option::Option<&r#wifi_active_scan_time> {
1615        self._has.r#active().then_some(&self.r#active)
1616    }
1617    ///Set the value and presence of `active`
1618    #[inline]
1619    pub fn set_active(&mut self, value: r#wifi_active_scan_time) -> &mut Self {
1620        self._has.set_active();
1621        self.r#active = value.into();
1622        self
1623    }
1624    ///Return a mutable reference to `active` as an `Option`
1625    #[inline]
1626    pub fn mut_active(
1627        &mut self,
1628    ) -> ::core::option::Option<&mut r#wifi_active_scan_time> {
1629        self._has.r#active().then_some(&mut self.r#active)
1630    }
1631    ///Clear the presence of `active`
1632    #[inline]
1633    pub fn clear_active(&mut self) -> &mut Self {
1634        self._has.clear_active();
1635        self
1636    }
1637    ///Take the value of `active` and clear its presence
1638    #[inline]
1639    pub fn take_active(&mut self) -> ::core::option::Option<r#wifi_active_scan_time> {
1640        let val = self._has.r#active().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::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
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!(< r#wifi_active_scan_time as ::micropb::MessageEncode >
1715            ::MAX_SIZE, | size | ::micropb::size::sizeof_len_record(size)), | size | size
1716            + 1usize
1717        ) {
1718            max_size += size;
1719        } else {
1720            break 'msg (::core::option::Option::<usize>::None);
1721        };
1722        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
1723            ::core::option::Option::Some(5usize), | size | size + 1usize
1724        ) {
1725            max_size += size;
1726        } else {
1727            break 'msg (::core::option::Option::<usize>::None);
1728        };
1729        ::core::option::Option::Some(max_size)
1730    };
1731    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
1732        &self,
1733        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
1734    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
1735        use ::micropb::{PbMap, FieldEncode};
1736        {
1737            if let ::core::option::Option::Some(val_ref) = self.r#active() {
1738                encoder.encode_varint32(10u32)?;
1739                val_ref.encode_len_delimited(encoder)?;
1740            }
1741        }
1742        {
1743            let val_ref = &self.r#passive;
1744            if *val_ref != 0 {
1745                encoder.encode_varint32(16u32)?;
1746                encoder.encode_varint32(*val_ref as _)?;
1747            }
1748        }
1749        Ok(())
1750    }
1751    fn compute_size(&self) -> usize {
1752        use ::micropb::{PbMap, FieldEncode};
1753        let mut size = 0;
1754        {
1755            if let ::core::option::Option::Some(val_ref) = self.r#active() {
1756                size
1757                    += 1usize
1758                        + ::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, 32>,
1809    pub r#bssid: ::micropb::heapless::Vec<u8, 32>,
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, 32> {
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, 32> {
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, 32>) -> &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, 32>) -> 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, 32> {
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, 32> {
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, 32>) -> &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, 32>) -> 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::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
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) = ::micropb::const_map!(
2086            ::core::option::Option::Some(33usize), | 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) = ::micropb::const_map!(
2093            ::core::option::Option::Some(33usize), | 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) = ::micropb::const_map!(
2100            ::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) = ::micropb::const_map!(
2107            ::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) = ::micropb::const_map!(
2114            ::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!(< r#wifi_scan_time as ::micropb::MessageEncode >
2122            ::MAX_SIZE, | size | ::micropb::size::sizeof_len_record(size)), | size | size
2123            + 1usize
2124        ) {
2125            max_size += size;
2126        } else {
2127            break 'msg (::core::option::Option::<usize>::None);
2128        };
2129        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
2130            ::core::option::Option::Some(5usize), | size | size + 1usize
2131        ) {
2132            max_size += size;
2133        } else {
2134            break 'msg (::core::option::Option::<usize>::None);
2135        };
2136        ::core::option::Option::Some(max_size)
2137    };
2138    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
2139        &self,
2140        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
2141    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
2142        use ::micropb::{PbMap, FieldEncode};
2143        {
2144            let val_ref = &self.r#ssid;
2145            if !val_ref.is_empty() {
2146                encoder.encode_varint32(10u32)?;
2147                encoder.encode_bytes(val_ref)?;
2148            }
2149        }
2150        {
2151            let val_ref = &self.r#bssid;
2152            if !val_ref.is_empty() {
2153                encoder.encode_varint32(18u32)?;
2154                encoder.encode_bytes(val_ref)?;
2155            }
2156        }
2157        {
2158            let val_ref = &self.r#channel;
2159            if *val_ref != 0 {
2160                encoder.encode_varint32(24u32)?;
2161                encoder.encode_varint32(*val_ref as _)?;
2162            }
2163        }
2164        {
2165            let val_ref = &self.r#show_hidden;
2166            if *val_ref {
2167                encoder.encode_varint32(32u32)?;
2168                encoder.encode_bool(*val_ref)?;
2169            }
2170        }
2171        {
2172            let val_ref = &self.r#scan_type;
2173            if *val_ref != 0 {
2174                encoder.encode_varint32(40u32)?;
2175                encoder.encode_int32(*val_ref as _)?;
2176            }
2177        }
2178        {
2179            if let ::core::option::Option::Some(val_ref) = self.r#scan_time() {
2180                encoder.encode_varint32(50u32)?;
2181                val_ref.encode_len_delimited(encoder)?;
2182            }
2183        }
2184        {
2185            let val_ref = &self.r#home_chan_dwell_time;
2186            if *val_ref != 0 {
2187                encoder.encode_varint32(56u32)?;
2188                encoder.encode_varint32(*val_ref as _)?;
2189            }
2190        }
2191        Ok(())
2192    }
2193    fn compute_size(&self) -> usize {
2194        use ::micropb::{PbMap, FieldEncode};
2195        let mut size = 0;
2196        {
2197            let val_ref = &self.r#ssid;
2198            if !val_ref.is_empty() {
2199                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.len());
2200            }
2201        }
2202        {
2203            let val_ref = &self.r#bssid;
2204            if !val_ref.is_empty() {
2205                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.len());
2206            }
2207        }
2208        {
2209            let val_ref = &self.r#channel;
2210            if *val_ref != 0 {
2211                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
2212            }
2213        }
2214        {
2215            let val_ref = &self.r#show_hidden;
2216            if *val_ref {
2217                size += 1usize + 1;
2218            }
2219        }
2220        {
2221            let val_ref = &self.r#scan_type;
2222            if *val_ref != 0 {
2223                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
2224            }
2225        }
2226        {
2227            if let ::core::option::Option::Some(val_ref) = self.r#scan_time() {
2228                size
2229                    += 1usize
2230                        + ::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::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
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) = ::micropb::const_map!(
2337            ::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) = ::micropb::const_map!(
2344            ::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::{PbMap, FieldEncode};
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::{PbMap, FieldEncode};
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, 32>,
2455    pub r#ssid: ::micropb::heapless::Vec<u8, 32>,
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, 32> {
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, 32> {
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, 32>) -> &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, 32>) -> 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, 32> {
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, 32> {
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, 32>) -> &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, 32>) -> 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._has.r#country().then(|| ::core::mem::take(&mut self.r#country));
2740        self._has.clear_country();
2741        val
2742    }
2743    ///Builder method that sets the value of `country`. Useful for initializing the message.
2744    #[inline]
2745    pub fn init_country(mut self, value: r#wifi_country) -> Self {
2746        self.set_country(value);
2747        self
2748    }
2749    ///Return a reference to `he_ap` as an `Option`
2750    #[inline]
2751    pub fn r#he_ap(&self) -> ::core::option::Option<&r#wifi_he_ap_info> {
2752        self._has.r#he_ap().then_some(&self.r#he_ap)
2753    }
2754    ///Set the value and presence of `he_ap`
2755    #[inline]
2756    pub fn set_he_ap(&mut self, value: r#wifi_he_ap_info) -> &mut Self {
2757        self._has.set_he_ap();
2758        self.r#he_ap = value.into();
2759        self
2760    }
2761    ///Return a mutable reference to `he_ap` as an `Option`
2762    #[inline]
2763    pub fn mut_he_ap(&mut self) -> ::core::option::Option<&mut r#wifi_he_ap_info> {
2764        self._has.r#he_ap().then_some(&mut self.r#he_ap)
2765    }
2766    ///Clear the presence of `he_ap`
2767    #[inline]
2768    pub fn clear_he_ap(&mut self) -> &mut Self {
2769        self._has.clear_he_ap();
2770        self
2771    }
2772    ///Take the value of `he_ap` and clear its presence
2773    #[inline]
2774    pub fn take_he_ap(&mut self) -> ::core::option::Option<r#wifi_he_ap_info> {
2775        let val = self._has.r#he_ap().then(|| ::core::mem::take(&mut self.r#he_ap));
2776        self._has.clear_he_ap();
2777        val
2778    }
2779    ///Builder method that sets the value of `he_ap`. Useful for initializing the message.
2780    #[inline]
2781    pub fn init_he_ap(mut self, value: r#wifi_he_ap_info) -> Self {
2782        self.set_he_ap(value);
2783        self
2784    }
2785    ///Return a reference to `bandwidth`
2786    #[inline]
2787    pub fn r#bandwidth(&self) -> &u32 {
2788        &self.r#bandwidth
2789    }
2790    ///Return a mutable reference to `bandwidth`
2791    #[inline]
2792    pub fn mut_bandwidth(&mut self) -> &mut u32 {
2793        &mut self.r#bandwidth
2794    }
2795    ///Set the value of `bandwidth`
2796    #[inline]
2797    pub fn set_bandwidth(&mut self, value: u32) -> &mut Self {
2798        self.r#bandwidth = value.into();
2799        self
2800    }
2801    ///Builder method that sets the value of `bandwidth`. Useful for initializing the message.
2802    #[inline]
2803    pub fn init_bandwidth(mut self, value: u32) -> Self {
2804        self.r#bandwidth = value.into();
2805        self
2806    }
2807    ///Return a reference to `vht_ch_freq1`
2808    #[inline]
2809    pub fn r#vht_ch_freq1(&self) -> &u32 {
2810        &self.r#vht_ch_freq1
2811    }
2812    ///Return a mutable reference to `vht_ch_freq1`
2813    #[inline]
2814    pub fn mut_vht_ch_freq1(&mut self) -> &mut u32 {
2815        &mut self.r#vht_ch_freq1
2816    }
2817    ///Set the value of `vht_ch_freq1`
2818    #[inline]
2819    pub fn set_vht_ch_freq1(&mut self, value: u32) -> &mut Self {
2820        self.r#vht_ch_freq1 = value.into();
2821        self
2822    }
2823    ///Builder method that sets the value of `vht_ch_freq1`. Useful for initializing the message.
2824    #[inline]
2825    pub fn init_vht_ch_freq1(mut self, value: u32) -> Self {
2826        self.r#vht_ch_freq1 = value.into();
2827        self
2828    }
2829    ///Return a reference to `vht_ch_freq2`
2830    #[inline]
2831    pub fn r#vht_ch_freq2(&self) -> &u32 {
2832        &self.r#vht_ch_freq2
2833    }
2834    ///Return a mutable reference to `vht_ch_freq2`
2835    #[inline]
2836    pub fn mut_vht_ch_freq2(&mut self) -> &mut u32 {
2837        &mut self.r#vht_ch_freq2
2838    }
2839    ///Set the value of `vht_ch_freq2`
2840    #[inline]
2841    pub fn set_vht_ch_freq2(&mut self, value: u32) -> &mut Self {
2842        self.r#vht_ch_freq2 = value.into();
2843        self
2844    }
2845    ///Builder method that sets the value of `vht_ch_freq2`. Useful for initializing the message.
2846    #[inline]
2847    pub fn init_vht_ch_freq2(mut self, value: u32) -> Self {
2848        self.r#vht_ch_freq2 = value.into();
2849        self
2850    }
2851}
2852impl ::micropb::MessageDecode for r#wifi_ap_record {
2853    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
2854        &mut self,
2855        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
2856        len: usize,
2857    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
2858        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
2859        let before = decoder.bytes_read();
2860        while decoder.bytes_read() - before < len {
2861            let tag = decoder.decode_tag()?;
2862            match tag.field_num() {
2863                0 => return Err(::micropb::DecodeError::ZeroField),
2864                1u32 => {
2865                    let mut_ref = &mut self.r#bssid;
2866                    {
2867                        decoder.decode_bytes(mut_ref, ::micropb::Presence::Implicit)?;
2868                    };
2869                }
2870                2u32 => {
2871                    let mut_ref = &mut self.r#ssid;
2872                    {
2873                        decoder.decode_bytes(mut_ref, ::micropb::Presence::Implicit)?;
2874                    };
2875                }
2876                3u32 => {
2877                    let mut_ref = &mut self.r#primary;
2878                    {
2879                        let val = decoder.decode_varint32()?;
2880                        let val_ref = &val;
2881                        if *val_ref != 0 {
2882                            *mut_ref = val as _;
2883                        }
2884                    };
2885                }
2886                4u32 => {
2887                    let mut_ref = &mut self.r#second;
2888                    {
2889                        let val = decoder.decode_int32()?;
2890                        let val_ref = &val;
2891                        if *val_ref != 0 {
2892                            *mut_ref = val as _;
2893                        }
2894                    };
2895                }
2896                5u32 => {
2897                    let mut_ref = &mut self.r#rssi;
2898                    {
2899                        let val = decoder.decode_int32()?;
2900                        let val_ref = &val;
2901                        if *val_ref != 0 {
2902                            *mut_ref = val as _;
2903                        }
2904                    };
2905                }
2906                6u32 => {
2907                    let mut_ref = &mut self.r#authmode;
2908                    {
2909                        let val = decoder.decode_int32()?;
2910                        let val_ref = &val;
2911                        if *val_ref != 0 {
2912                            *mut_ref = val as _;
2913                        }
2914                    };
2915                }
2916                7u32 => {
2917                    let mut_ref = &mut self.r#pairwise_cipher;
2918                    {
2919                        let val = decoder.decode_int32()?;
2920                        let val_ref = &val;
2921                        if *val_ref != 0 {
2922                            *mut_ref = val as _;
2923                        }
2924                    };
2925                }
2926                8u32 => {
2927                    let mut_ref = &mut self.r#group_cipher;
2928                    {
2929                        let val = decoder.decode_int32()?;
2930                        let val_ref = &val;
2931                        if *val_ref != 0 {
2932                            *mut_ref = val as _;
2933                        }
2934                    };
2935                }
2936                9u32 => {
2937                    let mut_ref = &mut self.r#ant;
2938                    {
2939                        let val = decoder.decode_int32()?;
2940                        let val_ref = &val;
2941                        if *val_ref != 0 {
2942                            *mut_ref = val as _;
2943                        }
2944                    };
2945                }
2946                10u32 => {
2947                    let mut_ref = &mut self.r#bitmask;
2948                    {
2949                        let val = decoder.decode_varint32()?;
2950                        let val_ref = &val;
2951                        if *val_ref != 0 {
2952                            *mut_ref = val as _;
2953                        }
2954                    };
2955                }
2956                11u32 => {
2957                    let mut_ref = &mut self.r#country;
2958                    {
2959                        mut_ref.decode_len_delimited(decoder)?;
2960                    };
2961                    self._has.set_country();
2962                }
2963                12u32 => {
2964                    let mut_ref = &mut self.r#he_ap;
2965                    {
2966                        mut_ref.decode_len_delimited(decoder)?;
2967                    };
2968                    self._has.set_he_ap();
2969                }
2970                13u32 => {
2971                    let mut_ref = &mut self.r#bandwidth;
2972                    {
2973                        let val = decoder.decode_varint32()?;
2974                        let val_ref = &val;
2975                        if *val_ref != 0 {
2976                            *mut_ref = val as _;
2977                        }
2978                    };
2979                }
2980                14u32 => {
2981                    let mut_ref = &mut self.r#vht_ch_freq1;
2982                    {
2983                        let val = decoder.decode_varint32()?;
2984                        let val_ref = &val;
2985                        if *val_ref != 0 {
2986                            *mut_ref = val as _;
2987                        }
2988                    };
2989                }
2990                15u32 => {
2991                    let mut_ref = &mut self.r#vht_ch_freq2;
2992                    {
2993                        let val = decoder.decode_varint32()?;
2994                        let val_ref = &val;
2995                        if *val_ref != 0 {
2996                            *mut_ref = val as _;
2997                        }
2998                    };
2999                }
3000                _ => {
3001                    decoder.skip_wire_value(tag.wire_type())?;
3002                }
3003            }
3004        }
3005        Ok(())
3006    }
3007}
3008impl ::micropb::MessageEncode for r#wifi_ap_record {
3009    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
3010        let mut max_size = 0;
3011        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
3012            ::core::option::Option::Some(33usize), | size | size + 1usize
3013        ) {
3014            max_size += size;
3015        } else {
3016            break 'msg (::core::option::Option::<usize>::None);
3017        };
3018        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
3019            ::core::option::Option::Some(33usize), | size | size + 1usize
3020        ) {
3021            max_size += size;
3022        } else {
3023            break 'msg (::core::option::Option::<usize>::None);
3024        };
3025        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
3026            ::core::option::Option::Some(5usize), | size | size + 1usize
3027        ) {
3028            max_size += size;
3029        } else {
3030            break 'msg (::core::option::Option::<usize>::None);
3031        };
3032        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
3033            ::core::option::Option::Some(10usize), | size | size + 1usize
3034        ) {
3035            max_size += size;
3036        } else {
3037            break 'msg (::core::option::Option::<usize>::None);
3038        };
3039        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
3040            ::core::option::Option::Some(10usize), | size | size + 1usize
3041        ) {
3042            max_size += size;
3043        } else {
3044            break 'msg (::core::option::Option::<usize>::None);
3045        };
3046        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
3047            ::core::option::Option::Some(10usize), | size | size + 1usize
3048        ) {
3049            max_size += size;
3050        } else {
3051            break 'msg (::core::option::Option::<usize>::None);
3052        };
3053        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
3054            ::core::option::Option::Some(10usize), | size | size + 1usize
3055        ) {
3056            max_size += size;
3057        } else {
3058            break 'msg (::core::option::Option::<usize>::None);
3059        };
3060        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
3061            ::core::option::Option::Some(10usize), | size | size + 1usize
3062        ) {
3063            max_size += size;
3064        } else {
3065            break 'msg (::core::option::Option::<usize>::None);
3066        };
3067        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
3068            ::core::option::Option::Some(10usize), | size | size + 1usize
3069        ) {
3070            max_size += size;
3071        } else {
3072            break 'msg (::core::option::Option::<usize>::None);
3073        };
3074        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
3075            ::core::option::Option::Some(5usize), | size | size + 1usize
3076        ) {
3077            max_size += size;
3078        } else {
3079            break 'msg (::core::option::Option::<usize>::None);
3080        };
3081        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
3082            ::micropb::const_map!(< r#wifi_country as ::micropb::MessageEncode >
3083            ::MAX_SIZE, | size | ::micropb::size::sizeof_len_record(size)), | size | size
3084            + 1usize
3085        ) {
3086            max_size += size;
3087        } else {
3088            break 'msg (::core::option::Option::<usize>::None);
3089        };
3090        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
3091            ::micropb::const_map!(< r#wifi_he_ap_info as ::micropb::MessageEncode >
3092            ::MAX_SIZE, | size | ::micropb::size::sizeof_len_record(size)), | size | size
3093            + 1usize
3094        ) {
3095            max_size += size;
3096        } else {
3097            break 'msg (::core::option::Option::<usize>::None);
3098        };
3099        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
3100            ::core::option::Option::Some(5usize), | size | size + 1usize
3101        ) {
3102            max_size += size;
3103        } else {
3104            break 'msg (::core::option::Option::<usize>::None);
3105        };
3106        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
3107            ::core::option::Option::Some(5usize), | size | size + 1usize
3108        ) {
3109            max_size += size;
3110        } else {
3111            break 'msg (::core::option::Option::<usize>::None);
3112        };
3113        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
3114            ::core::option::Option::Some(5usize), | size | size + 1usize
3115        ) {
3116            max_size += size;
3117        } else {
3118            break 'msg (::core::option::Option::<usize>::None);
3119        };
3120        ::core::option::Option::Some(max_size)
3121    };
3122    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
3123        &self,
3124        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
3125    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
3126        use ::micropb::{PbMap, FieldEncode};
3127        {
3128            let val_ref = &self.r#bssid;
3129            if !val_ref.is_empty() {
3130                encoder.encode_varint32(10u32)?;
3131                encoder.encode_bytes(val_ref)?;
3132            }
3133        }
3134        {
3135            let val_ref = &self.r#ssid;
3136            if !val_ref.is_empty() {
3137                encoder.encode_varint32(18u32)?;
3138                encoder.encode_bytes(val_ref)?;
3139            }
3140        }
3141        {
3142            let val_ref = &self.r#primary;
3143            if *val_ref != 0 {
3144                encoder.encode_varint32(24u32)?;
3145                encoder.encode_varint32(*val_ref as _)?;
3146            }
3147        }
3148        {
3149            let val_ref = &self.r#second;
3150            if *val_ref != 0 {
3151                encoder.encode_varint32(32u32)?;
3152                encoder.encode_int32(*val_ref as _)?;
3153            }
3154        }
3155        {
3156            let val_ref = &self.r#rssi;
3157            if *val_ref != 0 {
3158                encoder.encode_varint32(40u32)?;
3159                encoder.encode_int32(*val_ref as _)?;
3160            }
3161        }
3162        {
3163            let val_ref = &self.r#authmode;
3164            if *val_ref != 0 {
3165                encoder.encode_varint32(48u32)?;
3166                encoder.encode_int32(*val_ref as _)?;
3167            }
3168        }
3169        {
3170            let val_ref = &self.r#pairwise_cipher;
3171            if *val_ref != 0 {
3172                encoder.encode_varint32(56u32)?;
3173                encoder.encode_int32(*val_ref as _)?;
3174            }
3175        }
3176        {
3177            let val_ref = &self.r#group_cipher;
3178            if *val_ref != 0 {
3179                encoder.encode_varint32(64u32)?;
3180                encoder.encode_int32(*val_ref as _)?;
3181            }
3182        }
3183        {
3184            let val_ref = &self.r#ant;
3185            if *val_ref != 0 {
3186                encoder.encode_varint32(72u32)?;
3187                encoder.encode_int32(*val_ref as _)?;
3188            }
3189        }
3190        {
3191            let val_ref = &self.r#bitmask;
3192            if *val_ref != 0 {
3193                encoder.encode_varint32(80u32)?;
3194                encoder.encode_varint32(*val_ref as _)?;
3195            }
3196        }
3197        {
3198            if let ::core::option::Option::Some(val_ref) = self.r#country() {
3199                encoder.encode_varint32(90u32)?;
3200                val_ref.encode_len_delimited(encoder)?;
3201            }
3202        }
3203        {
3204            if let ::core::option::Option::Some(val_ref) = self.r#he_ap() {
3205                encoder.encode_varint32(98u32)?;
3206                val_ref.encode_len_delimited(encoder)?;
3207            }
3208        }
3209        {
3210            let val_ref = &self.r#bandwidth;
3211            if *val_ref != 0 {
3212                encoder.encode_varint32(104u32)?;
3213                encoder.encode_varint32(*val_ref as _)?;
3214            }
3215        }
3216        {
3217            let val_ref = &self.r#vht_ch_freq1;
3218            if *val_ref != 0 {
3219                encoder.encode_varint32(112u32)?;
3220                encoder.encode_varint32(*val_ref as _)?;
3221            }
3222        }
3223        {
3224            let val_ref = &self.r#vht_ch_freq2;
3225            if *val_ref != 0 {
3226                encoder.encode_varint32(120u32)?;
3227                encoder.encode_varint32(*val_ref as _)?;
3228            }
3229        }
3230        Ok(())
3231    }
3232    fn compute_size(&self) -> usize {
3233        use ::micropb::{PbMap, FieldEncode};
3234        let mut size = 0;
3235        {
3236            let val_ref = &self.r#bssid;
3237            if !val_ref.is_empty() {
3238                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.len());
3239            }
3240        }
3241        {
3242            let val_ref = &self.r#ssid;
3243            if !val_ref.is_empty() {
3244                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.len());
3245            }
3246        }
3247        {
3248            let val_ref = &self.r#primary;
3249            if *val_ref != 0 {
3250                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
3251            }
3252        }
3253        {
3254            let val_ref = &self.r#second;
3255            if *val_ref != 0 {
3256                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
3257            }
3258        }
3259        {
3260            let val_ref = &self.r#rssi;
3261            if *val_ref != 0 {
3262                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
3263            }
3264        }
3265        {
3266            let val_ref = &self.r#authmode;
3267            if *val_ref != 0 {
3268                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
3269            }
3270        }
3271        {
3272            let val_ref = &self.r#pairwise_cipher;
3273            if *val_ref != 0 {
3274                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
3275            }
3276        }
3277        {
3278            let val_ref = &self.r#group_cipher;
3279            if *val_ref != 0 {
3280                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
3281            }
3282        }
3283        {
3284            let val_ref = &self.r#ant;
3285            if *val_ref != 0 {
3286                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
3287            }
3288        }
3289        {
3290            let val_ref = &self.r#bitmask;
3291            if *val_ref != 0 {
3292                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
3293            }
3294        }
3295        {
3296            if let ::core::option::Option::Some(val_ref) = self.r#country() {
3297                size
3298                    += 1usize
3299                        + ::micropb::size::sizeof_len_record(val_ref.compute_size());
3300            }
3301        }
3302        {
3303            if let ::core::option::Option::Some(val_ref) = self.r#he_ap() {
3304                size
3305                    += 1usize
3306                        + ::micropb::size::sizeof_len_record(val_ref.compute_size());
3307            }
3308        }
3309        {
3310            let val_ref = &self.r#bandwidth;
3311            if *val_ref != 0 {
3312                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
3313            }
3314        }
3315        {
3316            let val_ref = &self.r#vht_ch_freq1;
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_freq2;
3323            if *val_ref != 0 {
3324                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
3325            }
3326        }
3327        size
3328    }
3329}
3330#[derive(Debug, Default, PartialEq, Clone)]
3331pub struct r#wifi_scan_threshold {
3332    pub r#rssi: i32,
3333    pub r#authmode: i32,
3334}
3335impl r#wifi_scan_threshold {
3336    ///Return a reference to `rssi`
3337    #[inline]
3338    pub fn r#rssi(&self) -> &i32 {
3339        &self.r#rssi
3340    }
3341    ///Return a mutable reference to `rssi`
3342    #[inline]
3343    pub fn mut_rssi(&mut self) -> &mut i32 {
3344        &mut self.r#rssi
3345    }
3346    ///Set the value of `rssi`
3347    #[inline]
3348    pub fn set_rssi(&mut self, value: i32) -> &mut Self {
3349        self.r#rssi = value.into();
3350        self
3351    }
3352    ///Builder method that sets the value of `rssi`. Useful for initializing the message.
3353    #[inline]
3354    pub fn init_rssi(mut self, value: i32) -> Self {
3355        self.r#rssi = value.into();
3356        self
3357    }
3358    ///Return a reference to `authmode`
3359    #[inline]
3360    pub fn r#authmode(&self) -> &i32 {
3361        &self.r#authmode
3362    }
3363    ///Return a mutable reference to `authmode`
3364    #[inline]
3365    pub fn mut_authmode(&mut self) -> &mut i32 {
3366        &mut self.r#authmode
3367    }
3368    ///Set the value of `authmode`
3369    #[inline]
3370    pub fn set_authmode(&mut self, value: i32) -> &mut Self {
3371        self.r#authmode = value.into();
3372        self
3373    }
3374    ///Builder method that sets the value of `authmode`. Useful for initializing the message.
3375    #[inline]
3376    pub fn init_authmode(mut self, value: i32) -> Self {
3377        self.r#authmode = value.into();
3378        self
3379    }
3380}
3381impl ::micropb::MessageDecode for r#wifi_scan_threshold {
3382    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
3383        &mut self,
3384        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
3385        len: usize,
3386    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
3387        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
3388        let before = decoder.bytes_read();
3389        while decoder.bytes_read() - before < len {
3390            let tag = decoder.decode_tag()?;
3391            match tag.field_num() {
3392                0 => return Err(::micropb::DecodeError::ZeroField),
3393                1u32 => {
3394                    let mut_ref = &mut self.r#rssi;
3395                    {
3396                        let val = decoder.decode_int32()?;
3397                        let val_ref = &val;
3398                        if *val_ref != 0 {
3399                            *mut_ref = val as _;
3400                        }
3401                    };
3402                }
3403                2u32 => {
3404                    let mut_ref = &mut self.r#authmode;
3405                    {
3406                        let val = decoder.decode_int32()?;
3407                        let val_ref = &val;
3408                        if *val_ref != 0 {
3409                            *mut_ref = val as _;
3410                        }
3411                    };
3412                }
3413                _ => {
3414                    decoder.skip_wire_value(tag.wire_type())?;
3415                }
3416            }
3417        }
3418        Ok(())
3419    }
3420}
3421impl ::micropb::MessageEncode for r#wifi_scan_threshold {
3422    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
3423        let mut max_size = 0;
3424        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
3425            ::core::option::Option::Some(10usize), | size | size + 1usize
3426        ) {
3427            max_size += size;
3428        } else {
3429            break 'msg (::core::option::Option::<usize>::None);
3430        };
3431        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
3432            ::core::option::Option::Some(10usize), | size | size + 1usize
3433        ) {
3434            max_size += size;
3435        } else {
3436            break 'msg (::core::option::Option::<usize>::None);
3437        };
3438        ::core::option::Option::Some(max_size)
3439    };
3440    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
3441        &self,
3442        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
3443    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
3444        use ::micropb::{PbMap, FieldEncode};
3445        {
3446            let val_ref = &self.r#rssi;
3447            if *val_ref != 0 {
3448                encoder.encode_varint32(8u32)?;
3449                encoder.encode_int32(*val_ref as _)?;
3450            }
3451        }
3452        {
3453            let val_ref = &self.r#authmode;
3454            if *val_ref != 0 {
3455                encoder.encode_varint32(16u32)?;
3456                encoder.encode_int32(*val_ref as _)?;
3457            }
3458        }
3459        Ok(())
3460    }
3461    fn compute_size(&self) -> usize {
3462        use ::micropb::{PbMap, FieldEncode};
3463        let mut size = 0;
3464        {
3465            let val_ref = &self.r#rssi;
3466            if *val_ref != 0 {
3467                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
3468            }
3469        }
3470        {
3471            let val_ref = &self.r#authmode;
3472            if *val_ref != 0 {
3473                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
3474            }
3475        }
3476        size
3477    }
3478}
3479#[derive(Debug, Default, PartialEq, Clone)]
3480pub struct r#wifi_pmf_config {
3481    pub r#capable: bool,
3482    pub r#required: bool,
3483}
3484impl r#wifi_pmf_config {
3485    ///Return a reference to `capable`
3486    #[inline]
3487    pub fn r#capable(&self) -> &bool {
3488        &self.r#capable
3489    }
3490    ///Return a mutable reference to `capable`
3491    #[inline]
3492    pub fn mut_capable(&mut self) -> &mut bool {
3493        &mut self.r#capable
3494    }
3495    ///Set the value of `capable`
3496    #[inline]
3497    pub fn set_capable(&mut self, value: bool) -> &mut Self {
3498        self.r#capable = value.into();
3499        self
3500    }
3501    ///Builder method that sets the value of `capable`. Useful for initializing the message.
3502    #[inline]
3503    pub fn init_capable(mut self, value: bool) -> Self {
3504        self.r#capable = value.into();
3505        self
3506    }
3507    ///Return a reference to `required`
3508    #[inline]
3509    pub fn r#required(&self) -> &bool {
3510        &self.r#required
3511    }
3512    ///Return a mutable reference to `required`
3513    #[inline]
3514    pub fn mut_required(&mut self) -> &mut bool {
3515        &mut self.r#required
3516    }
3517    ///Set the value of `required`
3518    #[inline]
3519    pub fn set_required(&mut self, value: bool) -> &mut Self {
3520        self.r#required = value.into();
3521        self
3522    }
3523    ///Builder method that sets the value of `required`. Useful for initializing the message.
3524    #[inline]
3525    pub fn init_required(mut self, value: bool) -> Self {
3526        self.r#required = value.into();
3527        self
3528    }
3529}
3530impl ::micropb::MessageDecode for r#wifi_pmf_config {
3531    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
3532        &mut self,
3533        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
3534        len: usize,
3535    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
3536        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
3537        let before = decoder.bytes_read();
3538        while decoder.bytes_read() - before < len {
3539            let tag = decoder.decode_tag()?;
3540            match tag.field_num() {
3541                0 => return Err(::micropb::DecodeError::ZeroField),
3542                1u32 => {
3543                    let mut_ref = &mut self.r#capable;
3544                    {
3545                        let val = decoder.decode_bool()?;
3546                        let val_ref = &val;
3547                        if *val_ref {
3548                            *mut_ref = val as _;
3549                        }
3550                    };
3551                }
3552                2u32 => {
3553                    let mut_ref = &mut self.r#required;
3554                    {
3555                        let val = decoder.decode_bool()?;
3556                        let val_ref = &val;
3557                        if *val_ref {
3558                            *mut_ref = val as _;
3559                        }
3560                    };
3561                }
3562                _ => {
3563                    decoder.skip_wire_value(tag.wire_type())?;
3564                }
3565            }
3566        }
3567        Ok(())
3568    }
3569}
3570impl ::micropb::MessageEncode for r#wifi_pmf_config {
3571    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
3572        let mut max_size = 0;
3573        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
3574            ::core::option::Option::Some(1usize), | size | size + 1usize
3575        ) {
3576            max_size += size;
3577        } else {
3578            break 'msg (::core::option::Option::<usize>::None);
3579        };
3580        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
3581            ::core::option::Option::Some(1usize), | size | size + 1usize
3582        ) {
3583            max_size += size;
3584        } else {
3585            break 'msg (::core::option::Option::<usize>::None);
3586        };
3587        ::core::option::Option::Some(max_size)
3588    };
3589    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
3590        &self,
3591        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
3592    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
3593        use ::micropb::{PbMap, FieldEncode};
3594        {
3595            let val_ref = &self.r#capable;
3596            if *val_ref {
3597                encoder.encode_varint32(8u32)?;
3598                encoder.encode_bool(*val_ref)?;
3599            }
3600        }
3601        {
3602            let val_ref = &self.r#required;
3603            if *val_ref {
3604                encoder.encode_varint32(16u32)?;
3605                encoder.encode_bool(*val_ref)?;
3606            }
3607        }
3608        Ok(())
3609    }
3610    fn compute_size(&self) -> usize {
3611        use ::micropb::{PbMap, FieldEncode};
3612        let mut size = 0;
3613        {
3614            let val_ref = &self.r#capable;
3615            if *val_ref {
3616                size += 1usize + 1;
3617            }
3618        }
3619        {
3620            let val_ref = &self.r#required;
3621            if *val_ref {
3622                size += 1usize + 1;
3623            }
3624        }
3625        size
3626    }
3627}
3628pub mod wifi_ap_config_ {
3629    #[derive(Debug, Default, PartialEq, Clone)]
3630    pub struct _Hazzer([u8; 1]);
3631    impl _Hazzer {
3632        ///New hazzer with all fields set to off
3633        #[inline]
3634        pub const fn _new() -> Self {
3635            Self([0; 1])
3636        }
3637        ///Query presence of `pmf_cfg`
3638        #[inline]
3639        pub const fn r#pmf_cfg(&self) -> bool {
3640            (self.0[0] & 1) != 0
3641        }
3642        ///Set presence of `pmf_cfg`
3643        #[inline]
3644        pub const fn set_pmf_cfg(&mut self) -> &mut Self {
3645            let elem = &mut self.0[0];
3646            *elem |= 1;
3647            self
3648        }
3649        ///Clear presence of `pmf_cfg`
3650        #[inline]
3651        pub const fn clear_pmf_cfg(&mut self) -> &mut Self {
3652            let elem = &mut self.0[0];
3653            *elem &= !1;
3654            self
3655        }
3656        ///Builder method that sets the presence of `pmf_cfg`. Useful for initializing the Hazzer.
3657        #[inline]
3658        pub const fn init_pmf_cfg(mut self) -> Self {
3659            self.set_pmf_cfg();
3660            self
3661        }
3662    }
3663}
3664#[derive(Debug, Default, Clone)]
3665pub struct r#wifi_ap_config {
3666    pub r#ssid: ::micropb::heapless::Vec<u8, 32>,
3667    pub r#password: ::micropb::heapless::Vec<u8, 32>,
3668    pub r#ssid_len: u32,
3669    pub r#channel: u32,
3670    pub r#authmode: i32,
3671    pub r#ssid_hidden: u32,
3672    pub r#max_connection: u32,
3673    pub r#beacon_interval: u32,
3674    pub r#pairwise_cipher: i32,
3675    pub r#ftm_responder: bool,
3676    pub r#pmf_cfg: r#wifi_pmf_config,
3677    pub r#sae_pwe_h2e: i32,
3678    pub _has: wifi_ap_config_::_Hazzer,
3679}
3680impl ::core::cmp::PartialEq for r#wifi_ap_config {
3681    fn eq(&self, other: &Self) -> bool {
3682        let mut ret = true;
3683        ret &= (self.r#ssid == other.r#ssid);
3684        ret &= (self.r#password == other.r#password);
3685        ret &= (self.r#ssid_len == other.r#ssid_len);
3686        ret &= (self.r#channel == other.r#channel);
3687        ret &= (self.r#authmode == other.r#authmode);
3688        ret &= (self.r#ssid_hidden == other.r#ssid_hidden);
3689        ret &= (self.r#max_connection == other.r#max_connection);
3690        ret &= (self.r#beacon_interval == other.r#beacon_interval);
3691        ret &= (self.r#pairwise_cipher == other.r#pairwise_cipher);
3692        ret &= (self.r#ftm_responder == other.r#ftm_responder);
3693        ret &= (self.r#pmf_cfg() == other.r#pmf_cfg());
3694        ret &= (self.r#sae_pwe_h2e == other.r#sae_pwe_h2e);
3695        ret
3696    }
3697}
3698impl r#wifi_ap_config {
3699    ///Return a reference to `ssid`
3700    #[inline]
3701    pub fn r#ssid(&self) -> &::micropb::heapless::Vec<u8, 32> {
3702        &self.r#ssid
3703    }
3704    ///Return a mutable reference to `ssid`
3705    #[inline]
3706    pub fn mut_ssid(&mut self) -> &mut ::micropb::heapless::Vec<u8, 32> {
3707        &mut self.r#ssid
3708    }
3709    ///Set the value of `ssid`
3710    #[inline]
3711    pub fn set_ssid(&mut self, value: ::micropb::heapless::Vec<u8, 32>) -> &mut Self {
3712        self.r#ssid = value.into();
3713        self
3714    }
3715    ///Builder method that sets the value of `ssid`. Useful for initializing the message.
3716    #[inline]
3717    pub fn init_ssid(mut self, value: ::micropb::heapless::Vec<u8, 32>) -> Self {
3718        self.r#ssid = value.into();
3719        self
3720    }
3721    ///Return a reference to `password`
3722    #[inline]
3723    pub fn r#password(&self) -> &::micropb::heapless::Vec<u8, 32> {
3724        &self.r#password
3725    }
3726    ///Return a mutable reference to `password`
3727    #[inline]
3728    pub fn mut_password(&mut self) -> &mut ::micropb::heapless::Vec<u8, 32> {
3729        &mut self.r#password
3730    }
3731    ///Set the value of `password`
3732    #[inline]
3733    pub fn set_password(
3734        &mut self,
3735        value: ::micropb::heapless::Vec<u8, 32>,
3736    ) -> &mut Self {
3737        self.r#password = value.into();
3738        self
3739    }
3740    ///Builder method that sets the value of `password`. Useful for initializing the message.
3741    #[inline]
3742    pub fn init_password(mut self, value: ::micropb::heapless::Vec<u8, 32>) -> Self {
3743        self.r#password = value.into();
3744        self
3745    }
3746    ///Return a reference to `ssid_len`
3747    #[inline]
3748    pub fn r#ssid_len(&self) -> &u32 {
3749        &self.r#ssid_len
3750    }
3751    ///Return a mutable reference to `ssid_len`
3752    #[inline]
3753    pub fn mut_ssid_len(&mut self) -> &mut u32 {
3754        &mut self.r#ssid_len
3755    }
3756    ///Set the value of `ssid_len`
3757    #[inline]
3758    pub fn set_ssid_len(&mut self, value: u32) -> &mut Self {
3759        self.r#ssid_len = value.into();
3760        self
3761    }
3762    ///Builder method that sets the value of `ssid_len`. Useful for initializing the message.
3763    #[inline]
3764    pub fn init_ssid_len(mut self, value: u32) -> Self {
3765        self.r#ssid_len = value.into();
3766        self
3767    }
3768    ///Return a reference to `channel`
3769    #[inline]
3770    pub fn r#channel(&self) -> &u32 {
3771        &self.r#channel
3772    }
3773    ///Return a mutable reference to `channel`
3774    #[inline]
3775    pub fn mut_channel(&mut self) -> &mut u32 {
3776        &mut self.r#channel
3777    }
3778    ///Set the value of `channel`
3779    #[inline]
3780    pub fn set_channel(&mut self, value: u32) -> &mut Self {
3781        self.r#channel = value.into();
3782        self
3783    }
3784    ///Builder method that sets the value of `channel`. Useful for initializing the message.
3785    #[inline]
3786    pub fn init_channel(mut self, value: u32) -> Self {
3787        self.r#channel = value.into();
3788        self
3789    }
3790    ///Return a reference to `authmode`
3791    #[inline]
3792    pub fn r#authmode(&self) -> &i32 {
3793        &self.r#authmode
3794    }
3795    ///Return a mutable reference to `authmode`
3796    #[inline]
3797    pub fn mut_authmode(&mut self) -> &mut i32 {
3798        &mut self.r#authmode
3799    }
3800    ///Set the value of `authmode`
3801    #[inline]
3802    pub fn set_authmode(&mut self, value: i32) -> &mut Self {
3803        self.r#authmode = value.into();
3804        self
3805    }
3806    ///Builder method that sets the value of `authmode`. Useful for initializing the message.
3807    #[inline]
3808    pub fn init_authmode(mut self, value: i32) -> Self {
3809        self.r#authmode = value.into();
3810        self
3811    }
3812    ///Return a reference to `ssid_hidden`
3813    #[inline]
3814    pub fn r#ssid_hidden(&self) -> &u32 {
3815        &self.r#ssid_hidden
3816    }
3817    ///Return a mutable reference to `ssid_hidden`
3818    #[inline]
3819    pub fn mut_ssid_hidden(&mut self) -> &mut u32 {
3820        &mut self.r#ssid_hidden
3821    }
3822    ///Set the value of `ssid_hidden`
3823    #[inline]
3824    pub fn set_ssid_hidden(&mut self, value: u32) -> &mut Self {
3825        self.r#ssid_hidden = value.into();
3826        self
3827    }
3828    ///Builder method that sets the value of `ssid_hidden`. Useful for initializing the message.
3829    #[inline]
3830    pub fn init_ssid_hidden(mut self, value: u32) -> Self {
3831        self.r#ssid_hidden = value.into();
3832        self
3833    }
3834    ///Return a reference to `max_connection`
3835    #[inline]
3836    pub fn r#max_connection(&self) -> &u32 {
3837        &self.r#max_connection
3838    }
3839    ///Return a mutable reference to `max_connection`
3840    #[inline]
3841    pub fn mut_max_connection(&mut self) -> &mut u32 {
3842        &mut self.r#max_connection
3843    }
3844    ///Set the value of `max_connection`
3845    #[inline]
3846    pub fn set_max_connection(&mut self, value: u32) -> &mut Self {
3847        self.r#max_connection = value.into();
3848        self
3849    }
3850    ///Builder method that sets the value of `max_connection`. Useful for initializing the message.
3851    #[inline]
3852    pub fn init_max_connection(mut self, value: u32) -> Self {
3853        self.r#max_connection = value.into();
3854        self
3855    }
3856    ///Return a reference to `beacon_interval`
3857    #[inline]
3858    pub fn r#beacon_interval(&self) -> &u32 {
3859        &self.r#beacon_interval
3860    }
3861    ///Return a mutable reference to `beacon_interval`
3862    #[inline]
3863    pub fn mut_beacon_interval(&mut self) -> &mut u32 {
3864        &mut self.r#beacon_interval
3865    }
3866    ///Set the value of `beacon_interval`
3867    #[inline]
3868    pub fn set_beacon_interval(&mut self, value: u32) -> &mut Self {
3869        self.r#beacon_interval = value.into();
3870        self
3871    }
3872    ///Builder method that sets the value of `beacon_interval`. Useful for initializing the message.
3873    #[inline]
3874    pub fn init_beacon_interval(mut self, value: u32) -> Self {
3875        self.r#beacon_interval = value.into();
3876        self
3877    }
3878    ///Return a reference to `pairwise_cipher`
3879    #[inline]
3880    pub fn r#pairwise_cipher(&self) -> &i32 {
3881        &self.r#pairwise_cipher
3882    }
3883    ///Return a mutable reference to `pairwise_cipher`
3884    #[inline]
3885    pub fn mut_pairwise_cipher(&mut self) -> &mut i32 {
3886        &mut self.r#pairwise_cipher
3887    }
3888    ///Set the value of `pairwise_cipher`
3889    #[inline]
3890    pub fn set_pairwise_cipher(&mut self, value: i32) -> &mut Self {
3891        self.r#pairwise_cipher = value.into();
3892        self
3893    }
3894    ///Builder method that sets the value of `pairwise_cipher`. Useful for initializing the message.
3895    #[inline]
3896    pub fn init_pairwise_cipher(mut self, value: i32) -> Self {
3897        self.r#pairwise_cipher = value.into();
3898        self
3899    }
3900    ///Return a reference to `ftm_responder`
3901    #[inline]
3902    pub fn r#ftm_responder(&self) -> &bool {
3903        &self.r#ftm_responder
3904    }
3905    ///Return a mutable reference to `ftm_responder`
3906    #[inline]
3907    pub fn mut_ftm_responder(&mut self) -> &mut bool {
3908        &mut self.r#ftm_responder
3909    }
3910    ///Set the value of `ftm_responder`
3911    #[inline]
3912    pub fn set_ftm_responder(&mut self, value: bool) -> &mut Self {
3913        self.r#ftm_responder = value.into();
3914        self
3915    }
3916    ///Builder method that sets the value of `ftm_responder`. Useful for initializing the message.
3917    #[inline]
3918    pub fn init_ftm_responder(mut self, value: bool) -> Self {
3919        self.r#ftm_responder = value.into();
3920        self
3921    }
3922    ///Return a reference to `pmf_cfg` as an `Option`
3923    #[inline]
3924    pub fn r#pmf_cfg(&self) -> ::core::option::Option<&r#wifi_pmf_config> {
3925        self._has.r#pmf_cfg().then_some(&self.r#pmf_cfg)
3926    }
3927    ///Set the value and presence of `pmf_cfg`
3928    #[inline]
3929    pub fn set_pmf_cfg(&mut self, value: r#wifi_pmf_config) -> &mut Self {
3930        self._has.set_pmf_cfg();
3931        self.r#pmf_cfg = value.into();
3932        self
3933    }
3934    ///Return a mutable reference to `pmf_cfg` as an `Option`
3935    #[inline]
3936    pub fn mut_pmf_cfg(&mut self) -> ::core::option::Option<&mut r#wifi_pmf_config> {
3937        self._has.r#pmf_cfg().then_some(&mut self.r#pmf_cfg)
3938    }
3939    ///Clear the presence of `pmf_cfg`
3940    #[inline]
3941    pub fn clear_pmf_cfg(&mut self) -> &mut Self {
3942        self._has.clear_pmf_cfg();
3943        self
3944    }
3945    ///Take the value of `pmf_cfg` and clear its presence
3946    #[inline]
3947    pub fn take_pmf_cfg(&mut self) -> ::core::option::Option<r#wifi_pmf_config> {
3948        let val = self._has.r#pmf_cfg().then(|| ::core::mem::take(&mut self.r#pmf_cfg));
3949        self._has.clear_pmf_cfg();
3950        val
3951    }
3952    ///Builder method that sets the value of `pmf_cfg`. Useful for initializing the message.
3953    #[inline]
3954    pub fn init_pmf_cfg(mut self, value: r#wifi_pmf_config) -> Self {
3955        self.set_pmf_cfg(value);
3956        self
3957    }
3958    ///Return a reference to `sae_pwe_h2e`
3959    #[inline]
3960    pub fn r#sae_pwe_h2e(&self) -> &i32 {
3961        &self.r#sae_pwe_h2e
3962    }
3963    ///Return a mutable reference to `sae_pwe_h2e`
3964    #[inline]
3965    pub fn mut_sae_pwe_h2e(&mut self) -> &mut i32 {
3966        &mut self.r#sae_pwe_h2e
3967    }
3968    ///Set the value of `sae_pwe_h2e`
3969    #[inline]
3970    pub fn set_sae_pwe_h2e(&mut self, value: i32) -> &mut Self {
3971        self.r#sae_pwe_h2e = value.into();
3972        self
3973    }
3974    ///Builder method that sets the value of `sae_pwe_h2e`. Useful for initializing the message.
3975    #[inline]
3976    pub fn init_sae_pwe_h2e(mut self, value: i32) -> Self {
3977        self.r#sae_pwe_h2e = value.into();
3978        self
3979    }
3980}
3981impl ::micropb::MessageDecode for r#wifi_ap_config {
3982    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
3983        &mut self,
3984        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
3985        len: usize,
3986    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
3987        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
3988        let before = decoder.bytes_read();
3989        while decoder.bytes_read() - before < len {
3990            let tag = decoder.decode_tag()?;
3991            match tag.field_num() {
3992                0 => return Err(::micropb::DecodeError::ZeroField),
3993                1u32 => {
3994                    let mut_ref = &mut self.r#ssid;
3995                    {
3996                        decoder.decode_bytes(mut_ref, ::micropb::Presence::Implicit)?;
3997                    };
3998                }
3999                2u32 => {
4000                    let mut_ref = &mut self.r#password;
4001                    {
4002                        decoder.decode_bytes(mut_ref, ::micropb::Presence::Implicit)?;
4003                    };
4004                }
4005                3u32 => {
4006                    let mut_ref = &mut self.r#ssid_len;
4007                    {
4008                        let val = decoder.decode_varint32()?;
4009                        let val_ref = &val;
4010                        if *val_ref != 0 {
4011                            *mut_ref = val as _;
4012                        }
4013                    };
4014                }
4015                4u32 => {
4016                    let mut_ref = &mut self.r#channel;
4017                    {
4018                        let val = decoder.decode_varint32()?;
4019                        let val_ref = &val;
4020                        if *val_ref != 0 {
4021                            *mut_ref = val as _;
4022                        }
4023                    };
4024                }
4025                5u32 => {
4026                    let mut_ref = &mut self.r#authmode;
4027                    {
4028                        let val = decoder.decode_int32()?;
4029                        let val_ref = &val;
4030                        if *val_ref != 0 {
4031                            *mut_ref = val as _;
4032                        }
4033                    };
4034                }
4035                6u32 => {
4036                    let mut_ref = &mut self.r#ssid_hidden;
4037                    {
4038                        let val = decoder.decode_varint32()?;
4039                        let val_ref = &val;
4040                        if *val_ref != 0 {
4041                            *mut_ref = val as _;
4042                        }
4043                    };
4044                }
4045                7u32 => {
4046                    let mut_ref = &mut self.r#max_connection;
4047                    {
4048                        let val = decoder.decode_varint32()?;
4049                        let val_ref = &val;
4050                        if *val_ref != 0 {
4051                            *mut_ref = val as _;
4052                        }
4053                    };
4054                }
4055                8u32 => {
4056                    let mut_ref = &mut self.r#beacon_interval;
4057                    {
4058                        let val = decoder.decode_varint32()?;
4059                        let val_ref = &val;
4060                        if *val_ref != 0 {
4061                            *mut_ref = val as _;
4062                        }
4063                    };
4064                }
4065                9u32 => {
4066                    let mut_ref = &mut self.r#pairwise_cipher;
4067                    {
4068                        let val = decoder.decode_int32()?;
4069                        let val_ref = &val;
4070                        if *val_ref != 0 {
4071                            *mut_ref = val as _;
4072                        }
4073                    };
4074                }
4075                10u32 => {
4076                    let mut_ref = &mut self.r#ftm_responder;
4077                    {
4078                        let val = decoder.decode_bool()?;
4079                        let val_ref = &val;
4080                        if *val_ref {
4081                            *mut_ref = val as _;
4082                        }
4083                    };
4084                }
4085                11u32 => {
4086                    let mut_ref = &mut self.r#pmf_cfg;
4087                    {
4088                        mut_ref.decode_len_delimited(decoder)?;
4089                    };
4090                    self._has.set_pmf_cfg();
4091                }
4092                12u32 => {
4093                    let mut_ref = &mut self.r#sae_pwe_h2e;
4094                    {
4095                        let val = decoder.decode_int32()?;
4096                        let val_ref = &val;
4097                        if *val_ref != 0 {
4098                            *mut_ref = val as _;
4099                        }
4100                    };
4101                }
4102                _ => {
4103                    decoder.skip_wire_value(tag.wire_type())?;
4104                }
4105            }
4106        }
4107        Ok(())
4108    }
4109}
4110impl ::micropb::MessageEncode for r#wifi_ap_config {
4111    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
4112        let mut max_size = 0;
4113        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
4114            ::core::option::Option::Some(33usize), | size | size + 1usize
4115        ) {
4116            max_size += size;
4117        } else {
4118            break 'msg (::core::option::Option::<usize>::None);
4119        };
4120        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
4121            ::core::option::Option::Some(33usize), | size | size + 1usize
4122        ) {
4123            max_size += size;
4124        } else {
4125            break 'msg (::core::option::Option::<usize>::None);
4126        };
4127        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
4128            ::core::option::Option::Some(5usize), | size | size + 1usize
4129        ) {
4130            max_size += size;
4131        } else {
4132            break 'msg (::core::option::Option::<usize>::None);
4133        };
4134        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
4135            ::core::option::Option::Some(5usize), | size | size + 1usize
4136        ) {
4137            max_size += size;
4138        } else {
4139            break 'msg (::core::option::Option::<usize>::None);
4140        };
4141        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
4142            ::core::option::Option::Some(10usize), | size | size + 1usize
4143        ) {
4144            max_size += size;
4145        } else {
4146            break 'msg (::core::option::Option::<usize>::None);
4147        };
4148        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
4149            ::core::option::Option::Some(5usize), | size | size + 1usize
4150        ) {
4151            max_size += size;
4152        } else {
4153            break 'msg (::core::option::Option::<usize>::None);
4154        };
4155        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
4156            ::core::option::Option::Some(5usize), | size | size + 1usize
4157        ) {
4158            max_size += size;
4159        } else {
4160            break 'msg (::core::option::Option::<usize>::None);
4161        };
4162        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
4163            ::core::option::Option::Some(5usize), | size | size + 1usize
4164        ) {
4165            max_size += size;
4166        } else {
4167            break 'msg (::core::option::Option::<usize>::None);
4168        };
4169        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
4170            ::core::option::Option::Some(10usize), | size | size + 1usize
4171        ) {
4172            max_size += size;
4173        } else {
4174            break 'msg (::core::option::Option::<usize>::None);
4175        };
4176        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
4177            ::core::option::Option::Some(1usize), | size | size + 1usize
4178        ) {
4179            max_size += size;
4180        } else {
4181            break 'msg (::core::option::Option::<usize>::None);
4182        };
4183        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
4184            ::micropb::const_map!(< r#wifi_pmf_config as ::micropb::MessageEncode >
4185            ::MAX_SIZE, | size | ::micropb::size::sizeof_len_record(size)), | size | size
4186            + 1usize
4187        ) {
4188            max_size += size;
4189        } else {
4190            break 'msg (::core::option::Option::<usize>::None);
4191        };
4192        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
4193            ::core::option::Option::Some(10usize), | size | size + 1usize
4194        ) {
4195            max_size += size;
4196        } else {
4197            break 'msg (::core::option::Option::<usize>::None);
4198        };
4199        ::core::option::Option::Some(max_size)
4200    };
4201    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
4202        &self,
4203        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
4204    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
4205        use ::micropb::{PbMap, FieldEncode};
4206        {
4207            let val_ref = &self.r#ssid;
4208            if !val_ref.is_empty() {
4209                encoder.encode_varint32(10u32)?;
4210                encoder.encode_bytes(val_ref)?;
4211            }
4212        }
4213        {
4214            let val_ref = &self.r#password;
4215            if !val_ref.is_empty() {
4216                encoder.encode_varint32(18u32)?;
4217                encoder.encode_bytes(val_ref)?;
4218            }
4219        }
4220        {
4221            let val_ref = &self.r#ssid_len;
4222            if *val_ref != 0 {
4223                encoder.encode_varint32(24u32)?;
4224                encoder.encode_varint32(*val_ref as _)?;
4225            }
4226        }
4227        {
4228            let val_ref = &self.r#channel;
4229            if *val_ref != 0 {
4230                encoder.encode_varint32(32u32)?;
4231                encoder.encode_varint32(*val_ref as _)?;
4232            }
4233        }
4234        {
4235            let val_ref = &self.r#authmode;
4236            if *val_ref != 0 {
4237                encoder.encode_varint32(40u32)?;
4238                encoder.encode_int32(*val_ref as _)?;
4239            }
4240        }
4241        {
4242            let val_ref = &self.r#ssid_hidden;
4243            if *val_ref != 0 {
4244                encoder.encode_varint32(48u32)?;
4245                encoder.encode_varint32(*val_ref as _)?;
4246            }
4247        }
4248        {
4249            let val_ref = &self.r#max_connection;
4250            if *val_ref != 0 {
4251                encoder.encode_varint32(56u32)?;
4252                encoder.encode_varint32(*val_ref as _)?;
4253            }
4254        }
4255        {
4256            let val_ref = &self.r#beacon_interval;
4257            if *val_ref != 0 {
4258                encoder.encode_varint32(64u32)?;
4259                encoder.encode_varint32(*val_ref as _)?;
4260            }
4261        }
4262        {
4263            let val_ref = &self.r#pairwise_cipher;
4264            if *val_ref != 0 {
4265                encoder.encode_varint32(72u32)?;
4266                encoder.encode_int32(*val_ref as _)?;
4267            }
4268        }
4269        {
4270            let val_ref = &self.r#ftm_responder;
4271            if *val_ref {
4272                encoder.encode_varint32(80u32)?;
4273                encoder.encode_bool(*val_ref)?;
4274            }
4275        }
4276        {
4277            if let ::core::option::Option::Some(val_ref) = self.r#pmf_cfg() {
4278                encoder.encode_varint32(90u32)?;
4279                val_ref.encode_len_delimited(encoder)?;
4280            }
4281        }
4282        {
4283            let val_ref = &self.r#sae_pwe_h2e;
4284            if *val_ref != 0 {
4285                encoder.encode_varint32(96u32)?;
4286                encoder.encode_int32(*val_ref as _)?;
4287            }
4288        }
4289        Ok(())
4290    }
4291    fn compute_size(&self) -> usize {
4292        use ::micropb::{PbMap, FieldEncode};
4293        let mut size = 0;
4294        {
4295            let val_ref = &self.r#ssid;
4296            if !val_ref.is_empty() {
4297                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.len());
4298            }
4299        }
4300        {
4301            let val_ref = &self.r#password;
4302            if !val_ref.is_empty() {
4303                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.len());
4304            }
4305        }
4306        {
4307            let val_ref = &self.r#ssid_len;
4308            if *val_ref != 0 {
4309                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
4310            }
4311        }
4312        {
4313            let val_ref = &self.r#channel;
4314            if *val_ref != 0 {
4315                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
4316            }
4317        }
4318        {
4319            let val_ref = &self.r#authmode;
4320            if *val_ref != 0 {
4321                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
4322            }
4323        }
4324        {
4325            let val_ref = &self.r#ssid_hidden;
4326            if *val_ref != 0 {
4327                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
4328            }
4329        }
4330        {
4331            let val_ref = &self.r#max_connection;
4332            if *val_ref != 0 {
4333                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
4334            }
4335        }
4336        {
4337            let val_ref = &self.r#beacon_interval;
4338            if *val_ref != 0 {
4339                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
4340            }
4341        }
4342        {
4343            let val_ref = &self.r#pairwise_cipher;
4344            if *val_ref != 0 {
4345                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
4346            }
4347        }
4348        {
4349            let val_ref = &self.r#ftm_responder;
4350            if *val_ref {
4351                size += 1usize + 1;
4352            }
4353        }
4354        {
4355            if let ::core::option::Option::Some(val_ref) = self.r#pmf_cfg() {
4356                size
4357                    += 1usize
4358                        + ::micropb::size::sizeof_len_record(val_ref.compute_size());
4359            }
4360        }
4361        {
4362            let val_ref = &self.r#sae_pwe_h2e;
4363            if *val_ref != 0 {
4364                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
4365            }
4366        }
4367        size
4368    }
4369}
4370pub mod wifi_sta_config_ {
4371    #[derive(Debug, Default, PartialEq, Clone)]
4372    pub struct _Hazzer([u8; 1]);
4373    impl _Hazzer {
4374        ///New hazzer with all fields set to off
4375        #[inline]
4376        pub const fn _new() -> Self {
4377            Self([0; 1])
4378        }
4379        ///Query presence of `threshold`
4380        #[inline]
4381        pub const fn r#threshold(&self) -> bool {
4382            (self.0[0] & 1) != 0
4383        }
4384        ///Set presence of `threshold`
4385        #[inline]
4386        pub const fn set_threshold(&mut self) -> &mut Self {
4387            let elem = &mut self.0[0];
4388            *elem |= 1;
4389            self
4390        }
4391        ///Clear presence of `threshold`
4392        #[inline]
4393        pub const fn clear_threshold(&mut self) -> &mut Self {
4394            let elem = &mut self.0[0];
4395            *elem &= !1;
4396            self
4397        }
4398        ///Builder method that sets the presence of `threshold`. Useful for initializing the Hazzer.
4399        #[inline]
4400        pub const fn init_threshold(mut self) -> Self {
4401            self.set_threshold();
4402            self
4403        }
4404        ///Query presence of `pmf_cfg`
4405        #[inline]
4406        pub const fn r#pmf_cfg(&self) -> bool {
4407            (self.0[0] & 2) != 0
4408        }
4409        ///Set presence of `pmf_cfg`
4410        #[inline]
4411        pub const fn set_pmf_cfg(&mut self) -> &mut Self {
4412            let elem = &mut self.0[0];
4413            *elem |= 2;
4414            self
4415        }
4416        ///Clear presence of `pmf_cfg`
4417        #[inline]
4418        pub const fn clear_pmf_cfg(&mut self) -> &mut Self {
4419            let elem = &mut self.0[0];
4420            *elem &= !2;
4421            self
4422        }
4423        ///Builder method that sets the presence of `pmf_cfg`. Useful for initializing the Hazzer.
4424        #[inline]
4425        pub const fn init_pmf_cfg(mut self) -> Self {
4426            self.set_pmf_cfg();
4427            self
4428        }
4429    }
4430}
4431#[derive(Debug, Default, Clone)]
4432pub struct r#wifi_sta_config {
4433    pub r#ssid: ::micropb::heapless::Vec<u8, 32>,
4434    pub r#password: ::micropb::heapless::Vec<u8, 32>,
4435    pub r#scan_method: i32,
4436    pub r#bssid_set: bool,
4437    pub r#bssid: ::micropb::heapless::Vec<u8, 32>,
4438    pub r#channel: u32,
4439    pub r#listen_interval: u32,
4440    pub r#sort_method: i32,
4441    pub r#threshold: r#wifi_scan_threshold,
4442    pub r#pmf_cfg: r#wifi_pmf_config,
4443    pub r#bitmask: u32,
4444    pub r#sae_pwe_h2e: i32,
4445    pub r#failure_retry_cnt: u32,
4446    pub r#he_bitmask: u32,
4447    pub r#sae_h2e_identifier: ::micropb::heapless::Vec<u8, 32>,
4448    pub _has: wifi_sta_config_::_Hazzer,
4449}
4450impl ::core::cmp::PartialEq for r#wifi_sta_config {
4451    fn eq(&self, other: &Self) -> bool {
4452        let mut ret = true;
4453        ret &= (self.r#ssid == other.r#ssid);
4454        ret &= (self.r#password == other.r#password);
4455        ret &= (self.r#scan_method == other.r#scan_method);
4456        ret &= (self.r#bssid_set == other.r#bssid_set);
4457        ret &= (self.r#bssid == other.r#bssid);
4458        ret &= (self.r#channel == other.r#channel);
4459        ret &= (self.r#listen_interval == other.r#listen_interval);
4460        ret &= (self.r#sort_method == other.r#sort_method);
4461        ret &= (self.r#threshold() == other.r#threshold());
4462        ret &= (self.r#pmf_cfg() == other.r#pmf_cfg());
4463        ret &= (self.r#bitmask == other.r#bitmask);
4464        ret &= (self.r#sae_pwe_h2e == other.r#sae_pwe_h2e);
4465        ret &= (self.r#failure_retry_cnt == other.r#failure_retry_cnt);
4466        ret &= (self.r#he_bitmask == other.r#he_bitmask);
4467        ret &= (self.r#sae_h2e_identifier == other.r#sae_h2e_identifier);
4468        ret
4469    }
4470}
4471impl r#wifi_sta_config {
4472    ///Return a reference to `ssid`
4473    #[inline]
4474    pub fn r#ssid(&self) -> &::micropb::heapless::Vec<u8, 32> {
4475        &self.r#ssid
4476    }
4477    ///Return a mutable reference to `ssid`
4478    #[inline]
4479    pub fn mut_ssid(&mut self) -> &mut ::micropb::heapless::Vec<u8, 32> {
4480        &mut self.r#ssid
4481    }
4482    ///Set the value of `ssid`
4483    #[inline]
4484    pub fn set_ssid(&mut self, value: ::micropb::heapless::Vec<u8, 32>) -> &mut Self {
4485        self.r#ssid = value.into();
4486        self
4487    }
4488    ///Builder method that sets the value of `ssid`. Useful for initializing the message.
4489    #[inline]
4490    pub fn init_ssid(mut self, value: ::micropb::heapless::Vec<u8, 32>) -> Self {
4491        self.r#ssid = value.into();
4492        self
4493    }
4494    ///Return a reference to `password`
4495    #[inline]
4496    pub fn r#password(&self) -> &::micropb::heapless::Vec<u8, 32> {
4497        &self.r#password
4498    }
4499    ///Return a mutable reference to `password`
4500    #[inline]
4501    pub fn mut_password(&mut self) -> &mut ::micropb::heapless::Vec<u8, 32> {
4502        &mut self.r#password
4503    }
4504    ///Set the value of `password`
4505    #[inline]
4506    pub fn set_password(
4507        &mut self,
4508        value: ::micropb::heapless::Vec<u8, 32>,
4509    ) -> &mut Self {
4510        self.r#password = value.into();
4511        self
4512    }
4513    ///Builder method that sets the value of `password`. Useful for initializing the message.
4514    #[inline]
4515    pub fn init_password(mut self, value: ::micropb::heapless::Vec<u8, 32>) -> Self {
4516        self.r#password = value.into();
4517        self
4518    }
4519    ///Return a reference to `scan_method`
4520    #[inline]
4521    pub fn r#scan_method(&self) -> &i32 {
4522        &self.r#scan_method
4523    }
4524    ///Return a mutable reference to `scan_method`
4525    #[inline]
4526    pub fn mut_scan_method(&mut self) -> &mut i32 {
4527        &mut self.r#scan_method
4528    }
4529    ///Set the value of `scan_method`
4530    #[inline]
4531    pub fn set_scan_method(&mut self, value: i32) -> &mut Self {
4532        self.r#scan_method = value.into();
4533        self
4534    }
4535    ///Builder method that sets the value of `scan_method`. Useful for initializing the message.
4536    #[inline]
4537    pub fn init_scan_method(mut self, value: i32) -> Self {
4538        self.r#scan_method = value.into();
4539        self
4540    }
4541    ///Return a reference to `bssid_set`
4542    #[inline]
4543    pub fn r#bssid_set(&self) -> &bool {
4544        &self.r#bssid_set
4545    }
4546    ///Return a mutable reference to `bssid_set`
4547    #[inline]
4548    pub fn mut_bssid_set(&mut self) -> &mut bool {
4549        &mut self.r#bssid_set
4550    }
4551    ///Set the value of `bssid_set`
4552    #[inline]
4553    pub fn set_bssid_set(&mut self, value: bool) -> &mut Self {
4554        self.r#bssid_set = value.into();
4555        self
4556    }
4557    ///Builder method that sets the value of `bssid_set`. Useful for initializing the message.
4558    #[inline]
4559    pub fn init_bssid_set(mut self, value: bool) -> Self {
4560        self.r#bssid_set = value.into();
4561        self
4562    }
4563    ///Return a reference to `bssid`
4564    #[inline]
4565    pub fn r#bssid(&self) -> &::micropb::heapless::Vec<u8, 32> {
4566        &self.r#bssid
4567    }
4568    ///Return a mutable reference to `bssid`
4569    #[inline]
4570    pub fn mut_bssid(&mut self) -> &mut ::micropb::heapless::Vec<u8, 32> {
4571        &mut self.r#bssid
4572    }
4573    ///Set the value of `bssid`
4574    #[inline]
4575    pub fn set_bssid(&mut self, value: ::micropb::heapless::Vec<u8, 32>) -> &mut Self {
4576        self.r#bssid = value.into();
4577        self
4578    }
4579    ///Builder method that sets the value of `bssid`. Useful for initializing the message.
4580    #[inline]
4581    pub fn init_bssid(mut self, value: ::micropb::heapless::Vec<u8, 32>) -> Self {
4582        self.r#bssid = value.into();
4583        self
4584    }
4585    ///Return a reference to `channel`
4586    #[inline]
4587    pub fn r#channel(&self) -> &u32 {
4588        &self.r#channel
4589    }
4590    ///Return a mutable reference to `channel`
4591    #[inline]
4592    pub fn mut_channel(&mut self) -> &mut u32 {
4593        &mut self.r#channel
4594    }
4595    ///Set the value of `channel`
4596    #[inline]
4597    pub fn set_channel(&mut self, value: u32) -> &mut Self {
4598        self.r#channel = value.into();
4599        self
4600    }
4601    ///Builder method that sets the value of `channel`. Useful for initializing the message.
4602    #[inline]
4603    pub fn init_channel(mut self, value: u32) -> Self {
4604        self.r#channel = value.into();
4605        self
4606    }
4607    ///Return a reference to `listen_interval`
4608    #[inline]
4609    pub fn r#listen_interval(&self) -> &u32 {
4610        &self.r#listen_interval
4611    }
4612    ///Return a mutable reference to `listen_interval`
4613    #[inline]
4614    pub fn mut_listen_interval(&mut self) -> &mut u32 {
4615        &mut self.r#listen_interval
4616    }
4617    ///Set the value of `listen_interval`
4618    #[inline]
4619    pub fn set_listen_interval(&mut self, value: u32) -> &mut Self {
4620        self.r#listen_interval = value.into();
4621        self
4622    }
4623    ///Builder method that sets the value of `listen_interval`. Useful for initializing the message.
4624    #[inline]
4625    pub fn init_listen_interval(mut self, value: u32) -> Self {
4626        self.r#listen_interval = value.into();
4627        self
4628    }
4629    ///Return a reference to `sort_method`
4630    #[inline]
4631    pub fn r#sort_method(&self) -> &i32 {
4632        &self.r#sort_method
4633    }
4634    ///Return a mutable reference to `sort_method`
4635    #[inline]
4636    pub fn mut_sort_method(&mut self) -> &mut i32 {
4637        &mut self.r#sort_method
4638    }
4639    ///Set the value of `sort_method`
4640    #[inline]
4641    pub fn set_sort_method(&mut self, value: i32) -> &mut Self {
4642        self.r#sort_method = value.into();
4643        self
4644    }
4645    ///Builder method that sets the value of `sort_method`. Useful for initializing the message.
4646    #[inline]
4647    pub fn init_sort_method(mut self, value: i32) -> Self {
4648        self.r#sort_method = value.into();
4649        self
4650    }
4651    ///Return a reference to `threshold` as an `Option`
4652    #[inline]
4653    pub fn r#threshold(&self) -> ::core::option::Option<&r#wifi_scan_threshold> {
4654        self._has.r#threshold().then_some(&self.r#threshold)
4655    }
4656    ///Set the value and presence of `threshold`
4657    #[inline]
4658    pub fn set_threshold(&mut self, value: r#wifi_scan_threshold) -> &mut Self {
4659        self._has.set_threshold();
4660        self.r#threshold = value.into();
4661        self
4662    }
4663    ///Return a mutable reference to `threshold` as an `Option`
4664    #[inline]
4665    pub fn mut_threshold(
4666        &mut self,
4667    ) -> ::core::option::Option<&mut r#wifi_scan_threshold> {
4668        self._has.r#threshold().then_some(&mut self.r#threshold)
4669    }
4670    ///Clear the presence of `threshold`
4671    #[inline]
4672    pub fn clear_threshold(&mut self) -> &mut Self {
4673        self._has.clear_threshold();
4674        self
4675    }
4676    ///Take the value of `threshold` and clear its presence
4677    #[inline]
4678    pub fn take_threshold(&mut self) -> ::core::option::Option<r#wifi_scan_threshold> {
4679        let val = self
4680            ._has
4681            .r#threshold()
4682            .then(|| ::core::mem::take(&mut self.r#threshold));
4683        self._has.clear_threshold();
4684        val
4685    }
4686    ///Builder method that sets the value of `threshold`. Useful for initializing the message.
4687    #[inline]
4688    pub fn init_threshold(mut self, value: r#wifi_scan_threshold) -> Self {
4689        self.set_threshold(value);
4690        self
4691    }
4692    ///Return a reference to `pmf_cfg` as an `Option`
4693    #[inline]
4694    pub fn r#pmf_cfg(&self) -> ::core::option::Option<&r#wifi_pmf_config> {
4695        self._has.r#pmf_cfg().then_some(&self.r#pmf_cfg)
4696    }
4697    ///Set the value and presence of `pmf_cfg`
4698    #[inline]
4699    pub fn set_pmf_cfg(&mut self, value: r#wifi_pmf_config) -> &mut Self {
4700        self._has.set_pmf_cfg();
4701        self.r#pmf_cfg = value.into();
4702        self
4703    }
4704    ///Return a mutable reference to `pmf_cfg` as an `Option`
4705    #[inline]
4706    pub fn mut_pmf_cfg(&mut self) -> ::core::option::Option<&mut r#wifi_pmf_config> {
4707        self._has.r#pmf_cfg().then_some(&mut self.r#pmf_cfg)
4708    }
4709    ///Clear the presence of `pmf_cfg`
4710    #[inline]
4711    pub fn clear_pmf_cfg(&mut self) -> &mut Self {
4712        self._has.clear_pmf_cfg();
4713        self
4714    }
4715    ///Take the value of `pmf_cfg` and clear its presence
4716    #[inline]
4717    pub fn take_pmf_cfg(&mut self) -> ::core::option::Option<r#wifi_pmf_config> {
4718        let val = self._has.r#pmf_cfg().then(|| ::core::mem::take(&mut self.r#pmf_cfg));
4719        self._has.clear_pmf_cfg();
4720        val
4721    }
4722    ///Builder method that sets the value of `pmf_cfg`. Useful for initializing the message.
4723    #[inline]
4724    pub fn init_pmf_cfg(mut self, value: r#wifi_pmf_config) -> Self {
4725        self.set_pmf_cfg(value);
4726        self
4727    }
4728    ///Return a reference to `bitmask`
4729    #[inline]
4730    pub fn r#bitmask(&self) -> &u32 {
4731        &self.r#bitmask
4732    }
4733    ///Return a mutable reference to `bitmask`
4734    #[inline]
4735    pub fn mut_bitmask(&mut self) -> &mut u32 {
4736        &mut self.r#bitmask
4737    }
4738    ///Set the value of `bitmask`
4739    #[inline]
4740    pub fn set_bitmask(&mut self, value: u32) -> &mut Self {
4741        self.r#bitmask = value.into();
4742        self
4743    }
4744    ///Builder method that sets the value of `bitmask`. Useful for initializing the message.
4745    #[inline]
4746    pub fn init_bitmask(mut self, value: u32) -> Self {
4747        self.r#bitmask = value.into();
4748        self
4749    }
4750    ///Return a reference to `sae_pwe_h2e`
4751    #[inline]
4752    pub fn r#sae_pwe_h2e(&self) -> &i32 {
4753        &self.r#sae_pwe_h2e
4754    }
4755    ///Return a mutable reference to `sae_pwe_h2e`
4756    #[inline]
4757    pub fn mut_sae_pwe_h2e(&mut self) -> &mut i32 {
4758        &mut self.r#sae_pwe_h2e
4759    }
4760    ///Set the value of `sae_pwe_h2e`
4761    #[inline]
4762    pub fn set_sae_pwe_h2e(&mut self, value: i32) -> &mut Self {
4763        self.r#sae_pwe_h2e = value.into();
4764        self
4765    }
4766    ///Builder method that sets the value of `sae_pwe_h2e`. Useful for initializing the message.
4767    #[inline]
4768    pub fn init_sae_pwe_h2e(mut self, value: i32) -> Self {
4769        self.r#sae_pwe_h2e = value.into();
4770        self
4771    }
4772    ///Return a reference to `failure_retry_cnt`
4773    #[inline]
4774    pub fn r#failure_retry_cnt(&self) -> &u32 {
4775        &self.r#failure_retry_cnt
4776    }
4777    ///Return a mutable reference to `failure_retry_cnt`
4778    #[inline]
4779    pub fn mut_failure_retry_cnt(&mut self) -> &mut u32 {
4780        &mut self.r#failure_retry_cnt
4781    }
4782    ///Set the value of `failure_retry_cnt`
4783    #[inline]
4784    pub fn set_failure_retry_cnt(&mut self, value: u32) -> &mut Self {
4785        self.r#failure_retry_cnt = value.into();
4786        self
4787    }
4788    ///Builder method that sets the value of `failure_retry_cnt`. Useful for initializing the message.
4789    #[inline]
4790    pub fn init_failure_retry_cnt(mut self, value: u32) -> Self {
4791        self.r#failure_retry_cnt = value.into();
4792        self
4793    }
4794    ///Return a reference to `he_bitmask`
4795    #[inline]
4796    pub fn r#he_bitmask(&self) -> &u32 {
4797        &self.r#he_bitmask
4798    }
4799    ///Return a mutable reference to `he_bitmask`
4800    #[inline]
4801    pub fn mut_he_bitmask(&mut self) -> &mut u32 {
4802        &mut self.r#he_bitmask
4803    }
4804    ///Set the value of `he_bitmask`
4805    #[inline]
4806    pub fn set_he_bitmask(&mut self, value: u32) -> &mut Self {
4807        self.r#he_bitmask = value.into();
4808        self
4809    }
4810    ///Builder method that sets the value of `he_bitmask`. Useful for initializing the message.
4811    #[inline]
4812    pub fn init_he_bitmask(mut self, value: u32) -> Self {
4813        self.r#he_bitmask = value.into();
4814        self
4815    }
4816    ///Return a reference to `sae_h2e_identifier`
4817    #[inline]
4818    pub fn r#sae_h2e_identifier(&self) -> &::micropb::heapless::Vec<u8, 32> {
4819        &self.r#sae_h2e_identifier
4820    }
4821    ///Return a mutable reference to `sae_h2e_identifier`
4822    #[inline]
4823    pub fn mut_sae_h2e_identifier(&mut self) -> &mut ::micropb::heapless::Vec<u8, 32> {
4824        &mut self.r#sae_h2e_identifier
4825    }
4826    ///Set the value of `sae_h2e_identifier`
4827    #[inline]
4828    pub fn set_sae_h2e_identifier(
4829        &mut self,
4830        value: ::micropb::heapless::Vec<u8, 32>,
4831    ) -> &mut Self {
4832        self.r#sae_h2e_identifier = value.into();
4833        self
4834    }
4835    ///Builder method that sets the value of `sae_h2e_identifier`. Useful for initializing the message.
4836    #[inline]
4837    pub fn init_sae_h2e_identifier(
4838        mut self,
4839        value: ::micropb::heapless::Vec<u8, 32>,
4840    ) -> Self {
4841        self.r#sae_h2e_identifier = value.into();
4842        self
4843    }
4844}
4845impl ::micropb::MessageDecode for r#wifi_sta_config {
4846    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
4847        &mut self,
4848        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
4849        len: usize,
4850    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
4851        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
4852        let before = decoder.bytes_read();
4853        while decoder.bytes_read() - before < len {
4854            let tag = decoder.decode_tag()?;
4855            match tag.field_num() {
4856                0 => return Err(::micropb::DecodeError::ZeroField),
4857                1u32 => {
4858                    let mut_ref = &mut self.r#ssid;
4859                    {
4860                        decoder.decode_bytes(mut_ref, ::micropb::Presence::Implicit)?;
4861                    };
4862                }
4863                2u32 => {
4864                    let mut_ref = &mut self.r#password;
4865                    {
4866                        decoder.decode_bytes(mut_ref, ::micropb::Presence::Implicit)?;
4867                    };
4868                }
4869                3u32 => {
4870                    let mut_ref = &mut self.r#scan_method;
4871                    {
4872                        let val = decoder.decode_int32()?;
4873                        let val_ref = &val;
4874                        if *val_ref != 0 {
4875                            *mut_ref = val as _;
4876                        }
4877                    };
4878                }
4879                4u32 => {
4880                    let mut_ref = &mut self.r#bssid_set;
4881                    {
4882                        let val = decoder.decode_bool()?;
4883                        let val_ref = &val;
4884                        if *val_ref {
4885                            *mut_ref = val as _;
4886                        }
4887                    };
4888                }
4889                5u32 => {
4890                    let mut_ref = &mut self.r#bssid;
4891                    {
4892                        decoder.decode_bytes(mut_ref, ::micropb::Presence::Implicit)?;
4893                    };
4894                }
4895                6u32 => {
4896                    let mut_ref = &mut self.r#channel;
4897                    {
4898                        let val = decoder.decode_varint32()?;
4899                        let val_ref = &val;
4900                        if *val_ref != 0 {
4901                            *mut_ref = val as _;
4902                        }
4903                    };
4904                }
4905                7u32 => {
4906                    let mut_ref = &mut self.r#listen_interval;
4907                    {
4908                        let val = decoder.decode_varint32()?;
4909                        let val_ref = &val;
4910                        if *val_ref != 0 {
4911                            *mut_ref = val as _;
4912                        }
4913                    };
4914                }
4915                8u32 => {
4916                    let mut_ref = &mut self.r#sort_method;
4917                    {
4918                        let val = decoder.decode_int32()?;
4919                        let val_ref = &val;
4920                        if *val_ref != 0 {
4921                            *mut_ref = val as _;
4922                        }
4923                    };
4924                }
4925                9u32 => {
4926                    let mut_ref = &mut self.r#threshold;
4927                    {
4928                        mut_ref.decode_len_delimited(decoder)?;
4929                    };
4930                    self._has.set_threshold();
4931                }
4932                10u32 => {
4933                    let mut_ref = &mut self.r#pmf_cfg;
4934                    {
4935                        mut_ref.decode_len_delimited(decoder)?;
4936                    };
4937                    self._has.set_pmf_cfg();
4938                }
4939                11u32 => {
4940                    let mut_ref = &mut self.r#bitmask;
4941                    {
4942                        let val = decoder.decode_varint32()?;
4943                        let val_ref = &val;
4944                        if *val_ref != 0 {
4945                            *mut_ref = val as _;
4946                        }
4947                    };
4948                }
4949                12u32 => {
4950                    let mut_ref = &mut self.r#sae_pwe_h2e;
4951                    {
4952                        let val = decoder.decode_int32()?;
4953                        let val_ref = &val;
4954                        if *val_ref != 0 {
4955                            *mut_ref = val as _;
4956                        }
4957                    };
4958                }
4959                13u32 => {
4960                    let mut_ref = &mut self.r#failure_retry_cnt;
4961                    {
4962                        let val = decoder.decode_varint32()?;
4963                        let val_ref = &val;
4964                        if *val_ref != 0 {
4965                            *mut_ref = val as _;
4966                        }
4967                    };
4968                }
4969                14u32 => {
4970                    let mut_ref = &mut self.r#he_bitmask;
4971                    {
4972                        let val = decoder.decode_varint32()?;
4973                        let val_ref = &val;
4974                        if *val_ref != 0 {
4975                            *mut_ref = val as _;
4976                        }
4977                    };
4978                }
4979                15u32 => {
4980                    let mut_ref = &mut self.r#sae_h2e_identifier;
4981                    {
4982                        decoder.decode_bytes(mut_ref, ::micropb::Presence::Implicit)?;
4983                    };
4984                }
4985                _ => {
4986                    decoder.skip_wire_value(tag.wire_type())?;
4987                }
4988            }
4989        }
4990        Ok(())
4991    }
4992}
4993impl ::micropb::MessageEncode for r#wifi_sta_config {
4994    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
4995        let mut max_size = 0;
4996        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
4997            ::core::option::Option::Some(33usize), | size | size + 1usize
4998        ) {
4999            max_size += size;
5000        } else {
5001            break 'msg (::core::option::Option::<usize>::None);
5002        };
5003        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
5004            ::core::option::Option::Some(33usize), | size | size + 1usize
5005        ) {
5006            max_size += size;
5007        } else {
5008            break 'msg (::core::option::Option::<usize>::None);
5009        };
5010        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
5011            ::core::option::Option::Some(10usize), | size | size + 1usize
5012        ) {
5013            max_size += size;
5014        } else {
5015            break 'msg (::core::option::Option::<usize>::None);
5016        };
5017        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
5018            ::core::option::Option::Some(1usize), | size | size + 1usize
5019        ) {
5020            max_size += size;
5021        } else {
5022            break 'msg (::core::option::Option::<usize>::None);
5023        };
5024        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
5025            ::core::option::Option::Some(33usize), | size | size + 1usize
5026        ) {
5027            max_size += size;
5028        } else {
5029            break 'msg (::core::option::Option::<usize>::None);
5030        };
5031        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
5032            ::core::option::Option::Some(5usize), | size | size + 1usize
5033        ) {
5034            max_size += size;
5035        } else {
5036            break 'msg (::core::option::Option::<usize>::None);
5037        };
5038        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
5039            ::core::option::Option::Some(5usize), | size | size + 1usize
5040        ) {
5041            max_size += size;
5042        } else {
5043            break 'msg (::core::option::Option::<usize>::None);
5044        };
5045        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
5046            ::core::option::Option::Some(10usize), | size | size + 1usize
5047        ) {
5048            max_size += size;
5049        } else {
5050            break 'msg (::core::option::Option::<usize>::None);
5051        };
5052        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
5053            ::micropb::const_map!(< r#wifi_scan_threshold as ::micropb::MessageEncode >
5054            ::MAX_SIZE, | size | ::micropb::size::sizeof_len_record(size)), | size | size
5055            + 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!(< r#wifi_pmf_config as ::micropb::MessageEncode >
5063            ::MAX_SIZE, | size | ::micropb::size::sizeof_len_record(size)), | size | size
5064            + 1usize
5065        ) {
5066            max_size += size;
5067        } else {
5068            break 'msg (::core::option::Option::<usize>::None);
5069        };
5070        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
5071            ::core::option::Option::Some(5usize), | size | size + 1usize
5072        ) {
5073            max_size += size;
5074        } else {
5075            break 'msg (::core::option::Option::<usize>::None);
5076        };
5077        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
5078            ::core::option::Option::Some(10usize), | size | size + 1usize
5079        ) {
5080            max_size += size;
5081        } else {
5082            break 'msg (::core::option::Option::<usize>::None);
5083        };
5084        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
5085            ::core::option::Option::Some(5usize), | size | size + 1usize
5086        ) {
5087            max_size += size;
5088        } else {
5089            break 'msg (::core::option::Option::<usize>::None);
5090        };
5091        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
5092            ::core::option::Option::Some(5usize), | size | size + 1usize
5093        ) {
5094            max_size += size;
5095        } else {
5096            break 'msg (::core::option::Option::<usize>::None);
5097        };
5098        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
5099            ::core::option::Option::Some(33usize), | size | size + 1usize
5100        ) {
5101            max_size += size;
5102        } else {
5103            break 'msg (::core::option::Option::<usize>::None);
5104        };
5105        ::core::option::Option::Some(max_size)
5106    };
5107    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
5108        &self,
5109        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
5110    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
5111        use ::micropb::{PbMap, FieldEncode};
5112        {
5113            let val_ref = &self.r#ssid;
5114            if !val_ref.is_empty() {
5115                encoder.encode_varint32(10u32)?;
5116                encoder.encode_bytes(val_ref)?;
5117            }
5118        }
5119        {
5120            let val_ref = &self.r#password;
5121            if !val_ref.is_empty() {
5122                encoder.encode_varint32(18u32)?;
5123                encoder.encode_bytes(val_ref)?;
5124            }
5125        }
5126        {
5127            let val_ref = &self.r#scan_method;
5128            if *val_ref != 0 {
5129                encoder.encode_varint32(24u32)?;
5130                encoder.encode_int32(*val_ref as _)?;
5131            }
5132        }
5133        {
5134            let val_ref = &self.r#bssid_set;
5135            if *val_ref {
5136                encoder.encode_varint32(32u32)?;
5137                encoder.encode_bool(*val_ref)?;
5138            }
5139        }
5140        {
5141            let val_ref = &self.r#bssid;
5142            if !val_ref.is_empty() {
5143                encoder.encode_varint32(42u32)?;
5144                encoder.encode_bytes(val_ref)?;
5145            }
5146        }
5147        {
5148            let val_ref = &self.r#channel;
5149            if *val_ref != 0 {
5150                encoder.encode_varint32(48u32)?;
5151                encoder.encode_varint32(*val_ref as _)?;
5152            }
5153        }
5154        {
5155            let val_ref = &self.r#listen_interval;
5156            if *val_ref != 0 {
5157                encoder.encode_varint32(56u32)?;
5158                encoder.encode_varint32(*val_ref as _)?;
5159            }
5160        }
5161        {
5162            let val_ref = &self.r#sort_method;
5163            if *val_ref != 0 {
5164                encoder.encode_varint32(64u32)?;
5165                encoder.encode_int32(*val_ref as _)?;
5166            }
5167        }
5168        {
5169            if let ::core::option::Option::Some(val_ref) = self.r#threshold() {
5170                encoder.encode_varint32(74u32)?;
5171                val_ref.encode_len_delimited(encoder)?;
5172            }
5173        }
5174        {
5175            if let ::core::option::Option::Some(val_ref) = self.r#pmf_cfg() {
5176                encoder.encode_varint32(82u32)?;
5177                val_ref.encode_len_delimited(encoder)?;
5178            }
5179        }
5180        {
5181            let val_ref = &self.r#bitmask;
5182            if *val_ref != 0 {
5183                encoder.encode_varint32(88u32)?;
5184                encoder.encode_varint32(*val_ref as _)?;
5185            }
5186        }
5187        {
5188            let val_ref = &self.r#sae_pwe_h2e;
5189            if *val_ref != 0 {
5190                encoder.encode_varint32(96u32)?;
5191                encoder.encode_int32(*val_ref as _)?;
5192            }
5193        }
5194        {
5195            let val_ref = &self.r#failure_retry_cnt;
5196            if *val_ref != 0 {
5197                encoder.encode_varint32(104u32)?;
5198                encoder.encode_varint32(*val_ref as _)?;
5199            }
5200        }
5201        {
5202            let val_ref = &self.r#he_bitmask;
5203            if *val_ref != 0 {
5204                encoder.encode_varint32(112u32)?;
5205                encoder.encode_varint32(*val_ref as _)?;
5206            }
5207        }
5208        {
5209            let val_ref = &self.r#sae_h2e_identifier;
5210            if !val_ref.is_empty() {
5211                encoder.encode_varint32(122u32)?;
5212                encoder.encode_bytes(val_ref)?;
5213            }
5214        }
5215        Ok(())
5216    }
5217    fn compute_size(&self) -> usize {
5218        use ::micropb::{PbMap, FieldEncode};
5219        let mut size = 0;
5220        {
5221            let val_ref = &self.r#ssid;
5222            if !val_ref.is_empty() {
5223                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.len());
5224            }
5225        }
5226        {
5227            let val_ref = &self.r#password;
5228            if !val_ref.is_empty() {
5229                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.len());
5230            }
5231        }
5232        {
5233            let val_ref = &self.r#scan_method;
5234            if *val_ref != 0 {
5235                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
5236            }
5237        }
5238        {
5239            let val_ref = &self.r#bssid_set;
5240            if *val_ref {
5241                size += 1usize + 1;
5242            }
5243        }
5244        {
5245            let val_ref = &self.r#bssid;
5246            if !val_ref.is_empty() {
5247                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.len());
5248            }
5249        }
5250        {
5251            let val_ref = &self.r#channel;
5252            if *val_ref != 0 {
5253                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
5254            }
5255        }
5256        {
5257            let val_ref = &self.r#listen_interval;
5258            if *val_ref != 0 {
5259                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
5260            }
5261        }
5262        {
5263            let val_ref = &self.r#sort_method;
5264            if *val_ref != 0 {
5265                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
5266            }
5267        }
5268        {
5269            if let ::core::option::Option::Some(val_ref) = self.r#threshold() {
5270                size
5271                    += 1usize
5272                        + ::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
5278                    += 1usize
5279                        + ::micropb::size::sizeof_len_record(val_ref.compute_size());
5280            }
5281        }
5282        {
5283            let val_ref = &self.r#bitmask;
5284            if *val_ref != 0 {
5285                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
5286            }
5287        }
5288        {
5289            let val_ref = &self.r#sae_pwe_h2e;
5290            if *val_ref != 0 {
5291                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
5292            }
5293        }
5294        {
5295            let val_ref = &self.r#failure_retry_cnt;
5296            if *val_ref != 0 {
5297                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
5298            }
5299        }
5300        {
5301            let val_ref = &self.r#he_bitmask;
5302            if *val_ref != 0 {
5303                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
5304            }
5305        }
5306        {
5307            let val_ref = &self.r#sae_h2e_identifier;
5308            if !val_ref.is_empty() {
5309                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.len());
5310            }
5311        }
5312        size
5313    }
5314}
5315pub mod wifi_config_ {
5316    #[derive(Debug, PartialEq, Clone)]
5317    pub enum U {
5318        Ap(super::r#wifi_ap_config),
5319        Sta(super::r#wifi_sta_config),
5320    }
5321}
5322#[derive(Debug, Default, PartialEq, Clone)]
5323pub struct r#wifi_config {
5324    pub r#u: ::core::option::Option<wifi_config_::U>,
5325}
5326impl r#wifi_config {}
5327impl ::micropb::MessageDecode for r#wifi_config {
5328    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
5329        &mut self,
5330        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
5331        len: usize,
5332    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
5333        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
5334        let before = decoder.bytes_read();
5335        while decoder.bytes_read() - before < len {
5336            let tag = decoder.decode_tag()?;
5337            match tag.field_num() {
5338                0 => return Err(::micropb::DecodeError::ZeroField),
5339                1u32 => {
5340                    let mut_ref = loop {
5341                        if let ::core::option::Option::Some(variant) = &mut self.r#u {
5342                            if let wifi_config_::U::Ap(variant) = &mut *variant {
5343                                break &mut *variant;
5344                            }
5345                        }
5346                        self.r#u = ::core::option::Option::Some(
5347                            wifi_config_::U::Ap(::core::default::Default::default()),
5348                        );
5349                    };
5350                    mut_ref.decode_len_delimited(decoder)?;
5351                }
5352                2u32 => {
5353                    let mut_ref = loop {
5354                        if let ::core::option::Option::Some(variant) = &mut self.r#u {
5355                            if let wifi_config_::U::Sta(variant) = &mut *variant {
5356                                break &mut *variant;
5357                            }
5358                        }
5359                        self.r#u = ::core::option::Option::Some(
5360                            wifi_config_::U::Sta(::core::default::Default::default()),
5361                        );
5362                    };
5363                    mut_ref.decode_len_delimited(decoder)?;
5364                }
5365                _ => {
5366                    decoder.skip_wire_value(tag.wire_type())?;
5367                }
5368            }
5369        }
5370        Ok(())
5371    }
5372}
5373impl ::micropb::MessageEncode for r#wifi_config {
5374    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
5375        let mut max_size = 0;
5376        if let ::core::option::Option::Some(size) = 'oneof: {
5377            let mut max_size = 0;
5378            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
5379                ::micropb::const_map!(< r#wifi_ap_config as ::micropb::MessageEncode >
5380                ::MAX_SIZE, | size | ::micropb::size::sizeof_len_record(size)), | size |
5381                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!(< r#wifi_sta_config as ::micropb::MessageEncode >
5391                ::MAX_SIZE, | size | ::micropb::size::sizeof_len_record(size)), | size |
5392                size + 1usize
5393            ) {
5394                if size > max_size {
5395                    max_size = size;
5396                }
5397            } else {
5398                break 'oneof (::core::option::Option::<usize>::None);
5399            }
5400            ::core::option::Option::Some(max_size)
5401        } {
5402            max_size += size;
5403        } else {
5404            break 'msg (::core::option::Option::<usize>::None);
5405        };
5406        ::core::option::Option::Some(max_size)
5407    };
5408    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
5409        &self,
5410        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
5411    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
5412        use ::micropb::{PbMap, FieldEncode};
5413        if let Some(oneof) = &self.r#u {
5414            match &*oneof {
5415                wifi_config_::U::Ap(val_ref) => {
5416                    let val_ref = &*val_ref;
5417                    encoder.encode_varint32(10u32)?;
5418                    val_ref.encode_len_delimited(encoder)?;
5419                }
5420                wifi_config_::U::Sta(val_ref) => {
5421                    let val_ref = &*val_ref;
5422                    encoder.encode_varint32(18u32)?;
5423                    val_ref.encode_len_delimited(encoder)?;
5424                }
5425            }
5426        }
5427        Ok(())
5428    }
5429    fn compute_size(&self) -> usize {
5430        use ::micropb::{PbMap, FieldEncode};
5431        let mut size = 0;
5432        if let Some(oneof) = &self.r#u {
5433            match &*oneof {
5434                wifi_config_::U::Ap(val_ref) => {
5435                    let val_ref = &*val_ref;
5436                    size
5437                        += 1usize
5438                            + ::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
5443                        += 1usize
5444                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
5445                }
5446            }
5447        }
5448        size
5449    }
5450}
5451#[derive(Debug, Default, PartialEq, Clone)]
5452pub struct r#wifi_sta_info {
5453    pub r#mac: ::micropb::heapless::Vec<u8, 32>,
5454    pub r#rssi: i32,
5455    pub r#bitmask: u32,
5456}
5457impl r#wifi_sta_info {
5458    ///Return a reference to `mac`
5459    #[inline]
5460    pub fn r#mac(&self) -> &::micropb::heapless::Vec<u8, 32> {
5461        &self.r#mac
5462    }
5463    ///Return a mutable reference to `mac`
5464    #[inline]
5465    pub fn mut_mac(&mut self) -> &mut ::micropb::heapless::Vec<u8, 32> {
5466        &mut self.r#mac
5467    }
5468    ///Set the value of `mac`
5469    #[inline]
5470    pub fn set_mac(&mut self, value: ::micropb::heapless::Vec<u8, 32>) -> &mut Self {
5471        self.r#mac = value.into();
5472        self
5473    }
5474    ///Builder method that sets the value of `mac`. Useful for initializing the message.
5475    #[inline]
5476    pub fn init_mac(mut self, value: ::micropb::heapless::Vec<u8, 32>) -> Self {
5477        self.r#mac = value.into();
5478        self
5479    }
5480    ///Return a reference to `rssi`
5481    #[inline]
5482    pub fn r#rssi(&self) -> &i32 {
5483        &self.r#rssi
5484    }
5485    ///Return a mutable reference to `rssi`
5486    #[inline]
5487    pub fn mut_rssi(&mut self) -> &mut i32 {
5488        &mut self.r#rssi
5489    }
5490    ///Set the value of `rssi`
5491    #[inline]
5492    pub fn set_rssi(&mut self, value: i32) -> &mut Self {
5493        self.r#rssi = value.into();
5494        self
5495    }
5496    ///Builder method that sets the value of `rssi`. Useful for initializing the message.
5497    #[inline]
5498    pub fn init_rssi(mut self, value: i32) -> Self {
5499        self.r#rssi = value.into();
5500        self
5501    }
5502    ///Return a reference to `bitmask`
5503    #[inline]
5504    pub fn r#bitmask(&self) -> &u32 {
5505        &self.r#bitmask
5506    }
5507    ///Return a mutable reference to `bitmask`
5508    #[inline]
5509    pub fn mut_bitmask(&mut self) -> &mut u32 {
5510        &mut self.r#bitmask
5511    }
5512    ///Set the value of `bitmask`
5513    #[inline]
5514    pub fn set_bitmask(&mut self, value: u32) -> &mut Self {
5515        self.r#bitmask = value.into();
5516        self
5517    }
5518    ///Builder method that sets the value of `bitmask`. Useful for initializing the message.
5519    #[inline]
5520    pub fn init_bitmask(mut self, value: u32) -> Self {
5521        self.r#bitmask = value.into();
5522        self
5523    }
5524}
5525impl ::micropb::MessageDecode for r#wifi_sta_info {
5526    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
5527        &mut self,
5528        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
5529        len: usize,
5530    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
5531        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
5532        let before = decoder.bytes_read();
5533        while decoder.bytes_read() - before < len {
5534            let tag = decoder.decode_tag()?;
5535            match tag.field_num() {
5536                0 => return Err(::micropb::DecodeError::ZeroField),
5537                1u32 => {
5538                    let mut_ref = &mut self.r#mac;
5539                    {
5540                        decoder.decode_bytes(mut_ref, ::micropb::Presence::Implicit)?;
5541                    };
5542                }
5543                2u32 => {
5544                    let mut_ref = &mut self.r#rssi;
5545                    {
5546                        let val = decoder.decode_int32()?;
5547                        let val_ref = &val;
5548                        if *val_ref != 0 {
5549                            *mut_ref = val as _;
5550                        }
5551                    };
5552                }
5553                3u32 => {
5554                    let mut_ref = &mut self.r#bitmask;
5555                    {
5556                        let val = decoder.decode_varint32()?;
5557                        let val_ref = &val;
5558                        if *val_ref != 0 {
5559                            *mut_ref = val as _;
5560                        }
5561                    };
5562                }
5563                _ => {
5564                    decoder.skip_wire_value(tag.wire_type())?;
5565                }
5566            }
5567        }
5568        Ok(())
5569    }
5570}
5571impl ::micropb::MessageEncode for r#wifi_sta_info {
5572    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
5573        let mut max_size = 0;
5574        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
5575            ::core::option::Option::Some(33usize), | size | size + 1usize
5576        ) {
5577            max_size += size;
5578        } else {
5579            break 'msg (::core::option::Option::<usize>::None);
5580        };
5581        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
5582            ::core::option::Option::Some(10usize), | size | size + 1usize
5583        ) {
5584            max_size += size;
5585        } else {
5586            break 'msg (::core::option::Option::<usize>::None);
5587        };
5588        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
5589            ::core::option::Option::Some(5usize), | size | size + 1usize
5590        ) {
5591            max_size += size;
5592        } else {
5593            break 'msg (::core::option::Option::<usize>::None);
5594        };
5595        ::core::option::Option::Some(max_size)
5596    };
5597    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
5598        &self,
5599        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
5600    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
5601        use ::micropb::{PbMap, FieldEncode};
5602        {
5603            let val_ref = &self.r#mac;
5604            if !val_ref.is_empty() {
5605                encoder.encode_varint32(10u32)?;
5606                encoder.encode_bytes(val_ref)?;
5607            }
5608        }
5609        {
5610            let val_ref = &self.r#rssi;
5611            if *val_ref != 0 {
5612                encoder.encode_varint32(16u32)?;
5613                encoder.encode_int32(*val_ref as _)?;
5614            }
5615        }
5616        {
5617            let val_ref = &self.r#bitmask;
5618            if *val_ref != 0 {
5619                encoder.encode_varint32(24u32)?;
5620                encoder.encode_varint32(*val_ref as _)?;
5621            }
5622        }
5623        Ok(())
5624    }
5625    fn compute_size(&self) -> usize {
5626        use ::micropb::{PbMap, FieldEncode};
5627        let mut size = 0;
5628        {
5629            let val_ref = &self.r#mac;
5630            if !val_ref.is_empty() {
5631                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.len());
5632            }
5633        }
5634        {
5635            let val_ref = &self.r#rssi;
5636            if *val_ref != 0 {
5637                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
5638            }
5639        }
5640        {
5641            let val_ref = &self.r#bitmask;
5642            if *val_ref != 0 {
5643                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
5644            }
5645        }
5646        size
5647    }
5648}
5649#[derive(Debug, Default, PartialEq, Clone)]
5650pub struct r#wifi_sta_list {
5651    pub r#sta: ::micropb::heapless::Vec<r#wifi_sta_info, 50>,
5652    pub r#num: i32,
5653}
5654impl r#wifi_sta_list {
5655    ///Return a reference to `num`
5656    #[inline]
5657    pub fn r#num(&self) -> &i32 {
5658        &self.r#num
5659    }
5660    ///Return a mutable reference to `num`
5661    #[inline]
5662    pub fn mut_num(&mut self) -> &mut i32 {
5663        &mut self.r#num
5664    }
5665    ///Set the value of `num`
5666    #[inline]
5667    pub fn set_num(&mut self, value: i32) -> &mut Self {
5668        self.r#num = value.into();
5669        self
5670    }
5671    ///Builder method that sets the value of `num`. Useful for initializing the message.
5672    #[inline]
5673    pub fn init_num(mut self, value: i32) -> Self {
5674        self.r#num = value.into();
5675        self
5676    }
5677}
5678impl ::micropb::MessageDecode for r#wifi_sta_list {
5679    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
5680        &mut self,
5681        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
5682        len: usize,
5683    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
5684        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
5685        let before = decoder.bytes_read();
5686        while decoder.bytes_read() - before < len {
5687            let tag = decoder.decode_tag()?;
5688            match tag.field_num() {
5689                0 => return Err(::micropb::DecodeError::ZeroField),
5690                1u32 => {
5691                    let mut val: r#wifi_sta_info = ::core::default::Default::default();
5692                    let mut_ref = &mut val;
5693                    {
5694                        mut_ref.decode_len_delimited(decoder)?;
5695                    };
5696                    if let (Err(_), false) = (
5697                        self.r#sta.pb_push(val),
5698                        decoder.ignore_repeated_cap_err,
5699                    ) {
5700                        return Err(::micropb::DecodeError::Capacity);
5701                    }
5702                }
5703                2u32 => {
5704                    let mut_ref = &mut self.r#num;
5705                    {
5706                        let val = decoder.decode_int32()?;
5707                        let val_ref = &val;
5708                        if *val_ref != 0 {
5709                            *mut_ref = val as _;
5710                        }
5711                    };
5712                }
5713                _ => {
5714                    decoder.skip_wire_value(tag.wire_type())?;
5715                }
5716            }
5717        }
5718        Ok(())
5719    }
5720}
5721impl ::micropb::MessageEncode for r#wifi_sta_list {
5722    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
5723        let mut max_size = 0;
5724        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
5725            ::micropb::const_map!(< r#wifi_sta_info as ::micropb::MessageEncode >
5726            ::MAX_SIZE, | size | ::micropb::size::sizeof_len_record(size)), | size |
5727            (size + 1usize) * 50usize
5728        ) {
5729            max_size += size;
5730        } else {
5731            break 'msg (::core::option::Option::<usize>::None);
5732        };
5733        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
5734            ::core::option::Option::Some(10usize), | size | size + 1usize
5735        ) {
5736            max_size += size;
5737        } else {
5738            break 'msg (::core::option::Option::<usize>::None);
5739        };
5740        ::core::option::Option::Some(max_size)
5741    };
5742    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
5743        &self,
5744        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
5745    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
5746        use ::micropb::{PbMap, FieldEncode};
5747        {
5748            for val_ref in self.r#sta.iter() {
5749                encoder.encode_varint32(10u32)?;
5750                val_ref.encode_len_delimited(encoder)?;
5751            }
5752        }
5753        {
5754            let val_ref = &self.r#num;
5755            if *val_ref != 0 {
5756                encoder.encode_varint32(16u32)?;
5757                encoder.encode_int32(*val_ref as _)?;
5758            }
5759        }
5760        Ok(())
5761    }
5762    fn compute_size(&self) -> usize {
5763        use ::micropb::{PbMap, FieldEncode};
5764        let mut size = 0;
5765        {
5766            for val_ref in self.r#sta.iter() {
5767                size
5768                    += 1usize
5769                        + ::micropb::size::sizeof_len_record(val_ref.compute_size());
5770            }
5771        }
5772        {
5773            let val_ref = &self.r#num;
5774            if *val_ref != 0 {
5775                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
5776            }
5777        }
5778        size
5779    }
5780}
5781#[derive(Debug, Default, PartialEq, Clone)]
5782pub struct r#wifi_pkt_rx_ctrl {
5783    pub r#rssi: i32,
5784    pub r#rate: u32,
5785    pub r#sig_mode: u32,
5786    pub r#mcs: u32,
5787    pub r#cwb: u32,
5788    pub r#smoothing: u32,
5789    pub r#not_sounding: u32,
5790    pub r#aggregation: u32,
5791    pub r#stbc: u32,
5792    pub r#fec_coding: u32,
5793    pub r#sgi: u32,
5794    pub r#noise_floor: i32,
5795    pub r#ampdu_cnt: u32,
5796    pub r#channel: u32,
5797    pub r#secondary_channel: u32,
5798    pub r#timestamp: u32,
5799    pub r#ant: u32,
5800    pub r#sig_len: u32,
5801    pub r#rx_state: u32,
5802}
5803impl r#wifi_pkt_rx_ctrl {
5804    ///Return a reference to `rssi`
5805    #[inline]
5806    pub fn r#rssi(&self) -> &i32 {
5807        &self.r#rssi
5808    }
5809    ///Return a mutable reference to `rssi`
5810    #[inline]
5811    pub fn mut_rssi(&mut self) -> &mut i32 {
5812        &mut self.r#rssi
5813    }
5814    ///Set the value of `rssi`
5815    #[inline]
5816    pub fn set_rssi(&mut self, value: i32) -> &mut Self {
5817        self.r#rssi = value.into();
5818        self
5819    }
5820    ///Builder method that sets the value of `rssi`. Useful for initializing the message.
5821    #[inline]
5822    pub fn init_rssi(mut self, value: i32) -> Self {
5823        self.r#rssi = value.into();
5824        self
5825    }
5826    ///Return a reference to `rate`
5827    #[inline]
5828    pub fn r#rate(&self) -> &u32 {
5829        &self.r#rate
5830    }
5831    ///Return a mutable reference to `rate`
5832    #[inline]
5833    pub fn mut_rate(&mut self) -> &mut u32 {
5834        &mut self.r#rate
5835    }
5836    ///Set the value of `rate`
5837    #[inline]
5838    pub fn set_rate(&mut self, value: u32) -> &mut Self {
5839        self.r#rate = value.into();
5840        self
5841    }
5842    ///Builder method that sets the value of `rate`. Useful for initializing the message.
5843    #[inline]
5844    pub fn init_rate(mut self, value: u32) -> Self {
5845        self.r#rate = value.into();
5846        self
5847    }
5848    ///Return a reference to `sig_mode`
5849    #[inline]
5850    pub fn r#sig_mode(&self) -> &u32 {
5851        &self.r#sig_mode
5852    }
5853    ///Return a mutable reference to `sig_mode`
5854    #[inline]
5855    pub fn mut_sig_mode(&mut self) -> &mut u32 {
5856        &mut self.r#sig_mode
5857    }
5858    ///Set the value of `sig_mode`
5859    #[inline]
5860    pub fn set_sig_mode(&mut self, value: u32) -> &mut Self {
5861        self.r#sig_mode = value.into();
5862        self
5863    }
5864    ///Builder method that sets the value of `sig_mode`. Useful for initializing the message.
5865    #[inline]
5866    pub fn init_sig_mode(mut self, value: u32) -> Self {
5867        self.r#sig_mode = value.into();
5868        self
5869    }
5870    ///Return a reference to `mcs`
5871    #[inline]
5872    pub fn r#mcs(&self) -> &u32 {
5873        &self.r#mcs
5874    }
5875    ///Return a mutable reference to `mcs`
5876    #[inline]
5877    pub fn mut_mcs(&mut self) -> &mut u32 {
5878        &mut self.r#mcs
5879    }
5880    ///Set the value of `mcs`
5881    #[inline]
5882    pub fn set_mcs(&mut self, value: u32) -> &mut Self {
5883        self.r#mcs = value.into();
5884        self
5885    }
5886    ///Builder method that sets the value of `mcs`. Useful for initializing the message.
5887    #[inline]
5888    pub fn init_mcs(mut self, value: u32) -> Self {
5889        self.r#mcs = value.into();
5890        self
5891    }
5892    ///Return a reference to `cwb`
5893    #[inline]
5894    pub fn r#cwb(&self) -> &u32 {
5895        &self.r#cwb
5896    }
5897    ///Return a mutable reference to `cwb`
5898    #[inline]
5899    pub fn mut_cwb(&mut self) -> &mut u32 {
5900        &mut self.r#cwb
5901    }
5902    ///Set the value of `cwb`
5903    #[inline]
5904    pub fn set_cwb(&mut self, value: u32) -> &mut Self {
5905        self.r#cwb = value.into();
5906        self
5907    }
5908    ///Builder method that sets the value of `cwb`. Useful for initializing the message.
5909    #[inline]
5910    pub fn init_cwb(mut self, value: u32) -> Self {
5911        self.r#cwb = value.into();
5912        self
5913    }
5914    ///Return a reference to `smoothing`
5915    #[inline]
5916    pub fn r#smoothing(&self) -> &u32 {
5917        &self.r#smoothing
5918    }
5919    ///Return a mutable reference to `smoothing`
5920    #[inline]
5921    pub fn mut_smoothing(&mut self) -> &mut u32 {
5922        &mut self.r#smoothing
5923    }
5924    ///Set the value of `smoothing`
5925    #[inline]
5926    pub fn set_smoothing(&mut self, value: u32) -> &mut Self {
5927        self.r#smoothing = value.into();
5928        self
5929    }
5930    ///Builder method that sets the value of `smoothing`. Useful for initializing the message.
5931    #[inline]
5932    pub fn init_smoothing(mut self, value: u32) -> Self {
5933        self.r#smoothing = value.into();
5934        self
5935    }
5936    ///Return a reference to `not_sounding`
5937    #[inline]
5938    pub fn r#not_sounding(&self) -> &u32 {
5939        &self.r#not_sounding
5940    }
5941    ///Return a mutable reference to `not_sounding`
5942    #[inline]
5943    pub fn mut_not_sounding(&mut self) -> &mut u32 {
5944        &mut self.r#not_sounding
5945    }
5946    ///Set the value of `not_sounding`
5947    #[inline]
5948    pub fn set_not_sounding(&mut self, value: u32) -> &mut Self {
5949        self.r#not_sounding = value.into();
5950        self
5951    }
5952    ///Builder method that sets the value of `not_sounding`. Useful for initializing the message.
5953    #[inline]
5954    pub fn init_not_sounding(mut self, value: u32) -> Self {
5955        self.r#not_sounding = value.into();
5956        self
5957    }
5958    ///Return a reference to `aggregation`
5959    #[inline]
5960    pub fn r#aggregation(&self) -> &u32 {
5961        &self.r#aggregation
5962    }
5963    ///Return a mutable reference to `aggregation`
5964    #[inline]
5965    pub fn mut_aggregation(&mut self) -> &mut u32 {
5966        &mut self.r#aggregation
5967    }
5968    ///Set the value of `aggregation`
5969    #[inline]
5970    pub fn set_aggregation(&mut self, value: u32) -> &mut Self {
5971        self.r#aggregation = value.into();
5972        self
5973    }
5974    ///Builder method that sets the value of `aggregation`. Useful for initializing the message.
5975    #[inline]
5976    pub fn init_aggregation(mut self, value: u32) -> Self {
5977        self.r#aggregation = value.into();
5978        self
5979    }
5980    ///Return a reference to `stbc`
5981    #[inline]
5982    pub fn r#stbc(&self) -> &u32 {
5983        &self.r#stbc
5984    }
5985    ///Return a mutable reference to `stbc`
5986    #[inline]
5987    pub fn mut_stbc(&mut self) -> &mut u32 {
5988        &mut self.r#stbc
5989    }
5990    ///Set the value of `stbc`
5991    #[inline]
5992    pub fn set_stbc(&mut self, value: u32) -> &mut Self {
5993        self.r#stbc = value.into();
5994        self
5995    }
5996    ///Builder method that sets the value of `stbc`. Useful for initializing the message.
5997    #[inline]
5998    pub fn init_stbc(mut self, value: u32) -> Self {
5999        self.r#stbc = value.into();
6000        self
6001    }
6002    ///Return a reference to `fec_coding`
6003    #[inline]
6004    pub fn r#fec_coding(&self) -> &u32 {
6005        &self.r#fec_coding
6006    }
6007    ///Return a mutable reference to `fec_coding`
6008    #[inline]
6009    pub fn mut_fec_coding(&mut self) -> &mut u32 {
6010        &mut self.r#fec_coding
6011    }
6012    ///Set the value of `fec_coding`
6013    #[inline]
6014    pub fn set_fec_coding(&mut self, value: u32) -> &mut Self {
6015        self.r#fec_coding = value.into();
6016        self
6017    }
6018    ///Builder method that sets the value of `fec_coding`. Useful for initializing the message.
6019    #[inline]
6020    pub fn init_fec_coding(mut self, value: u32) -> Self {
6021        self.r#fec_coding = value.into();
6022        self
6023    }
6024    ///Return a reference to `sgi`
6025    #[inline]
6026    pub fn r#sgi(&self) -> &u32 {
6027        &self.r#sgi
6028    }
6029    ///Return a mutable reference to `sgi`
6030    #[inline]
6031    pub fn mut_sgi(&mut self) -> &mut u32 {
6032        &mut self.r#sgi
6033    }
6034    ///Set the value of `sgi`
6035    #[inline]
6036    pub fn set_sgi(&mut self, value: u32) -> &mut Self {
6037        self.r#sgi = value.into();
6038        self
6039    }
6040    ///Builder method that sets the value of `sgi`. Useful for initializing the message.
6041    #[inline]
6042    pub fn init_sgi(mut self, value: u32) -> Self {
6043        self.r#sgi = value.into();
6044        self
6045    }
6046    ///Return a reference to `noise_floor`
6047    #[inline]
6048    pub fn r#noise_floor(&self) -> &i32 {
6049        &self.r#noise_floor
6050    }
6051    ///Return a mutable reference to `noise_floor`
6052    #[inline]
6053    pub fn mut_noise_floor(&mut self) -> &mut i32 {
6054        &mut self.r#noise_floor
6055    }
6056    ///Set the value of `noise_floor`
6057    #[inline]
6058    pub fn set_noise_floor(&mut self, value: i32) -> &mut Self {
6059        self.r#noise_floor = value.into();
6060        self
6061    }
6062    ///Builder method that sets the value of `noise_floor`. Useful for initializing the message.
6063    #[inline]
6064    pub fn init_noise_floor(mut self, value: i32) -> Self {
6065        self.r#noise_floor = value.into();
6066        self
6067    }
6068    ///Return a reference to `ampdu_cnt`
6069    #[inline]
6070    pub fn r#ampdu_cnt(&self) -> &u32 {
6071        &self.r#ampdu_cnt
6072    }
6073    ///Return a mutable reference to `ampdu_cnt`
6074    #[inline]
6075    pub fn mut_ampdu_cnt(&mut self) -> &mut u32 {
6076        &mut self.r#ampdu_cnt
6077    }
6078    ///Set the value of `ampdu_cnt`
6079    #[inline]
6080    pub fn set_ampdu_cnt(&mut self, value: u32) -> &mut Self {
6081        self.r#ampdu_cnt = value.into();
6082        self
6083    }
6084    ///Builder method that sets the value of `ampdu_cnt`. Useful for initializing the message.
6085    #[inline]
6086    pub fn init_ampdu_cnt(mut self, value: u32) -> Self {
6087        self.r#ampdu_cnt = value.into();
6088        self
6089    }
6090    ///Return a reference to `channel`
6091    #[inline]
6092    pub fn r#channel(&self) -> &u32 {
6093        &self.r#channel
6094    }
6095    ///Return a mutable reference to `channel`
6096    #[inline]
6097    pub fn mut_channel(&mut self) -> &mut u32 {
6098        &mut self.r#channel
6099    }
6100    ///Set the value of `channel`
6101    #[inline]
6102    pub fn set_channel(&mut self, value: u32) -> &mut Self {
6103        self.r#channel = value.into();
6104        self
6105    }
6106    ///Builder method that sets the value of `channel`. Useful for initializing the message.
6107    #[inline]
6108    pub fn init_channel(mut self, value: u32) -> Self {
6109        self.r#channel = value.into();
6110        self
6111    }
6112    ///Return a reference to `secondary_channel`
6113    #[inline]
6114    pub fn r#secondary_channel(&self) -> &u32 {
6115        &self.r#secondary_channel
6116    }
6117    ///Return a mutable reference to `secondary_channel`
6118    #[inline]
6119    pub fn mut_secondary_channel(&mut self) -> &mut u32 {
6120        &mut self.r#secondary_channel
6121    }
6122    ///Set the value of `secondary_channel`
6123    #[inline]
6124    pub fn set_secondary_channel(&mut self, value: u32) -> &mut Self {
6125        self.r#secondary_channel = value.into();
6126        self
6127    }
6128    ///Builder method that sets the value of `secondary_channel`. Useful for initializing the message.
6129    #[inline]
6130    pub fn init_secondary_channel(mut self, value: u32) -> Self {
6131        self.r#secondary_channel = value.into();
6132        self
6133    }
6134    ///Return a reference to `timestamp`
6135    #[inline]
6136    pub fn r#timestamp(&self) -> &u32 {
6137        &self.r#timestamp
6138    }
6139    ///Return a mutable reference to `timestamp`
6140    #[inline]
6141    pub fn mut_timestamp(&mut self) -> &mut u32 {
6142        &mut self.r#timestamp
6143    }
6144    ///Set the value of `timestamp`
6145    #[inline]
6146    pub fn set_timestamp(&mut self, value: u32) -> &mut Self {
6147        self.r#timestamp = value.into();
6148        self
6149    }
6150    ///Builder method that sets the value of `timestamp`. Useful for initializing the message.
6151    #[inline]
6152    pub fn init_timestamp(mut self, value: u32) -> Self {
6153        self.r#timestamp = value.into();
6154        self
6155    }
6156    ///Return a reference to `ant`
6157    #[inline]
6158    pub fn r#ant(&self) -> &u32 {
6159        &self.r#ant
6160    }
6161    ///Return a mutable reference to `ant`
6162    #[inline]
6163    pub fn mut_ant(&mut self) -> &mut u32 {
6164        &mut self.r#ant
6165    }
6166    ///Set the value of `ant`
6167    #[inline]
6168    pub fn set_ant(&mut self, value: u32) -> &mut Self {
6169        self.r#ant = value.into();
6170        self
6171    }
6172    ///Builder method that sets the value of `ant`. Useful for initializing the message.
6173    #[inline]
6174    pub fn init_ant(mut self, value: u32) -> Self {
6175        self.r#ant = value.into();
6176        self
6177    }
6178    ///Return a reference to `sig_len`
6179    #[inline]
6180    pub fn r#sig_len(&self) -> &u32 {
6181        &self.r#sig_len
6182    }
6183    ///Return a mutable reference to `sig_len`
6184    #[inline]
6185    pub fn mut_sig_len(&mut self) -> &mut u32 {
6186        &mut self.r#sig_len
6187    }
6188    ///Set the value of `sig_len`
6189    #[inline]
6190    pub fn set_sig_len(&mut self, value: u32) -> &mut Self {
6191        self.r#sig_len = value.into();
6192        self
6193    }
6194    ///Builder method that sets the value of `sig_len`. Useful for initializing the message.
6195    #[inline]
6196    pub fn init_sig_len(mut self, value: u32) -> Self {
6197        self.r#sig_len = value.into();
6198        self
6199    }
6200    ///Return a reference to `rx_state`
6201    #[inline]
6202    pub fn r#rx_state(&self) -> &u32 {
6203        &self.r#rx_state
6204    }
6205    ///Return a mutable reference to `rx_state`
6206    #[inline]
6207    pub fn mut_rx_state(&mut self) -> &mut u32 {
6208        &mut self.r#rx_state
6209    }
6210    ///Set the value of `rx_state`
6211    #[inline]
6212    pub fn set_rx_state(&mut self, value: u32) -> &mut Self {
6213        self.r#rx_state = value.into();
6214        self
6215    }
6216    ///Builder method that sets the value of `rx_state`. Useful for initializing the message.
6217    #[inline]
6218    pub fn init_rx_state(mut self, value: u32) -> Self {
6219        self.r#rx_state = value.into();
6220        self
6221    }
6222}
6223impl ::micropb::MessageDecode for r#wifi_pkt_rx_ctrl {
6224    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
6225        &mut self,
6226        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
6227        len: usize,
6228    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
6229        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
6230        let before = decoder.bytes_read();
6231        while decoder.bytes_read() - before < len {
6232            let tag = decoder.decode_tag()?;
6233            match tag.field_num() {
6234                0 => return Err(::micropb::DecodeError::ZeroField),
6235                1u32 => {
6236                    let mut_ref = &mut self.r#rssi;
6237                    {
6238                        let val = decoder.decode_int32()?;
6239                        let val_ref = &val;
6240                        if *val_ref != 0 {
6241                            *mut_ref = val as _;
6242                        }
6243                    };
6244                }
6245                2u32 => {
6246                    let mut_ref = &mut self.r#rate;
6247                    {
6248                        let val = decoder.decode_varint32()?;
6249                        let val_ref = &val;
6250                        if *val_ref != 0 {
6251                            *mut_ref = val as _;
6252                        }
6253                    };
6254                }
6255                3u32 => {
6256                    let mut_ref = &mut self.r#sig_mode;
6257                    {
6258                        let val = decoder.decode_varint32()?;
6259                        let val_ref = &val;
6260                        if *val_ref != 0 {
6261                            *mut_ref = val as _;
6262                        }
6263                    };
6264                }
6265                4u32 => {
6266                    let mut_ref = &mut self.r#mcs;
6267                    {
6268                        let val = decoder.decode_varint32()?;
6269                        let val_ref = &val;
6270                        if *val_ref != 0 {
6271                            *mut_ref = val as _;
6272                        }
6273                    };
6274                }
6275                5u32 => {
6276                    let mut_ref = &mut self.r#cwb;
6277                    {
6278                        let val = decoder.decode_varint32()?;
6279                        let val_ref = &val;
6280                        if *val_ref != 0 {
6281                            *mut_ref = val as _;
6282                        }
6283                    };
6284                }
6285                6u32 => {
6286                    let mut_ref = &mut self.r#smoothing;
6287                    {
6288                        let val = decoder.decode_varint32()?;
6289                        let val_ref = &val;
6290                        if *val_ref != 0 {
6291                            *mut_ref = val as _;
6292                        }
6293                    };
6294                }
6295                7u32 => {
6296                    let mut_ref = &mut self.r#not_sounding;
6297                    {
6298                        let val = decoder.decode_varint32()?;
6299                        let val_ref = &val;
6300                        if *val_ref != 0 {
6301                            *mut_ref = val as _;
6302                        }
6303                    };
6304                }
6305                8u32 => {
6306                    let mut_ref = &mut self.r#aggregation;
6307                    {
6308                        let val = decoder.decode_varint32()?;
6309                        let val_ref = &val;
6310                        if *val_ref != 0 {
6311                            *mut_ref = val as _;
6312                        }
6313                    };
6314                }
6315                9u32 => {
6316                    let mut_ref = &mut self.r#stbc;
6317                    {
6318                        let val = decoder.decode_varint32()?;
6319                        let val_ref = &val;
6320                        if *val_ref != 0 {
6321                            *mut_ref = val as _;
6322                        }
6323                    };
6324                }
6325                10u32 => {
6326                    let mut_ref = &mut self.r#fec_coding;
6327                    {
6328                        let val = decoder.decode_varint32()?;
6329                        let val_ref = &val;
6330                        if *val_ref != 0 {
6331                            *mut_ref = val as _;
6332                        }
6333                    };
6334                }
6335                11u32 => {
6336                    let mut_ref = &mut self.r#sgi;
6337                    {
6338                        let val = decoder.decode_varint32()?;
6339                        let val_ref = &val;
6340                        if *val_ref != 0 {
6341                            *mut_ref = val as _;
6342                        }
6343                    };
6344                }
6345                12u32 => {
6346                    let mut_ref = &mut self.r#noise_floor;
6347                    {
6348                        let val = decoder.decode_int32()?;
6349                        let val_ref = &val;
6350                        if *val_ref != 0 {
6351                            *mut_ref = val as _;
6352                        }
6353                    };
6354                }
6355                13u32 => {
6356                    let mut_ref = &mut self.r#ampdu_cnt;
6357                    {
6358                        let val = decoder.decode_varint32()?;
6359                        let val_ref = &val;
6360                        if *val_ref != 0 {
6361                            *mut_ref = val as _;
6362                        }
6363                    };
6364                }
6365                14u32 => {
6366                    let mut_ref = &mut self.r#channel;
6367                    {
6368                        let val = decoder.decode_varint32()?;
6369                        let val_ref = &val;
6370                        if *val_ref != 0 {
6371                            *mut_ref = val as _;
6372                        }
6373                    };
6374                }
6375                15u32 => {
6376                    let mut_ref = &mut self.r#secondary_channel;
6377                    {
6378                        let val = decoder.decode_varint32()?;
6379                        let val_ref = &val;
6380                        if *val_ref != 0 {
6381                            *mut_ref = val as _;
6382                        }
6383                    };
6384                }
6385                16u32 => {
6386                    let mut_ref = &mut self.r#timestamp;
6387                    {
6388                        let val = decoder.decode_varint32()?;
6389                        let val_ref = &val;
6390                        if *val_ref != 0 {
6391                            *mut_ref = val as _;
6392                        }
6393                    };
6394                }
6395                17u32 => {
6396                    let mut_ref = &mut self.r#ant;
6397                    {
6398                        let val = decoder.decode_varint32()?;
6399                        let val_ref = &val;
6400                        if *val_ref != 0 {
6401                            *mut_ref = val as _;
6402                        }
6403                    };
6404                }
6405                18u32 => {
6406                    let mut_ref = &mut self.r#sig_len;
6407                    {
6408                        let val = decoder.decode_varint32()?;
6409                        let val_ref = &val;
6410                        if *val_ref != 0 {
6411                            *mut_ref = val as _;
6412                        }
6413                    };
6414                }
6415                19u32 => {
6416                    let mut_ref = &mut self.r#rx_state;
6417                    {
6418                        let val = decoder.decode_varint32()?;
6419                        let val_ref = &val;
6420                        if *val_ref != 0 {
6421                            *mut_ref = val as _;
6422                        }
6423                    };
6424                }
6425                _ => {
6426                    decoder.skip_wire_value(tag.wire_type())?;
6427                }
6428            }
6429        }
6430        Ok(())
6431    }
6432}
6433impl ::micropb::MessageEncode for r#wifi_pkt_rx_ctrl {
6434    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
6435        let mut max_size = 0;
6436        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
6437            ::core::option::Option::Some(10usize), | size | size + 1usize
6438        ) {
6439            max_size += size;
6440        } else {
6441            break 'msg (::core::option::Option::<usize>::None);
6442        };
6443        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
6444            ::core::option::Option::Some(5usize), | size | size + 1usize
6445        ) {
6446            max_size += size;
6447        } else {
6448            break 'msg (::core::option::Option::<usize>::None);
6449        };
6450        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
6451            ::core::option::Option::Some(5usize), | size | size + 1usize
6452        ) {
6453            max_size += size;
6454        } else {
6455            break 'msg (::core::option::Option::<usize>::None);
6456        };
6457        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
6458            ::core::option::Option::Some(5usize), | size | size + 1usize
6459        ) {
6460            max_size += size;
6461        } else {
6462            break 'msg (::core::option::Option::<usize>::None);
6463        };
6464        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
6465            ::core::option::Option::Some(5usize), | size | size + 1usize
6466        ) {
6467            max_size += size;
6468        } else {
6469            break 'msg (::core::option::Option::<usize>::None);
6470        };
6471        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
6472            ::core::option::Option::Some(5usize), | size | size + 1usize
6473        ) {
6474            max_size += size;
6475        } else {
6476            break 'msg (::core::option::Option::<usize>::None);
6477        };
6478        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
6479            ::core::option::Option::Some(5usize), | size | size + 1usize
6480        ) {
6481            max_size += size;
6482        } else {
6483            break 'msg (::core::option::Option::<usize>::None);
6484        };
6485        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
6486            ::core::option::Option::Some(5usize), | size | size + 1usize
6487        ) {
6488            max_size += size;
6489        } else {
6490            break 'msg (::core::option::Option::<usize>::None);
6491        };
6492        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
6493            ::core::option::Option::Some(5usize), | size | size + 1usize
6494        ) {
6495            max_size += size;
6496        } else {
6497            break 'msg (::core::option::Option::<usize>::None);
6498        };
6499        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
6500            ::core::option::Option::Some(5usize), | size | size + 1usize
6501        ) {
6502            max_size += size;
6503        } else {
6504            break 'msg (::core::option::Option::<usize>::None);
6505        };
6506        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
6507            ::core::option::Option::Some(5usize), | size | size + 1usize
6508        ) {
6509            max_size += size;
6510        } else {
6511            break 'msg (::core::option::Option::<usize>::None);
6512        };
6513        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
6514            ::core::option::Option::Some(10usize), | size | size + 1usize
6515        ) {
6516            max_size += size;
6517        } else {
6518            break 'msg (::core::option::Option::<usize>::None);
6519        };
6520        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
6521            ::core::option::Option::Some(5usize), | size | size + 1usize
6522        ) {
6523            max_size += size;
6524        } else {
6525            break 'msg (::core::option::Option::<usize>::None);
6526        };
6527        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
6528            ::core::option::Option::Some(5usize), | size | size + 1usize
6529        ) {
6530            max_size += size;
6531        } else {
6532            break 'msg (::core::option::Option::<usize>::None);
6533        };
6534        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
6535            ::core::option::Option::Some(5usize), | size | size + 1usize
6536        ) {
6537            max_size += size;
6538        } else {
6539            break 'msg (::core::option::Option::<usize>::None);
6540        };
6541        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
6542            ::core::option::Option::Some(5usize), | size | size + 2usize
6543        ) {
6544            max_size += size;
6545        } else {
6546            break 'msg (::core::option::Option::<usize>::None);
6547        };
6548        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
6549            ::core::option::Option::Some(5usize), | size | size + 2usize
6550        ) {
6551            max_size += size;
6552        } else {
6553            break 'msg (::core::option::Option::<usize>::None);
6554        };
6555        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
6556            ::core::option::Option::Some(5usize), | size | size + 2usize
6557        ) {
6558            max_size += size;
6559        } else {
6560            break 'msg (::core::option::Option::<usize>::None);
6561        };
6562        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
6563            ::core::option::Option::Some(5usize), | size | size + 2usize
6564        ) {
6565            max_size += size;
6566        } else {
6567            break 'msg (::core::option::Option::<usize>::None);
6568        };
6569        ::core::option::Option::Some(max_size)
6570    };
6571    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
6572        &self,
6573        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
6574    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
6575        use ::micropb::{PbMap, FieldEncode};
6576        {
6577            let val_ref = &self.r#rssi;
6578            if *val_ref != 0 {
6579                encoder.encode_varint32(8u32)?;
6580                encoder.encode_int32(*val_ref as _)?;
6581            }
6582        }
6583        {
6584            let val_ref = &self.r#rate;
6585            if *val_ref != 0 {
6586                encoder.encode_varint32(16u32)?;
6587                encoder.encode_varint32(*val_ref as _)?;
6588            }
6589        }
6590        {
6591            let val_ref = &self.r#sig_mode;
6592            if *val_ref != 0 {
6593                encoder.encode_varint32(24u32)?;
6594                encoder.encode_varint32(*val_ref as _)?;
6595            }
6596        }
6597        {
6598            let val_ref = &self.r#mcs;
6599            if *val_ref != 0 {
6600                encoder.encode_varint32(32u32)?;
6601                encoder.encode_varint32(*val_ref as _)?;
6602            }
6603        }
6604        {
6605            let val_ref = &self.r#cwb;
6606            if *val_ref != 0 {
6607                encoder.encode_varint32(40u32)?;
6608                encoder.encode_varint32(*val_ref as _)?;
6609            }
6610        }
6611        {
6612            let val_ref = &self.r#smoothing;
6613            if *val_ref != 0 {
6614                encoder.encode_varint32(48u32)?;
6615                encoder.encode_varint32(*val_ref as _)?;
6616            }
6617        }
6618        {
6619            let val_ref = &self.r#not_sounding;
6620            if *val_ref != 0 {
6621                encoder.encode_varint32(56u32)?;
6622                encoder.encode_varint32(*val_ref as _)?;
6623            }
6624        }
6625        {
6626            let val_ref = &self.r#aggregation;
6627            if *val_ref != 0 {
6628                encoder.encode_varint32(64u32)?;
6629                encoder.encode_varint32(*val_ref as _)?;
6630            }
6631        }
6632        {
6633            let val_ref = &self.r#stbc;
6634            if *val_ref != 0 {
6635                encoder.encode_varint32(72u32)?;
6636                encoder.encode_varint32(*val_ref as _)?;
6637            }
6638        }
6639        {
6640            let val_ref = &self.r#fec_coding;
6641            if *val_ref != 0 {
6642                encoder.encode_varint32(80u32)?;
6643                encoder.encode_varint32(*val_ref as _)?;
6644            }
6645        }
6646        {
6647            let val_ref = &self.r#sgi;
6648            if *val_ref != 0 {
6649                encoder.encode_varint32(88u32)?;
6650                encoder.encode_varint32(*val_ref as _)?;
6651            }
6652        }
6653        {
6654            let val_ref = &self.r#noise_floor;
6655            if *val_ref != 0 {
6656                encoder.encode_varint32(96u32)?;
6657                encoder.encode_int32(*val_ref as _)?;
6658            }
6659        }
6660        {
6661            let val_ref = &self.r#ampdu_cnt;
6662            if *val_ref != 0 {
6663                encoder.encode_varint32(104u32)?;
6664                encoder.encode_varint32(*val_ref as _)?;
6665            }
6666        }
6667        {
6668            let val_ref = &self.r#channel;
6669            if *val_ref != 0 {
6670                encoder.encode_varint32(112u32)?;
6671                encoder.encode_varint32(*val_ref as _)?;
6672            }
6673        }
6674        {
6675            let val_ref = &self.r#secondary_channel;
6676            if *val_ref != 0 {
6677                encoder.encode_varint32(120u32)?;
6678                encoder.encode_varint32(*val_ref as _)?;
6679            }
6680        }
6681        {
6682            let val_ref = &self.r#timestamp;
6683            if *val_ref != 0 {
6684                encoder.encode_varint32(128u32)?;
6685                encoder.encode_varint32(*val_ref as _)?;
6686            }
6687        }
6688        {
6689            let val_ref = &self.r#ant;
6690            if *val_ref != 0 {
6691                encoder.encode_varint32(136u32)?;
6692                encoder.encode_varint32(*val_ref as _)?;
6693            }
6694        }
6695        {
6696            let val_ref = &self.r#sig_len;
6697            if *val_ref != 0 {
6698                encoder.encode_varint32(144u32)?;
6699                encoder.encode_varint32(*val_ref as _)?;
6700            }
6701        }
6702        {
6703            let val_ref = &self.r#rx_state;
6704            if *val_ref != 0 {
6705                encoder.encode_varint32(152u32)?;
6706                encoder.encode_varint32(*val_ref as _)?;
6707            }
6708        }
6709        Ok(())
6710    }
6711    fn compute_size(&self) -> usize {
6712        use ::micropb::{PbMap, FieldEncode};
6713        let mut size = 0;
6714        {
6715            let val_ref = &self.r#rssi;
6716            if *val_ref != 0 {
6717                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
6718            }
6719        }
6720        {
6721            let val_ref = &self.r#rate;
6722            if *val_ref != 0 {
6723                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
6724            }
6725        }
6726        {
6727            let val_ref = &self.r#sig_mode;
6728            if *val_ref != 0 {
6729                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
6730            }
6731        }
6732        {
6733            let val_ref = &self.r#mcs;
6734            if *val_ref != 0 {
6735                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
6736            }
6737        }
6738        {
6739            let val_ref = &self.r#cwb;
6740            if *val_ref != 0 {
6741                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
6742            }
6743        }
6744        {
6745            let val_ref = &self.r#smoothing;
6746            if *val_ref != 0 {
6747                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
6748            }
6749        }
6750        {
6751            let val_ref = &self.r#not_sounding;
6752            if *val_ref != 0 {
6753                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
6754            }
6755        }
6756        {
6757            let val_ref = &self.r#aggregation;
6758            if *val_ref != 0 {
6759                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
6760            }
6761        }
6762        {
6763            let val_ref = &self.r#stbc;
6764            if *val_ref != 0 {
6765                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
6766            }
6767        }
6768        {
6769            let val_ref = &self.r#fec_coding;
6770            if *val_ref != 0 {
6771                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
6772            }
6773        }
6774        {
6775            let val_ref = &self.r#sgi;
6776            if *val_ref != 0 {
6777                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
6778            }
6779        }
6780        {
6781            let val_ref = &self.r#noise_floor;
6782            if *val_ref != 0 {
6783                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
6784            }
6785        }
6786        {
6787            let val_ref = &self.r#ampdu_cnt;
6788            if *val_ref != 0 {
6789                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
6790            }
6791        }
6792        {
6793            let val_ref = &self.r#channel;
6794            if *val_ref != 0 {
6795                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
6796            }
6797        }
6798        {
6799            let val_ref = &self.r#secondary_channel;
6800            if *val_ref != 0 {
6801                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
6802            }
6803        }
6804        {
6805            let val_ref = &self.r#timestamp;
6806            if *val_ref != 0 {
6807                size += 2usize + ::micropb::size::sizeof_varint32(*val_ref as _);
6808            }
6809        }
6810        {
6811            let val_ref = &self.r#ant;
6812            if *val_ref != 0 {
6813                size += 2usize + ::micropb::size::sizeof_varint32(*val_ref as _);
6814            }
6815        }
6816        {
6817            let val_ref = &self.r#sig_len;
6818            if *val_ref != 0 {
6819                size += 2usize + ::micropb::size::sizeof_varint32(*val_ref as _);
6820            }
6821        }
6822        {
6823            let val_ref = &self.r#rx_state;
6824            if *val_ref != 0 {
6825                size += 2usize + ::micropb::size::sizeof_varint32(*val_ref as _);
6826            }
6827        }
6828        size
6829    }
6830}
6831pub mod wifi_promiscuous_pkt_ {
6832    #[derive(Debug, Default, PartialEq, Clone)]
6833    pub struct _Hazzer([u8; 1]);
6834    impl _Hazzer {
6835        ///New hazzer with all fields set to off
6836        #[inline]
6837        pub const fn _new() -> Self {
6838            Self([0; 1])
6839        }
6840        ///Query presence of `rx_ctrl`
6841        #[inline]
6842        pub const fn r#rx_ctrl(&self) -> bool {
6843            (self.0[0] & 1) != 0
6844        }
6845        ///Set presence of `rx_ctrl`
6846        #[inline]
6847        pub const fn set_rx_ctrl(&mut self) -> &mut Self {
6848            let elem = &mut self.0[0];
6849            *elem |= 1;
6850            self
6851        }
6852        ///Clear presence of `rx_ctrl`
6853        #[inline]
6854        pub const fn clear_rx_ctrl(&mut self) -> &mut Self {
6855            let elem = &mut self.0[0];
6856            *elem &= !1;
6857            self
6858        }
6859        ///Builder method that sets the presence of `rx_ctrl`. Useful for initializing the Hazzer.
6860        #[inline]
6861        pub const fn init_rx_ctrl(mut self) -> Self {
6862            self.set_rx_ctrl();
6863            self
6864        }
6865    }
6866}
6867#[derive(Debug, Default, Clone)]
6868pub struct r#wifi_promiscuous_pkt {
6869    pub r#rx_ctrl: r#wifi_pkt_rx_ctrl,
6870    pub r#payload: ::micropb::heapless::Vec<u8, 32>,
6871    pub _has: wifi_promiscuous_pkt_::_Hazzer,
6872}
6873impl ::core::cmp::PartialEq for r#wifi_promiscuous_pkt {
6874    fn eq(&self, other: &Self) -> bool {
6875        let mut ret = true;
6876        ret &= (self.r#rx_ctrl() == other.r#rx_ctrl());
6877        ret &= (self.r#payload == other.r#payload);
6878        ret
6879    }
6880}
6881impl r#wifi_promiscuous_pkt {
6882    ///Return a reference to `rx_ctrl` as an `Option`
6883    #[inline]
6884    pub fn r#rx_ctrl(&self) -> ::core::option::Option<&r#wifi_pkt_rx_ctrl> {
6885        self._has.r#rx_ctrl().then_some(&self.r#rx_ctrl)
6886    }
6887    ///Set the value and presence of `rx_ctrl`
6888    #[inline]
6889    pub fn set_rx_ctrl(&mut self, value: r#wifi_pkt_rx_ctrl) -> &mut Self {
6890        self._has.set_rx_ctrl();
6891        self.r#rx_ctrl = value.into();
6892        self
6893    }
6894    ///Return a mutable reference to `rx_ctrl` as an `Option`
6895    #[inline]
6896    pub fn mut_rx_ctrl(&mut self) -> ::core::option::Option<&mut r#wifi_pkt_rx_ctrl> {
6897        self._has.r#rx_ctrl().then_some(&mut self.r#rx_ctrl)
6898    }
6899    ///Clear the presence of `rx_ctrl`
6900    #[inline]
6901    pub fn clear_rx_ctrl(&mut self) -> &mut Self {
6902        self._has.clear_rx_ctrl();
6903        self
6904    }
6905    ///Take the value of `rx_ctrl` and clear its presence
6906    #[inline]
6907    pub fn take_rx_ctrl(&mut self) -> ::core::option::Option<r#wifi_pkt_rx_ctrl> {
6908        let val = self._has.r#rx_ctrl().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, 32> {
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, 32> {
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, 32>) -> &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, 32>) -> 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::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
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!(< r#wifi_pkt_rx_ctrl as ::micropb::MessageEncode >
6979            ::MAX_SIZE, | size | ::micropb::size::sizeof_len_record(size)), | size | size
6980            + 1usize
6981        ) {
6982            max_size += size;
6983        } else {
6984            break 'msg (::core::option::Option::<usize>::None);
6985        };
6986        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
6987            ::core::option::Option::Some(33usize), | size | size + 1usize
6988        ) {
6989            max_size += size;
6990        } else {
6991            break 'msg (::core::option::Option::<usize>::None);
6992        };
6993        ::core::option::Option::Some(max_size)
6994    };
6995    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
6996        &self,
6997        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
6998    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
6999        use ::micropb::{PbMap, FieldEncode};
7000        {
7001            if let ::core::option::Option::Some(val_ref) = self.r#rx_ctrl() {
7002                encoder.encode_varint32(10u32)?;
7003                val_ref.encode_len_delimited(encoder)?;
7004            }
7005        }
7006        {
7007            let val_ref = &self.r#payload;
7008            if !val_ref.is_empty() {
7009                encoder.encode_varint32(18u32)?;
7010                encoder.encode_bytes(val_ref)?;
7011            }
7012        }
7013        Ok(())
7014    }
7015    fn compute_size(&self) -> usize {
7016        use ::micropb::{PbMap, FieldEncode};
7017        let mut size = 0;
7018        {
7019            if let ::core::option::Option::Some(val_ref) = self.r#rx_ctrl() {
7020                size
7021                    += 1usize
7022                        + ::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::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
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) = ::micropb::const_map!(
7096            ::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::{PbMap, FieldEncode};
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::{PbMap, FieldEncode};
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::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
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) = ::micropb::const_map!(
7390            ::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) = ::micropb::const_map!(
7397            ::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) = ::micropb::const_map!(
7404            ::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) = ::micropb::const_map!(
7411            ::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) = ::micropb::const_map!(
7418            ::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) = ::micropb::const_map!(
7425            ::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) = ::micropb::const_map!(
7432            ::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::{PbMap, FieldEncode};
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::{PbMap, FieldEncode};
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, 32>,
7584    pub r#dmac: ::micropb::heapless::Vec<u8, 32>,
7585    pub r#first_word_invalid: bool,
7586    pub r#buf: ::micropb::heapless::Vec<u8, 32>,
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._has.r#rx_ctrl().then(|| ::core::mem::take(&mut self.r#rx_ctrl));
7630        self._has.clear_rx_ctrl();
7631        val
7632    }
7633    ///Builder method that sets the value of `rx_ctrl`. Useful for initializing the message.
7634    #[inline]
7635    pub fn init_rx_ctrl(mut self, value: r#wifi_pkt_rx_ctrl) -> Self {
7636        self.set_rx_ctrl(value);
7637        self
7638    }
7639    ///Return a reference to `mac`
7640    #[inline]
7641    pub fn r#mac(&self) -> &::micropb::heapless::Vec<u8, 32> {
7642        &self.r#mac
7643    }
7644    ///Return a mutable reference to `mac`
7645    #[inline]
7646    pub fn mut_mac(&mut self) -> &mut ::micropb::heapless::Vec<u8, 32> {
7647        &mut self.r#mac
7648    }
7649    ///Set the value of `mac`
7650    #[inline]
7651    pub fn set_mac(&mut self, value: ::micropb::heapless::Vec<u8, 32>) -> &mut Self {
7652        self.r#mac = value.into();
7653        self
7654    }
7655    ///Builder method that sets the value of `mac`. Useful for initializing the message.
7656    #[inline]
7657    pub fn init_mac(mut self, value: ::micropb::heapless::Vec<u8, 32>) -> Self {
7658        self.r#mac = value.into();
7659        self
7660    }
7661    ///Return a reference to `dmac`
7662    #[inline]
7663    pub fn r#dmac(&self) -> &::micropb::heapless::Vec<u8, 32> {
7664        &self.r#dmac
7665    }
7666    ///Return a mutable reference to `dmac`
7667    #[inline]
7668    pub fn mut_dmac(&mut self) -> &mut ::micropb::heapless::Vec<u8, 32> {
7669        &mut self.r#dmac
7670    }
7671    ///Set the value of `dmac`
7672    #[inline]
7673    pub fn set_dmac(&mut self, value: ::micropb::heapless::Vec<u8, 32>) -> &mut Self {
7674        self.r#dmac = value.into();
7675        self
7676    }
7677    ///Builder method that sets the value of `dmac`. Useful for initializing the message.
7678    #[inline]
7679    pub fn init_dmac(mut self, value: ::micropb::heapless::Vec<u8, 32>) -> Self {
7680        self.r#dmac = value.into();
7681        self
7682    }
7683    ///Return a reference to `first_word_invalid`
7684    #[inline]
7685    pub fn r#first_word_invalid(&self) -> &bool {
7686        &self.r#first_word_invalid
7687    }
7688    ///Return a mutable reference to `first_word_invalid`
7689    #[inline]
7690    pub fn mut_first_word_invalid(&mut self) -> &mut bool {
7691        &mut self.r#first_word_invalid
7692    }
7693    ///Set the value of `first_word_invalid`
7694    #[inline]
7695    pub fn set_first_word_invalid(&mut self, value: bool) -> &mut Self {
7696        self.r#first_word_invalid = value.into();
7697        self
7698    }
7699    ///Builder method that sets the value of `first_word_invalid`. Useful for initializing the message.
7700    #[inline]
7701    pub fn init_first_word_invalid(mut self, value: bool) -> Self {
7702        self.r#first_word_invalid = value.into();
7703        self
7704    }
7705    ///Return a reference to `buf`
7706    #[inline]
7707    pub fn r#buf(&self) -> &::micropb::heapless::Vec<u8, 32> {
7708        &self.r#buf
7709    }
7710    ///Return a mutable reference to `buf`
7711    #[inline]
7712    pub fn mut_buf(&mut self) -> &mut ::micropb::heapless::Vec<u8, 32> {
7713        &mut self.r#buf
7714    }
7715    ///Set the value of `buf`
7716    #[inline]
7717    pub fn set_buf(&mut self, value: ::micropb::heapless::Vec<u8, 32>) -> &mut Self {
7718        self.r#buf = value.into();
7719        self
7720    }
7721    ///Builder method that sets the value of `buf`. Useful for initializing the message.
7722    #[inline]
7723    pub fn init_buf(mut self, value: ::micropb::heapless::Vec<u8, 32>) -> Self {
7724        self.r#buf = value.into();
7725        self
7726    }
7727    ///Return a reference to `len`
7728    #[inline]
7729    pub fn r#len(&self) -> &u32 {
7730        &self.r#len
7731    }
7732    ///Return a mutable reference to `len`
7733    #[inline]
7734    pub fn mut_len(&mut self) -> &mut u32 {
7735        &mut self.r#len
7736    }
7737    ///Set the value of `len`
7738    #[inline]
7739    pub fn set_len(&mut self, value: u32) -> &mut Self {
7740        self.r#len = value.into();
7741        self
7742    }
7743    ///Builder method that sets the value of `len`. Useful for initializing the message.
7744    #[inline]
7745    pub fn init_len(mut self, value: u32) -> Self {
7746        self.r#len = value.into();
7747        self
7748    }
7749}
7750impl ::micropb::MessageDecode for r#wifi_csi_info {
7751    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
7752        &mut self,
7753        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
7754        len: usize,
7755    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
7756        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
7757        let before = decoder.bytes_read();
7758        while decoder.bytes_read() - before < len {
7759            let tag = decoder.decode_tag()?;
7760            match tag.field_num() {
7761                0 => return Err(::micropb::DecodeError::ZeroField),
7762                1u32 => {
7763                    let mut_ref = &mut self.r#rx_ctrl;
7764                    {
7765                        mut_ref.decode_len_delimited(decoder)?;
7766                    };
7767                    self._has.set_rx_ctrl();
7768                }
7769                2u32 => {
7770                    let mut_ref = &mut self.r#mac;
7771                    {
7772                        decoder.decode_bytes(mut_ref, ::micropb::Presence::Implicit)?;
7773                    };
7774                }
7775                3u32 => {
7776                    let mut_ref = &mut self.r#dmac;
7777                    {
7778                        decoder.decode_bytes(mut_ref, ::micropb::Presence::Implicit)?;
7779                    };
7780                }
7781                4u32 => {
7782                    let mut_ref = &mut self.r#first_word_invalid;
7783                    {
7784                        let val = decoder.decode_bool()?;
7785                        let val_ref = &val;
7786                        if *val_ref {
7787                            *mut_ref = val as _;
7788                        }
7789                    };
7790                }
7791                5u32 => {
7792                    let mut_ref = &mut self.r#buf;
7793                    {
7794                        decoder.decode_bytes(mut_ref, ::micropb::Presence::Implicit)?;
7795                    };
7796                }
7797                6u32 => {
7798                    let mut_ref = &mut self.r#len;
7799                    {
7800                        let val = decoder.decode_varint32()?;
7801                        let val_ref = &val;
7802                        if *val_ref != 0 {
7803                            *mut_ref = val as _;
7804                        }
7805                    };
7806                }
7807                _ => {
7808                    decoder.skip_wire_value(tag.wire_type())?;
7809                }
7810            }
7811        }
7812        Ok(())
7813    }
7814}
7815impl ::micropb::MessageEncode for r#wifi_csi_info {
7816    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
7817        let mut max_size = 0;
7818        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
7819            ::micropb::const_map!(< r#wifi_pkt_rx_ctrl as ::micropb::MessageEncode >
7820            ::MAX_SIZE, | size | ::micropb::size::sizeof_len_record(size)), | size | size
7821            + 1usize
7822        ) {
7823            max_size += size;
7824        } else {
7825            break 'msg (::core::option::Option::<usize>::None);
7826        };
7827        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
7828            ::core::option::Option::Some(33usize), | size | size + 1usize
7829        ) {
7830            max_size += size;
7831        } else {
7832            break 'msg (::core::option::Option::<usize>::None);
7833        };
7834        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
7835            ::core::option::Option::Some(33usize), | size | size + 1usize
7836        ) {
7837            max_size += size;
7838        } else {
7839            break 'msg (::core::option::Option::<usize>::None);
7840        };
7841        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
7842            ::core::option::Option::Some(1usize), | size | size + 1usize
7843        ) {
7844            max_size += size;
7845        } else {
7846            break 'msg (::core::option::Option::<usize>::None);
7847        };
7848        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
7849            ::core::option::Option::Some(33usize), | size | size + 1usize
7850        ) {
7851            max_size += size;
7852        } else {
7853            break 'msg (::core::option::Option::<usize>::None);
7854        };
7855        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
7856            ::core::option::Option::Some(5usize), | size | size + 1usize
7857        ) {
7858            max_size += size;
7859        } else {
7860            break 'msg (::core::option::Option::<usize>::None);
7861        };
7862        ::core::option::Option::Some(max_size)
7863    };
7864    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
7865        &self,
7866        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
7867    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
7868        use ::micropb::{PbMap, FieldEncode};
7869        {
7870            if let ::core::option::Option::Some(val_ref) = self.r#rx_ctrl() {
7871                encoder.encode_varint32(10u32)?;
7872                val_ref.encode_len_delimited(encoder)?;
7873            }
7874        }
7875        {
7876            let val_ref = &self.r#mac;
7877            if !val_ref.is_empty() {
7878                encoder.encode_varint32(18u32)?;
7879                encoder.encode_bytes(val_ref)?;
7880            }
7881        }
7882        {
7883            let val_ref = &self.r#dmac;
7884            if !val_ref.is_empty() {
7885                encoder.encode_varint32(26u32)?;
7886                encoder.encode_bytes(val_ref)?;
7887            }
7888        }
7889        {
7890            let val_ref = &self.r#first_word_invalid;
7891            if *val_ref {
7892                encoder.encode_varint32(32u32)?;
7893                encoder.encode_bool(*val_ref)?;
7894            }
7895        }
7896        {
7897            let val_ref = &self.r#buf;
7898            if !val_ref.is_empty() {
7899                encoder.encode_varint32(42u32)?;
7900                encoder.encode_bytes(val_ref)?;
7901            }
7902        }
7903        {
7904            let val_ref = &self.r#len;
7905            if *val_ref != 0 {
7906                encoder.encode_varint32(48u32)?;
7907                encoder.encode_varint32(*val_ref as _)?;
7908            }
7909        }
7910        Ok(())
7911    }
7912    fn compute_size(&self) -> usize {
7913        use ::micropb::{PbMap, FieldEncode};
7914        let mut size = 0;
7915        {
7916            if let ::core::option::Option::Some(val_ref) = self.r#rx_ctrl() {
7917                size
7918                    += 1usize
7919                        + ::micropb::size::sizeof_len_record(val_ref.compute_size());
7920            }
7921        }
7922        {
7923            let val_ref = &self.r#mac;
7924            if !val_ref.is_empty() {
7925                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.len());
7926            }
7927        }
7928        {
7929            let val_ref = &self.r#dmac;
7930            if !val_ref.is_empty() {
7931                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.len());
7932            }
7933        }
7934        {
7935            let val_ref = &self.r#first_word_invalid;
7936            if *val_ref {
7937                size += 1usize + 1;
7938            }
7939        }
7940        {
7941            let val_ref = &self.r#buf;
7942            if !val_ref.is_empty() {
7943                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.len());
7944            }
7945        }
7946        {
7947            let val_ref = &self.r#len;
7948            if *val_ref != 0 {
7949                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
7950            }
7951        }
7952        size
7953    }
7954}
7955#[derive(Debug, Default, PartialEq, Clone)]
7956pub struct r#wifi_ant_gpio {
7957    pub r#gpio_select: u32,
7958    pub r#gpio_num: u32,
7959}
7960impl r#wifi_ant_gpio {
7961    ///Return a reference to `gpio_select`
7962    #[inline]
7963    pub fn r#gpio_select(&self) -> &u32 {
7964        &self.r#gpio_select
7965    }
7966    ///Return a mutable reference to `gpio_select`
7967    #[inline]
7968    pub fn mut_gpio_select(&mut self) -> &mut u32 {
7969        &mut self.r#gpio_select
7970    }
7971    ///Set the value of `gpio_select`
7972    #[inline]
7973    pub fn set_gpio_select(&mut self, value: u32) -> &mut Self {
7974        self.r#gpio_select = value.into();
7975        self
7976    }
7977    ///Builder method that sets the value of `gpio_select`. Useful for initializing the message.
7978    #[inline]
7979    pub fn init_gpio_select(mut self, value: u32) -> Self {
7980        self.r#gpio_select = value.into();
7981        self
7982    }
7983    ///Return a reference to `gpio_num`
7984    #[inline]
7985    pub fn r#gpio_num(&self) -> &u32 {
7986        &self.r#gpio_num
7987    }
7988    ///Return a mutable reference to `gpio_num`
7989    #[inline]
7990    pub fn mut_gpio_num(&mut self) -> &mut u32 {
7991        &mut self.r#gpio_num
7992    }
7993    ///Set the value of `gpio_num`
7994    #[inline]
7995    pub fn set_gpio_num(&mut self, value: u32) -> &mut Self {
7996        self.r#gpio_num = value.into();
7997        self
7998    }
7999    ///Builder method that sets the value of `gpio_num`. Useful for initializing the message.
8000    #[inline]
8001    pub fn init_gpio_num(mut self, value: u32) -> Self {
8002        self.r#gpio_num = value.into();
8003        self
8004    }
8005}
8006impl ::micropb::MessageDecode for r#wifi_ant_gpio {
8007    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
8008        &mut self,
8009        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
8010        len: usize,
8011    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
8012        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
8013        let before = decoder.bytes_read();
8014        while decoder.bytes_read() - before < len {
8015            let tag = decoder.decode_tag()?;
8016            match tag.field_num() {
8017                0 => return Err(::micropb::DecodeError::ZeroField),
8018                1u32 => {
8019                    let mut_ref = &mut self.r#gpio_select;
8020                    {
8021                        let val = decoder.decode_varint32()?;
8022                        let val_ref = &val;
8023                        if *val_ref != 0 {
8024                            *mut_ref = val as _;
8025                        }
8026                    };
8027                }
8028                2u32 => {
8029                    let mut_ref = &mut self.r#gpio_num;
8030                    {
8031                        let val = decoder.decode_varint32()?;
8032                        let val_ref = &val;
8033                        if *val_ref != 0 {
8034                            *mut_ref = val as _;
8035                        }
8036                    };
8037                }
8038                _ => {
8039                    decoder.skip_wire_value(tag.wire_type())?;
8040                }
8041            }
8042        }
8043        Ok(())
8044    }
8045}
8046impl ::micropb::MessageEncode for r#wifi_ant_gpio {
8047    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
8048        let mut max_size = 0;
8049        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
8050            ::core::option::Option::Some(5usize), | size | size + 1usize
8051        ) {
8052            max_size += size;
8053        } else {
8054            break 'msg (::core::option::Option::<usize>::None);
8055        };
8056        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
8057            ::core::option::Option::Some(5usize), | size | size + 1usize
8058        ) {
8059            max_size += size;
8060        } else {
8061            break 'msg (::core::option::Option::<usize>::None);
8062        };
8063        ::core::option::Option::Some(max_size)
8064    };
8065    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
8066        &self,
8067        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
8068    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
8069        use ::micropb::{PbMap, FieldEncode};
8070        {
8071            let val_ref = &self.r#gpio_select;
8072            if *val_ref != 0 {
8073                encoder.encode_varint32(8u32)?;
8074                encoder.encode_varint32(*val_ref as _)?;
8075            }
8076        }
8077        {
8078            let val_ref = &self.r#gpio_num;
8079            if *val_ref != 0 {
8080                encoder.encode_varint32(16u32)?;
8081                encoder.encode_varint32(*val_ref as _)?;
8082            }
8083        }
8084        Ok(())
8085    }
8086    fn compute_size(&self) -> usize {
8087        use ::micropb::{PbMap, FieldEncode};
8088        let mut size = 0;
8089        {
8090            let val_ref = &self.r#gpio_select;
8091            if *val_ref != 0 {
8092                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
8093            }
8094        }
8095        {
8096            let val_ref = &self.r#gpio_num;
8097            if *val_ref != 0 {
8098                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
8099            }
8100        }
8101        size
8102    }
8103}
8104#[derive(Debug, Default, PartialEq, Clone)]
8105pub struct r#wifi_ant_gpio_config {
8106    pub r#gpio_cfgs: ::micropb::heapless::Vec<r#wifi_ant_gpio, 8>,
8107}
8108impl r#wifi_ant_gpio_config {}
8109impl ::micropb::MessageDecode for r#wifi_ant_gpio_config {
8110    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
8111        &mut self,
8112        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
8113        len: usize,
8114    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
8115        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
8116        let before = decoder.bytes_read();
8117        while decoder.bytes_read() - before < len {
8118            let tag = decoder.decode_tag()?;
8119            match tag.field_num() {
8120                0 => return Err(::micropb::DecodeError::ZeroField),
8121                1u32 => {
8122                    let mut val: r#wifi_ant_gpio = ::core::default::Default::default();
8123                    let mut_ref = &mut val;
8124                    {
8125                        mut_ref.decode_len_delimited(decoder)?;
8126                    };
8127                    if let (Err(_), false) = (
8128                        self.r#gpio_cfgs.pb_push(val),
8129                        decoder.ignore_repeated_cap_err,
8130                    ) {
8131                        return Err(::micropb::DecodeError::Capacity);
8132                    }
8133                }
8134                _ => {
8135                    decoder.skip_wire_value(tag.wire_type())?;
8136                }
8137            }
8138        }
8139        Ok(())
8140    }
8141}
8142impl ::micropb::MessageEncode for r#wifi_ant_gpio_config {
8143    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
8144        let mut max_size = 0;
8145        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
8146            ::micropb::const_map!(< r#wifi_ant_gpio as ::micropb::MessageEncode >
8147            ::MAX_SIZE, | size | ::micropb::size::sizeof_len_record(size)), | size |
8148            (size + 1usize) * 8usize
8149        ) {
8150            max_size += size;
8151        } else {
8152            break 'msg (::core::option::Option::<usize>::None);
8153        };
8154        ::core::option::Option::Some(max_size)
8155    };
8156    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
8157        &self,
8158        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
8159    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
8160        use ::micropb::{PbMap, FieldEncode};
8161        {
8162            for val_ref in self.r#gpio_cfgs.iter() {
8163                encoder.encode_varint32(10u32)?;
8164                val_ref.encode_len_delimited(encoder)?;
8165            }
8166        }
8167        Ok(())
8168    }
8169    fn compute_size(&self) -> usize {
8170        use ::micropb::{PbMap, FieldEncode};
8171        let mut size = 0;
8172        {
8173            for val_ref in self.r#gpio_cfgs.iter() {
8174                size
8175                    += 1usize
8176                        + ::micropb::size::sizeof_len_record(val_ref.compute_size());
8177            }
8178        }
8179        size
8180    }
8181}
8182#[derive(Debug, Default, PartialEq, Clone)]
8183pub struct r#wifi_ant_config {
8184    pub r#rx_ant_mode: i32,
8185    pub r#rx_ant_default: i32,
8186    pub r#tx_ant_mode: i32,
8187    pub r#enabled_ant0: u32,
8188    pub r#enabled_ant1: u32,
8189}
8190impl r#wifi_ant_config {
8191    ///Return a reference to `rx_ant_mode`
8192    #[inline]
8193    pub fn r#rx_ant_mode(&self) -> &i32 {
8194        &self.r#rx_ant_mode
8195    }
8196    ///Return a mutable reference to `rx_ant_mode`
8197    #[inline]
8198    pub fn mut_rx_ant_mode(&mut self) -> &mut i32 {
8199        &mut self.r#rx_ant_mode
8200    }
8201    ///Set the value of `rx_ant_mode`
8202    #[inline]
8203    pub fn set_rx_ant_mode(&mut self, value: i32) -> &mut Self {
8204        self.r#rx_ant_mode = value.into();
8205        self
8206    }
8207    ///Builder method that sets the value of `rx_ant_mode`. Useful for initializing the message.
8208    #[inline]
8209    pub fn init_rx_ant_mode(mut self, value: i32) -> Self {
8210        self.r#rx_ant_mode = value.into();
8211        self
8212    }
8213    ///Return a reference to `rx_ant_default`
8214    #[inline]
8215    pub fn r#rx_ant_default(&self) -> &i32 {
8216        &self.r#rx_ant_default
8217    }
8218    ///Return a mutable reference to `rx_ant_default`
8219    #[inline]
8220    pub fn mut_rx_ant_default(&mut self) -> &mut i32 {
8221        &mut self.r#rx_ant_default
8222    }
8223    ///Set the value of `rx_ant_default`
8224    #[inline]
8225    pub fn set_rx_ant_default(&mut self, value: i32) -> &mut Self {
8226        self.r#rx_ant_default = value.into();
8227        self
8228    }
8229    ///Builder method that sets the value of `rx_ant_default`. Useful for initializing the message.
8230    #[inline]
8231    pub fn init_rx_ant_default(mut self, value: i32) -> Self {
8232        self.r#rx_ant_default = value.into();
8233        self
8234    }
8235    ///Return a reference to `tx_ant_mode`
8236    #[inline]
8237    pub fn r#tx_ant_mode(&self) -> &i32 {
8238        &self.r#tx_ant_mode
8239    }
8240    ///Return a mutable reference to `tx_ant_mode`
8241    #[inline]
8242    pub fn mut_tx_ant_mode(&mut self) -> &mut i32 {
8243        &mut self.r#tx_ant_mode
8244    }
8245    ///Set the value of `tx_ant_mode`
8246    #[inline]
8247    pub fn set_tx_ant_mode(&mut self, value: i32) -> &mut Self {
8248        self.r#tx_ant_mode = value.into();
8249        self
8250    }
8251    ///Builder method that sets the value of `tx_ant_mode`. Useful for initializing the message.
8252    #[inline]
8253    pub fn init_tx_ant_mode(mut self, value: i32) -> Self {
8254        self.r#tx_ant_mode = value.into();
8255        self
8256    }
8257    ///Return a reference to `enabled_ant0`
8258    #[inline]
8259    pub fn r#enabled_ant0(&self) -> &u32 {
8260        &self.r#enabled_ant0
8261    }
8262    ///Return a mutable reference to `enabled_ant0`
8263    #[inline]
8264    pub fn mut_enabled_ant0(&mut self) -> &mut u32 {
8265        &mut self.r#enabled_ant0
8266    }
8267    ///Set the value of `enabled_ant0`
8268    #[inline]
8269    pub fn set_enabled_ant0(&mut self, value: u32) -> &mut Self {
8270        self.r#enabled_ant0 = value.into();
8271        self
8272    }
8273    ///Builder method that sets the value of `enabled_ant0`. Useful for initializing the message.
8274    #[inline]
8275    pub fn init_enabled_ant0(mut self, value: u32) -> Self {
8276        self.r#enabled_ant0 = value.into();
8277        self
8278    }
8279    ///Return a reference to `enabled_ant1`
8280    #[inline]
8281    pub fn r#enabled_ant1(&self) -> &u32 {
8282        &self.r#enabled_ant1
8283    }
8284    ///Return a mutable reference to `enabled_ant1`
8285    #[inline]
8286    pub fn mut_enabled_ant1(&mut self) -> &mut u32 {
8287        &mut self.r#enabled_ant1
8288    }
8289    ///Set the value of `enabled_ant1`
8290    #[inline]
8291    pub fn set_enabled_ant1(&mut self, value: u32) -> &mut Self {
8292        self.r#enabled_ant1 = value.into();
8293        self
8294    }
8295    ///Builder method that sets the value of `enabled_ant1`. Useful for initializing the message.
8296    #[inline]
8297    pub fn init_enabled_ant1(mut self, value: u32) -> Self {
8298        self.r#enabled_ant1 = value.into();
8299        self
8300    }
8301}
8302impl ::micropb::MessageDecode for r#wifi_ant_config {
8303    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
8304        &mut self,
8305        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
8306        len: usize,
8307    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
8308        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
8309        let before = decoder.bytes_read();
8310        while decoder.bytes_read() - before < len {
8311            let tag = decoder.decode_tag()?;
8312            match tag.field_num() {
8313                0 => return Err(::micropb::DecodeError::ZeroField),
8314                1u32 => {
8315                    let mut_ref = &mut self.r#rx_ant_mode;
8316                    {
8317                        let val = decoder.decode_int32()?;
8318                        let val_ref = &val;
8319                        if *val_ref != 0 {
8320                            *mut_ref = val as _;
8321                        }
8322                    };
8323                }
8324                2u32 => {
8325                    let mut_ref = &mut self.r#rx_ant_default;
8326                    {
8327                        let val = decoder.decode_int32()?;
8328                        let val_ref = &val;
8329                        if *val_ref != 0 {
8330                            *mut_ref = val as _;
8331                        }
8332                    };
8333                }
8334                3u32 => {
8335                    let mut_ref = &mut self.r#tx_ant_mode;
8336                    {
8337                        let val = decoder.decode_int32()?;
8338                        let val_ref = &val;
8339                        if *val_ref != 0 {
8340                            *mut_ref = val as _;
8341                        }
8342                    };
8343                }
8344                4u32 => {
8345                    let mut_ref = &mut self.r#enabled_ant0;
8346                    {
8347                        let val = decoder.decode_varint32()?;
8348                        let val_ref = &val;
8349                        if *val_ref != 0 {
8350                            *mut_ref = val as _;
8351                        }
8352                    };
8353                }
8354                5u32 => {
8355                    let mut_ref = &mut self.r#enabled_ant1;
8356                    {
8357                        let val = decoder.decode_varint32()?;
8358                        let val_ref = &val;
8359                        if *val_ref != 0 {
8360                            *mut_ref = val as _;
8361                        }
8362                    };
8363                }
8364                _ => {
8365                    decoder.skip_wire_value(tag.wire_type())?;
8366                }
8367            }
8368        }
8369        Ok(())
8370    }
8371}
8372impl ::micropb::MessageEncode for r#wifi_ant_config {
8373    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
8374        let mut max_size = 0;
8375        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
8376            ::core::option::Option::Some(10usize), | size | size + 1usize
8377        ) {
8378            max_size += size;
8379        } else {
8380            break 'msg (::core::option::Option::<usize>::None);
8381        };
8382        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
8383            ::core::option::Option::Some(10usize), | size | size + 1usize
8384        ) {
8385            max_size += size;
8386        } else {
8387            break 'msg (::core::option::Option::<usize>::None);
8388        };
8389        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
8390            ::core::option::Option::Some(10usize), | size | size + 1usize
8391        ) {
8392            max_size += size;
8393        } else {
8394            break 'msg (::core::option::Option::<usize>::None);
8395        };
8396        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
8397            ::core::option::Option::Some(5usize), | size | size + 1usize
8398        ) {
8399            max_size += size;
8400        } else {
8401            break 'msg (::core::option::Option::<usize>::None);
8402        };
8403        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
8404            ::core::option::Option::Some(5usize), | size | size + 1usize
8405        ) {
8406            max_size += size;
8407        } else {
8408            break 'msg (::core::option::Option::<usize>::None);
8409        };
8410        ::core::option::Option::Some(max_size)
8411    };
8412    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
8413        &self,
8414        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
8415    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
8416        use ::micropb::{PbMap, FieldEncode};
8417        {
8418            let val_ref = &self.r#rx_ant_mode;
8419            if *val_ref != 0 {
8420                encoder.encode_varint32(8u32)?;
8421                encoder.encode_int32(*val_ref as _)?;
8422            }
8423        }
8424        {
8425            let val_ref = &self.r#rx_ant_default;
8426            if *val_ref != 0 {
8427                encoder.encode_varint32(16u32)?;
8428                encoder.encode_int32(*val_ref as _)?;
8429            }
8430        }
8431        {
8432            let val_ref = &self.r#tx_ant_mode;
8433            if *val_ref != 0 {
8434                encoder.encode_varint32(24u32)?;
8435                encoder.encode_int32(*val_ref as _)?;
8436            }
8437        }
8438        {
8439            let val_ref = &self.r#enabled_ant0;
8440            if *val_ref != 0 {
8441                encoder.encode_varint32(32u32)?;
8442                encoder.encode_varint32(*val_ref as _)?;
8443            }
8444        }
8445        {
8446            let val_ref = &self.r#enabled_ant1;
8447            if *val_ref != 0 {
8448                encoder.encode_varint32(40u32)?;
8449                encoder.encode_varint32(*val_ref as _)?;
8450            }
8451        }
8452        Ok(())
8453    }
8454    fn compute_size(&self) -> usize {
8455        use ::micropb::{PbMap, FieldEncode};
8456        let mut size = 0;
8457        {
8458            let val_ref = &self.r#rx_ant_mode;
8459            if *val_ref != 0 {
8460                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
8461            }
8462        }
8463        {
8464            let val_ref = &self.r#rx_ant_default;
8465            if *val_ref != 0 {
8466                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
8467            }
8468        }
8469        {
8470            let val_ref = &self.r#tx_ant_mode;
8471            if *val_ref != 0 {
8472                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
8473            }
8474        }
8475        {
8476            let val_ref = &self.r#enabled_ant0;
8477            if *val_ref != 0 {
8478                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
8479            }
8480        }
8481        {
8482            let val_ref = &self.r#enabled_ant1;
8483            if *val_ref != 0 {
8484                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
8485            }
8486        }
8487        size
8488    }
8489}
8490#[derive(Debug, Default, PartialEq, Clone)]
8491pub struct r#wifi_action_tx_req {
8492    pub r#ifx: i32,
8493    pub r#dest_mac: ::micropb::heapless::Vec<u8, 32>,
8494    pub r#no_ack: bool,
8495    pub r#data_len: u32,
8496    pub r#data: ::micropb::heapless::Vec<u8, 32>,
8497}
8498impl r#wifi_action_tx_req {
8499    ///Return a reference to `ifx`
8500    #[inline]
8501    pub fn r#ifx(&self) -> &i32 {
8502        &self.r#ifx
8503    }
8504    ///Return a mutable reference to `ifx`
8505    #[inline]
8506    pub fn mut_ifx(&mut self) -> &mut i32 {
8507        &mut self.r#ifx
8508    }
8509    ///Set the value of `ifx`
8510    #[inline]
8511    pub fn set_ifx(&mut self, value: i32) -> &mut Self {
8512        self.r#ifx = value.into();
8513        self
8514    }
8515    ///Builder method that sets the value of `ifx`. Useful for initializing the message.
8516    #[inline]
8517    pub fn init_ifx(mut self, value: i32) -> Self {
8518        self.r#ifx = value.into();
8519        self
8520    }
8521    ///Return a reference to `dest_mac`
8522    #[inline]
8523    pub fn r#dest_mac(&self) -> &::micropb::heapless::Vec<u8, 32> {
8524        &self.r#dest_mac
8525    }
8526    ///Return a mutable reference to `dest_mac`
8527    #[inline]
8528    pub fn mut_dest_mac(&mut self) -> &mut ::micropb::heapless::Vec<u8, 32> {
8529        &mut self.r#dest_mac
8530    }
8531    ///Set the value of `dest_mac`
8532    #[inline]
8533    pub fn set_dest_mac(
8534        &mut self,
8535        value: ::micropb::heapless::Vec<u8, 32>,
8536    ) -> &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, 32>) -> 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, 32> {
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, 32> {
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, 32>) -> &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, 32>) -> 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::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
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) = ::micropb::const_map!(
8679            ::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) = ::micropb::const_map!(
8686            ::core::option::Option::Some(33usize), | 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) = ::micropb::const_map!(
8693            ::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) = ::micropb::const_map!(
8700            ::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) = ::micropb::const_map!(
8707            ::core::option::Option::Some(33usize), | 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::{PbMap, FieldEncode};
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::{PbMap, FieldEncode};
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, 32>,
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, 32> {
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, 32> {
8809        &mut self.r#resp_mac
8810    }
8811    ///Set the value of `resp_mac`
8812    #[inline]
8813    pub fn set_resp_mac(
8814        &mut self,
8815        value: ::micropb::heapless::Vec<u8, 32>,
8816    ) -> &mut Self {
8817        self.r#resp_mac = value.into();
8818        self
8819    }
8820    ///Builder method that sets the value of `resp_mac`. Useful for initializing the message.
8821    #[inline]
8822    pub fn init_resp_mac(mut self, value: ::micropb::heapless::Vec<u8, 32>) -> Self {
8823        self.r#resp_mac = value.into();
8824        self
8825    }
8826    ///Return a reference to `channel`
8827    #[inline]
8828    pub fn r#channel(&self) -> &u32 {
8829        &self.r#channel
8830    }
8831    ///Return a mutable reference to `channel`
8832    #[inline]
8833    pub fn mut_channel(&mut self) -> &mut u32 {
8834        &mut self.r#channel
8835    }
8836    ///Set the value of `channel`
8837    #[inline]
8838    pub fn set_channel(&mut self, value: u32) -> &mut Self {
8839        self.r#channel = value.into();
8840        self
8841    }
8842    ///Builder method that sets the value of `channel`. Useful for initializing the message.
8843    #[inline]
8844    pub fn init_channel(mut self, value: u32) -> Self {
8845        self.r#channel = value.into();
8846        self
8847    }
8848    ///Return a reference to `frm_count`
8849    #[inline]
8850    pub fn r#frm_count(&self) -> &u32 {
8851        &self.r#frm_count
8852    }
8853    ///Return a mutable reference to `frm_count`
8854    #[inline]
8855    pub fn mut_frm_count(&mut self) -> &mut u32 {
8856        &mut self.r#frm_count
8857    }
8858    ///Set the value of `frm_count`
8859    #[inline]
8860    pub fn set_frm_count(&mut self, value: u32) -> &mut Self {
8861        self.r#frm_count = value.into();
8862        self
8863    }
8864    ///Builder method that sets the value of `frm_count`. Useful for initializing the message.
8865    #[inline]
8866    pub fn init_frm_count(mut self, value: u32) -> Self {
8867        self.r#frm_count = value.into();
8868        self
8869    }
8870    ///Return a reference to `burst_period`
8871    #[inline]
8872    pub fn r#burst_period(&self) -> &u32 {
8873        &self.r#burst_period
8874    }
8875    ///Return a mutable reference to `burst_period`
8876    #[inline]
8877    pub fn mut_burst_period(&mut self) -> &mut u32 {
8878        &mut self.r#burst_period
8879    }
8880    ///Set the value of `burst_period`
8881    #[inline]
8882    pub fn set_burst_period(&mut self, value: u32) -> &mut Self {
8883        self.r#burst_period = value.into();
8884        self
8885    }
8886    ///Builder method that sets the value of `burst_period`. Useful for initializing the message.
8887    #[inline]
8888    pub fn init_burst_period(mut self, value: u32) -> Self {
8889        self.r#burst_period = value.into();
8890        self
8891    }
8892}
8893impl ::micropb::MessageDecode for r#wifi_ftm_initiator_cfg {
8894    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
8895        &mut self,
8896        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
8897        len: usize,
8898    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
8899        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
8900        let before = decoder.bytes_read();
8901        while decoder.bytes_read() - before < len {
8902            let tag = decoder.decode_tag()?;
8903            match tag.field_num() {
8904                0 => return Err(::micropb::DecodeError::ZeroField),
8905                1u32 => {
8906                    let mut_ref = &mut self.r#resp_mac;
8907                    {
8908                        decoder.decode_bytes(mut_ref, ::micropb::Presence::Implicit)?;
8909                    };
8910                }
8911                2u32 => {
8912                    let mut_ref = &mut self.r#channel;
8913                    {
8914                        let val = decoder.decode_varint32()?;
8915                        let val_ref = &val;
8916                        if *val_ref != 0 {
8917                            *mut_ref = val as _;
8918                        }
8919                    };
8920                }
8921                3u32 => {
8922                    let mut_ref = &mut self.r#frm_count;
8923                    {
8924                        let val = decoder.decode_varint32()?;
8925                        let val_ref = &val;
8926                        if *val_ref != 0 {
8927                            *mut_ref = val as _;
8928                        }
8929                    };
8930                }
8931                4u32 => {
8932                    let mut_ref = &mut self.r#burst_period;
8933                    {
8934                        let val = decoder.decode_varint32()?;
8935                        let val_ref = &val;
8936                        if *val_ref != 0 {
8937                            *mut_ref = val as _;
8938                        }
8939                    };
8940                }
8941                _ => {
8942                    decoder.skip_wire_value(tag.wire_type())?;
8943                }
8944            }
8945        }
8946        Ok(())
8947    }
8948}
8949impl ::micropb::MessageEncode for r#wifi_ftm_initiator_cfg {
8950    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
8951        let mut max_size = 0;
8952        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
8953            ::core::option::Option::Some(33usize), | size | size + 1usize
8954        ) {
8955            max_size += size;
8956        } else {
8957            break 'msg (::core::option::Option::<usize>::None);
8958        };
8959        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
8960            ::core::option::Option::Some(5usize), | size | size + 1usize
8961        ) {
8962            max_size += size;
8963        } else {
8964            break 'msg (::core::option::Option::<usize>::None);
8965        };
8966        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
8967            ::core::option::Option::Some(5usize), | size | size + 1usize
8968        ) {
8969            max_size += size;
8970        } else {
8971            break 'msg (::core::option::Option::<usize>::None);
8972        };
8973        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
8974            ::core::option::Option::Some(5usize), | size | size + 1usize
8975        ) {
8976            max_size += size;
8977        } else {
8978            break 'msg (::core::option::Option::<usize>::None);
8979        };
8980        ::core::option::Option::Some(max_size)
8981    };
8982    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
8983        &self,
8984        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
8985    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
8986        use ::micropb::{PbMap, FieldEncode};
8987        {
8988            let val_ref = &self.r#resp_mac;
8989            if !val_ref.is_empty() {
8990                encoder.encode_varint32(10u32)?;
8991                encoder.encode_bytes(val_ref)?;
8992            }
8993        }
8994        {
8995            let val_ref = &self.r#channel;
8996            if *val_ref != 0 {
8997                encoder.encode_varint32(16u32)?;
8998                encoder.encode_varint32(*val_ref as _)?;
8999            }
9000        }
9001        {
9002            let val_ref = &self.r#frm_count;
9003            if *val_ref != 0 {
9004                encoder.encode_varint32(24u32)?;
9005                encoder.encode_varint32(*val_ref as _)?;
9006            }
9007        }
9008        {
9009            let val_ref = &self.r#burst_period;
9010            if *val_ref != 0 {
9011                encoder.encode_varint32(32u32)?;
9012                encoder.encode_varint32(*val_ref as _)?;
9013            }
9014        }
9015        Ok(())
9016    }
9017    fn compute_size(&self) -> usize {
9018        use ::micropb::{PbMap, FieldEncode};
9019        let mut size = 0;
9020        {
9021            let val_ref = &self.r#resp_mac;
9022            if !val_ref.is_empty() {
9023                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.len());
9024            }
9025        }
9026        {
9027            let val_ref = &self.r#channel;
9028            if *val_ref != 0 {
9029                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
9030            }
9031        }
9032        {
9033            let val_ref = &self.r#frm_count;
9034            if *val_ref != 0 {
9035                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
9036            }
9037        }
9038        {
9039            let val_ref = &self.r#burst_period;
9040            if *val_ref != 0 {
9041                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
9042            }
9043        }
9044        size
9045    }
9046}
9047#[derive(Debug, Default, PartialEq, Clone)]
9048pub struct r#wifi_event_sta_scan_done {
9049    pub r#status: u32,
9050    pub r#number: u32,
9051    pub r#scan_id: u32,
9052}
9053impl r#wifi_event_sta_scan_done {
9054    ///Return a reference to `status`
9055    #[inline]
9056    pub fn r#status(&self) -> &u32 {
9057        &self.r#status
9058    }
9059    ///Return a mutable reference to `status`
9060    #[inline]
9061    pub fn mut_status(&mut self) -> &mut u32 {
9062        &mut self.r#status
9063    }
9064    ///Set the value of `status`
9065    #[inline]
9066    pub fn set_status(&mut self, value: u32) -> &mut Self {
9067        self.r#status = value.into();
9068        self
9069    }
9070    ///Builder method that sets the value of `status`. Useful for initializing the message.
9071    #[inline]
9072    pub fn init_status(mut self, value: u32) -> Self {
9073        self.r#status = value.into();
9074        self
9075    }
9076    ///Return a reference to `number`
9077    #[inline]
9078    pub fn r#number(&self) -> &u32 {
9079        &self.r#number
9080    }
9081    ///Return a mutable reference to `number`
9082    #[inline]
9083    pub fn mut_number(&mut self) -> &mut u32 {
9084        &mut self.r#number
9085    }
9086    ///Set the value of `number`
9087    #[inline]
9088    pub fn set_number(&mut self, value: u32) -> &mut Self {
9089        self.r#number = value.into();
9090        self
9091    }
9092    ///Builder method that sets the value of `number`. Useful for initializing the message.
9093    #[inline]
9094    pub fn init_number(mut self, value: u32) -> Self {
9095        self.r#number = value.into();
9096        self
9097    }
9098    ///Return a reference to `scan_id`
9099    #[inline]
9100    pub fn r#scan_id(&self) -> &u32 {
9101        &self.r#scan_id
9102    }
9103    ///Return a mutable reference to `scan_id`
9104    #[inline]
9105    pub fn mut_scan_id(&mut self) -> &mut u32 {
9106        &mut self.r#scan_id
9107    }
9108    ///Set the value of `scan_id`
9109    #[inline]
9110    pub fn set_scan_id(&mut self, value: u32) -> &mut Self {
9111        self.r#scan_id = value.into();
9112        self
9113    }
9114    ///Builder method that sets the value of `scan_id`. Useful for initializing the message.
9115    #[inline]
9116    pub fn init_scan_id(mut self, value: u32) -> Self {
9117        self.r#scan_id = value.into();
9118        self
9119    }
9120}
9121impl ::micropb::MessageDecode for r#wifi_event_sta_scan_done {
9122    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
9123        &mut self,
9124        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
9125        len: usize,
9126    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
9127        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
9128        let before = decoder.bytes_read();
9129        while decoder.bytes_read() - before < len {
9130            let tag = decoder.decode_tag()?;
9131            match tag.field_num() {
9132                0 => return Err(::micropb::DecodeError::ZeroField),
9133                1u32 => {
9134                    let mut_ref = &mut self.r#status;
9135                    {
9136                        let val = decoder.decode_varint32()?;
9137                        let val_ref = &val;
9138                        if *val_ref != 0 {
9139                            *mut_ref = val as _;
9140                        }
9141                    };
9142                }
9143                2u32 => {
9144                    let mut_ref = &mut self.r#number;
9145                    {
9146                        let val = decoder.decode_varint32()?;
9147                        let val_ref = &val;
9148                        if *val_ref != 0 {
9149                            *mut_ref = val as _;
9150                        }
9151                    };
9152                }
9153                3u32 => {
9154                    let mut_ref = &mut self.r#scan_id;
9155                    {
9156                        let val = decoder.decode_varint32()?;
9157                        let val_ref = &val;
9158                        if *val_ref != 0 {
9159                            *mut_ref = val as _;
9160                        }
9161                    };
9162                }
9163                _ => {
9164                    decoder.skip_wire_value(tag.wire_type())?;
9165                }
9166            }
9167        }
9168        Ok(())
9169    }
9170}
9171impl ::micropb::MessageEncode for r#wifi_event_sta_scan_done {
9172    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
9173        let mut max_size = 0;
9174        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
9175            ::core::option::Option::Some(5usize), | size | size + 1usize
9176        ) {
9177            max_size += size;
9178        } else {
9179            break 'msg (::core::option::Option::<usize>::None);
9180        };
9181        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
9182            ::core::option::Option::Some(5usize), | size | size + 1usize
9183        ) {
9184            max_size += size;
9185        } else {
9186            break 'msg (::core::option::Option::<usize>::None);
9187        };
9188        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
9189            ::core::option::Option::Some(5usize), | size | size + 1usize
9190        ) {
9191            max_size += size;
9192        } else {
9193            break 'msg (::core::option::Option::<usize>::None);
9194        };
9195        ::core::option::Option::Some(max_size)
9196    };
9197    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
9198        &self,
9199        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
9200    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
9201        use ::micropb::{PbMap, FieldEncode};
9202        {
9203            let val_ref = &self.r#status;
9204            if *val_ref != 0 {
9205                encoder.encode_varint32(8u32)?;
9206                encoder.encode_varint32(*val_ref as _)?;
9207            }
9208        }
9209        {
9210            let val_ref = &self.r#number;
9211            if *val_ref != 0 {
9212                encoder.encode_varint32(16u32)?;
9213                encoder.encode_varint32(*val_ref as _)?;
9214            }
9215        }
9216        {
9217            let val_ref = &self.r#scan_id;
9218            if *val_ref != 0 {
9219                encoder.encode_varint32(24u32)?;
9220                encoder.encode_varint32(*val_ref as _)?;
9221            }
9222        }
9223        Ok(())
9224    }
9225    fn compute_size(&self) -> usize {
9226        use ::micropb::{PbMap, FieldEncode};
9227        let mut size = 0;
9228        {
9229            let val_ref = &self.r#status;
9230            if *val_ref != 0 {
9231                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
9232            }
9233        }
9234        {
9235            let val_ref = &self.r#number;
9236            if *val_ref != 0 {
9237                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
9238            }
9239        }
9240        {
9241            let val_ref = &self.r#scan_id;
9242            if *val_ref != 0 {
9243                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
9244            }
9245        }
9246        size
9247    }
9248}
9249#[derive(Debug, Default, PartialEq, Clone)]
9250pub struct r#wifi_event_sta_connected {
9251    pub r#ssid: ::micropb::heapless::Vec<u8, 32>,
9252    pub r#ssid_len: u32,
9253    pub r#bssid: ::micropb::heapless::Vec<u8, 32>,
9254    pub r#channel: u32,
9255    pub r#authmode: i32,
9256    pub r#aid: i32,
9257}
9258impl r#wifi_event_sta_connected {
9259    ///Return a reference to `ssid`
9260    #[inline]
9261    pub fn r#ssid(&self) -> &::micropb::heapless::Vec<u8, 32> {
9262        &self.r#ssid
9263    }
9264    ///Return a mutable reference to `ssid`
9265    #[inline]
9266    pub fn mut_ssid(&mut self) -> &mut ::micropb::heapless::Vec<u8, 32> {
9267        &mut self.r#ssid
9268    }
9269    ///Set the value of `ssid`
9270    #[inline]
9271    pub fn set_ssid(&mut self, value: ::micropb::heapless::Vec<u8, 32>) -> &mut Self {
9272        self.r#ssid = value.into();
9273        self
9274    }
9275    ///Builder method that sets the value of `ssid`. Useful for initializing the message.
9276    #[inline]
9277    pub fn init_ssid(mut self, value: ::micropb::heapless::Vec<u8, 32>) -> Self {
9278        self.r#ssid = value.into();
9279        self
9280    }
9281    ///Return a reference to `ssid_len`
9282    #[inline]
9283    pub fn r#ssid_len(&self) -> &u32 {
9284        &self.r#ssid_len
9285    }
9286    ///Return a mutable reference to `ssid_len`
9287    #[inline]
9288    pub fn mut_ssid_len(&mut self) -> &mut u32 {
9289        &mut self.r#ssid_len
9290    }
9291    ///Set the value of `ssid_len`
9292    #[inline]
9293    pub fn set_ssid_len(&mut self, value: u32) -> &mut Self {
9294        self.r#ssid_len = value.into();
9295        self
9296    }
9297    ///Builder method that sets the value of `ssid_len`. Useful for initializing the message.
9298    #[inline]
9299    pub fn init_ssid_len(mut self, value: u32) -> Self {
9300        self.r#ssid_len = value.into();
9301        self
9302    }
9303    ///Return a reference to `bssid`
9304    #[inline]
9305    pub fn r#bssid(&self) -> &::micropb::heapless::Vec<u8, 32> {
9306        &self.r#bssid
9307    }
9308    ///Return a mutable reference to `bssid`
9309    #[inline]
9310    pub fn mut_bssid(&mut self) -> &mut ::micropb::heapless::Vec<u8, 32> {
9311        &mut self.r#bssid
9312    }
9313    ///Set the value of `bssid`
9314    #[inline]
9315    pub fn set_bssid(&mut self, value: ::micropb::heapless::Vec<u8, 32>) -> &mut Self {
9316        self.r#bssid = value.into();
9317        self
9318    }
9319    ///Builder method that sets the value of `bssid`. Useful for initializing the message.
9320    #[inline]
9321    pub fn init_bssid(mut self, value: ::micropb::heapless::Vec<u8, 32>) -> Self {
9322        self.r#bssid = value.into();
9323        self
9324    }
9325    ///Return a reference to `channel`
9326    #[inline]
9327    pub fn r#channel(&self) -> &u32 {
9328        &self.r#channel
9329    }
9330    ///Return a mutable reference to `channel`
9331    #[inline]
9332    pub fn mut_channel(&mut self) -> &mut u32 {
9333        &mut self.r#channel
9334    }
9335    ///Set the value of `channel`
9336    #[inline]
9337    pub fn set_channel(&mut self, value: u32) -> &mut Self {
9338        self.r#channel = value.into();
9339        self
9340    }
9341    ///Builder method that sets the value of `channel`. Useful for initializing the message.
9342    #[inline]
9343    pub fn init_channel(mut self, value: u32) -> Self {
9344        self.r#channel = value.into();
9345        self
9346    }
9347    ///Return a reference to `authmode`
9348    #[inline]
9349    pub fn r#authmode(&self) -> &i32 {
9350        &self.r#authmode
9351    }
9352    ///Return a mutable reference to `authmode`
9353    #[inline]
9354    pub fn mut_authmode(&mut self) -> &mut i32 {
9355        &mut self.r#authmode
9356    }
9357    ///Set the value of `authmode`
9358    #[inline]
9359    pub fn set_authmode(&mut self, value: i32) -> &mut Self {
9360        self.r#authmode = value.into();
9361        self
9362    }
9363    ///Builder method that sets the value of `authmode`. Useful for initializing the message.
9364    #[inline]
9365    pub fn init_authmode(mut self, value: i32) -> Self {
9366        self.r#authmode = value.into();
9367        self
9368    }
9369    ///Return a reference to `aid`
9370    #[inline]
9371    pub fn r#aid(&self) -> &i32 {
9372        &self.r#aid
9373    }
9374    ///Return a mutable reference to `aid`
9375    #[inline]
9376    pub fn mut_aid(&mut self) -> &mut i32 {
9377        &mut self.r#aid
9378    }
9379    ///Set the value of `aid`
9380    #[inline]
9381    pub fn set_aid(&mut self, value: i32) -> &mut Self {
9382        self.r#aid = value.into();
9383        self
9384    }
9385    ///Builder method that sets the value of `aid`. Useful for initializing the message.
9386    #[inline]
9387    pub fn init_aid(mut self, value: i32) -> Self {
9388        self.r#aid = value.into();
9389        self
9390    }
9391}
9392impl ::micropb::MessageDecode for r#wifi_event_sta_connected {
9393    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
9394        &mut self,
9395        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
9396        len: usize,
9397    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
9398        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
9399        let before = decoder.bytes_read();
9400        while decoder.bytes_read() - before < len {
9401            let tag = decoder.decode_tag()?;
9402            match tag.field_num() {
9403                0 => return Err(::micropb::DecodeError::ZeroField),
9404                1u32 => {
9405                    let mut_ref = &mut self.r#ssid;
9406                    {
9407                        decoder.decode_bytes(mut_ref, ::micropb::Presence::Implicit)?;
9408                    };
9409                }
9410                2u32 => {
9411                    let mut_ref = &mut self.r#ssid_len;
9412                    {
9413                        let val = decoder.decode_varint32()?;
9414                        let val_ref = &val;
9415                        if *val_ref != 0 {
9416                            *mut_ref = val as _;
9417                        }
9418                    };
9419                }
9420                3u32 => {
9421                    let mut_ref = &mut self.r#bssid;
9422                    {
9423                        decoder.decode_bytes(mut_ref, ::micropb::Presence::Implicit)?;
9424                    };
9425                }
9426                4u32 => {
9427                    let mut_ref = &mut self.r#channel;
9428                    {
9429                        let val = decoder.decode_varint32()?;
9430                        let val_ref = &val;
9431                        if *val_ref != 0 {
9432                            *mut_ref = val as _;
9433                        }
9434                    };
9435                }
9436                5u32 => {
9437                    let mut_ref = &mut self.r#authmode;
9438                    {
9439                        let val = decoder.decode_int32()?;
9440                        let val_ref = &val;
9441                        if *val_ref != 0 {
9442                            *mut_ref = val as _;
9443                        }
9444                    };
9445                }
9446                6u32 => {
9447                    let mut_ref = &mut self.r#aid;
9448                    {
9449                        let val = decoder.decode_int32()?;
9450                        let val_ref = &val;
9451                        if *val_ref != 0 {
9452                            *mut_ref = val as _;
9453                        }
9454                    };
9455                }
9456                _ => {
9457                    decoder.skip_wire_value(tag.wire_type())?;
9458                }
9459            }
9460        }
9461        Ok(())
9462    }
9463}
9464impl ::micropb::MessageEncode for r#wifi_event_sta_connected {
9465    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
9466        let mut max_size = 0;
9467        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
9468            ::core::option::Option::Some(33usize), | size | size + 1usize
9469        ) {
9470            max_size += size;
9471        } else {
9472            break 'msg (::core::option::Option::<usize>::None);
9473        };
9474        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
9475            ::core::option::Option::Some(5usize), | size | size + 1usize
9476        ) {
9477            max_size += size;
9478        } else {
9479            break 'msg (::core::option::Option::<usize>::None);
9480        };
9481        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
9482            ::core::option::Option::Some(33usize), | size | size + 1usize
9483        ) {
9484            max_size += size;
9485        } else {
9486            break 'msg (::core::option::Option::<usize>::None);
9487        };
9488        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
9489            ::core::option::Option::Some(5usize), | size | size + 1usize
9490        ) {
9491            max_size += size;
9492        } else {
9493            break 'msg (::core::option::Option::<usize>::None);
9494        };
9495        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
9496            ::core::option::Option::Some(10usize), | size | size + 1usize
9497        ) {
9498            max_size += size;
9499        } else {
9500            break 'msg (::core::option::Option::<usize>::None);
9501        };
9502        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
9503            ::core::option::Option::Some(10usize), | size | size + 1usize
9504        ) {
9505            max_size += size;
9506        } else {
9507            break 'msg (::core::option::Option::<usize>::None);
9508        };
9509        ::core::option::Option::Some(max_size)
9510    };
9511    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
9512        &self,
9513        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
9514    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
9515        use ::micropb::{PbMap, FieldEncode};
9516        {
9517            let val_ref = &self.r#ssid;
9518            if !val_ref.is_empty() {
9519                encoder.encode_varint32(10u32)?;
9520                encoder.encode_bytes(val_ref)?;
9521            }
9522        }
9523        {
9524            let val_ref = &self.r#ssid_len;
9525            if *val_ref != 0 {
9526                encoder.encode_varint32(16u32)?;
9527                encoder.encode_varint32(*val_ref as _)?;
9528            }
9529        }
9530        {
9531            let val_ref = &self.r#bssid;
9532            if !val_ref.is_empty() {
9533                encoder.encode_varint32(26u32)?;
9534                encoder.encode_bytes(val_ref)?;
9535            }
9536        }
9537        {
9538            let val_ref = &self.r#channel;
9539            if *val_ref != 0 {
9540                encoder.encode_varint32(32u32)?;
9541                encoder.encode_varint32(*val_ref as _)?;
9542            }
9543        }
9544        {
9545            let val_ref = &self.r#authmode;
9546            if *val_ref != 0 {
9547                encoder.encode_varint32(40u32)?;
9548                encoder.encode_int32(*val_ref as _)?;
9549            }
9550        }
9551        {
9552            let val_ref = &self.r#aid;
9553            if *val_ref != 0 {
9554                encoder.encode_varint32(48u32)?;
9555                encoder.encode_int32(*val_ref as _)?;
9556            }
9557        }
9558        Ok(())
9559    }
9560    fn compute_size(&self) -> usize {
9561        use ::micropb::{PbMap, FieldEncode};
9562        let mut size = 0;
9563        {
9564            let val_ref = &self.r#ssid;
9565            if !val_ref.is_empty() {
9566                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.len());
9567            }
9568        }
9569        {
9570            let val_ref = &self.r#ssid_len;
9571            if *val_ref != 0 {
9572                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
9573            }
9574        }
9575        {
9576            let val_ref = &self.r#bssid;
9577            if !val_ref.is_empty() {
9578                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.len());
9579            }
9580        }
9581        {
9582            let val_ref = &self.r#channel;
9583            if *val_ref != 0 {
9584                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
9585            }
9586        }
9587        {
9588            let val_ref = &self.r#authmode;
9589            if *val_ref != 0 {
9590                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
9591            }
9592        }
9593        {
9594            let val_ref = &self.r#aid;
9595            if *val_ref != 0 {
9596                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
9597            }
9598        }
9599        size
9600    }
9601}
9602#[derive(Debug, Default, PartialEq, Clone)]
9603pub struct r#wifi_event_sta_disconnected {
9604    pub r#ssid: ::micropb::heapless::Vec<u8, 32>,
9605    pub r#ssid_len: u32,
9606    pub r#bssid: ::micropb::heapless::Vec<u8, 32>,
9607    pub r#reason: u32,
9608    pub r#rssi: i32,
9609}
9610impl r#wifi_event_sta_disconnected {
9611    ///Return a reference to `ssid`
9612    #[inline]
9613    pub fn r#ssid(&self) -> &::micropb::heapless::Vec<u8, 32> {
9614        &self.r#ssid
9615    }
9616    ///Return a mutable reference to `ssid`
9617    #[inline]
9618    pub fn mut_ssid(&mut self) -> &mut ::micropb::heapless::Vec<u8, 32> {
9619        &mut self.r#ssid
9620    }
9621    ///Set the value of `ssid`
9622    #[inline]
9623    pub fn set_ssid(&mut self, value: ::micropb::heapless::Vec<u8, 32>) -> &mut Self {
9624        self.r#ssid = value.into();
9625        self
9626    }
9627    ///Builder method that sets the value of `ssid`. Useful for initializing the message.
9628    #[inline]
9629    pub fn init_ssid(mut self, value: ::micropb::heapless::Vec<u8, 32>) -> Self {
9630        self.r#ssid = value.into();
9631        self
9632    }
9633    ///Return a reference to `ssid_len`
9634    #[inline]
9635    pub fn r#ssid_len(&self) -> &u32 {
9636        &self.r#ssid_len
9637    }
9638    ///Return a mutable reference to `ssid_len`
9639    #[inline]
9640    pub fn mut_ssid_len(&mut self) -> &mut u32 {
9641        &mut self.r#ssid_len
9642    }
9643    ///Set the value of `ssid_len`
9644    #[inline]
9645    pub fn set_ssid_len(&mut self, value: u32) -> &mut Self {
9646        self.r#ssid_len = value.into();
9647        self
9648    }
9649    ///Builder method that sets the value of `ssid_len`. Useful for initializing the message.
9650    #[inline]
9651    pub fn init_ssid_len(mut self, value: u32) -> Self {
9652        self.r#ssid_len = value.into();
9653        self
9654    }
9655    ///Return a reference to `bssid`
9656    #[inline]
9657    pub fn r#bssid(&self) -> &::micropb::heapless::Vec<u8, 32> {
9658        &self.r#bssid
9659    }
9660    ///Return a mutable reference to `bssid`
9661    #[inline]
9662    pub fn mut_bssid(&mut self) -> &mut ::micropb::heapless::Vec<u8, 32> {
9663        &mut self.r#bssid
9664    }
9665    ///Set the value of `bssid`
9666    #[inline]
9667    pub fn set_bssid(&mut self, value: ::micropb::heapless::Vec<u8, 32>) -> &mut Self {
9668        self.r#bssid = value.into();
9669        self
9670    }
9671    ///Builder method that sets the value of `bssid`. Useful for initializing the message.
9672    #[inline]
9673    pub fn init_bssid(mut self, value: ::micropb::heapless::Vec<u8, 32>) -> Self {
9674        self.r#bssid = value.into();
9675        self
9676    }
9677    ///Return a reference to `reason`
9678    #[inline]
9679    pub fn r#reason(&self) -> &u32 {
9680        &self.r#reason
9681    }
9682    ///Return a mutable reference to `reason`
9683    #[inline]
9684    pub fn mut_reason(&mut self) -> &mut u32 {
9685        &mut self.r#reason
9686    }
9687    ///Set the value of `reason`
9688    #[inline]
9689    pub fn set_reason(&mut self, value: u32) -> &mut Self {
9690        self.r#reason = value.into();
9691        self
9692    }
9693    ///Builder method that sets the value of `reason`. Useful for initializing the message.
9694    #[inline]
9695    pub fn init_reason(mut self, value: u32) -> Self {
9696        self.r#reason = value.into();
9697        self
9698    }
9699    ///Return a reference to `rssi`
9700    #[inline]
9701    pub fn r#rssi(&self) -> &i32 {
9702        &self.r#rssi
9703    }
9704    ///Return a mutable reference to `rssi`
9705    #[inline]
9706    pub fn mut_rssi(&mut self) -> &mut i32 {
9707        &mut self.r#rssi
9708    }
9709    ///Set the value of `rssi`
9710    #[inline]
9711    pub fn set_rssi(&mut self, value: i32) -> &mut Self {
9712        self.r#rssi = value.into();
9713        self
9714    }
9715    ///Builder method that sets the value of `rssi`. Useful for initializing the message.
9716    #[inline]
9717    pub fn init_rssi(mut self, value: i32) -> Self {
9718        self.r#rssi = value.into();
9719        self
9720    }
9721}
9722impl ::micropb::MessageDecode for r#wifi_event_sta_disconnected {
9723    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
9724        &mut self,
9725        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
9726        len: usize,
9727    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
9728        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
9729        let before = decoder.bytes_read();
9730        while decoder.bytes_read() - before < len {
9731            let tag = decoder.decode_tag()?;
9732            match tag.field_num() {
9733                0 => return Err(::micropb::DecodeError::ZeroField),
9734                1u32 => {
9735                    let mut_ref = &mut self.r#ssid;
9736                    {
9737                        decoder.decode_bytes(mut_ref, ::micropb::Presence::Implicit)?;
9738                    };
9739                }
9740                2u32 => {
9741                    let mut_ref = &mut self.r#ssid_len;
9742                    {
9743                        let val = decoder.decode_varint32()?;
9744                        let val_ref = &val;
9745                        if *val_ref != 0 {
9746                            *mut_ref = val as _;
9747                        }
9748                    };
9749                }
9750                3u32 => {
9751                    let mut_ref = &mut self.r#bssid;
9752                    {
9753                        decoder.decode_bytes(mut_ref, ::micropb::Presence::Implicit)?;
9754                    };
9755                }
9756                4u32 => {
9757                    let mut_ref = &mut self.r#reason;
9758                    {
9759                        let val = decoder.decode_varint32()?;
9760                        let val_ref = &val;
9761                        if *val_ref != 0 {
9762                            *mut_ref = val as _;
9763                        }
9764                    };
9765                }
9766                5u32 => {
9767                    let mut_ref = &mut self.r#rssi;
9768                    {
9769                        let val = decoder.decode_int32()?;
9770                        let val_ref = &val;
9771                        if *val_ref != 0 {
9772                            *mut_ref = val as _;
9773                        }
9774                    };
9775                }
9776                _ => {
9777                    decoder.skip_wire_value(tag.wire_type())?;
9778                }
9779            }
9780        }
9781        Ok(())
9782    }
9783}
9784impl ::micropb::MessageEncode for r#wifi_event_sta_disconnected {
9785    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
9786        let mut max_size = 0;
9787        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
9788            ::core::option::Option::Some(33usize), | size | size + 1usize
9789        ) {
9790            max_size += size;
9791        } else {
9792            break 'msg (::core::option::Option::<usize>::None);
9793        };
9794        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
9795            ::core::option::Option::Some(5usize), | size | size + 1usize
9796        ) {
9797            max_size += size;
9798        } else {
9799            break 'msg (::core::option::Option::<usize>::None);
9800        };
9801        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
9802            ::core::option::Option::Some(33usize), | size | size + 1usize
9803        ) {
9804            max_size += size;
9805        } else {
9806            break 'msg (::core::option::Option::<usize>::None);
9807        };
9808        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
9809            ::core::option::Option::Some(5usize), | size | size + 1usize
9810        ) {
9811            max_size += size;
9812        } else {
9813            break 'msg (::core::option::Option::<usize>::None);
9814        };
9815        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
9816            ::core::option::Option::Some(10usize), | size | size + 1usize
9817        ) {
9818            max_size += size;
9819        } else {
9820            break 'msg (::core::option::Option::<usize>::None);
9821        };
9822        ::core::option::Option::Some(max_size)
9823    };
9824    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
9825        &self,
9826        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
9827    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
9828        use ::micropb::{PbMap, FieldEncode};
9829        {
9830            let val_ref = &self.r#ssid;
9831            if !val_ref.is_empty() {
9832                encoder.encode_varint32(10u32)?;
9833                encoder.encode_bytes(val_ref)?;
9834            }
9835        }
9836        {
9837            let val_ref = &self.r#ssid_len;
9838            if *val_ref != 0 {
9839                encoder.encode_varint32(16u32)?;
9840                encoder.encode_varint32(*val_ref as _)?;
9841            }
9842        }
9843        {
9844            let val_ref = &self.r#bssid;
9845            if !val_ref.is_empty() {
9846                encoder.encode_varint32(26u32)?;
9847                encoder.encode_bytes(val_ref)?;
9848            }
9849        }
9850        {
9851            let val_ref = &self.r#reason;
9852            if *val_ref != 0 {
9853                encoder.encode_varint32(32u32)?;
9854                encoder.encode_varint32(*val_ref as _)?;
9855            }
9856        }
9857        {
9858            let val_ref = &self.r#rssi;
9859            if *val_ref != 0 {
9860                encoder.encode_varint32(40u32)?;
9861                encoder.encode_int32(*val_ref as _)?;
9862            }
9863        }
9864        Ok(())
9865    }
9866    fn compute_size(&self) -> usize {
9867        use ::micropb::{PbMap, FieldEncode};
9868        let mut size = 0;
9869        {
9870            let val_ref = &self.r#ssid;
9871            if !val_ref.is_empty() {
9872                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.len());
9873            }
9874        }
9875        {
9876            let val_ref = &self.r#ssid_len;
9877            if *val_ref != 0 {
9878                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
9879            }
9880        }
9881        {
9882            let val_ref = &self.r#bssid;
9883            if !val_ref.is_empty() {
9884                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.len());
9885            }
9886        }
9887        {
9888            let val_ref = &self.r#reason;
9889            if *val_ref != 0 {
9890                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
9891            }
9892        }
9893        {
9894            let val_ref = &self.r#rssi;
9895            if *val_ref != 0 {
9896                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
9897            }
9898        }
9899        size
9900    }
9901}
9902#[derive(Debug, Default, PartialEq, Clone)]
9903pub struct r#wifi_event_sta_authmode_change {
9904    pub r#old_mode: i32,
9905    pub r#new_mode: i32,
9906}
9907impl r#wifi_event_sta_authmode_change {
9908    ///Return a reference to `old_mode`
9909    #[inline]
9910    pub fn r#old_mode(&self) -> &i32 {
9911        &self.r#old_mode
9912    }
9913    ///Return a mutable reference to `old_mode`
9914    #[inline]
9915    pub fn mut_old_mode(&mut self) -> &mut i32 {
9916        &mut self.r#old_mode
9917    }
9918    ///Set the value of `old_mode`
9919    #[inline]
9920    pub fn set_old_mode(&mut self, value: i32) -> &mut Self {
9921        self.r#old_mode = value.into();
9922        self
9923    }
9924    ///Builder method that sets the value of `old_mode`. Useful for initializing the message.
9925    #[inline]
9926    pub fn init_old_mode(mut self, value: i32) -> Self {
9927        self.r#old_mode = value.into();
9928        self
9929    }
9930    ///Return a reference to `new_mode`
9931    #[inline]
9932    pub fn r#new_mode(&self) -> &i32 {
9933        &self.r#new_mode
9934    }
9935    ///Return a mutable reference to `new_mode`
9936    #[inline]
9937    pub fn mut_new_mode(&mut self) -> &mut i32 {
9938        &mut self.r#new_mode
9939    }
9940    ///Set the value of `new_mode`
9941    #[inline]
9942    pub fn set_new_mode(&mut self, value: i32) -> &mut Self {
9943        self.r#new_mode = value.into();
9944        self
9945    }
9946    ///Builder method that sets the value of `new_mode`. Useful for initializing the message.
9947    #[inline]
9948    pub fn init_new_mode(mut self, value: i32) -> Self {
9949        self.r#new_mode = value.into();
9950        self
9951    }
9952}
9953impl ::micropb::MessageDecode for r#wifi_event_sta_authmode_change {
9954    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
9955        &mut self,
9956        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
9957        len: usize,
9958    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
9959        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
9960        let before = decoder.bytes_read();
9961        while decoder.bytes_read() - before < len {
9962            let tag = decoder.decode_tag()?;
9963            match tag.field_num() {
9964                0 => return Err(::micropb::DecodeError::ZeroField),
9965                1u32 => {
9966                    let mut_ref = &mut self.r#old_mode;
9967                    {
9968                        let val = decoder.decode_int32()?;
9969                        let val_ref = &val;
9970                        if *val_ref != 0 {
9971                            *mut_ref = val as _;
9972                        }
9973                    };
9974                }
9975                2u32 => {
9976                    let mut_ref = &mut self.r#new_mode;
9977                    {
9978                        let val = decoder.decode_int32()?;
9979                        let val_ref = &val;
9980                        if *val_ref != 0 {
9981                            *mut_ref = val as _;
9982                        }
9983                    };
9984                }
9985                _ => {
9986                    decoder.skip_wire_value(tag.wire_type())?;
9987                }
9988            }
9989        }
9990        Ok(())
9991    }
9992}
9993impl ::micropb::MessageEncode for r#wifi_event_sta_authmode_change {
9994    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
9995        let mut max_size = 0;
9996        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
9997            ::core::option::Option::Some(10usize), | size | size + 1usize
9998        ) {
9999            max_size += size;
10000        } else {
10001            break 'msg (::core::option::Option::<usize>::None);
10002        };
10003        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
10004            ::core::option::Option::Some(10usize), | size | size + 1usize
10005        ) {
10006            max_size += size;
10007        } else {
10008            break 'msg (::core::option::Option::<usize>::None);
10009        };
10010        ::core::option::Option::Some(max_size)
10011    };
10012    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
10013        &self,
10014        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
10015    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
10016        use ::micropb::{PbMap, FieldEncode};
10017        {
10018            let val_ref = &self.r#old_mode;
10019            if *val_ref != 0 {
10020                encoder.encode_varint32(8u32)?;
10021                encoder.encode_int32(*val_ref as _)?;
10022            }
10023        }
10024        {
10025            let val_ref = &self.r#new_mode;
10026            if *val_ref != 0 {
10027                encoder.encode_varint32(16u32)?;
10028                encoder.encode_int32(*val_ref as _)?;
10029            }
10030        }
10031        Ok(())
10032    }
10033    fn compute_size(&self) -> usize {
10034        use ::micropb::{PbMap, FieldEncode};
10035        let mut size = 0;
10036        {
10037            let val_ref = &self.r#old_mode;
10038            if *val_ref != 0 {
10039                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
10040            }
10041        }
10042        {
10043            let val_ref = &self.r#new_mode;
10044            if *val_ref != 0 {
10045                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
10046            }
10047        }
10048        size
10049    }
10050}
10051#[derive(Debug, Default, PartialEq, Clone)]
10052pub struct r#wifi_event_sta_wps_er_pin {
10053    pub r#pin_code: ::micropb::heapless::Vec<u8, 32>,
10054}
10055impl r#wifi_event_sta_wps_er_pin {
10056    ///Return a reference to `pin_code`
10057    #[inline]
10058    pub fn r#pin_code(&self) -> &::micropb::heapless::Vec<u8, 32> {
10059        &self.r#pin_code
10060    }
10061    ///Return a mutable reference to `pin_code`
10062    #[inline]
10063    pub fn mut_pin_code(&mut self) -> &mut ::micropb::heapless::Vec<u8, 32> {
10064        &mut self.r#pin_code
10065    }
10066    ///Set the value of `pin_code`
10067    #[inline]
10068    pub fn set_pin_code(
10069        &mut self,
10070        value: ::micropb::heapless::Vec<u8, 32>,
10071    ) -> &mut Self {
10072        self.r#pin_code = value.into();
10073        self
10074    }
10075    ///Builder method that sets the value of `pin_code`. Useful for initializing the message.
10076    #[inline]
10077    pub fn init_pin_code(mut self, value: ::micropb::heapless::Vec<u8, 32>) -> Self {
10078        self.r#pin_code = value.into();
10079        self
10080    }
10081}
10082impl ::micropb::MessageDecode for r#wifi_event_sta_wps_er_pin {
10083    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
10084        &mut self,
10085        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
10086        len: usize,
10087    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
10088        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
10089        let before = decoder.bytes_read();
10090        while decoder.bytes_read() - before < len {
10091            let tag = decoder.decode_tag()?;
10092            match tag.field_num() {
10093                0 => return Err(::micropb::DecodeError::ZeroField),
10094                1u32 => {
10095                    let mut_ref = &mut self.r#pin_code;
10096                    {
10097                        decoder.decode_bytes(mut_ref, ::micropb::Presence::Implicit)?;
10098                    };
10099                }
10100                _ => {
10101                    decoder.skip_wire_value(tag.wire_type())?;
10102                }
10103            }
10104        }
10105        Ok(())
10106    }
10107}
10108impl ::micropb::MessageEncode for r#wifi_event_sta_wps_er_pin {
10109    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
10110        let mut max_size = 0;
10111        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
10112            ::core::option::Option::Some(33usize), | size | size + 1usize
10113        ) {
10114            max_size += size;
10115        } else {
10116            break 'msg (::core::option::Option::<usize>::None);
10117        };
10118        ::core::option::Option::Some(max_size)
10119    };
10120    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
10121        &self,
10122        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
10123    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
10124        use ::micropb::{PbMap, FieldEncode};
10125        {
10126            let val_ref = &self.r#pin_code;
10127            if !val_ref.is_empty() {
10128                encoder.encode_varint32(10u32)?;
10129                encoder.encode_bytes(val_ref)?;
10130            }
10131        }
10132        Ok(())
10133    }
10134    fn compute_size(&self) -> usize {
10135        use ::micropb::{PbMap, FieldEncode};
10136        let mut size = 0;
10137        {
10138            let val_ref = &self.r#pin_code;
10139            if !val_ref.is_empty() {
10140                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.len());
10141            }
10142        }
10143        size
10144    }
10145}
10146#[derive(Debug, Default, PartialEq, Clone)]
10147pub struct r#ap_cred {
10148    pub r#ssid: ::micropb::heapless::Vec<u8, 32>,
10149    pub r#passphrase: ::micropb::heapless::Vec<u8, 32>,
10150}
10151impl r#ap_cred {
10152    ///Return a reference to `ssid`
10153    #[inline]
10154    pub fn r#ssid(&self) -> &::micropb::heapless::Vec<u8, 32> {
10155        &self.r#ssid
10156    }
10157    ///Return a mutable reference to `ssid`
10158    #[inline]
10159    pub fn mut_ssid(&mut self) -> &mut ::micropb::heapless::Vec<u8, 32> {
10160        &mut self.r#ssid
10161    }
10162    ///Set the value of `ssid`
10163    #[inline]
10164    pub fn set_ssid(&mut self, value: ::micropb::heapless::Vec<u8, 32>) -> &mut Self {
10165        self.r#ssid = value.into();
10166        self
10167    }
10168    ///Builder method that sets the value of `ssid`. Useful for initializing the message.
10169    #[inline]
10170    pub fn init_ssid(mut self, value: ::micropb::heapless::Vec<u8, 32>) -> Self {
10171        self.r#ssid = value.into();
10172        self
10173    }
10174    ///Return a reference to `passphrase`
10175    #[inline]
10176    pub fn r#passphrase(&self) -> &::micropb::heapless::Vec<u8, 32> {
10177        &self.r#passphrase
10178    }
10179    ///Return a mutable reference to `passphrase`
10180    #[inline]
10181    pub fn mut_passphrase(&mut self) -> &mut ::micropb::heapless::Vec<u8, 32> {
10182        &mut self.r#passphrase
10183    }
10184    ///Set the value of `passphrase`
10185    #[inline]
10186    pub fn set_passphrase(
10187        &mut self,
10188        value: ::micropb::heapless::Vec<u8, 32>,
10189    ) -> &mut Self {
10190        self.r#passphrase = value.into();
10191        self
10192    }
10193    ///Builder method that sets the value of `passphrase`. Useful for initializing the message.
10194    #[inline]
10195    pub fn init_passphrase(mut self, value: ::micropb::heapless::Vec<u8, 32>) -> Self {
10196        self.r#passphrase = value.into();
10197        self
10198    }
10199}
10200impl ::micropb::MessageDecode for r#ap_cred {
10201    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
10202        &mut self,
10203        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
10204        len: usize,
10205    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
10206        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
10207        let before = decoder.bytes_read();
10208        while decoder.bytes_read() - before < len {
10209            let tag = decoder.decode_tag()?;
10210            match tag.field_num() {
10211                0 => return Err(::micropb::DecodeError::ZeroField),
10212                1u32 => {
10213                    let mut_ref = &mut self.r#ssid;
10214                    {
10215                        decoder.decode_bytes(mut_ref, ::micropb::Presence::Implicit)?;
10216                    };
10217                }
10218                2u32 => {
10219                    let mut_ref = &mut self.r#passphrase;
10220                    {
10221                        decoder.decode_bytes(mut_ref, ::micropb::Presence::Implicit)?;
10222                    };
10223                }
10224                _ => {
10225                    decoder.skip_wire_value(tag.wire_type())?;
10226                }
10227            }
10228        }
10229        Ok(())
10230    }
10231}
10232impl ::micropb::MessageEncode for r#ap_cred {
10233    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
10234        let mut max_size = 0;
10235        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
10236            ::core::option::Option::Some(33usize), | size | size + 1usize
10237        ) {
10238            max_size += size;
10239        } else {
10240            break 'msg (::core::option::Option::<usize>::None);
10241        };
10242        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
10243            ::core::option::Option::Some(33usize), | size | size + 1usize
10244        ) {
10245            max_size += size;
10246        } else {
10247            break 'msg (::core::option::Option::<usize>::None);
10248        };
10249        ::core::option::Option::Some(max_size)
10250    };
10251    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
10252        &self,
10253        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
10254    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
10255        use ::micropb::{PbMap, FieldEncode};
10256        {
10257            let val_ref = &self.r#ssid;
10258            if !val_ref.is_empty() {
10259                encoder.encode_varint32(10u32)?;
10260                encoder.encode_bytes(val_ref)?;
10261            }
10262        }
10263        {
10264            let val_ref = &self.r#passphrase;
10265            if !val_ref.is_empty() {
10266                encoder.encode_varint32(18u32)?;
10267                encoder.encode_bytes(val_ref)?;
10268            }
10269        }
10270        Ok(())
10271    }
10272    fn compute_size(&self) -> usize {
10273        use ::micropb::{PbMap, FieldEncode};
10274        let mut size = 0;
10275        {
10276            let val_ref = &self.r#ssid;
10277            if !val_ref.is_empty() {
10278                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.len());
10279            }
10280        }
10281        {
10282            let val_ref = &self.r#passphrase;
10283            if !val_ref.is_empty() {
10284                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.len());
10285            }
10286        }
10287        size
10288    }
10289}
10290#[derive(Debug, Default, PartialEq, Clone)]
10291pub struct r#wifi_event_sta_wps_er_success {
10292    pub r#ap_cred_cnt: u32,
10293    pub r#ap_creds: ::micropb::heapless::Vec<r#ap_cred, 8>,
10294}
10295impl r#wifi_event_sta_wps_er_success {
10296    ///Return a reference to `ap_cred_cnt`
10297    #[inline]
10298    pub fn r#ap_cred_cnt(&self) -> &u32 {
10299        &self.r#ap_cred_cnt
10300    }
10301    ///Return a mutable reference to `ap_cred_cnt`
10302    #[inline]
10303    pub fn mut_ap_cred_cnt(&mut self) -> &mut u32 {
10304        &mut self.r#ap_cred_cnt
10305    }
10306    ///Set the value of `ap_cred_cnt`
10307    #[inline]
10308    pub fn set_ap_cred_cnt(&mut self, value: u32) -> &mut Self {
10309        self.r#ap_cred_cnt = value.into();
10310        self
10311    }
10312    ///Builder method that sets the value of `ap_cred_cnt`. Useful for initializing the message.
10313    #[inline]
10314    pub fn init_ap_cred_cnt(mut self, value: u32) -> Self {
10315        self.r#ap_cred_cnt = value.into();
10316        self
10317    }
10318}
10319impl ::micropb::MessageDecode for r#wifi_event_sta_wps_er_success {
10320    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
10321        &mut self,
10322        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
10323        len: usize,
10324    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
10325        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
10326        let before = decoder.bytes_read();
10327        while decoder.bytes_read() - before < len {
10328            let tag = decoder.decode_tag()?;
10329            match tag.field_num() {
10330                0 => return Err(::micropb::DecodeError::ZeroField),
10331                1u32 => {
10332                    let mut_ref = &mut self.r#ap_cred_cnt;
10333                    {
10334                        let val = decoder.decode_varint32()?;
10335                        let val_ref = &val;
10336                        if *val_ref != 0 {
10337                            *mut_ref = val as _;
10338                        }
10339                    };
10340                }
10341                2u32 => {
10342                    let mut val: r#ap_cred = ::core::default::Default::default();
10343                    let mut_ref = &mut val;
10344                    {
10345                        mut_ref.decode_len_delimited(decoder)?;
10346                    };
10347                    if let (Err(_), false) = (
10348                        self.r#ap_creds.pb_push(val),
10349                        decoder.ignore_repeated_cap_err,
10350                    ) {
10351                        return Err(::micropb::DecodeError::Capacity);
10352                    }
10353                }
10354                _ => {
10355                    decoder.skip_wire_value(tag.wire_type())?;
10356                }
10357            }
10358        }
10359        Ok(())
10360    }
10361}
10362impl ::micropb::MessageEncode for r#wifi_event_sta_wps_er_success {
10363    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
10364        let mut max_size = 0;
10365        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
10366            ::core::option::Option::Some(5usize), | size | size + 1usize
10367        ) {
10368            max_size += size;
10369        } else {
10370            break 'msg (::core::option::Option::<usize>::None);
10371        };
10372        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
10373            ::micropb::const_map!(< r#ap_cred as ::micropb::MessageEncode > ::MAX_SIZE, |
10374            size | ::micropb::size::sizeof_len_record(size)), | size | (size + 1usize) *
10375            8usize
10376        ) {
10377            max_size += size;
10378        } else {
10379            break 'msg (::core::option::Option::<usize>::None);
10380        };
10381        ::core::option::Option::Some(max_size)
10382    };
10383    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
10384        &self,
10385        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
10386    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
10387        use ::micropb::{PbMap, FieldEncode};
10388        {
10389            let val_ref = &self.r#ap_cred_cnt;
10390            if *val_ref != 0 {
10391                encoder.encode_varint32(8u32)?;
10392                encoder.encode_varint32(*val_ref as _)?;
10393            }
10394        }
10395        {
10396            for val_ref in self.r#ap_creds.iter() {
10397                encoder.encode_varint32(18u32)?;
10398                val_ref.encode_len_delimited(encoder)?;
10399            }
10400        }
10401        Ok(())
10402    }
10403    fn compute_size(&self) -> usize {
10404        use ::micropb::{PbMap, FieldEncode};
10405        let mut size = 0;
10406        {
10407            let val_ref = &self.r#ap_cred_cnt;
10408            if *val_ref != 0 {
10409                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
10410            }
10411        }
10412        {
10413            for val_ref in self.r#ap_creds.iter() {
10414                size
10415                    += 1usize
10416                        + ::micropb::size::sizeof_len_record(val_ref.compute_size());
10417            }
10418        }
10419        size
10420    }
10421}
10422#[derive(Debug, Default, PartialEq, Clone)]
10423pub struct r#wifi_event_ap_probe_req_rx {
10424    pub r#rssi: i32,
10425    pub r#mac: u32,
10426}
10427impl r#wifi_event_ap_probe_req_rx {
10428    ///Return a reference to `rssi`
10429    #[inline]
10430    pub fn r#rssi(&self) -> &i32 {
10431        &self.r#rssi
10432    }
10433    ///Return a mutable reference to `rssi`
10434    #[inline]
10435    pub fn mut_rssi(&mut self) -> &mut i32 {
10436        &mut self.r#rssi
10437    }
10438    ///Set the value of `rssi`
10439    #[inline]
10440    pub fn set_rssi(&mut self, value: i32) -> &mut Self {
10441        self.r#rssi = value.into();
10442        self
10443    }
10444    ///Builder method that sets the value of `rssi`. Useful for initializing the message.
10445    #[inline]
10446    pub fn init_rssi(mut self, value: i32) -> Self {
10447        self.r#rssi = value.into();
10448        self
10449    }
10450    ///Return a reference to `mac`
10451    #[inline]
10452    pub fn r#mac(&self) -> &u32 {
10453        &self.r#mac
10454    }
10455    ///Return a mutable reference to `mac`
10456    #[inline]
10457    pub fn mut_mac(&mut self) -> &mut u32 {
10458        &mut self.r#mac
10459    }
10460    ///Set the value of `mac`
10461    #[inline]
10462    pub fn set_mac(&mut self, value: u32) -> &mut Self {
10463        self.r#mac = value.into();
10464        self
10465    }
10466    ///Builder method that sets the value of `mac`. Useful for initializing the message.
10467    #[inline]
10468    pub fn init_mac(mut self, value: u32) -> Self {
10469        self.r#mac = value.into();
10470        self
10471    }
10472}
10473impl ::micropb::MessageDecode for r#wifi_event_ap_probe_req_rx {
10474    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
10475        &mut self,
10476        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
10477        len: usize,
10478    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
10479        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
10480        let before = decoder.bytes_read();
10481        while decoder.bytes_read() - before < len {
10482            let tag = decoder.decode_tag()?;
10483            match tag.field_num() {
10484                0 => return Err(::micropb::DecodeError::ZeroField),
10485                1u32 => {
10486                    let mut_ref = &mut self.r#rssi;
10487                    {
10488                        let val = decoder.decode_int32()?;
10489                        let val_ref = &val;
10490                        if *val_ref != 0 {
10491                            *mut_ref = val as _;
10492                        }
10493                    };
10494                }
10495                2u32 => {
10496                    let mut_ref = &mut self.r#mac;
10497                    {
10498                        let val = decoder.decode_varint32()?;
10499                        let val_ref = &val;
10500                        if *val_ref != 0 {
10501                            *mut_ref = val as _;
10502                        }
10503                    };
10504                }
10505                _ => {
10506                    decoder.skip_wire_value(tag.wire_type())?;
10507                }
10508            }
10509        }
10510        Ok(())
10511    }
10512}
10513impl ::micropb::MessageEncode for r#wifi_event_ap_probe_req_rx {
10514    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
10515        let mut max_size = 0;
10516        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
10517            ::core::option::Option::Some(10usize), | size | size + 1usize
10518        ) {
10519            max_size += size;
10520        } else {
10521            break 'msg (::core::option::Option::<usize>::None);
10522        };
10523        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
10524            ::core::option::Option::Some(5usize), | size | size + 1usize
10525        ) {
10526            max_size += size;
10527        } else {
10528            break 'msg (::core::option::Option::<usize>::None);
10529        };
10530        ::core::option::Option::Some(max_size)
10531    };
10532    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
10533        &self,
10534        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
10535    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
10536        use ::micropb::{PbMap, FieldEncode};
10537        {
10538            let val_ref = &self.r#rssi;
10539            if *val_ref != 0 {
10540                encoder.encode_varint32(8u32)?;
10541                encoder.encode_int32(*val_ref as _)?;
10542            }
10543        }
10544        {
10545            let val_ref = &self.r#mac;
10546            if *val_ref != 0 {
10547                encoder.encode_varint32(16u32)?;
10548                encoder.encode_varint32(*val_ref as _)?;
10549            }
10550        }
10551        Ok(())
10552    }
10553    fn compute_size(&self) -> usize {
10554        use ::micropb::{PbMap, FieldEncode};
10555        let mut size = 0;
10556        {
10557            let val_ref = &self.r#rssi;
10558            if *val_ref != 0 {
10559                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
10560            }
10561        }
10562        {
10563            let val_ref = &self.r#mac;
10564            if *val_ref != 0 {
10565                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
10566            }
10567        }
10568        size
10569    }
10570}
10571#[derive(Debug, Default, PartialEq, Clone)]
10572pub struct r#wifi_event_bss_rssi_low {
10573    pub r#rssi: i32,
10574}
10575impl r#wifi_event_bss_rssi_low {
10576    ///Return a reference to `rssi`
10577    #[inline]
10578    pub fn r#rssi(&self) -> &i32 {
10579        &self.r#rssi
10580    }
10581    ///Return a mutable reference to `rssi`
10582    #[inline]
10583    pub fn mut_rssi(&mut self) -> &mut i32 {
10584        &mut self.r#rssi
10585    }
10586    ///Set the value of `rssi`
10587    #[inline]
10588    pub fn set_rssi(&mut self, value: i32) -> &mut Self {
10589        self.r#rssi = value.into();
10590        self
10591    }
10592    ///Builder method that sets the value of `rssi`. Useful for initializing the message.
10593    #[inline]
10594    pub fn init_rssi(mut self, value: i32) -> Self {
10595        self.r#rssi = value.into();
10596        self
10597    }
10598}
10599impl ::micropb::MessageDecode for r#wifi_event_bss_rssi_low {
10600    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
10601        &mut self,
10602        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
10603        len: usize,
10604    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
10605        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
10606        let before = decoder.bytes_read();
10607        while decoder.bytes_read() - before < len {
10608            let tag = decoder.decode_tag()?;
10609            match tag.field_num() {
10610                0 => return Err(::micropb::DecodeError::ZeroField),
10611                1u32 => {
10612                    let mut_ref = &mut self.r#rssi;
10613                    {
10614                        let val = decoder.decode_int32()?;
10615                        let val_ref = &val;
10616                        if *val_ref != 0 {
10617                            *mut_ref = val as _;
10618                        }
10619                    };
10620                }
10621                _ => {
10622                    decoder.skip_wire_value(tag.wire_type())?;
10623                }
10624            }
10625        }
10626        Ok(())
10627    }
10628}
10629impl ::micropb::MessageEncode for r#wifi_event_bss_rssi_low {
10630    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
10631        let mut max_size = 0;
10632        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
10633            ::core::option::Option::Some(10usize), | size | size + 1usize
10634        ) {
10635            max_size += size;
10636        } else {
10637            break 'msg (::core::option::Option::<usize>::None);
10638        };
10639        ::core::option::Option::Some(max_size)
10640    };
10641    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
10642        &self,
10643        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
10644    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
10645        use ::micropb::{PbMap, FieldEncode};
10646        {
10647            let val_ref = &self.r#rssi;
10648            if *val_ref != 0 {
10649                encoder.encode_varint32(8u32)?;
10650                encoder.encode_int32(*val_ref as _)?;
10651            }
10652        }
10653        Ok(())
10654    }
10655    fn compute_size(&self) -> usize {
10656        use ::micropb::{PbMap, FieldEncode};
10657        let mut size = 0;
10658        {
10659            let val_ref = &self.r#rssi;
10660            if *val_ref != 0 {
10661                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
10662            }
10663        }
10664        size
10665    }
10666}
10667#[derive(Debug, Default, PartialEq, Clone)]
10668pub struct r#wifi_ftm_report_entry {
10669    pub r#dlog_token: u32,
10670    pub r#rssi: i32,
10671    pub r#rtt: u32,
10672    pub r#t1: u64,
10673    pub r#t2: u64,
10674    pub r#t3: u64,
10675    pub r#t4: u64,
10676}
10677impl r#wifi_ftm_report_entry {
10678    ///Return a reference to `dlog_token`
10679    #[inline]
10680    pub fn r#dlog_token(&self) -> &u32 {
10681        &self.r#dlog_token
10682    }
10683    ///Return a mutable reference to `dlog_token`
10684    #[inline]
10685    pub fn mut_dlog_token(&mut self) -> &mut u32 {
10686        &mut self.r#dlog_token
10687    }
10688    ///Set the value of `dlog_token`
10689    #[inline]
10690    pub fn set_dlog_token(&mut self, value: u32) -> &mut Self {
10691        self.r#dlog_token = value.into();
10692        self
10693    }
10694    ///Builder method that sets the value of `dlog_token`. Useful for initializing the message.
10695    #[inline]
10696    pub fn init_dlog_token(mut self, value: u32) -> Self {
10697        self.r#dlog_token = value.into();
10698        self
10699    }
10700    ///Return a reference to `rssi`
10701    #[inline]
10702    pub fn r#rssi(&self) -> &i32 {
10703        &self.r#rssi
10704    }
10705    ///Return a mutable reference to `rssi`
10706    #[inline]
10707    pub fn mut_rssi(&mut self) -> &mut i32 {
10708        &mut self.r#rssi
10709    }
10710    ///Set the value of `rssi`
10711    #[inline]
10712    pub fn set_rssi(&mut self, value: i32) -> &mut Self {
10713        self.r#rssi = value.into();
10714        self
10715    }
10716    ///Builder method that sets the value of `rssi`. Useful for initializing the message.
10717    #[inline]
10718    pub fn init_rssi(mut self, value: i32) -> Self {
10719        self.r#rssi = value.into();
10720        self
10721    }
10722    ///Return a reference to `rtt`
10723    #[inline]
10724    pub fn r#rtt(&self) -> &u32 {
10725        &self.r#rtt
10726    }
10727    ///Return a mutable reference to `rtt`
10728    #[inline]
10729    pub fn mut_rtt(&mut self) -> &mut u32 {
10730        &mut self.r#rtt
10731    }
10732    ///Set the value of `rtt`
10733    #[inline]
10734    pub fn set_rtt(&mut self, value: u32) -> &mut Self {
10735        self.r#rtt = value.into();
10736        self
10737    }
10738    ///Builder method that sets the value of `rtt`. Useful for initializing the message.
10739    #[inline]
10740    pub fn init_rtt(mut self, value: u32) -> Self {
10741        self.r#rtt = value.into();
10742        self
10743    }
10744    ///Return a reference to `t1`
10745    #[inline]
10746    pub fn r#t1(&self) -> &u64 {
10747        &self.r#t1
10748    }
10749    ///Return a mutable reference to `t1`
10750    #[inline]
10751    pub fn mut_t1(&mut self) -> &mut u64 {
10752        &mut self.r#t1
10753    }
10754    ///Set the value of `t1`
10755    #[inline]
10756    pub fn set_t1(&mut self, value: u64) -> &mut Self {
10757        self.r#t1 = value.into();
10758        self
10759    }
10760    ///Builder method that sets the value of `t1`. Useful for initializing the message.
10761    #[inline]
10762    pub fn init_t1(mut self, value: u64) -> Self {
10763        self.r#t1 = value.into();
10764        self
10765    }
10766    ///Return a reference to `t2`
10767    #[inline]
10768    pub fn r#t2(&self) -> &u64 {
10769        &self.r#t2
10770    }
10771    ///Return a mutable reference to `t2`
10772    #[inline]
10773    pub fn mut_t2(&mut self) -> &mut u64 {
10774        &mut self.r#t2
10775    }
10776    ///Set the value of `t2`
10777    #[inline]
10778    pub fn set_t2(&mut self, value: u64) -> &mut Self {
10779        self.r#t2 = value.into();
10780        self
10781    }
10782    ///Builder method that sets the value of `t2`. Useful for initializing the message.
10783    #[inline]
10784    pub fn init_t2(mut self, value: u64) -> Self {
10785        self.r#t2 = value.into();
10786        self
10787    }
10788    ///Return a reference to `t3`
10789    #[inline]
10790    pub fn r#t3(&self) -> &u64 {
10791        &self.r#t3
10792    }
10793    ///Return a mutable reference to `t3`
10794    #[inline]
10795    pub fn mut_t3(&mut self) -> &mut u64 {
10796        &mut self.r#t3
10797    }
10798    ///Set the value of `t3`
10799    #[inline]
10800    pub fn set_t3(&mut self, value: u64) -> &mut Self {
10801        self.r#t3 = value.into();
10802        self
10803    }
10804    ///Builder method that sets the value of `t3`. Useful for initializing the message.
10805    #[inline]
10806    pub fn init_t3(mut self, value: u64) -> Self {
10807        self.r#t3 = value.into();
10808        self
10809    }
10810    ///Return a reference to `t4`
10811    #[inline]
10812    pub fn r#t4(&self) -> &u64 {
10813        &self.r#t4
10814    }
10815    ///Return a mutable reference to `t4`
10816    #[inline]
10817    pub fn mut_t4(&mut self) -> &mut u64 {
10818        &mut self.r#t4
10819    }
10820    ///Set the value of `t4`
10821    #[inline]
10822    pub fn set_t4(&mut self, value: u64) -> &mut Self {
10823        self.r#t4 = value.into();
10824        self
10825    }
10826    ///Builder method that sets the value of `t4`. Useful for initializing the message.
10827    #[inline]
10828    pub fn init_t4(mut self, value: u64) -> Self {
10829        self.r#t4 = value.into();
10830        self
10831    }
10832}
10833impl ::micropb::MessageDecode for r#wifi_ftm_report_entry {
10834    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
10835        &mut self,
10836        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
10837        len: usize,
10838    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
10839        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
10840        let before = decoder.bytes_read();
10841        while decoder.bytes_read() - before < len {
10842            let tag = decoder.decode_tag()?;
10843            match tag.field_num() {
10844                0 => return Err(::micropb::DecodeError::ZeroField),
10845                1u32 => {
10846                    let mut_ref = &mut self.r#dlog_token;
10847                    {
10848                        let val = decoder.decode_varint32()?;
10849                        let val_ref = &val;
10850                        if *val_ref != 0 {
10851                            *mut_ref = val as _;
10852                        }
10853                    };
10854                }
10855                2u32 => {
10856                    let mut_ref = &mut self.r#rssi;
10857                    {
10858                        let val = decoder.decode_int32()?;
10859                        let val_ref = &val;
10860                        if *val_ref != 0 {
10861                            *mut_ref = val as _;
10862                        }
10863                    };
10864                }
10865                3u32 => {
10866                    let mut_ref = &mut self.r#rtt;
10867                    {
10868                        let val = decoder.decode_varint32()?;
10869                        let val_ref = &val;
10870                        if *val_ref != 0 {
10871                            *mut_ref = val as _;
10872                        }
10873                    };
10874                }
10875                4u32 => {
10876                    let mut_ref = &mut self.r#t1;
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                5u32 => {
10886                    let mut_ref = &mut self.r#t2;
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                6u32 => {
10896                    let mut_ref = &mut self.r#t3;
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                7u32 => {
10906                    let mut_ref = &mut self.r#t4;
10907                    {
10908                        let val = decoder.decode_varint64()?;
10909                        let val_ref = &val;
10910                        if *val_ref != 0 {
10911                            *mut_ref = val as _;
10912                        }
10913                    };
10914                }
10915                _ => {
10916                    decoder.skip_wire_value(tag.wire_type())?;
10917                }
10918            }
10919        }
10920        Ok(())
10921    }
10922}
10923impl ::micropb::MessageEncode for r#wifi_ftm_report_entry {
10924    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
10925        let mut max_size = 0;
10926        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
10927            ::core::option::Option::Some(5usize), | size | size + 1usize
10928        ) {
10929            max_size += size;
10930        } else {
10931            break 'msg (::core::option::Option::<usize>::None);
10932        };
10933        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
10934            ::core::option::Option::Some(10usize), | size | size + 1usize
10935        ) {
10936            max_size += size;
10937        } else {
10938            break 'msg (::core::option::Option::<usize>::None);
10939        };
10940        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
10941            ::core::option::Option::Some(5usize), | size | size + 1usize
10942        ) {
10943            max_size += size;
10944        } else {
10945            break 'msg (::core::option::Option::<usize>::None);
10946        };
10947        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
10948            ::core::option::Option::Some(10usize), | size | size + 1usize
10949        ) {
10950            max_size += size;
10951        } else {
10952            break 'msg (::core::option::Option::<usize>::None);
10953        };
10954        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
10955            ::core::option::Option::Some(10usize), | size | size + 1usize
10956        ) {
10957            max_size += size;
10958        } else {
10959            break 'msg (::core::option::Option::<usize>::None);
10960        };
10961        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
10962            ::core::option::Option::Some(10usize), | size | size + 1usize
10963        ) {
10964            max_size += size;
10965        } else {
10966            break 'msg (::core::option::Option::<usize>::None);
10967        };
10968        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
10969            ::core::option::Option::Some(10usize), | size | size + 1usize
10970        ) {
10971            max_size += size;
10972        } else {
10973            break 'msg (::core::option::Option::<usize>::None);
10974        };
10975        ::core::option::Option::Some(max_size)
10976    };
10977    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
10978        &self,
10979        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
10980    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
10981        use ::micropb::{PbMap, FieldEncode};
10982        {
10983            let val_ref = &self.r#dlog_token;
10984            if *val_ref != 0 {
10985                encoder.encode_varint32(8u32)?;
10986                encoder.encode_varint32(*val_ref as _)?;
10987            }
10988        }
10989        {
10990            let val_ref = &self.r#rssi;
10991            if *val_ref != 0 {
10992                encoder.encode_varint32(16u32)?;
10993                encoder.encode_int32(*val_ref as _)?;
10994            }
10995        }
10996        {
10997            let val_ref = &self.r#rtt;
10998            if *val_ref != 0 {
10999                encoder.encode_varint32(24u32)?;
11000                encoder.encode_varint32(*val_ref as _)?;
11001            }
11002        }
11003        {
11004            let val_ref = &self.r#t1;
11005            if *val_ref != 0 {
11006                encoder.encode_varint32(32u32)?;
11007                encoder.encode_varint64(*val_ref as _)?;
11008            }
11009        }
11010        {
11011            let val_ref = &self.r#t2;
11012            if *val_ref != 0 {
11013                encoder.encode_varint32(40u32)?;
11014                encoder.encode_varint64(*val_ref as _)?;
11015            }
11016        }
11017        {
11018            let val_ref = &self.r#t3;
11019            if *val_ref != 0 {
11020                encoder.encode_varint32(48u32)?;
11021                encoder.encode_varint64(*val_ref as _)?;
11022            }
11023        }
11024        {
11025            let val_ref = &self.r#t4;
11026            if *val_ref != 0 {
11027                encoder.encode_varint32(56u32)?;
11028                encoder.encode_varint64(*val_ref as _)?;
11029            }
11030        }
11031        Ok(())
11032    }
11033    fn compute_size(&self) -> usize {
11034        use ::micropb::{PbMap, FieldEncode};
11035        let mut size = 0;
11036        {
11037            let val_ref = &self.r#dlog_token;
11038            if *val_ref != 0 {
11039                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
11040            }
11041        }
11042        {
11043            let val_ref = &self.r#rssi;
11044            if *val_ref != 0 {
11045                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
11046            }
11047        }
11048        {
11049            let val_ref = &self.r#rtt;
11050            if *val_ref != 0 {
11051                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
11052            }
11053        }
11054        {
11055            let val_ref = &self.r#t1;
11056            if *val_ref != 0 {
11057                size += 1usize + ::micropb::size::sizeof_varint64(*val_ref as _);
11058            }
11059        }
11060        {
11061            let val_ref = &self.r#t2;
11062            if *val_ref != 0 {
11063                size += 1usize + ::micropb::size::sizeof_varint64(*val_ref as _);
11064            }
11065        }
11066        {
11067            let val_ref = &self.r#t3;
11068            if *val_ref != 0 {
11069                size += 1usize + ::micropb::size::sizeof_varint64(*val_ref as _);
11070            }
11071        }
11072        {
11073            let val_ref = &self.r#t4;
11074            if *val_ref != 0 {
11075                size += 1usize + ::micropb::size::sizeof_varint64(*val_ref as _);
11076            }
11077        }
11078        size
11079    }
11080}
11081#[derive(Debug, Default, PartialEq, Clone)]
11082pub struct r#wifi_event_ftm_report {
11083    pub r#peer_mac: ::micropb::heapless::Vec<u8, 32>,
11084    pub r#status: i32,
11085    pub r#rtt_raw: u32,
11086    pub r#rtt_est: u32,
11087    pub r#dist_est: u32,
11088    pub r#ftm_report_data: ::micropb::heapless::Vec<r#wifi_ftm_report_entry, 8>,
11089    pub r#ftm_report_num_entries: u32,
11090}
11091impl r#wifi_event_ftm_report {
11092    ///Return a reference to `peer_mac`
11093    #[inline]
11094    pub fn r#peer_mac(&self) -> &::micropb::heapless::Vec<u8, 32> {
11095        &self.r#peer_mac
11096    }
11097    ///Return a mutable reference to `peer_mac`
11098    #[inline]
11099    pub fn mut_peer_mac(&mut self) -> &mut ::micropb::heapless::Vec<u8, 32> {
11100        &mut self.r#peer_mac
11101    }
11102    ///Set the value of `peer_mac`
11103    #[inline]
11104    pub fn set_peer_mac(
11105        &mut self,
11106        value: ::micropb::heapless::Vec<u8, 32>,
11107    ) -> &mut Self {
11108        self.r#peer_mac = value.into();
11109        self
11110    }
11111    ///Builder method that sets the value of `peer_mac`. Useful for initializing the message.
11112    #[inline]
11113    pub fn init_peer_mac(mut self, value: ::micropb::heapless::Vec<u8, 32>) -> Self {
11114        self.r#peer_mac = value.into();
11115        self
11116    }
11117    ///Return a reference to `status`
11118    #[inline]
11119    pub fn r#status(&self) -> &i32 {
11120        &self.r#status
11121    }
11122    ///Return a mutable reference to `status`
11123    #[inline]
11124    pub fn mut_status(&mut self) -> &mut i32 {
11125        &mut self.r#status
11126    }
11127    ///Set the value of `status`
11128    #[inline]
11129    pub fn set_status(&mut self, value: i32) -> &mut Self {
11130        self.r#status = value.into();
11131        self
11132    }
11133    ///Builder method that sets the value of `status`. Useful for initializing the message.
11134    #[inline]
11135    pub fn init_status(mut self, value: i32) -> Self {
11136        self.r#status = value.into();
11137        self
11138    }
11139    ///Return a reference to `rtt_raw`
11140    #[inline]
11141    pub fn r#rtt_raw(&self) -> &u32 {
11142        &self.r#rtt_raw
11143    }
11144    ///Return a mutable reference to `rtt_raw`
11145    #[inline]
11146    pub fn mut_rtt_raw(&mut self) -> &mut u32 {
11147        &mut self.r#rtt_raw
11148    }
11149    ///Set the value of `rtt_raw`
11150    #[inline]
11151    pub fn set_rtt_raw(&mut self, value: u32) -> &mut Self {
11152        self.r#rtt_raw = value.into();
11153        self
11154    }
11155    ///Builder method that sets the value of `rtt_raw`. Useful for initializing the message.
11156    #[inline]
11157    pub fn init_rtt_raw(mut self, value: u32) -> Self {
11158        self.r#rtt_raw = value.into();
11159        self
11160    }
11161    ///Return a reference to `rtt_est`
11162    #[inline]
11163    pub fn r#rtt_est(&self) -> &u32 {
11164        &self.r#rtt_est
11165    }
11166    ///Return a mutable reference to `rtt_est`
11167    #[inline]
11168    pub fn mut_rtt_est(&mut self) -> &mut u32 {
11169        &mut self.r#rtt_est
11170    }
11171    ///Set the value of `rtt_est`
11172    #[inline]
11173    pub fn set_rtt_est(&mut self, value: u32) -> &mut Self {
11174        self.r#rtt_est = value.into();
11175        self
11176    }
11177    ///Builder method that sets the value of `rtt_est`. Useful for initializing the message.
11178    #[inline]
11179    pub fn init_rtt_est(mut self, value: u32) -> Self {
11180        self.r#rtt_est = value.into();
11181        self
11182    }
11183    ///Return a reference to `dist_est`
11184    #[inline]
11185    pub fn r#dist_est(&self) -> &u32 {
11186        &self.r#dist_est
11187    }
11188    ///Return a mutable reference to `dist_est`
11189    #[inline]
11190    pub fn mut_dist_est(&mut self) -> &mut u32 {
11191        &mut self.r#dist_est
11192    }
11193    ///Set the value of `dist_est`
11194    #[inline]
11195    pub fn set_dist_est(&mut self, value: u32) -> &mut Self {
11196        self.r#dist_est = value.into();
11197        self
11198    }
11199    ///Builder method that sets the value of `dist_est`. Useful for initializing the message.
11200    #[inline]
11201    pub fn init_dist_est(mut self, value: u32) -> Self {
11202        self.r#dist_est = value.into();
11203        self
11204    }
11205    ///Return a reference to `ftm_report_num_entries`
11206    #[inline]
11207    pub fn r#ftm_report_num_entries(&self) -> &u32 {
11208        &self.r#ftm_report_num_entries
11209    }
11210    ///Return a mutable reference to `ftm_report_num_entries`
11211    #[inline]
11212    pub fn mut_ftm_report_num_entries(&mut self) -> &mut u32 {
11213        &mut self.r#ftm_report_num_entries
11214    }
11215    ///Set the value of `ftm_report_num_entries`
11216    #[inline]
11217    pub fn set_ftm_report_num_entries(&mut self, value: u32) -> &mut Self {
11218        self.r#ftm_report_num_entries = value.into();
11219        self
11220    }
11221    ///Builder method that sets the value of `ftm_report_num_entries`. Useful for initializing the message.
11222    #[inline]
11223    pub fn init_ftm_report_num_entries(mut self, value: u32) -> Self {
11224        self.r#ftm_report_num_entries = value.into();
11225        self
11226    }
11227}
11228impl ::micropb::MessageDecode for r#wifi_event_ftm_report {
11229    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
11230        &mut self,
11231        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
11232        len: usize,
11233    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
11234        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
11235        let before = decoder.bytes_read();
11236        while decoder.bytes_read() - before < len {
11237            let tag = decoder.decode_tag()?;
11238            match tag.field_num() {
11239                0 => return Err(::micropb::DecodeError::ZeroField),
11240                1u32 => {
11241                    let mut_ref = &mut self.r#peer_mac;
11242                    {
11243                        decoder.decode_bytes(mut_ref, ::micropb::Presence::Implicit)?;
11244                    };
11245                }
11246                2u32 => {
11247                    let mut_ref = &mut self.r#status;
11248                    {
11249                        let val = decoder.decode_int32()?;
11250                        let val_ref = &val;
11251                        if *val_ref != 0 {
11252                            *mut_ref = val as _;
11253                        }
11254                    };
11255                }
11256                3u32 => {
11257                    let mut_ref = &mut self.r#rtt_raw;
11258                    {
11259                        let val = decoder.decode_varint32()?;
11260                        let val_ref = &val;
11261                        if *val_ref != 0 {
11262                            *mut_ref = val as _;
11263                        }
11264                    };
11265                }
11266                4u32 => {
11267                    let mut_ref = &mut self.r#rtt_est;
11268                    {
11269                        let val = decoder.decode_varint32()?;
11270                        let val_ref = &val;
11271                        if *val_ref != 0 {
11272                            *mut_ref = val as _;
11273                        }
11274                    };
11275                }
11276                5u32 => {
11277                    let mut_ref = &mut self.r#dist_est;
11278                    {
11279                        let val = decoder.decode_varint32()?;
11280                        let val_ref = &val;
11281                        if *val_ref != 0 {
11282                            *mut_ref = val as _;
11283                        }
11284                    };
11285                }
11286                6u32 => {
11287                    let mut val: r#wifi_ftm_report_entry = ::core::default::Default::default();
11288                    let mut_ref = &mut val;
11289                    {
11290                        mut_ref.decode_len_delimited(decoder)?;
11291                    };
11292                    if let (Err(_), false) = (
11293                        self.r#ftm_report_data.pb_push(val),
11294                        decoder.ignore_repeated_cap_err,
11295                    ) {
11296                        return Err(::micropb::DecodeError::Capacity);
11297                    }
11298                }
11299                7u32 => {
11300                    let mut_ref = &mut self.r#ftm_report_num_entries;
11301                    {
11302                        let val = decoder.decode_varint32()?;
11303                        let val_ref = &val;
11304                        if *val_ref != 0 {
11305                            *mut_ref = val as _;
11306                        }
11307                    };
11308                }
11309                _ => {
11310                    decoder.skip_wire_value(tag.wire_type())?;
11311                }
11312            }
11313        }
11314        Ok(())
11315    }
11316}
11317impl ::micropb::MessageEncode for r#wifi_event_ftm_report {
11318    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
11319        let mut max_size = 0;
11320        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
11321            ::core::option::Option::Some(33usize), | size | size + 1usize
11322        ) {
11323            max_size += size;
11324        } else {
11325            break 'msg (::core::option::Option::<usize>::None);
11326        };
11327        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
11328            ::core::option::Option::Some(10usize), | size | size + 1usize
11329        ) {
11330            max_size += size;
11331        } else {
11332            break 'msg (::core::option::Option::<usize>::None);
11333        };
11334        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
11335            ::core::option::Option::Some(5usize), | size | size + 1usize
11336        ) {
11337            max_size += size;
11338        } else {
11339            break 'msg (::core::option::Option::<usize>::None);
11340        };
11341        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
11342            ::core::option::Option::Some(5usize), | size | size + 1usize
11343        ) {
11344            max_size += size;
11345        } else {
11346            break 'msg (::core::option::Option::<usize>::None);
11347        };
11348        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
11349            ::core::option::Option::Some(5usize), | size | size + 1usize
11350        ) {
11351            max_size += size;
11352        } else {
11353            break 'msg (::core::option::Option::<usize>::None);
11354        };
11355        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
11356            ::micropb::const_map!(< r#wifi_ftm_report_entry as ::micropb::MessageEncode >
11357            ::MAX_SIZE, | size | ::micropb::size::sizeof_len_record(size)), | size |
11358            (size + 1usize) * 8usize
11359        ) {
11360            max_size += size;
11361        } else {
11362            break 'msg (::core::option::Option::<usize>::None);
11363        };
11364        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
11365            ::core::option::Option::Some(5usize), | size | size + 1usize
11366        ) {
11367            max_size += size;
11368        } else {
11369            break 'msg (::core::option::Option::<usize>::None);
11370        };
11371        ::core::option::Option::Some(max_size)
11372    };
11373    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
11374        &self,
11375        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
11376    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
11377        use ::micropb::{PbMap, FieldEncode};
11378        {
11379            let val_ref = &self.r#peer_mac;
11380            if !val_ref.is_empty() {
11381                encoder.encode_varint32(10u32)?;
11382                encoder.encode_bytes(val_ref)?;
11383            }
11384        }
11385        {
11386            let val_ref = &self.r#status;
11387            if *val_ref != 0 {
11388                encoder.encode_varint32(16u32)?;
11389                encoder.encode_int32(*val_ref as _)?;
11390            }
11391        }
11392        {
11393            let val_ref = &self.r#rtt_raw;
11394            if *val_ref != 0 {
11395                encoder.encode_varint32(24u32)?;
11396                encoder.encode_varint32(*val_ref as _)?;
11397            }
11398        }
11399        {
11400            let val_ref = &self.r#rtt_est;
11401            if *val_ref != 0 {
11402                encoder.encode_varint32(32u32)?;
11403                encoder.encode_varint32(*val_ref as _)?;
11404            }
11405        }
11406        {
11407            let val_ref = &self.r#dist_est;
11408            if *val_ref != 0 {
11409                encoder.encode_varint32(40u32)?;
11410                encoder.encode_varint32(*val_ref as _)?;
11411            }
11412        }
11413        {
11414            for val_ref in self.r#ftm_report_data.iter() {
11415                encoder.encode_varint32(50u32)?;
11416                val_ref.encode_len_delimited(encoder)?;
11417            }
11418        }
11419        {
11420            let val_ref = &self.r#ftm_report_num_entries;
11421            if *val_ref != 0 {
11422                encoder.encode_varint32(56u32)?;
11423                encoder.encode_varint32(*val_ref as _)?;
11424            }
11425        }
11426        Ok(())
11427    }
11428    fn compute_size(&self) -> usize {
11429        use ::micropb::{PbMap, FieldEncode};
11430        let mut size = 0;
11431        {
11432            let val_ref = &self.r#peer_mac;
11433            if !val_ref.is_empty() {
11434                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.len());
11435            }
11436        }
11437        {
11438            let val_ref = &self.r#status;
11439            if *val_ref != 0 {
11440                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
11441            }
11442        }
11443        {
11444            let val_ref = &self.r#rtt_raw;
11445            if *val_ref != 0 {
11446                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
11447            }
11448        }
11449        {
11450            let val_ref = &self.r#rtt_est;
11451            if *val_ref != 0 {
11452                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
11453            }
11454        }
11455        {
11456            let val_ref = &self.r#dist_est;
11457            if *val_ref != 0 {
11458                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
11459            }
11460        }
11461        {
11462            for val_ref in self.r#ftm_report_data.iter() {
11463                size
11464                    += 1usize
11465                        + ::micropb::size::sizeof_len_record(val_ref.compute_size());
11466            }
11467        }
11468        {
11469            let val_ref = &self.r#ftm_report_num_entries;
11470            if *val_ref != 0 {
11471                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
11472            }
11473        }
11474        size
11475    }
11476}
11477#[derive(Debug, Default, PartialEq, Clone)]
11478pub struct r#wifi_event_action_tx_status {
11479    pub r#ifx: i32,
11480    pub r#context: u32,
11481    pub r#da: ::micropb::heapless::Vec<u8, 32>,
11482    pub r#status: u32,
11483}
11484impl r#wifi_event_action_tx_status {
11485    ///Return a reference to `ifx`
11486    #[inline]
11487    pub fn r#ifx(&self) -> &i32 {
11488        &self.r#ifx
11489    }
11490    ///Return a mutable reference to `ifx`
11491    #[inline]
11492    pub fn mut_ifx(&mut self) -> &mut i32 {
11493        &mut self.r#ifx
11494    }
11495    ///Set the value of `ifx`
11496    #[inline]
11497    pub fn set_ifx(&mut self, value: i32) -> &mut Self {
11498        self.r#ifx = value.into();
11499        self
11500    }
11501    ///Builder method that sets the value of `ifx`. Useful for initializing the message.
11502    #[inline]
11503    pub fn init_ifx(mut self, value: i32) -> Self {
11504        self.r#ifx = value.into();
11505        self
11506    }
11507    ///Return a reference to `context`
11508    #[inline]
11509    pub fn r#context(&self) -> &u32 {
11510        &self.r#context
11511    }
11512    ///Return a mutable reference to `context`
11513    #[inline]
11514    pub fn mut_context(&mut self) -> &mut u32 {
11515        &mut self.r#context
11516    }
11517    ///Set the value of `context`
11518    #[inline]
11519    pub fn set_context(&mut self, value: u32) -> &mut Self {
11520        self.r#context = value.into();
11521        self
11522    }
11523    ///Builder method that sets the value of `context`. Useful for initializing the message.
11524    #[inline]
11525    pub fn init_context(mut self, value: u32) -> Self {
11526        self.r#context = value.into();
11527        self
11528    }
11529    ///Return a reference to `da`
11530    #[inline]
11531    pub fn r#da(&self) -> &::micropb::heapless::Vec<u8, 32> {
11532        &self.r#da
11533    }
11534    ///Return a mutable reference to `da`
11535    #[inline]
11536    pub fn mut_da(&mut self) -> &mut ::micropb::heapless::Vec<u8, 32> {
11537        &mut self.r#da
11538    }
11539    ///Set the value of `da`
11540    #[inline]
11541    pub fn set_da(&mut self, value: ::micropb::heapless::Vec<u8, 32>) -> &mut Self {
11542        self.r#da = value.into();
11543        self
11544    }
11545    ///Builder method that sets the value of `da`. Useful for initializing the message.
11546    #[inline]
11547    pub fn init_da(mut self, value: ::micropb::heapless::Vec<u8, 32>) -> Self {
11548        self.r#da = value.into();
11549        self
11550    }
11551    ///Return a reference to `status`
11552    #[inline]
11553    pub fn r#status(&self) -> &u32 {
11554        &self.r#status
11555    }
11556    ///Return a mutable reference to `status`
11557    #[inline]
11558    pub fn mut_status(&mut self) -> &mut u32 {
11559        &mut self.r#status
11560    }
11561    ///Set the value of `status`
11562    #[inline]
11563    pub fn set_status(&mut self, value: u32) -> &mut Self {
11564        self.r#status = value.into();
11565        self
11566    }
11567    ///Builder method that sets the value of `status`. Useful for initializing the message.
11568    #[inline]
11569    pub fn init_status(mut self, value: u32) -> Self {
11570        self.r#status = value.into();
11571        self
11572    }
11573}
11574impl ::micropb::MessageDecode for r#wifi_event_action_tx_status {
11575    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
11576        &mut self,
11577        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
11578        len: usize,
11579    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
11580        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
11581        let before = decoder.bytes_read();
11582        while decoder.bytes_read() - before < len {
11583            let tag = decoder.decode_tag()?;
11584            match tag.field_num() {
11585                0 => return Err(::micropb::DecodeError::ZeroField),
11586                1u32 => {
11587                    let mut_ref = &mut self.r#ifx;
11588                    {
11589                        let val = decoder.decode_int32()?;
11590                        let val_ref = &val;
11591                        if *val_ref != 0 {
11592                            *mut_ref = val as _;
11593                        }
11594                    };
11595                }
11596                2u32 => {
11597                    let mut_ref = &mut self.r#context;
11598                    {
11599                        let val = decoder.decode_varint32()?;
11600                        let val_ref = &val;
11601                        if *val_ref != 0 {
11602                            *mut_ref = val as _;
11603                        }
11604                    };
11605                }
11606                3u32 => {
11607                    let mut_ref = &mut self.r#da;
11608                    {
11609                        decoder.decode_bytes(mut_ref, ::micropb::Presence::Implicit)?;
11610                    };
11611                }
11612                4u32 => {
11613                    let mut_ref = &mut self.r#status;
11614                    {
11615                        let val = decoder.decode_varint32()?;
11616                        let val_ref = &val;
11617                        if *val_ref != 0 {
11618                            *mut_ref = val as _;
11619                        }
11620                    };
11621                }
11622                _ => {
11623                    decoder.skip_wire_value(tag.wire_type())?;
11624                }
11625            }
11626        }
11627        Ok(())
11628    }
11629}
11630impl ::micropb::MessageEncode for r#wifi_event_action_tx_status {
11631    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
11632        let mut max_size = 0;
11633        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
11634            ::core::option::Option::Some(10usize), | size | size + 1usize
11635        ) {
11636            max_size += size;
11637        } else {
11638            break 'msg (::core::option::Option::<usize>::None);
11639        };
11640        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
11641            ::core::option::Option::Some(5usize), | size | size + 1usize
11642        ) {
11643            max_size += size;
11644        } else {
11645            break 'msg (::core::option::Option::<usize>::None);
11646        };
11647        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
11648            ::core::option::Option::Some(33usize), | size | size + 1usize
11649        ) {
11650            max_size += size;
11651        } else {
11652            break 'msg (::core::option::Option::<usize>::None);
11653        };
11654        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
11655            ::core::option::Option::Some(5usize), | size | size + 1usize
11656        ) {
11657            max_size += size;
11658        } else {
11659            break 'msg (::core::option::Option::<usize>::None);
11660        };
11661        ::core::option::Option::Some(max_size)
11662    };
11663    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
11664        &self,
11665        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
11666    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
11667        use ::micropb::{PbMap, FieldEncode};
11668        {
11669            let val_ref = &self.r#ifx;
11670            if *val_ref != 0 {
11671                encoder.encode_varint32(8u32)?;
11672                encoder.encode_int32(*val_ref as _)?;
11673            }
11674        }
11675        {
11676            let val_ref = &self.r#context;
11677            if *val_ref != 0 {
11678                encoder.encode_varint32(16u32)?;
11679                encoder.encode_varint32(*val_ref as _)?;
11680            }
11681        }
11682        {
11683            let val_ref = &self.r#da;
11684            if !val_ref.is_empty() {
11685                encoder.encode_varint32(26u32)?;
11686                encoder.encode_bytes(val_ref)?;
11687            }
11688        }
11689        {
11690            let val_ref = &self.r#status;
11691            if *val_ref != 0 {
11692                encoder.encode_varint32(32u32)?;
11693                encoder.encode_varint32(*val_ref as _)?;
11694            }
11695        }
11696        Ok(())
11697    }
11698    fn compute_size(&self) -> usize {
11699        use ::micropb::{PbMap, FieldEncode};
11700        let mut size = 0;
11701        {
11702            let val_ref = &self.r#ifx;
11703            if *val_ref != 0 {
11704                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
11705            }
11706        }
11707        {
11708            let val_ref = &self.r#context;
11709            if *val_ref != 0 {
11710                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
11711            }
11712        }
11713        {
11714            let val_ref = &self.r#da;
11715            if !val_ref.is_empty() {
11716                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.len());
11717            }
11718        }
11719        {
11720            let val_ref = &self.r#status;
11721            if *val_ref != 0 {
11722                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
11723            }
11724        }
11725        size
11726    }
11727}
11728#[derive(Debug, Default, PartialEq, Clone)]
11729pub struct r#wifi_event_roc_done {
11730    pub r#context: u32,
11731}
11732impl r#wifi_event_roc_done {
11733    ///Return a reference to `context`
11734    #[inline]
11735    pub fn r#context(&self) -> &u32 {
11736        &self.r#context
11737    }
11738    ///Return a mutable reference to `context`
11739    #[inline]
11740    pub fn mut_context(&mut self) -> &mut u32 {
11741        &mut self.r#context
11742    }
11743    ///Set the value of `context`
11744    #[inline]
11745    pub fn set_context(&mut self, value: u32) -> &mut Self {
11746        self.r#context = value.into();
11747        self
11748    }
11749    ///Builder method that sets the value of `context`. Useful for initializing the message.
11750    #[inline]
11751    pub fn init_context(mut self, value: u32) -> Self {
11752        self.r#context = value.into();
11753        self
11754    }
11755}
11756impl ::micropb::MessageDecode for r#wifi_event_roc_done {
11757    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
11758        &mut self,
11759        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
11760        len: usize,
11761    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
11762        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
11763        let before = decoder.bytes_read();
11764        while decoder.bytes_read() - before < len {
11765            let tag = decoder.decode_tag()?;
11766            match tag.field_num() {
11767                0 => return Err(::micropb::DecodeError::ZeroField),
11768                1u32 => {
11769                    let mut_ref = &mut self.r#context;
11770                    {
11771                        let val = decoder.decode_varint32()?;
11772                        let val_ref = &val;
11773                        if *val_ref != 0 {
11774                            *mut_ref = val as _;
11775                        }
11776                    };
11777                }
11778                _ => {
11779                    decoder.skip_wire_value(tag.wire_type())?;
11780                }
11781            }
11782        }
11783        Ok(())
11784    }
11785}
11786impl ::micropb::MessageEncode for r#wifi_event_roc_done {
11787    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
11788        let mut max_size = 0;
11789        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
11790            ::core::option::Option::Some(5usize), | size | size + 1usize
11791        ) {
11792            max_size += size;
11793        } else {
11794            break 'msg (::core::option::Option::<usize>::None);
11795        };
11796        ::core::option::Option::Some(max_size)
11797    };
11798    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
11799        &self,
11800        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
11801    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
11802        use ::micropb::{PbMap, FieldEncode};
11803        {
11804            let val_ref = &self.r#context;
11805            if *val_ref != 0 {
11806                encoder.encode_varint32(8u32)?;
11807                encoder.encode_varint32(*val_ref as _)?;
11808            }
11809        }
11810        Ok(())
11811    }
11812    fn compute_size(&self) -> usize {
11813        use ::micropb::{PbMap, FieldEncode};
11814        let mut size = 0;
11815        {
11816            let val_ref = &self.r#context;
11817            if *val_ref != 0 {
11818                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
11819            }
11820        }
11821        size
11822    }
11823}
11824#[derive(Debug, Default, PartialEq, Clone)]
11825pub struct r#wifi_event_ap_wps_rg_pin {
11826    pub r#pin_code: ::micropb::heapless::Vec<u8, 32>,
11827}
11828impl r#wifi_event_ap_wps_rg_pin {
11829    ///Return a reference to `pin_code`
11830    #[inline]
11831    pub fn r#pin_code(&self) -> &::micropb::heapless::Vec<u8, 32> {
11832        &self.r#pin_code
11833    }
11834    ///Return a mutable reference to `pin_code`
11835    #[inline]
11836    pub fn mut_pin_code(&mut self) -> &mut ::micropb::heapless::Vec<u8, 32> {
11837        &mut self.r#pin_code
11838    }
11839    ///Set the value of `pin_code`
11840    #[inline]
11841    pub fn set_pin_code(
11842        &mut self,
11843        value: ::micropb::heapless::Vec<u8, 32>,
11844    ) -> &mut Self {
11845        self.r#pin_code = value.into();
11846        self
11847    }
11848    ///Builder method that sets the value of `pin_code`. Useful for initializing the message.
11849    #[inline]
11850    pub fn init_pin_code(mut self, value: ::micropb::heapless::Vec<u8, 32>) -> Self {
11851        self.r#pin_code = value.into();
11852        self
11853    }
11854}
11855impl ::micropb::MessageDecode for r#wifi_event_ap_wps_rg_pin {
11856    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
11857        &mut self,
11858        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
11859        len: usize,
11860    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
11861        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
11862        let before = decoder.bytes_read();
11863        while decoder.bytes_read() - before < len {
11864            let tag = decoder.decode_tag()?;
11865            match tag.field_num() {
11866                0 => return Err(::micropb::DecodeError::ZeroField),
11867                1u32 => {
11868                    let mut_ref = &mut self.r#pin_code;
11869                    {
11870                        decoder.decode_bytes(mut_ref, ::micropb::Presence::Implicit)?;
11871                    };
11872                }
11873                _ => {
11874                    decoder.skip_wire_value(tag.wire_type())?;
11875                }
11876            }
11877        }
11878        Ok(())
11879    }
11880}
11881impl ::micropb::MessageEncode for r#wifi_event_ap_wps_rg_pin {
11882    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
11883        let mut max_size = 0;
11884        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
11885            ::core::option::Option::Some(33usize), | size | size + 1usize
11886        ) {
11887            max_size += size;
11888        } else {
11889            break 'msg (::core::option::Option::<usize>::None);
11890        };
11891        ::core::option::Option::Some(max_size)
11892    };
11893    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
11894        &self,
11895        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
11896    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
11897        use ::micropb::{PbMap, FieldEncode};
11898        {
11899            let val_ref = &self.r#pin_code;
11900            if !val_ref.is_empty() {
11901                encoder.encode_varint32(10u32)?;
11902                encoder.encode_bytes(val_ref)?;
11903            }
11904        }
11905        Ok(())
11906    }
11907    fn compute_size(&self) -> usize {
11908        use ::micropb::{PbMap, FieldEncode};
11909        let mut size = 0;
11910        {
11911            let val_ref = &self.r#pin_code;
11912            if !val_ref.is_empty() {
11913                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.len());
11914            }
11915        }
11916        size
11917    }
11918}
11919#[derive(Debug, Default, PartialEq, Clone)]
11920pub struct r#wifi_event_ap_wps_rg_fail_reason {
11921    pub r#reason: i32,
11922    pub r#peer_macaddr: ::micropb::heapless::Vec<u8, 32>,
11923}
11924impl r#wifi_event_ap_wps_rg_fail_reason {
11925    ///Return a reference to `reason`
11926    #[inline]
11927    pub fn r#reason(&self) -> &i32 {
11928        &self.r#reason
11929    }
11930    ///Return a mutable reference to `reason`
11931    #[inline]
11932    pub fn mut_reason(&mut self) -> &mut i32 {
11933        &mut self.r#reason
11934    }
11935    ///Set the value of `reason`
11936    #[inline]
11937    pub fn set_reason(&mut self, value: i32) -> &mut Self {
11938        self.r#reason = value.into();
11939        self
11940    }
11941    ///Builder method that sets the value of `reason`. Useful for initializing the message.
11942    #[inline]
11943    pub fn init_reason(mut self, value: i32) -> Self {
11944        self.r#reason = value.into();
11945        self
11946    }
11947    ///Return a reference to `peer_macaddr`
11948    #[inline]
11949    pub fn r#peer_macaddr(&self) -> &::micropb::heapless::Vec<u8, 32> {
11950        &self.r#peer_macaddr
11951    }
11952    ///Return a mutable reference to `peer_macaddr`
11953    #[inline]
11954    pub fn mut_peer_macaddr(&mut self) -> &mut ::micropb::heapless::Vec<u8, 32> {
11955        &mut self.r#peer_macaddr
11956    }
11957    ///Set the value of `peer_macaddr`
11958    #[inline]
11959    pub fn set_peer_macaddr(
11960        &mut self,
11961        value: ::micropb::heapless::Vec<u8, 32>,
11962    ) -> &mut Self {
11963        self.r#peer_macaddr = value.into();
11964        self
11965    }
11966    ///Builder method that sets the value of `peer_macaddr`. Useful for initializing the message.
11967    #[inline]
11968    pub fn init_peer_macaddr(mut self, value: ::micropb::heapless::Vec<u8, 32>) -> Self {
11969        self.r#peer_macaddr = value.into();
11970        self
11971    }
11972}
11973impl ::micropb::MessageDecode for r#wifi_event_ap_wps_rg_fail_reason {
11974    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
11975        &mut self,
11976        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
11977        len: usize,
11978    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
11979        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
11980        let before = decoder.bytes_read();
11981        while decoder.bytes_read() - before < len {
11982            let tag = decoder.decode_tag()?;
11983            match tag.field_num() {
11984                0 => return Err(::micropb::DecodeError::ZeroField),
11985                1u32 => {
11986                    let mut_ref = &mut self.r#reason;
11987                    {
11988                        let val = decoder.decode_int32()?;
11989                        let val_ref = &val;
11990                        if *val_ref != 0 {
11991                            *mut_ref = val as _;
11992                        }
11993                    };
11994                }
11995                2u32 => {
11996                    let mut_ref = &mut self.r#peer_macaddr;
11997                    {
11998                        decoder.decode_bytes(mut_ref, ::micropb::Presence::Implicit)?;
11999                    };
12000                }
12001                _ => {
12002                    decoder.skip_wire_value(tag.wire_type())?;
12003                }
12004            }
12005        }
12006        Ok(())
12007    }
12008}
12009impl ::micropb::MessageEncode for r#wifi_event_ap_wps_rg_fail_reason {
12010    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
12011        let mut max_size = 0;
12012        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
12013            ::core::option::Option::Some(10usize), | size | size + 1usize
12014        ) {
12015            max_size += size;
12016        } else {
12017            break 'msg (::core::option::Option::<usize>::None);
12018        };
12019        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
12020            ::core::option::Option::Some(33usize), | size | size + 1usize
12021        ) {
12022            max_size += size;
12023        } else {
12024            break 'msg (::core::option::Option::<usize>::None);
12025        };
12026        ::core::option::Option::Some(max_size)
12027    };
12028    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
12029        &self,
12030        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
12031    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
12032        use ::micropb::{PbMap, FieldEncode};
12033        {
12034            let val_ref = &self.r#reason;
12035            if *val_ref != 0 {
12036                encoder.encode_varint32(8u32)?;
12037                encoder.encode_int32(*val_ref as _)?;
12038            }
12039        }
12040        {
12041            let val_ref = &self.r#peer_macaddr;
12042            if !val_ref.is_empty() {
12043                encoder.encode_varint32(18u32)?;
12044                encoder.encode_bytes(val_ref)?;
12045            }
12046        }
12047        Ok(())
12048    }
12049    fn compute_size(&self) -> usize {
12050        use ::micropb::{PbMap, FieldEncode};
12051        let mut size = 0;
12052        {
12053            let val_ref = &self.r#reason;
12054            if *val_ref != 0 {
12055                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
12056            }
12057        }
12058        {
12059            let val_ref = &self.r#peer_macaddr;
12060            if !val_ref.is_empty() {
12061                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.len());
12062            }
12063        }
12064        size
12065    }
12066}
12067#[derive(Debug, Default, PartialEq, Clone)]
12068pub struct r#wifi_event_ap_wps_rg_success {
12069    pub r#peer_macaddr: ::micropb::heapless::Vec<u8, 32>,
12070}
12071impl r#wifi_event_ap_wps_rg_success {
12072    ///Return a reference to `peer_macaddr`
12073    #[inline]
12074    pub fn r#peer_macaddr(&self) -> &::micropb::heapless::Vec<u8, 32> {
12075        &self.r#peer_macaddr
12076    }
12077    ///Return a mutable reference to `peer_macaddr`
12078    #[inline]
12079    pub fn mut_peer_macaddr(&mut self) -> &mut ::micropb::heapless::Vec<u8, 32> {
12080        &mut self.r#peer_macaddr
12081    }
12082    ///Set the value of `peer_macaddr`
12083    #[inline]
12084    pub fn set_peer_macaddr(
12085        &mut self,
12086        value: ::micropb::heapless::Vec<u8, 32>,
12087    ) -> &mut Self {
12088        self.r#peer_macaddr = value.into();
12089        self
12090    }
12091    ///Builder method that sets the value of `peer_macaddr`. Useful for initializing the message.
12092    #[inline]
12093    pub fn init_peer_macaddr(mut self, value: ::micropb::heapless::Vec<u8, 32>) -> Self {
12094        self.r#peer_macaddr = value.into();
12095        self
12096    }
12097}
12098impl ::micropb::MessageDecode for r#wifi_event_ap_wps_rg_success {
12099    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
12100        &mut self,
12101        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
12102        len: usize,
12103    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
12104        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
12105        let before = decoder.bytes_read();
12106        while decoder.bytes_read() - before < len {
12107            let tag = decoder.decode_tag()?;
12108            match tag.field_num() {
12109                0 => return Err(::micropb::DecodeError::ZeroField),
12110                1u32 => {
12111                    let mut_ref = &mut self.r#peer_macaddr;
12112                    {
12113                        decoder.decode_bytes(mut_ref, ::micropb::Presence::Implicit)?;
12114                    };
12115                }
12116                _ => {
12117                    decoder.skip_wire_value(tag.wire_type())?;
12118                }
12119            }
12120        }
12121        Ok(())
12122    }
12123}
12124impl ::micropb::MessageEncode for r#wifi_event_ap_wps_rg_success {
12125    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
12126        let mut max_size = 0;
12127        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
12128            ::core::option::Option::Some(33usize), | size | size + 1usize
12129        ) {
12130            max_size += size;
12131        } else {
12132            break 'msg (::core::option::Option::<usize>::None);
12133        };
12134        ::core::option::Option::Some(max_size)
12135    };
12136    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
12137        &self,
12138        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
12139    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
12140        use ::micropb::{PbMap, FieldEncode};
12141        {
12142            let val_ref = &self.r#peer_macaddr;
12143            if !val_ref.is_empty() {
12144                encoder.encode_varint32(10u32)?;
12145                encoder.encode_bytes(val_ref)?;
12146            }
12147        }
12148        Ok(())
12149    }
12150    fn compute_size(&self) -> usize {
12151        use ::micropb::{PbMap, FieldEncode};
12152        let mut size = 0;
12153        {
12154            let val_ref = &self.r#peer_macaddr;
12155            if !val_ref.is_empty() {
12156                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.len());
12157            }
12158        }
12159        size
12160    }
12161}
12162#[derive(Debug, Default, PartialEq, Clone)]
12163pub struct r#wifi_protocols {
12164    pub r#ghz_2g: u32,
12165    pub r#ghz_5g: u32,
12166}
12167impl r#wifi_protocols {
12168    ///Return a reference to `ghz_2g`
12169    #[inline]
12170    pub fn r#ghz_2g(&self) -> &u32 {
12171        &self.r#ghz_2g
12172    }
12173    ///Return a mutable reference to `ghz_2g`
12174    #[inline]
12175    pub fn mut_ghz_2g(&mut self) -> &mut u32 {
12176        &mut self.r#ghz_2g
12177    }
12178    ///Set the value of `ghz_2g`
12179    #[inline]
12180    pub fn set_ghz_2g(&mut self, value: u32) -> &mut Self {
12181        self.r#ghz_2g = value.into();
12182        self
12183    }
12184    ///Builder method that sets the value of `ghz_2g`. Useful for initializing the message.
12185    #[inline]
12186    pub fn init_ghz_2g(mut self, value: u32) -> Self {
12187        self.r#ghz_2g = value.into();
12188        self
12189    }
12190    ///Return a reference to `ghz_5g`
12191    #[inline]
12192    pub fn r#ghz_5g(&self) -> &u32 {
12193        &self.r#ghz_5g
12194    }
12195    ///Return a mutable reference to `ghz_5g`
12196    #[inline]
12197    pub fn mut_ghz_5g(&mut self) -> &mut u32 {
12198        &mut self.r#ghz_5g
12199    }
12200    ///Set the value of `ghz_5g`
12201    #[inline]
12202    pub fn set_ghz_5g(&mut self, value: u32) -> &mut Self {
12203        self.r#ghz_5g = value.into();
12204        self
12205    }
12206    ///Builder method that sets the value of `ghz_5g`. Useful for initializing the message.
12207    #[inline]
12208    pub fn init_ghz_5g(mut self, value: u32) -> Self {
12209        self.r#ghz_5g = value.into();
12210        self
12211    }
12212}
12213impl ::micropb::MessageDecode for r#wifi_protocols {
12214    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
12215        &mut self,
12216        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
12217        len: usize,
12218    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
12219        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
12220        let before = decoder.bytes_read();
12221        while decoder.bytes_read() - before < len {
12222            let tag = decoder.decode_tag()?;
12223            match tag.field_num() {
12224                0 => return Err(::micropb::DecodeError::ZeroField),
12225                1u32 => {
12226                    let mut_ref = &mut self.r#ghz_2g;
12227                    {
12228                        let val = decoder.decode_varint32()?;
12229                        let val_ref = &val;
12230                        if *val_ref != 0 {
12231                            *mut_ref = val as _;
12232                        }
12233                    };
12234                }
12235                2u32 => {
12236                    let mut_ref = &mut self.r#ghz_5g;
12237                    {
12238                        let val = decoder.decode_varint32()?;
12239                        let val_ref = &val;
12240                        if *val_ref != 0 {
12241                            *mut_ref = val as _;
12242                        }
12243                    };
12244                }
12245                _ => {
12246                    decoder.skip_wire_value(tag.wire_type())?;
12247                }
12248            }
12249        }
12250        Ok(())
12251    }
12252}
12253impl ::micropb::MessageEncode for r#wifi_protocols {
12254    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
12255        let mut max_size = 0;
12256        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
12257            ::core::option::Option::Some(5usize), | size | size + 1usize
12258        ) {
12259            max_size += size;
12260        } else {
12261            break 'msg (::core::option::Option::<usize>::None);
12262        };
12263        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
12264            ::core::option::Option::Some(5usize), | size | size + 1usize
12265        ) {
12266            max_size += size;
12267        } else {
12268            break 'msg (::core::option::Option::<usize>::None);
12269        };
12270        ::core::option::Option::Some(max_size)
12271    };
12272    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
12273        &self,
12274        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
12275    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
12276        use ::micropb::{PbMap, FieldEncode};
12277        {
12278            let val_ref = &self.r#ghz_2g;
12279            if *val_ref != 0 {
12280                encoder.encode_varint32(8u32)?;
12281                encoder.encode_varint32(*val_ref as _)?;
12282            }
12283        }
12284        {
12285            let val_ref = &self.r#ghz_5g;
12286            if *val_ref != 0 {
12287                encoder.encode_varint32(16u32)?;
12288                encoder.encode_varint32(*val_ref as _)?;
12289            }
12290        }
12291        Ok(())
12292    }
12293    fn compute_size(&self) -> usize {
12294        use ::micropb::{PbMap, FieldEncode};
12295        let mut size = 0;
12296        {
12297            let val_ref = &self.r#ghz_2g;
12298            if *val_ref != 0 {
12299                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
12300            }
12301        }
12302        {
12303            let val_ref = &self.r#ghz_5g;
12304            if *val_ref != 0 {
12305                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
12306            }
12307        }
12308        size
12309    }
12310}
12311#[derive(Debug, Default, PartialEq, Clone)]
12312pub struct r#wifi_bandwidths {
12313    pub r#ghz_2g: u32,
12314    pub r#ghz_5g: u32,
12315}
12316impl r#wifi_bandwidths {
12317    ///Return a reference to `ghz_2g`
12318    #[inline]
12319    pub fn r#ghz_2g(&self) -> &u32 {
12320        &self.r#ghz_2g
12321    }
12322    ///Return a mutable reference to `ghz_2g`
12323    #[inline]
12324    pub fn mut_ghz_2g(&mut self) -> &mut u32 {
12325        &mut self.r#ghz_2g
12326    }
12327    ///Set the value of `ghz_2g`
12328    #[inline]
12329    pub fn set_ghz_2g(&mut self, value: u32) -> &mut Self {
12330        self.r#ghz_2g = value.into();
12331        self
12332    }
12333    ///Builder method that sets the value of `ghz_2g`. Useful for initializing the message.
12334    #[inline]
12335    pub fn init_ghz_2g(mut self, value: u32) -> Self {
12336        self.r#ghz_2g = value.into();
12337        self
12338    }
12339    ///Return a reference to `ghz_5g`
12340    #[inline]
12341    pub fn r#ghz_5g(&self) -> &u32 {
12342        &self.r#ghz_5g
12343    }
12344    ///Return a mutable reference to `ghz_5g`
12345    #[inline]
12346    pub fn mut_ghz_5g(&mut self) -> &mut u32 {
12347        &mut self.r#ghz_5g
12348    }
12349    ///Set the value of `ghz_5g`
12350    #[inline]
12351    pub fn set_ghz_5g(&mut self, value: u32) -> &mut Self {
12352        self.r#ghz_5g = value.into();
12353        self
12354    }
12355    ///Builder method that sets the value of `ghz_5g`. Useful for initializing the message.
12356    #[inline]
12357    pub fn init_ghz_5g(mut self, value: u32) -> Self {
12358        self.r#ghz_5g = value.into();
12359        self
12360    }
12361}
12362impl ::micropb::MessageDecode for r#wifi_bandwidths {
12363    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
12364        &mut self,
12365        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
12366        len: usize,
12367    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
12368        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
12369        let before = decoder.bytes_read();
12370        while decoder.bytes_read() - before < len {
12371            let tag = decoder.decode_tag()?;
12372            match tag.field_num() {
12373                0 => return Err(::micropb::DecodeError::ZeroField),
12374                1u32 => {
12375                    let mut_ref = &mut self.r#ghz_2g;
12376                    {
12377                        let val = decoder.decode_varint32()?;
12378                        let val_ref = &val;
12379                        if *val_ref != 0 {
12380                            *mut_ref = val as _;
12381                        }
12382                    };
12383                }
12384                2u32 => {
12385                    let mut_ref = &mut self.r#ghz_5g;
12386                    {
12387                        let val = decoder.decode_varint32()?;
12388                        let val_ref = &val;
12389                        if *val_ref != 0 {
12390                            *mut_ref = val as _;
12391                        }
12392                    };
12393                }
12394                _ => {
12395                    decoder.skip_wire_value(tag.wire_type())?;
12396                }
12397            }
12398        }
12399        Ok(())
12400    }
12401}
12402impl ::micropb::MessageEncode for r#wifi_bandwidths {
12403    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
12404        let mut max_size = 0;
12405        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
12406            ::core::option::Option::Some(5usize), | size | size + 1usize
12407        ) {
12408            max_size += size;
12409        } else {
12410            break 'msg (::core::option::Option::<usize>::None);
12411        };
12412        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
12413            ::core::option::Option::Some(5usize), | size | size + 1usize
12414        ) {
12415            max_size += size;
12416        } else {
12417            break 'msg (::core::option::Option::<usize>::None);
12418        };
12419        ::core::option::Option::Some(max_size)
12420    };
12421    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
12422        &self,
12423        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
12424    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
12425        use ::micropb::{PbMap, FieldEncode};
12426        {
12427            let val_ref = &self.r#ghz_2g;
12428            if *val_ref != 0 {
12429                encoder.encode_varint32(8u32)?;
12430                encoder.encode_varint32(*val_ref as _)?;
12431            }
12432        }
12433        {
12434            let val_ref = &self.r#ghz_5g;
12435            if *val_ref != 0 {
12436                encoder.encode_varint32(16u32)?;
12437                encoder.encode_varint32(*val_ref as _)?;
12438            }
12439        }
12440        Ok(())
12441    }
12442    fn compute_size(&self) -> usize {
12443        use ::micropb::{PbMap, FieldEncode};
12444        let mut size = 0;
12445        {
12446            let val_ref = &self.r#ghz_2g;
12447            if *val_ref != 0 {
12448                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
12449            }
12450        }
12451        {
12452            let val_ref = &self.r#ghz_5g;
12453            if *val_ref != 0 {
12454                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
12455            }
12456        }
12457        size
12458    }
12459}
12460#[derive(Debug, Default, PartialEq, Clone)]
12461pub struct ConnectedSTAList {
12462    pub r#mac: ::micropb::heapless::Vec<u8, 32>,
12463    pub r#rssi: i32,
12464}
12465impl ConnectedSTAList {
12466    ///Return a reference to `mac`
12467    #[inline]
12468    pub fn r#mac(&self) -> &::micropb::heapless::Vec<u8, 32> {
12469        &self.r#mac
12470    }
12471    ///Return a mutable reference to `mac`
12472    #[inline]
12473    pub fn mut_mac(&mut self) -> &mut ::micropb::heapless::Vec<u8, 32> {
12474        &mut self.r#mac
12475    }
12476    ///Set the value of `mac`
12477    #[inline]
12478    pub fn set_mac(&mut self, value: ::micropb::heapless::Vec<u8, 32>) -> &mut Self {
12479        self.r#mac = value.into();
12480        self
12481    }
12482    ///Builder method that sets the value of `mac`. Useful for initializing the message.
12483    #[inline]
12484    pub fn init_mac(mut self, value: ::micropb::heapless::Vec<u8, 32>) -> Self {
12485        self.r#mac = value.into();
12486        self
12487    }
12488    ///Return a reference to `rssi`
12489    #[inline]
12490    pub fn r#rssi(&self) -> &i32 {
12491        &self.r#rssi
12492    }
12493    ///Return a mutable reference to `rssi`
12494    #[inline]
12495    pub fn mut_rssi(&mut self) -> &mut i32 {
12496        &mut self.r#rssi
12497    }
12498    ///Set the value of `rssi`
12499    #[inline]
12500    pub fn set_rssi(&mut self, value: i32) -> &mut Self {
12501        self.r#rssi = value.into();
12502        self
12503    }
12504    ///Builder method that sets the value of `rssi`. Useful for initializing the message.
12505    #[inline]
12506    pub fn init_rssi(mut self, value: i32) -> Self {
12507        self.r#rssi = value.into();
12508        self
12509    }
12510}
12511impl ::micropb::MessageDecode for ConnectedSTAList {
12512    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
12513        &mut self,
12514        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
12515        len: usize,
12516    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
12517        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
12518        let before = decoder.bytes_read();
12519        while decoder.bytes_read() - before < len {
12520            let tag = decoder.decode_tag()?;
12521            match tag.field_num() {
12522                0 => return Err(::micropb::DecodeError::ZeroField),
12523                1u32 => {
12524                    let mut_ref = &mut self.r#mac;
12525                    {
12526                        decoder.decode_bytes(mut_ref, ::micropb::Presence::Implicit)?;
12527                    };
12528                }
12529                2u32 => {
12530                    let mut_ref = &mut self.r#rssi;
12531                    {
12532                        let val = decoder.decode_int32()?;
12533                        let val_ref = &val;
12534                        if *val_ref != 0 {
12535                            *mut_ref = val as _;
12536                        }
12537                    };
12538                }
12539                _ => {
12540                    decoder.skip_wire_value(tag.wire_type())?;
12541                }
12542            }
12543        }
12544        Ok(())
12545    }
12546}
12547impl ::micropb::MessageEncode for ConnectedSTAList {
12548    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
12549        let mut max_size = 0;
12550        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
12551            ::core::option::Option::Some(33usize), | size | size + 1usize
12552        ) {
12553            max_size += size;
12554        } else {
12555            break 'msg (::core::option::Option::<usize>::None);
12556        };
12557        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
12558            ::core::option::Option::Some(10usize), | size | size + 1usize
12559        ) {
12560            max_size += size;
12561        } else {
12562            break 'msg (::core::option::Option::<usize>::None);
12563        };
12564        ::core::option::Option::Some(max_size)
12565    };
12566    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
12567        &self,
12568        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
12569    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
12570        use ::micropb::{PbMap, FieldEncode};
12571        {
12572            let val_ref = &self.r#mac;
12573            if !val_ref.is_empty() {
12574                encoder.encode_varint32(10u32)?;
12575                encoder.encode_bytes(val_ref)?;
12576            }
12577        }
12578        {
12579            let val_ref = &self.r#rssi;
12580            if *val_ref != 0 {
12581                encoder.encode_varint32(16u32)?;
12582                encoder.encode_int32(*val_ref as _)?;
12583            }
12584        }
12585        Ok(())
12586    }
12587    fn compute_size(&self) -> usize {
12588        use ::micropb::{PbMap, FieldEncode};
12589        let mut size = 0;
12590        {
12591            let val_ref = &self.r#mac;
12592            if !val_ref.is_empty() {
12593                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.len());
12594            }
12595        }
12596        {
12597            let val_ref = &self.r#rssi;
12598            if *val_ref != 0 {
12599                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
12600            }
12601        }
12602        size
12603    }
12604}
12605#[derive(Debug, Default, PartialEq, Clone)]
12606pub struct Rpc_Req_GetMacAddress {
12607    pub r#mode: i32,
12608}
12609impl Rpc_Req_GetMacAddress {
12610    ///Return a reference to `mode`
12611    #[inline]
12612    pub fn r#mode(&self) -> &i32 {
12613        &self.r#mode
12614    }
12615    ///Return a mutable reference to `mode`
12616    #[inline]
12617    pub fn mut_mode(&mut self) -> &mut i32 {
12618        &mut self.r#mode
12619    }
12620    ///Set the value of `mode`
12621    #[inline]
12622    pub fn set_mode(&mut self, value: i32) -> &mut Self {
12623        self.r#mode = value.into();
12624        self
12625    }
12626    ///Builder method that sets the value of `mode`. Useful for initializing the message.
12627    #[inline]
12628    pub fn init_mode(mut self, value: i32) -> Self {
12629        self.r#mode = value.into();
12630        self
12631    }
12632}
12633impl ::micropb::MessageDecode for Rpc_Req_GetMacAddress {
12634    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
12635        &mut self,
12636        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
12637        len: usize,
12638    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
12639        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
12640        let before = decoder.bytes_read();
12641        while decoder.bytes_read() - before < len {
12642            let tag = decoder.decode_tag()?;
12643            match tag.field_num() {
12644                0 => return Err(::micropb::DecodeError::ZeroField),
12645                1u32 => {
12646                    let mut_ref = &mut self.r#mode;
12647                    {
12648                        let val = decoder.decode_int32()?;
12649                        let val_ref = &val;
12650                        if *val_ref != 0 {
12651                            *mut_ref = val as _;
12652                        }
12653                    };
12654                }
12655                _ => {
12656                    decoder.skip_wire_value(tag.wire_type())?;
12657                }
12658            }
12659        }
12660        Ok(())
12661    }
12662}
12663impl ::micropb::MessageEncode for Rpc_Req_GetMacAddress {
12664    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
12665        let mut max_size = 0;
12666        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
12667            ::core::option::Option::Some(10usize), | size | size + 1usize
12668        ) {
12669            max_size += size;
12670        } else {
12671            break 'msg (::core::option::Option::<usize>::None);
12672        };
12673        ::core::option::Option::Some(max_size)
12674    };
12675    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
12676        &self,
12677        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
12678    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
12679        use ::micropb::{PbMap, FieldEncode};
12680        {
12681            let val_ref = &self.r#mode;
12682            if *val_ref != 0 {
12683                encoder.encode_varint32(8u32)?;
12684                encoder.encode_int32(*val_ref as _)?;
12685            }
12686        }
12687        Ok(())
12688    }
12689    fn compute_size(&self) -> usize {
12690        use ::micropb::{PbMap, FieldEncode};
12691        let mut size = 0;
12692        {
12693            let val_ref = &self.r#mode;
12694            if *val_ref != 0 {
12695                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
12696            }
12697        }
12698        size
12699    }
12700}
12701#[derive(Debug, Default, PartialEq, Clone)]
12702pub struct Rpc_Resp_GetMacAddress {
12703    pub r#mac: ::micropb::heapless::Vec<u8, 32>,
12704    pub r#resp: i32,
12705}
12706impl Rpc_Resp_GetMacAddress {
12707    ///Return a reference to `mac`
12708    #[inline]
12709    pub fn r#mac(&self) -> &::micropb::heapless::Vec<u8, 32> {
12710        &self.r#mac
12711    }
12712    ///Return a mutable reference to `mac`
12713    #[inline]
12714    pub fn mut_mac(&mut self) -> &mut ::micropb::heapless::Vec<u8, 32> {
12715        &mut self.r#mac
12716    }
12717    ///Set the value of `mac`
12718    #[inline]
12719    pub fn set_mac(&mut self, value: ::micropb::heapless::Vec<u8, 32>) -> &mut Self {
12720        self.r#mac = value.into();
12721        self
12722    }
12723    ///Builder method that sets the value of `mac`. Useful for initializing the message.
12724    #[inline]
12725    pub fn init_mac(mut self, value: ::micropb::heapless::Vec<u8, 32>) -> Self {
12726        self.r#mac = value.into();
12727        self
12728    }
12729    ///Return a reference to `resp`
12730    #[inline]
12731    pub fn r#resp(&self) -> &i32 {
12732        &self.r#resp
12733    }
12734    ///Return a mutable reference to `resp`
12735    #[inline]
12736    pub fn mut_resp(&mut self) -> &mut i32 {
12737        &mut self.r#resp
12738    }
12739    ///Set the value of `resp`
12740    #[inline]
12741    pub fn set_resp(&mut self, value: i32) -> &mut Self {
12742        self.r#resp = value.into();
12743        self
12744    }
12745    ///Builder method that sets the value of `resp`. Useful for initializing the message.
12746    #[inline]
12747    pub fn init_resp(mut self, value: i32) -> Self {
12748        self.r#resp = value.into();
12749        self
12750    }
12751}
12752impl ::micropb::MessageDecode for Rpc_Resp_GetMacAddress {
12753    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
12754        &mut self,
12755        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
12756        len: usize,
12757    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
12758        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
12759        let before = decoder.bytes_read();
12760        while decoder.bytes_read() - before < len {
12761            let tag = decoder.decode_tag()?;
12762            match tag.field_num() {
12763                0 => return Err(::micropb::DecodeError::ZeroField),
12764                1u32 => {
12765                    let mut_ref = &mut self.r#mac;
12766                    {
12767                        decoder.decode_bytes(mut_ref, ::micropb::Presence::Implicit)?;
12768                    };
12769                }
12770                2u32 => {
12771                    let mut_ref = &mut self.r#resp;
12772                    {
12773                        let val = decoder.decode_int32()?;
12774                        let val_ref = &val;
12775                        if *val_ref != 0 {
12776                            *mut_ref = val as _;
12777                        }
12778                    };
12779                }
12780                _ => {
12781                    decoder.skip_wire_value(tag.wire_type())?;
12782                }
12783            }
12784        }
12785        Ok(())
12786    }
12787}
12788impl ::micropb::MessageEncode for Rpc_Resp_GetMacAddress {
12789    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
12790        let mut max_size = 0;
12791        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
12792            ::core::option::Option::Some(33usize), | size | size + 1usize
12793        ) {
12794            max_size += size;
12795        } else {
12796            break 'msg (::core::option::Option::<usize>::None);
12797        };
12798        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
12799            ::core::option::Option::Some(10usize), | size | size + 1usize
12800        ) {
12801            max_size += size;
12802        } else {
12803            break 'msg (::core::option::Option::<usize>::None);
12804        };
12805        ::core::option::Option::Some(max_size)
12806    };
12807    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
12808        &self,
12809        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
12810    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
12811        use ::micropb::{PbMap, FieldEncode};
12812        {
12813            let val_ref = &self.r#mac;
12814            if !val_ref.is_empty() {
12815                encoder.encode_varint32(10u32)?;
12816                encoder.encode_bytes(val_ref)?;
12817            }
12818        }
12819        {
12820            let val_ref = &self.r#resp;
12821            if *val_ref != 0 {
12822                encoder.encode_varint32(16u32)?;
12823                encoder.encode_int32(*val_ref as _)?;
12824            }
12825        }
12826        Ok(())
12827    }
12828    fn compute_size(&self) -> usize {
12829        use ::micropb::{PbMap, FieldEncode};
12830        let mut size = 0;
12831        {
12832            let val_ref = &self.r#mac;
12833            if !val_ref.is_empty() {
12834                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.len());
12835            }
12836        }
12837        {
12838            let val_ref = &self.r#resp;
12839            if *val_ref != 0 {
12840                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
12841            }
12842        }
12843        size
12844    }
12845}
12846#[derive(Debug, Default, PartialEq, Clone)]
12847pub struct Rpc_Req_GetMode {}
12848impl Rpc_Req_GetMode {}
12849impl ::micropb::MessageDecode for Rpc_Req_GetMode {
12850    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
12851        &mut self,
12852        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
12853        len: usize,
12854    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
12855        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
12856        let before = decoder.bytes_read();
12857        while decoder.bytes_read() - before < len {
12858            let tag = decoder.decode_tag()?;
12859            match tag.field_num() {
12860                0 => return Err(::micropb::DecodeError::ZeroField),
12861                _ => {
12862                    decoder.skip_wire_value(tag.wire_type())?;
12863                }
12864            }
12865        }
12866        Ok(())
12867    }
12868}
12869impl ::micropb::MessageEncode for Rpc_Req_GetMode {
12870    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
12871        let mut max_size = 0;
12872        ::core::option::Option::Some(max_size)
12873    };
12874    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
12875        &self,
12876        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
12877    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
12878        use ::micropb::{PbMap, FieldEncode};
12879        Ok(())
12880    }
12881    fn compute_size(&self) -> usize {
12882        use ::micropb::{PbMap, FieldEncode};
12883        let mut size = 0;
12884        size
12885    }
12886}
12887#[derive(Debug, Default, PartialEq, Clone)]
12888pub struct Rpc_Resp_GetMode {
12889    pub r#mode: i32,
12890    pub r#resp: i32,
12891}
12892impl Rpc_Resp_GetMode {
12893    ///Return a reference to `mode`
12894    #[inline]
12895    pub fn r#mode(&self) -> &i32 {
12896        &self.r#mode
12897    }
12898    ///Return a mutable reference to `mode`
12899    #[inline]
12900    pub fn mut_mode(&mut self) -> &mut i32 {
12901        &mut self.r#mode
12902    }
12903    ///Set the value of `mode`
12904    #[inline]
12905    pub fn set_mode(&mut self, value: i32) -> &mut Self {
12906        self.r#mode = value.into();
12907        self
12908    }
12909    ///Builder method that sets the value of `mode`. Useful for initializing the message.
12910    #[inline]
12911    pub fn init_mode(mut self, value: i32) -> Self {
12912        self.r#mode = value.into();
12913        self
12914    }
12915    ///Return a reference to `resp`
12916    #[inline]
12917    pub fn r#resp(&self) -> &i32 {
12918        &self.r#resp
12919    }
12920    ///Return a mutable reference to `resp`
12921    #[inline]
12922    pub fn mut_resp(&mut self) -> &mut i32 {
12923        &mut self.r#resp
12924    }
12925    ///Set the value of `resp`
12926    #[inline]
12927    pub fn set_resp(&mut self, value: i32) -> &mut Self {
12928        self.r#resp = value.into();
12929        self
12930    }
12931    ///Builder method that sets the value of `resp`. Useful for initializing the message.
12932    #[inline]
12933    pub fn init_resp(mut self, value: i32) -> Self {
12934        self.r#resp = value.into();
12935        self
12936    }
12937}
12938impl ::micropb::MessageDecode for Rpc_Resp_GetMode {
12939    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
12940        &mut self,
12941        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
12942        len: usize,
12943    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
12944        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
12945        let before = decoder.bytes_read();
12946        while decoder.bytes_read() - before < len {
12947            let tag = decoder.decode_tag()?;
12948            match tag.field_num() {
12949                0 => return Err(::micropb::DecodeError::ZeroField),
12950                1u32 => {
12951                    let mut_ref = &mut self.r#mode;
12952                    {
12953                        let val = decoder.decode_int32()?;
12954                        let val_ref = &val;
12955                        if *val_ref != 0 {
12956                            *mut_ref = val as _;
12957                        }
12958                    };
12959                }
12960                2u32 => {
12961                    let mut_ref = &mut self.r#resp;
12962                    {
12963                        let val = decoder.decode_int32()?;
12964                        let val_ref = &val;
12965                        if *val_ref != 0 {
12966                            *mut_ref = val as _;
12967                        }
12968                    };
12969                }
12970                _ => {
12971                    decoder.skip_wire_value(tag.wire_type())?;
12972                }
12973            }
12974        }
12975        Ok(())
12976    }
12977}
12978impl ::micropb::MessageEncode for Rpc_Resp_GetMode {
12979    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
12980        let mut max_size = 0;
12981        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
12982            ::core::option::Option::Some(10usize), | size | size + 1usize
12983        ) {
12984            max_size += size;
12985        } else {
12986            break 'msg (::core::option::Option::<usize>::None);
12987        };
12988        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
12989            ::core::option::Option::Some(10usize), | size | size + 1usize
12990        ) {
12991            max_size += size;
12992        } else {
12993            break 'msg (::core::option::Option::<usize>::None);
12994        };
12995        ::core::option::Option::Some(max_size)
12996    };
12997    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
12998        &self,
12999        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
13000    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
13001        use ::micropb::{PbMap, FieldEncode};
13002        {
13003            let val_ref = &self.r#mode;
13004            if *val_ref != 0 {
13005                encoder.encode_varint32(8u32)?;
13006                encoder.encode_int32(*val_ref as _)?;
13007            }
13008        }
13009        {
13010            let val_ref = &self.r#resp;
13011            if *val_ref != 0 {
13012                encoder.encode_varint32(16u32)?;
13013                encoder.encode_int32(*val_ref as _)?;
13014            }
13015        }
13016        Ok(())
13017    }
13018    fn compute_size(&self) -> usize {
13019        use ::micropb::{PbMap, FieldEncode};
13020        let mut size = 0;
13021        {
13022            let val_ref = &self.r#mode;
13023            if *val_ref != 0 {
13024                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
13025            }
13026        }
13027        {
13028            let val_ref = &self.r#resp;
13029            if *val_ref != 0 {
13030                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
13031            }
13032        }
13033        size
13034    }
13035}
13036#[derive(Debug, Default, PartialEq, Clone)]
13037pub struct Rpc_Req_SetMode {
13038    pub r#mode: i32,
13039}
13040impl Rpc_Req_SetMode {
13041    ///Return a reference to `mode`
13042    #[inline]
13043    pub fn r#mode(&self) -> &i32 {
13044        &self.r#mode
13045    }
13046    ///Return a mutable reference to `mode`
13047    #[inline]
13048    pub fn mut_mode(&mut self) -> &mut i32 {
13049        &mut self.r#mode
13050    }
13051    ///Set the value of `mode`
13052    #[inline]
13053    pub fn set_mode(&mut self, value: i32) -> &mut Self {
13054        self.r#mode = value.into();
13055        self
13056    }
13057    ///Builder method that sets the value of `mode`. Useful for initializing the message.
13058    #[inline]
13059    pub fn init_mode(mut self, value: i32) -> Self {
13060        self.r#mode = value.into();
13061        self
13062    }
13063}
13064impl ::micropb::MessageDecode for Rpc_Req_SetMode {
13065    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
13066        &mut self,
13067        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
13068        len: usize,
13069    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
13070        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
13071        let before = decoder.bytes_read();
13072        while decoder.bytes_read() - before < len {
13073            let tag = decoder.decode_tag()?;
13074            match tag.field_num() {
13075                0 => return Err(::micropb::DecodeError::ZeroField),
13076                1u32 => {
13077                    let mut_ref = &mut self.r#mode;
13078                    {
13079                        let val = decoder.decode_int32()?;
13080                        let val_ref = &val;
13081                        if *val_ref != 0 {
13082                            *mut_ref = val as _;
13083                        }
13084                    };
13085                }
13086                _ => {
13087                    decoder.skip_wire_value(tag.wire_type())?;
13088                }
13089            }
13090        }
13091        Ok(())
13092    }
13093}
13094impl ::micropb::MessageEncode for Rpc_Req_SetMode {
13095    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
13096        let mut max_size = 0;
13097        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
13098            ::core::option::Option::Some(10usize), | size | size + 1usize
13099        ) {
13100            max_size += size;
13101        } else {
13102            break 'msg (::core::option::Option::<usize>::None);
13103        };
13104        ::core::option::Option::Some(max_size)
13105    };
13106    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
13107        &self,
13108        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
13109    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
13110        use ::micropb::{PbMap, FieldEncode};
13111        {
13112            let val_ref = &self.r#mode;
13113            if *val_ref != 0 {
13114                encoder.encode_varint32(8u32)?;
13115                encoder.encode_int32(*val_ref as _)?;
13116            }
13117        }
13118        Ok(())
13119    }
13120    fn compute_size(&self) -> usize {
13121        use ::micropb::{PbMap, FieldEncode};
13122        let mut size = 0;
13123        {
13124            let val_ref = &self.r#mode;
13125            if *val_ref != 0 {
13126                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
13127            }
13128        }
13129        size
13130    }
13131}
13132#[derive(Debug, Default, PartialEq, Clone)]
13133pub struct Rpc_Resp_SetMode {
13134    pub r#resp: i32,
13135}
13136impl Rpc_Resp_SetMode {
13137    ///Return a reference to `resp`
13138    #[inline]
13139    pub fn r#resp(&self) -> &i32 {
13140        &self.r#resp
13141    }
13142    ///Return a mutable reference to `resp`
13143    #[inline]
13144    pub fn mut_resp(&mut self) -> &mut i32 {
13145        &mut self.r#resp
13146    }
13147    ///Set the value of `resp`
13148    #[inline]
13149    pub fn set_resp(&mut self, value: i32) -> &mut Self {
13150        self.r#resp = value.into();
13151        self
13152    }
13153    ///Builder method that sets the value of `resp`. Useful for initializing the message.
13154    #[inline]
13155    pub fn init_resp(mut self, value: i32) -> Self {
13156        self.r#resp = value.into();
13157        self
13158    }
13159}
13160impl ::micropb::MessageDecode for Rpc_Resp_SetMode {
13161    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
13162        &mut self,
13163        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
13164        len: usize,
13165    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
13166        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
13167        let before = decoder.bytes_read();
13168        while decoder.bytes_read() - before < len {
13169            let tag = decoder.decode_tag()?;
13170            match tag.field_num() {
13171                0 => return Err(::micropb::DecodeError::ZeroField),
13172                1u32 => {
13173                    let mut_ref = &mut self.r#resp;
13174                    {
13175                        let val = decoder.decode_int32()?;
13176                        let val_ref = &val;
13177                        if *val_ref != 0 {
13178                            *mut_ref = val as _;
13179                        }
13180                    };
13181                }
13182                _ => {
13183                    decoder.skip_wire_value(tag.wire_type())?;
13184                }
13185            }
13186        }
13187        Ok(())
13188    }
13189}
13190impl ::micropb::MessageEncode for Rpc_Resp_SetMode {
13191    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
13192        let mut max_size = 0;
13193        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
13194            ::core::option::Option::Some(10usize), | size | size + 1usize
13195        ) {
13196            max_size += size;
13197        } else {
13198            break 'msg (::core::option::Option::<usize>::None);
13199        };
13200        ::core::option::Option::Some(max_size)
13201    };
13202    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
13203        &self,
13204        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
13205    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
13206        use ::micropb::{PbMap, FieldEncode};
13207        {
13208            let val_ref = &self.r#resp;
13209            if *val_ref != 0 {
13210                encoder.encode_varint32(8u32)?;
13211                encoder.encode_int32(*val_ref as _)?;
13212            }
13213        }
13214        Ok(())
13215    }
13216    fn compute_size(&self) -> usize {
13217        use ::micropb::{PbMap, FieldEncode};
13218        let mut size = 0;
13219        {
13220            let val_ref = &self.r#resp;
13221            if *val_ref != 0 {
13222                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
13223            }
13224        }
13225        size
13226    }
13227}
13228#[derive(Debug, Default, PartialEq, Clone)]
13229pub struct Rpc_Req_GetPs {}
13230impl Rpc_Req_GetPs {}
13231impl ::micropb::MessageDecode for Rpc_Req_GetPs {
13232    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
13233        &mut self,
13234        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
13235        len: usize,
13236    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
13237        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
13238        let before = decoder.bytes_read();
13239        while decoder.bytes_read() - before < len {
13240            let tag = decoder.decode_tag()?;
13241            match tag.field_num() {
13242                0 => return Err(::micropb::DecodeError::ZeroField),
13243                _ => {
13244                    decoder.skip_wire_value(tag.wire_type())?;
13245                }
13246            }
13247        }
13248        Ok(())
13249    }
13250}
13251impl ::micropb::MessageEncode for Rpc_Req_GetPs {
13252    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
13253        let mut max_size = 0;
13254        ::core::option::Option::Some(max_size)
13255    };
13256    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
13257        &self,
13258        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
13259    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
13260        use ::micropb::{PbMap, FieldEncode};
13261        Ok(())
13262    }
13263    fn compute_size(&self) -> usize {
13264        use ::micropb::{PbMap, FieldEncode};
13265        let mut size = 0;
13266        size
13267    }
13268}
13269#[derive(Debug, Default, PartialEq, Clone)]
13270pub struct Rpc_Resp_GetPs {
13271    pub r#resp: i32,
13272    pub r#type: i32,
13273}
13274impl Rpc_Resp_GetPs {
13275    ///Return a reference to `resp`
13276    #[inline]
13277    pub fn r#resp(&self) -> &i32 {
13278        &self.r#resp
13279    }
13280    ///Return a mutable reference to `resp`
13281    #[inline]
13282    pub fn mut_resp(&mut self) -> &mut i32 {
13283        &mut self.r#resp
13284    }
13285    ///Set the value of `resp`
13286    #[inline]
13287    pub fn set_resp(&mut self, value: i32) -> &mut Self {
13288        self.r#resp = value.into();
13289        self
13290    }
13291    ///Builder method that sets the value of `resp`. Useful for initializing the message.
13292    #[inline]
13293    pub fn init_resp(mut self, value: i32) -> Self {
13294        self.r#resp = value.into();
13295        self
13296    }
13297    ///Return a reference to `type`
13298    #[inline]
13299    pub fn r#type(&self) -> &i32 {
13300        &self.r#type
13301    }
13302    ///Return a mutable reference to `type`
13303    #[inline]
13304    pub fn mut_type(&mut self) -> &mut i32 {
13305        &mut self.r#type
13306    }
13307    ///Set the value of `type`
13308    #[inline]
13309    pub fn set_type(&mut self, value: i32) -> &mut Self {
13310        self.r#type = value.into();
13311        self
13312    }
13313    ///Builder method that sets the value of `type`. Useful for initializing the message.
13314    #[inline]
13315    pub fn init_type(mut self, value: i32) -> Self {
13316        self.r#type = value.into();
13317        self
13318    }
13319}
13320impl ::micropb::MessageDecode for Rpc_Resp_GetPs {
13321    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
13322        &mut self,
13323        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
13324        len: usize,
13325    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
13326        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
13327        let before = decoder.bytes_read();
13328        while decoder.bytes_read() - before < len {
13329            let tag = decoder.decode_tag()?;
13330            match tag.field_num() {
13331                0 => return Err(::micropb::DecodeError::ZeroField),
13332                1u32 => {
13333                    let mut_ref = &mut self.r#resp;
13334                    {
13335                        let val = decoder.decode_int32()?;
13336                        let val_ref = &val;
13337                        if *val_ref != 0 {
13338                            *mut_ref = val as _;
13339                        }
13340                    };
13341                }
13342                2u32 => {
13343                    let mut_ref = &mut self.r#type;
13344                    {
13345                        let val = decoder.decode_int32()?;
13346                        let val_ref = &val;
13347                        if *val_ref != 0 {
13348                            *mut_ref = val as _;
13349                        }
13350                    };
13351                }
13352                _ => {
13353                    decoder.skip_wire_value(tag.wire_type())?;
13354                }
13355            }
13356        }
13357        Ok(())
13358    }
13359}
13360impl ::micropb::MessageEncode for Rpc_Resp_GetPs {
13361    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
13362        let mut max_size = 0;
13363        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
13364            ::core::option::Option::Some(10usize), | size | size + 1usize
13365        ) {
13366            max_size += size;
13367        } else {
13368            break 'msg (::core::option::Option::<usize>::None);
13369        };
13370        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
13371            ::core::option::Option::Some(10usize), | size | size + 1usize
13372        ) {
13373            max_size += size;
13374        } else {
13375            break 'msg (::core::option::Option::<usize>::None);
13376        };
13377        ::core::option::Option::Some(max_size)
13378    };
13379    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
13380        &self,
13381        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
13382    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
13383        use ::micropb::{PbMap, FieldEncode};
13384        {
13385            let val_ref = &self.r#resp;
13386            if *val_ref != 0 {
13387                encoder.encode_varint32(8u32)?;
13388                encoder.encode_int32(*val_ref as _)?;
13389            }
13390        }
13391        {
13392            let val_ref = &self.r#type;
13393            if *val_ref != 0 {
13394                encoder.encode_varint32(16u32)?;
13395                encoder.encode_int32(*val_ref as _)?;
13396            }
13397        }
13398        Ok(())
13399    }
13400    fn compute_size(&self) -> usize {
13401        use ::micropb::{PbMap, FieldEncode};
13402        let mut size = 0;
13403        {
13404            let val_ref = &self.r#resp;
13405            if *val_ref != 0 {
13406                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
13407            }
13408        }
13409        {
13410            let val_ref = &self.r#type;
13411            if *val_ref != 0 {
13412                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
13413            }
13414        }
13415        size
13416    }
13417}
13418#[derive(Debug, Default, PartialEq, Clone)]
13419pub struct Rpc_Req_SetPs {
13420    pub r#type: i32,
13421}
13422impl Rpc_Req_SetPs {
13423    ///Return a reference to `type`
13424    #[inline]
13425    pub fn r#type(&self) -> &i32 {
13426        &self.r#type
13427    }
13428    ///Return a mutable reference to `type`
13429    #[inline]
13430    pub fn mut_type(&mut self) -> &mut i32 {
13431        &mut self.r#type
13432    }
13433    ///Set the value of `type`
13434    #[inline]
13435    pub fn set_type(&mut self, value: i32) -> &mut Self {
13436        self.r#type = value.into();
13437        self
13438    }
13439    ///Builder method that sets the value of `type`. Useful for initializing the message.
13440    #[inline]
13441    pub fn init_type(mut self, value: i32) -> Self {
13442        self.r#type = value.into();
13443        self
13444    }
13445}
13446impl ::micropb::MessageDecode for Rpc_Req_SetPs {
13447    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
13448        &mut self,
13449        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
13450        len: usize,
13451    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
13452        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
13453        let before = decoder.bytes_read();
13454        while decoder.bytes_read() - before < len {
13455            let tag = decoder.decode_tag()?;
13456            match tag.field_num() {
13457                0 => return Err(::micropb::DecodeError::ZeroField),
13458                1u32 => {
13459                    let mut_ref = &mut self.r#type;
13460                    {
13461                        let val = decoder.decode_int32()?;
13462                        let val_ref = &val;
13463                        if *val_ref != 0 {
13464                            *mut_ref = val as _;
13465                        }
13466                    };
13467                }
13468                _ => {
13469                    decoder.skip_wire_value(tag.wire_type())?;
13470                }
13471            }
13472        }
13473        Ok(())
13474    }
13475}
13476impl ::micropb::MessageEncode for Rpc_Req_SetPs {
13477    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
13478        let mut max_size = 0;
13479        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
13480            ::core::option::Option::Some(10usize), | size | size + 1usize
13481        ) {
13482            max_size += size;
13483        } else {
13484            break 'msg (::core::option::Option::<usize>::None);
13485        };
13486        ::core::option::Option::Some(max_size)
13487    };
13488    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
13489        &self,
13490        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
13491    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
13492        use ::micropb::{PbMap, FieldEncode};
13493        {
13494            let val_ref = &self.r#type;
13495            if *val_ref != 0 {
13496                encoder.encode_varint32(8u32)?;
13497                encoder.encode_int32(*val_ref as _)?;
13498            }
13499        }
13500        Ok(())
13501    }
13502    fn compute_size(&self) -> usize {
13503        use ::micropb::{PbMap, FieldEncode};
13504        let mut size = 0;
13505        {
13506            let val_ref = &self.r#type;
13507            if *val_ref != 0 {
13508                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
13509            }
13510        }
13511        size
13512    }
13513}
13514#[derive(Debug, Default, PartialEq, Clone)]
13515pub struct Rpc_Resp_SetPs {
13516    pub r#resp: i32,
13517}
13518impl Rpc_Resp_SetPs {
13519    ///Return a reference to `resp`
13520    #[inline]
13521    pub fn r#resp(&self) -> &i32 {
13522        &self.r#resp
13523    }
13524    ///Return a mutable reference to `resp`
13525    #[inline]
13526    pub fn mut_resp(&mut self) -> &mut i32 {
13527        &mut self.r#resp
13528    }
13529    ///Set the value of `resp`
13530    #[inline]
13531    pub fn set_resp(&mut self, value: i32) -> &mut Self {
13532        self.r#resp = value.into();
13533        self
13534    }
13535    ///Builder method that sets the value of `resp`. Useful for initializing the message.
13536    #[inline]
13537    pub fn init_resp(mut self, value: i32) -> Self {
13538        self.r#resp = value.into();
13539        self
13540    }
13541}
13542impl ::micropb::MessageDecode for Rpc_Resp_SetPs {
13543    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
13544        &mut self,
13545        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
13546        len: usize,
13547    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
13548        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
13549        let before = decoder.bytes_read();
13550        while decoder.bytes_read() - before < len {
13551            let tag = decoder.decode_tag()?;
13552            match tag.field_num() {
13553                0 => return Err(::micropb::DecodeError::ZeroField),
13554                1u32 => {
13555                    let mut_ref = &mut self.r#resp;
13556                    {
13557                        let val = decoder.decode_int32()?;
13558                        let val_ref = &val;
13559                        if *val_ref != 0 {
13560                            *mut_ref = val as _;
13561                        }
13562                    };
13563                }
13564                _ => {
13565                    decoder.skip_wire_value(tag.wire_type())?;
13566                }
13567            }
13568        }
13569        Ok(())
13570    }
13571}
13572impl ::micropb::MessageEncode for Rpc_Resp_SetPs {
13573    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
13574        let mut max_size = 0;
13575        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
13576            ::core::option::Option::Some(10usize), | size | size + 1usize
13577        ) {
13578            max_size += size;
13579        } else {
13580            break 'msg (::core::option::Option::<usize>::None);
13581        };
13582        ::core::option::Option::Some(max_size)
13583    };
13584    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
13585        &self,
13586        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
13587    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
13588        use ::micropb::{PbMap, FieldEncode};
13589        {
13590            let val_ref = &self.r#resp;
13591            if *val_ref != 0 {
13592                encoder.encode_varint32(8u32)?;
13593                encoder.encode_int32(*val_ref as _)?;
13594            }
13595        }
13596        Ok(())
13597    }
13598    fn compute_size(&self) -> usize {
13599        use ::micropb::{PbMap, FieldEncode};
13600        let mut size = 0;
13601        {
13602            let val_ref = &self.r#resp;
13603            if *val_ref != 0 {
13604                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
13605            }
13606        }
13607        size
13608    }
13609}
13610#[derive(Debug, Default, PartialEq, Clone)]
13611pub struct Rpc_Req_SetMacAddress {
13612    pub r#mac: ::micropb::heapless::Vec<u8, 32>,
13613    pub r#mode: i32,
13614}
13615impl Rpc_Req_SetMacAddress {
13616    ///Return a reference to `mac`
13617    #[inline]
13618    pub fn r#mac(&self) -> &::micropb::heapless::Vec<u8, 32> {
13619        &self.r#mac
13620    }
13621    ///Return a mutable reference to `mac`
13622    #[inline]
13623    pub fn mut_mac(&mut self) -> &mut ::micropb::heapless::Vec<u8, 32> {
13624        &mut self.r#mac
13625    }
13626    ///Set the value of `mac`
13627    #[inline]
13628    pub fn set_mac(&mut self, value: ::micropb::heapless::Vec<u8, 32>) -> &mut Self {
13629        self.r#mac = value.into();
13630        self
13631    }
13632    ///Builder method that sets the value of `mac`. Useful for initializing the message.
13633    #[inline]
13634    pub fn init_mac(mut self, value: ::micropb::heapless::Vec<u8, 32>) -> Self {
13635        self.r#mac = value.into();
13636        self
13637    }
13638    ///Return a reference to `mode`
13639    #[inline]
13640    pub fn r#mode(&self) -> &i32 {
13641        &self.r#mode
13642    }
13643    ///Return a mutable reference to `mode`
13644    #[inline]
13645    pub fn mut_mode(&mut self) -> &mut i32 {
13646        &mut self.r#mode
13647    }
13648    ///Set the value of `mode`
13649    #[inline]
13650    pub fn set_mode(&mut self, value: i32) -> &mut Self {
13651        self.r#mode = value.into();
13652        self
13653    }
13654    ///Builder method that sets the value of `mode`. Useful for initializing the message.
13655    #[inline]
13656    pub fn init_mode(mut self, value: i32) -> Self {
13657        self.r#mode = value.into();
13658        self
13659    }
13660}
13661impl ::micropb::MessageDecode for Rpc_Req_SetMacAddress {
13662    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
13663        &mut self,
13664        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
13665        len: usize,
13666    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
13667        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
13668        let before = decoder.bytes_read();
13669        while decoder.bytes_read() - before < len {
13670            let tag = decoder.decode_tag()?;
13671            match tag.field_num() {
13672                0 => return Err(::micropb::DecodeError::ZeroField),
13673                1u32 => {
13674                    let mut_ref = &mut self.r#mac;
13675                    {
13676                        decoder.decode_bytes(mut_ref, ::micropb::Presence::Implicit)?;
13677                    };
13678                }
13679                2u32 => {
13680                    let mut_ref = &mut self.r#mode;
13681                    {
13682                        let val = decoder.decode_int32()?;
13683                        let val_ref = &val;
13684                        if *val_ref != 0 {
13685                            *mut_ref = val as _;
13686                        }
13687                    };
13688                }
13689                _ => {
13690                    decoder.skip_wire_value(tag.wire_type())?;
13691                }
13692            }
13693        }
13694        Ok(())
13695    }
13696}
13697impl ::micropb::MessageEncode for Rpc_Req_SetMacAddress {
13698    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
13699        let mut max_size = 0;
13700        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
13701            ::core::option::Option::Some(33usize), | size | size + 1usize
13702        ) {
13703            max_size += size;
13704        } else {
13705            break 'msg (::core::option::Option::<usize>::None);
13706        };
13707        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
13708            ::core::option::Option::Some(10usize), | size | size + 1usize
13709        ) {
13710            max_size += size;
13711        } else {
13712            break 'msg (::core::option::Option::<usize>::None);
13713        };
13714        ::core::option::Option::Some(max_size)
13715    };
13716    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
13717        &self,
13718        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
13719    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
13720        use ::micropb::{PbMap, FieldEncode};
13721        {
13722            let val_ref = &self.r#mac;
13723            if !val_ref.is_empty() {
13724                encoder.encode_varint32(10u32)?;
13725                encoder.encode_bytes(val_ref)?;
13726            }
13727        }
13728        {
13729            let val_ref = &self.r#mode;
13730            if *val_ref != 0 {
13731                encoder.encode_varint32(16u32)?;
13732                encoder.encode_int32(*val_ref as _)?;
13733            }
13734        }
13735        Ok(())
13736    }
13737    fn compute_size(&self) -> usize {
13738        use ::micropb::{PbMap, FieldEncode};
13739        let mut size = 0;
13740        {
13741            let val_ref = &self.r#mac;
13742            if !val_ref.is_empty() {
13743                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.len());
13744            }
13745        }
13746        {
13747            let val_ref = &self.r#mode;
13748            if *val_ref != 0 {
13749                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
13750            }
13751        }
13752        size
13753    }
13754}
13755#[derive(Debug, Default, PartialEq, Clone)]
13756pub struct Rpc_Resp_SetMacAddress {
13757    pub r#resp: i32,
13758}
13759impl Rpc_Resp_SetMacAddress {
13760    ///Return a reference to `resp`
13761    #[inline]
13762    pub fn r#resp(&self) -> &i32 {
13763        &self.r#resp
13764    }
13765    ///Return a mutable reference to `resp`
13766    #[inline]
13767    pub fn mut_resp(&mut self) -> &mut i32 {
13768        &mut self.r#resp
13769    }
13770    ///Set the value of `resp`
13771    #[inline]
13772    pub fn set_resp(&mut self, value: i32) -> &mut Self {
13773        self.r#resp = value.into();
13774        self
13775    }
13776    ///Builder method that sets the value of `resp`. Useful for initializing the message.
13777    #[inline]
13778    pub fn init_resp(mut self, value: i32) -> Self {
13779        self.r#resp = value.into();
13780        self
13781    }
13782}
13783impl ::micropb::MessageDecode for Rpc_Resp_SetMacAddress {
13784    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
13785        &mut self,
13786        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
13787        len: usize,
13788    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
13789        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
13790        let before = decoder.bytes_read();
13791        while decoder.bytes_read() - before < len {
13792            let tag = decoder.decode_tag()?;
13793            match tag.field_num() {
13794                0 => return Err(::micropb::DecodeError::ZeroField),
13795                1u32 => {
13796                    let mut_ref = &mut self.r#resp;
13797                    {
13798                        let val = decoder.decode_int32()?;
13799                        let val_ref = &val;
13800                        if *val_ref != 0 {
13801                            *mut_ref = val as _;
13802                        }
13803                    };
13804                }
13805                _ => {
13806                    decoder.skip_wire_value(tag.wire_type())?;
13807                }
13808            }
13809        }
13810        Ok(())
13811    }
13812}
13813impl ::micropb::MessageEncode for Rpc_Resp_SetMacAddress {
13814    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
13815        let mut max_size = 0;
13816        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
13817            ::core::option::Option::Some(10usize), | size | size + 1usize
13818        ) {
13819            max_size += size;
13820        } else {
13821            break 'msg (::core::option::Option::<usize>::None);
13822        };
13823        ::core::option::Option::Some(max_size)
13824    };
13825    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
13826        &self,
13827        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
13828    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
13829        use ::micropb::{PbMap, FieldEncode};
13830        {
13831            let val_ref = &self.r#resp;
13832            if *val_ref != 0 {
13833                encoder.encode_varint32(8u32)?;
13834                encoder.encode_int32(*val_ref as _)?;
13835            }
13836        }
13837        Ok(())
13838    }
13839    fn compute_size(&self) -> usize {
13840        use ::micropb::{PbMap, FieldEncode};
13841        let mut size = 0;
13842        {
13843            let val_ref = &self.r#resp;
13844            if *val_ref != 0 {
13845                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
13846            }
13847        }
13848        size
13849    }
13850}
13851#[derive(Debug, Default, PartialEq, Clone)]
13852pub struct Rpc_Req_OTABegin {}
13853impl Rpc_Req_OTABegin {}
13854impl ::micropb::MessageDecode for Rpc_Req_OTABegin {
13855    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
13856        &mut self,
13857        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
13858        len: usize,
13859    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
13860        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
13861        let before = decoder.bytes_read();
13862        while decoder.bytes_read() - before < len {
13863            let tag = decoder.decode_tag()?;
13864            match tag.field_num() {
13865                0 => return Err(::micropb::DecodeError::ZeroField),
13866                _ => {
13867                    decoder.skip_wire_value(tag.wire_type())?;
13868                }
13869            }
13870        }
13871        Ok(())
13872    }
13873}
13874impl ::micropb::MessageEncode for Rpc_Req_OTABegin {
13875    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
13876        let mut max_size = 0;
13877        ::core::option::Option::Some(max_size)
13878    };
13879    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
13880        &self,
13881        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
13882    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
13883        use ::micropb::{PbMap, FieldEncode};
13884        Ok(())
13885    }
13886    fn compute_size(&self) -> usize {
13887        use ::micropb::{PbMap, FieldEncode};
13888        let mut size = 0;
13889        size
13890    }
13891}
13892#[derive(Debug, Default, PartialEq, Clone)]
13893pub struct Rpc_Resp_OTABegin {
13894    pub r#resp: i32,
13895}
13896impl Rpc_Resp_OTABegin {
13897    ///Return a reference to `resp`
13898    #[inline]
13899    pub fn r#resp(&self) -> &i32 {
13900        &self.r#resp
13901    }
13902    ///Return a mutable reference to `resp`
13903    #[inline]
13904    pub fn mut_resp(&mut self) -> &mut i32 {
13905        &mut self.r#resp
13906    }
13907    ///Set the value of `resp`
13908    #[inline]
13909    pub fn set_resp(&mut self, value: i32) -> &mut Self {
13910        self.r#resp = value.into();
13911        self
13912    }
13913    ///Builder method that sets the value of `resp`. Useful for initializing the message.
13914    #[inline]
13915    pub fn init_resp(mut self, value: i32) -> Self {
13916        self.r#resp = value.into();
13917        self
13918    }
13919}
13920impl ::micropb::MessageDecode for Rpc_Resp_OTABegin {
13921    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
13922        &mut self,
13923        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
13924        len: usize,
13925    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
13926        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
13927        let before = decoder.bytes_read();
13928        while decoder.bytes_read() - before < len {
13929            let tag = decoder.decode_tag()?;
13930            match tag.field_num() {
13931                0 => return Err(::micropb::DecodeError::ZeroField),
13932                1u32 => {
13933                    let mut_ref = &mut self.r#resp;
13934                    {
13935                        let val = decoder.decode_int32()?;
13936                        let val_ref = &val;
13937                        if *val_ref != 0 {
13938                            *mut_ref = val as _;
13939                        }
13940                    };
13941                }
13942                _ => {
13943                    decoder.skip_wire_value(tag.wire_type())?;
13944                }
13945            }
13946        }
13947        Ok(())
13948    }
13949}
13950impl ::micropb::MessageEncode for Rpc_Resp_OTABegin {
13951    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
13952        let mut max_size = 0;
13953        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
13954            ::core::option::Option::Some(10usize), | size | size + 1usize
13955        ) {
13956            max_size += size;
13957        } else {
13958            break 'msg (::core::option::Option::<usize>::None);
13959        };
13960        ::core::option::Option::Some(max_size)
13961    };
13962    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
13963        &self,
13964        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
13965    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
13966        use ::micropb::{PbMap, FieldEncode};
13967        {
13968            let val_ref = &self.r#resp;
13969            if *val_ref != 0 {
13970                encoder.encode_varint32(8u32)?;
13971                encoder.encode_int32(*val_ref as _)?;
13972            }
13973        }
13974        Ok(())
13975    }
13976    fn compute_size(&self) -> usize {
13977        use ::micropb::{PbMap, FieldEncode};
13978        let mut size = 0;
13979        {
13980            let val_ref = &self.r#resp;
13981            if *val_ref != 0 {
13982                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
13983            }
13984        }
13985        size
13986    }
13987}
13988#[derive(Debug, Default, PartialEq, Clone)]
13989pub struct Rpc_Req_OTAWrite {
13990    pub r#ota_data: ::micropb::heapless::Vec<u8, 32>,
13991}
13992impl Rpc_Req_OTAWrite {
13993    ///Return a reference to `ota_data`
13994    #[inline]
13995    pub fn r#ota_data(&self) -> &::micropb::heapless::Vec<u8, 32> {
13996        &self.r#ota_data
13997    }
13998    ///Return a mutable reference to `ota_data`
13999    #[inline]
14000    pub fn mut_ota_data(&mut self) -> &mut ::micropb::heapless::Vec<u8, 32> {
14001        &mut self.r#ota_data
14002    }
14003    ///Set the value of `ota_data`
14004    #[inline]
14005    pub fn set_ota_data(
14006        &mut self,
14007        value: ::micropb::heapless::Vec<u8, 32>,
14008    ) -> &mut Self {
14009        self.r#ota_data = value.into();
14010        self
14011    }
14012    ///Builder method that sets the value of `ota_data`. Useful for initializing the message.
14013    #[inline]
14014    pub fn init_ota_data(mut self, value: ::micropb::heapless::Vec<u8, 32>) -> Self {
14015        self.r#ota_data = value.into();
14016        self
14017    }
14018}
14019impl ::micropb::MessageDecode for Rpc_Req_OTAWrite {
14020    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
14021        &mut self,
14022        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
14023        len: usize,
14024    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
14025        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
14026        let before = decoder.bytes_read();
14027        while decoder.bytes_read() - before < len {
14028            let tag = decoder.decode_tag()?;
14029            match tag.field_num() {
14030                0 => return Err(::micropb::DecodeError::ZeroField),
14031                1u32 => {
14032                    let mut_ref = &mut self.r#ota_data;
14033                    {
14034                        decoder.decode_bytes(mut_ref, ::micropb::Presence::Implicit)?;
14035                    };
14036                }
14037                _ => {
14038                    decoder.skip_wire_value(tag.wire_type())?;
14039                }
14040            }
14041        }
14042        Ok(())
14043    }
14044}
14045impl ::micropb::MessageEncode for Rpc_Req_OTAWrite {
14046    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
14047        let mut max_size = 0;
14048        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
14049            ::core::option::Option::Some(33usize), | size | size + 1usize
14050        ) {
14051            max_size += size;
14052        } else {
14053            break 'msg (::core::option::Option::<usize>::None);
14054        };
14055        ::core::option::Option::Some(max_size)
14056    };
14057    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
14058        &self,
14059        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
14060    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
14061        use ::micropb::{PbMap, FieldEncode};
14062        {
14063            let val_ref = &self.r#ota_data;
14064            if !val_ref.is_empty() {
14065                encoder.encode_varint32(10u32)?;
14066                encoder.encode_bytes(val_ref)?;
14067            }
14068        }
14069        Ok(())
14070    }
14071    fn compute_size(&self) -> usize {
14072        use ::micropb::{PbMap, FieldEncode};
14073        let mut size = 0;
14074        {
14075            let val_ref = &self.r#ota_data;
14076            if !val_ref.is_empty() {
14077                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.len());
14078            }
14079        }
14080        size
14081    }
14082}
14083#[derive(Debug, Default, PartialEq, Clone)]
14084pub struct Rpc_Resp_OTAWrite {
14085    pub r#resp: i32,
14086}
14087impl Rpc_Resp_OTAWrite {
14088    ///Return a reference to `resp`
14089    #[inline]
14090    pub fn r#resp(&self) -> &i32 {
14091        &self.r#resp
14092    }
14093    ///Return a mutable reference to `resp`
14094    #[inline]
14095    pub fn mut_resp(&mut self) -> &mut i32 {
14096        &mut self.r#resp
14097    }
14098    ///Set the value of `resp`
14099    #[inline]
14100    pub fn set_resp(&mut self, value: i32) -> &mut Self {
14101        self.r#resp = value.into();
14102        self
14103    }
14104    ///Builder method that sets the value of `resp`. Useful for initializing the message.
14105    #[inline]
14106    pub fn init_resp(mut self, value: i32) -> Self {
14107        self.r#resp = value.into();
14108        self
14109    }
14110}
14111impl ::micropb::MessageDecode for Rpc_Resp_OTAWrite {
14112    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
14113        &mut self,
14114        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
14115        len: usize,
14116    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
14117        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
14118        let before = decoder.bytes_read();
14119        while decoder.bytes_read() - before < len {
14120            let tag = decoder.decode_tag()?;
14121            match tag.field_num() {
14122                0 => return Err(::micropb::DecodeError::ZeroField),
14123                1u32 => {
14124                    let mut_ref = &mut self.r#resp;
14125                    {
14126                        let val = decoder.decode_int32()?;
14127                        let val_ref = &val;
14128                        if *val_ref != 0 {
14129                            *mut_ref = val as _;
14130                        }
14131                    };
14132                }
14133                _ => {
14134                    decoder.skip_wire_value(tag.wire_type())?;
14135                }
14136            }
14137        }
14138        Ok(())
14139    }
14140}
14141impl ::micropb::MessageEncode for Rpc_Resp_OTAWrite {
14142    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
14143        let mut max_size = 0;
14144        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
14145            ::core::option::Option::Some(10usize), | size | size + 1usize
14146        ) {
14147            max_size += size;
14148        } else {
14149            break 'msg (::core::option::Option::<usize>::None);
14150        };
14151        ::core::option::Option::Some(max_size)
14152    };
14153    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
14154        &self,
14155        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
14156    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
14157        use ::micropb::{PbMap, FieldEncode};
14158        {
14159            let val_ref = &self.r#resp;
14160            if *val_ref != 0 {
14161                encoder.encode_varint32(8u32)?;
14162                encoder.encode_int32(*val_ref as _)?;
14163            }
14164        }
14165        Ok(())
14166    }
14167    fn compute_size(&self) -> usize {
14168        use ::micropb::{PbMap, FieldEncode};
14169        let mut size = 0;
14170        {
14171            let val_ref = &self.r#resp;
14172            if *val_ref != 0 {
14173                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
14174            }
14175        }
14176        size
14177    }
14178}
14179#[derive(Debug, Default, PartialEq, Clone)]
14180pub struct Rpc_Req_OTAEnd {}
14181impl Rpc_Req_OTAEnd {}
14182impl ::micropb::MessageDecode for Rpc_Req_OTAEnd {
14183    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
14184        &mut self,
14185        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
14186        len: usize,
14187    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
14188        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
14189        let before = decoder.bytes_read();
14190        while decoder.bytes_read() - before < len {
14191            let tag = decoder.decode_tag()?;
14192            match tag.field_num() {
14193                0 => return Err(::micropb::DecodeError::ZeroField),
14194                _ => {
14195                    decoder.skip_wire_value(tag.wire_type())?;
14196                }
14197            }
14198        }
14199        Ok(())
14200    }
14201}
14202impl ::micropb::MessageEncode for Rpc_Req_OTAEnd {
14203    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
14204        let mut max_size = 0;
14205        ::core::option::Option::Some(max_size)
14206    };
14207    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
14208        &self,
14209        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
14210    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
14211        use ::micropb::{PbMap, FieldEncode};
14212        Ok(())
14213    }
14214    fn compute_size(&self) -> usize {
14215        use ::micropb::{PbMap, FieldEncode};
14216        let mut size = 0;
14217        size
14218    }
14219}
14220#[derive(Debug, Default, PartialEq, Clone)]
14221pub struct Rpc_Resp_OTAEnd {
14222    pub r#resp: i32,
14223}
14224impl Rpc_Resp_OTAEnd {
14225    ///Return a reference to `resp`
14226    #[inline]
14227    pub fn r#resp(&self) -> &i32 {
14228        &self.r#resp
14229    }
14230    ///Return a mutable reference to `resp`
14231    #[inline]
14232    pub fn mut_resp(&mut self) -> &mut i32 {
14233        &mut self.r#resp
14234    }
14235    ///Set the value of `resp`
14236    #[inline]
14237    pub fn set_resp(&mut self, value: i32) -> &mut Self {
14238        self.r#resp = value.into();
14239        self
14240    }
14241    ///Builder method that sets the value of `resp`. Useful for initializing the message.
14242    #[inline]
14243    pub fn init_resp(mut self, value: i32) -> Self {
14244        self.r#resp = value.into();
14245        self
14246    }
14247}
14248impl ::micropb::MessageDecode for Rpc_Resp_OTAEnd {
14249    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
14250        &mut self,
14251        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
14252        len: usize,
14253    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
14254        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
14255        let before = decoder.bytes_read();
14256        while decoder.bytes_read() - before < len {
14257            let tag = decoder.decode_tag()?;
14258            match tag.field_num() {
14259                0 => return Err(::micropb::DecodeError::ZeroField),
14260                1u32 => {
14261                    let mut_ref = &mut self.r#resp;
14262                    {
14263                        let val = decoder.decode_int32()?;
14264                        let val_ref = &val;
14265                        if *val_ref != 0 {
14266                            *mut_ref = val as _;
14267                        }
14268                    };
14269                }
14270                _ => {
14271                    decoder.skip_wire_value(tag.wire_type())?;
14272                }
14273            }
14274        }
14275        Ok(())
14276    }
14277}
14278impl ::micropb::MessageEncode for Rpc_Resp_OTAEnd {
14279    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
14280        let mut max_size = 0;
14281        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
14282            ::core::option::Option::Some(10usize), | size | size + 1usize
14283        ) {
14284            max_size += size;
14285        } else {
14286            break 'msg (::core::option::Option::<usize>::None);
14287        };
14288        ::core::option::Option::Some(max_size)
14289    };
14290    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
14291        &self,
14292        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
14293    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
14294        use ::micropb::{PbMap, FieldEncode};
14295        {
14296            let val_ref = &self.r#resp;
14297            if *val_ref != 0 {
14298                encoder.encode_varint32(8u32)?;
14299                encoder.encode_int32(*val_ref as _)?;
14300            }
14301        }
14302        Ok(())
14303    }
14304    fn compute_size(&self) -> usize {
14305        use ::micropb::{PbMap, FieldEncode};
14306        let mut size = 0;
14307        {
14308            let val_ref = &self.r#resp;
14309            if *val_ref != 0 {
14310                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
14311            }
14312        }
14313        size
14314    }
14315}
14316#[derive(Debug, Default, PartialEq, Clone)]
14317pub struct Rpc_Req_WifiSetMaxTxPower {
14318    pub r#power: i32,
14319}
14320impl Rpc_Req_WifiSetMaxTxPower {
14321    ///Return a reference to `power`
14322    #[inline]
14323    pub fn r#power(&self) -> &i32 {
14324        &self.r#power
14325    }
14326    ///Return a mutable reference to `power`
14327    #[inline]
14328    pub fn mut_power(&mut self) -> &mut i32 {
14329        &mut self.r#power
14330    }
14331    ///Set the value of `power`
14332    #[inline]
14333    pub fn set_power(&mut self, value: i32) -> &mut Self {
14334        self.r#power = value.into();
14335        self
14336    }
14337    ///Builder method that sets the value of `power`. Useful for initializing the message.
14338    #[inline]
14339    pub fn init_power(mut self, value: i32) -> Self {
14340        self.r#power = value.into();
14341        self
14342    }
14343}
14344impl ::micropb::MessageDecode for Rpc_Req_WifiSetMaxTxPower {
14345    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
14346        &mut self,
14347        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
14348        len: usize,
14349    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
14350        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
14351        let before = decoder.bytes_read();
14352        while decoder.bytes_read() - before < len {
14353            let tag = decoder.decode_tag()?;
14354            match tag.field_num() {
14355                0 => return Err(::micropb::DecodeError::ZeroField),
14356                1u32 => {
14357                    let mut_ref = &mut self.r#power;
14358                    {
14359                        let val = decoder.decode_int32()?;
14360                        let val_ref = &val;
14361                        if *val_ref != 0 {
14362                            *mut_ref = val as _;
14363                        }
14364                    };
14365                }
14366                _ => {
14367                    decoder.skip_wire_value(tag.wire_type())?;
14368                }
14369            }
14370        }
14371        Ok(())
14372    }
14373}
14374impl ::micropb::MessageEncode for Rpc_Req_WifiSetMaxTxPower {
14375    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
14376        let mut max_size = 0;
14377        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
14378            ::core::option::Option::Some(10usize), | size | size + 1usize
14379        ) {
14380            max_size += size;
14381        } else {
14382            break 'msg (::core::option::Option::<usize>::None);
14383        };
14384        ::core::option::Option::Some(max_size)
14385    };
14386    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
14387        &self,
14388        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
14389    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
14390        use ::micropb::{PbMap, FieldEncode};
14391        {
14392            let val_ref = &self.r#power;
14393            if *val_ref != 0 {
14394                encoder.encode_varint32(8u32)?;
14395                encoder.encode_int32(*val_ref as _)?;
14396            }
14397        }
14398        Ok(())
14399    }
14400    fn compute_size(&self) -> usize {
14401        use ::micropb::{PbMap, FieldEncode};
14402        let mut size = 0;
14403        {
14404            let val_ref = &self.r#power;
14405            if *val_ref != 0 {
14406                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
14407            }
14408        }
14409        size
14410    }
14411}
14412#[derive(Debug, Default, PartialEq, Clone)]
14413pub struct Rpc_Resp_WifiSetMaxTxPower {
14414    pub r#resp: i32,
14415}
14416impl Rpc_Resp_WifiSetMaxTxPower {
14417    ///Return a reference to `resp`
14418    #[inline]
14419    pub fn r#resp(&self) -> &i32 {
14420        &self.r#resp
14421    }
14422    ///Return a mutable reference to `resp`
14423    #[inline]
14424    pub fn mut_resp(&mut self) -> &mut i32 {
14425        &mut self.r#resp
14426    }
14427    ///Set the value of `resp`
14428    #[inline]
14429    pub fn set_resp(&mut self, value: i32) -> &mut Self {
14430        self.r#resp = value.into();
14431        self
14432    }
14433    ///Builder method that sets the value of `resp`. Useful for initializing the message.
14434    #[inline]
14435    pub fn init_resp(mut self, value: i32) -> Self {
14436        self.r#resp = value.into();
14437        self
14438    }
14439}
14440impl ::micropb::MessageDecode for Rpc_Resp_WifiSetMaxTxPower {
14441    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
14442        &mut self,
14443        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
14444        len: usize,
14445    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
14446        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
14447        let before = decoder.bytes_read();
14448        while decoder.bytes_read() - before < len {
14449            let tag = decoder.decode_tag()?;
14450            match tag.field_num() {
14451                0 => return Err(::micropb::DecodeError::ZeroField),
14452                1u32 => {
14453                    let mut_ref = &mut self.r#resp;
14454                    {
14455                        let val = decoder.decode_int32()?;
14456                        let val_ref = &val;
14457                        if *val_ref != 0 {
14458                            *mut_ref = val as _;
14459                        }
14460                    };
14461                }
14462                _ => {
14463                    decoder.skip_wire_value(tag.wire_type())?;
14464                }
14465            }
14466        }
14467        Ok(())
14468    }
14469}
14470impl ::micropb::MessageEncode for Rpc_Resp_WifiSetMaxTxPower {
14471    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
14472        let mut max_size = 0;
14473        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
14474            ::core::option::Option::Some(10usize), | size | size + 1usize
14475        ) {
14476            max_size += size;
14477        } else {
14478            break 'msg (::core::option::Option::<usize>::None);
14479        };
14480        ::core::option::Option::Some(max_size)
14481    };
14482    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
14483        &self,
14484        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
14485    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
14486        use ::micropb::{PbMap, FieldEncode};
14487        {
14488            let val_ref = &self.r#resp;
14489            if *val_ref != 0 {
14490                encoder.encode_varint32(8u32)?;
14491                encoder.encode_int32(*val_ref as _)?;
14492            }
14493        }
14494        Ok(())
14495    }
14496    fn compute_size(&self) -> usize {
14497        use ::micropb::{PbMap, FieldEncode};
14498        let mut size = 0;
14499        {
14500            let val_ref = &self.r#resp;
14501            if *val_ref != 0 {
14502                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
14503            }
14504        }
14505        size
14506    }
14507}
14508#[derive(Debug, Default, PartialEq, Clone)]
14509pub struct Rpc_Req_WifiGetMaxTxPower {}
14510impl Rpc_Req_WifiGetMaxTxPower {}
14511impl ::micropb::MessageDecode for Rpc_Req_WifiGetMaxTxPower {
14512    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
14513        &mut self,
14514        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
14515        len: usize,
14516    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
14517        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
14518        let before = decoder.bytes_read();
14519        while decoder.bytes_read() - before < len {
14520            let tag = decoder.decode_tag()?;
14521            match tag.field_num() {
14522                0 => return Err(::micropb::DecodeError::ZeroField),
14523                _ => {
14524                    decoder.skip_wire_value(tag.wire_type())?;
14525                }
14526            }
14527        }
14528        Ok(())
14529    }
14530}
14531impl ::micropb::MessageEncode for Rpc_Req_WifiGetMaxTxPower {
14532    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
14533        let mut max_size = 0;
14534        ::core::option::Option::Some(max_size)
14535    };
14536    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
14537        &self,
14538        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
14539    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
14540        use ::micropb::{PbMap, FieldEncode};
14541        Ok(())
14542    }
14543    fn compute_size(&self) -> usize {
14544        use ::micropb::{PbMap, FieldEncode};
14545        let mut size = 0;
14546        size
14547    }
14548}
14549#[derive(Debug, Default, PartialEq, Clone)]
14550pub struct Rpc_Resp_WifiGetMaxTxPower {
14551    pub r#power: i32,
14552    pub r#resp: i32,
14553}
14554impl Rpc_Resp_WifiGetMaxTxPower {
14555    ///Return a reference to `power`
14556    #[inline]
14557    pub fn r#power(&self) -> &i32 {
14558        &self.r#power
14559    }
14560    ///Return a mutable reference to `power`
14561    #[inline]
14562    pub fn mut_power(&mut self) -> &mut i32 {
14563        &mut self.r#power
14564    }
14565    ///Set the value of `power`
14566    #[inline]
14567    pub fn set_power(&mut self, value: i32) -> &mut Self {
14568        self.r#power = value.into();
14569        self
14570    }
14571    ///Builder method that sets the value of `power`. Useful for initializing the message.
14572    #[inline]
14573    pub fn init_power(mut self, value: i32) -> Self {
14574        self.r#power = value.into();
14575        self
14576    }
14577    ///Return a reference to `resp`
14578    #[inline]
14579    pub fn r#resp(&self) -> &i32 {
14580        &self.r#resp
14581    }
14582    ///Return a mutable reference to `resp`
14583    #[inline]
14584    pub fn mut_resp(&mut self) -> &mut i32 {
14585        &mut self.r#resp
14586    }
14587    ///Set the value of `resp`
14588    #[inline]
14589    pub fn set_resp(&mut self, value: i32) -> &mut Self {
14590        self.r#resp = value.into();
14591        self
14592    }
14593    ///Builder method that sets the value of `resp`. Useful for initializing the message.
14594    #[inline]
14595    pub fn init_resp(mut self, value: i32) -> Self {
14596        self.r#resp = value.into();
14597        self
14598    }
14599}
14600impl ::micropb::MessageDecode for Rpc_Resp_WifiGetMaxTxPower {
14601    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
14602        &mut self,
14603        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
14604        len: usize,
14605    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
14606        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
14607        let before = decoder.bytes_read();
14608        while decoder.bytes_read() - before < len {
14609            let tag = decoder.decode_tag()?;
14610            match tag.field_num() {
14611                0 => return Err(::micropb::DecodeError::ZeroField),
14612                1u32 => {
14613                    let mut_ref = &mut self.r#power;
14614                    {
14615                        let val = decoder.decode_int32()?;
14616                        let val_ref = &val;
14617                        if *val_ref != 0 {
14618                            *mut_ref = val as _;
14619                        }
14620                    };
14621                }
14622                2u32 => {
14623                    let mut_ref = &mut self.r#resp;
14624                    {
14625                        let val = decoder.decode_int32()?;
14626                        let val_ref = &val;
14627                        if *val_ref != 0 {
14628                            *mut_ref = val as _;
14629                        }
14630                    };
14631                }
14632                _ => {
14633                    decoder.skip_wire_value(tag.wire_type())?;
14634                }
14635            }
14636        }
14637        Ok(())
14638    }
14639}
14640impl ::micropb::MessageEncode for Rpc_Resp_WifiGetMaxTxPower {
14641    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
14642        let mut max_size = 0;
14643        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
14644            ::core::option::Option::Some(10usize), | size | size + 1usize
14645        ) {
14646            max_size += size;
14647        } else {
14648            break 'msg (::core::option::Option::<usize>::None);
14649        };
14650        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
14651            ::core::option::Option::Some(10usize), | size | size + 1usize
14652        ) {
14653            max_size += size;
14654        } else {
14655            break 'msg (::core::option::Option::<usize>::None);
14656        };
14657        ::core::option::Option::Some(max_size)
14658    };
14659    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
14660        &self,
14661        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
14662    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
14663        use ::micropb::{PbMap, FieldEncode};
14664        {
14665            let val_ref = &self.r#power;
14666            if *val_ref != 0 {
14667                encoder.encode_varint32(8u32)?;
14668                encoder.encode_int32(*val_ref as _)?;
14669            }
14670        }
14671        {
14672            let val_ref = &self.r#resp;
14673            if *val_ref != 0 {
14674                encoder.encode_varint32(16u32)?;
14675                encoder.encode_int32(*val_ref as _)?;
14676            }
14677        }
14678        Ok(())
14679    }
14680    fn compute_size(&self) -> usize {
14681        use ::micropb::{PbMap, FieldEncode};
14682        let mut size = 0;
14683        {
14684            let val_ref = &self.r#power;
14685            if *val_ref != 0 {
14686                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
14687            }
14688        }
14689        {
14690            let val_ref = &self.r#resp;
14691            if *val_ref != 0 {
14692                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
14693            }
14694        }
14695        size
14696    }
14697}
14698#[derive(Debug, Default, PartialEq, Clone)]
14699pub struct Rpc_Req_ConfigHeartbeat {
14700    pub r#enable: bool,
14701    pub r#duration: i32,
14702}
14703impl Rpc_Req_ConfigHeartbeat {
14704    ///Return a reference to `enable`
14705    #[inline]
14706    pub fn r#enable(&self) -> &bool {
14707        &self.r#enable
14708    }
14709    ///Return a mutable reference to `enable`
14710    #[inline]
14711    pub fn mut_enable(&mut self) -> &mut bool {
14712        &mut self.r#enable
14713    }
14714    ///Set the value of `enable`
14715    #[inline]
14716    pub fn set_enable(&mut self, value: bool) -> &mut Self {
14717        self.r#enable = value.into();
14718        self
14719    }
14720    ///Builder method that sets the value of `enable`. Useful for initializing the message.
14721    #[inline]
14722    pub fn init_enable(mut self, value: bool) -> Self {
14723        self.r#enable = value.into();
14724        self
14725    }
14726    ///Return a reference to `duration`
14727    #[inline]
14728    pub fn r#duration(&self) -> &i32 {
14729        &self.r#duration
14730    }
14731    ///Return a mutable reference to `duration`
14732    #[inline]
14733    pub fn mut_duration(&mut self) -> &mut i32 {
14734        &mut self.r#duration
14735    }
14736    ///Set the value of `duration`
14737    #[inline]
14738    pub fn set_duration(&mut self, value: i32) -> &mut Self {
14739        self.r#duration = value.into();
14740        self
14741    }
14742    ///Builder method that sets the value of `duration`. Useful for initializing the message.
14743    #[inline]
14744    pub fn init_duration(mut self, value: i32) -> Self {
14745        self.r#duration = value.into();
14746        self
14747    }
14748}
14749impl ::micropb::MessageDecode for Rpc_Req_ConfigHeartbeat {
14750    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
14751        &mut self,
14752        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
14753        len: usize,
14754    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
14755        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
14756        let before = decoder.bytes_read();
14757        while decoder.bytes_read() - before < len {
14758            let tag = decoder.decode_tag()?;
14759            match tag.field_num() {
14760                0 => return Err(::micropb::DecodeError::ZeroField),
14761                1u32 => {
14762                    let mut_ref = &mut self.r#enable;
14763                    {
14764                        let val = decoder.decode_bool()?;
14765                        let val_ref = &val;
14766                        if *val_ref {
14767                            *mut_ref = val as _;
14768                        }
14769                    };
14770                }
14771                2u32 => {
14772                    let mut_ref = &mut self.r#duration;
14773                    {
14774                        let val = decoder.decode_int32()?;
14775                        let val_ref = &val;
14776                        if *val_ref != 0 {
14777                            *mut_ref = val as _;
14778                        }
14779                    };
14780                }
14781                _ => {
14782                    decoder.skip_wire_value(tag.wire_type())?;
14783                }
14784            }
14785        }
14786        Ok(())
14787    }
14788}
14789impl ::micropb::MessageEncode for Rpc_Req_ConfigHeartbeat {
14790    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
14791        let mut max_size = 0;
14792        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
14793            ::core::option::Option::Some(1usize), | size | size + 1usize
14794        ) {
14795            max_size += size;
14796        } else {
14797            break 'msg (::core::option::Option::<usize>::None);
14798        };
14799        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
14800            ::core::option::Option::Some(10usize), | size | size + 1usize
14801        ) {
14802            max_size += size;
14803        } else {
14804            break 'msg (::core::option::Option::<usize>::None);
14805        };
14806        ::core::option::Option::Some(max_size)
14807    };
14808    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
14809        &self,
14810        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
14811    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
14812        use ::micropb::{PbMap, FieldEncode};
14813        {
14814            let val_ref = &self.r#enable;
14815            if *val_ref {
14816                encoder.encode_varint32(8u32)?;
14817                encoder.encode_bool(*val_ref)?;
14818            }
14819        }
14820        {
14821            let val_ref = &self.r#duration;
14822            if *val_ref != 0 {
14823                encoder.encode_varint32(16u32)?;
14824                encoder.encode_int32(*val_ref as _)?;
14825            }
14826        }
14827        Ok(())
14828    }
14829    fn compute_size(&self) -> usize {
14830        use ::micropb::{PbMap, FieldEncode};
14831        let mut size = 0;
14832        {
14833            let val_ref = &self.r#enable;
14834            if *val_ref {
14835                size += 1usize + 1;
14836            }
14837        }
14838        {
14839            let val_ref = &self.r#duration;
14840            if *val_ref != 0 {
14841                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
14842            }
14843        }
14844        size
14845    }
14846}
14847#[derive(Debug, Default, PartialEq, Clone)]
14848pub struct Rpc_Resp_ConfigHeartbeat {
14849    pub r#resp: i32,
14850}
14851impl Rpc_Resp_ConfigHeartbeat {
14852    ///Return a reference to `resp`
14853    #[inline]
14854    pub fn r#resp(&self) -> &i32 {
14855        &self.r#resp
14856    }
14857    ///Return a mutable reference to `resp`
14858    #[inline]
14859    pub fn mut_resp(&mut self) -> &mut i32 {
14860        &mut self.r#resp
14861    }
14862    ///Set the value of `resp`
14863    #[inline]
14864    pub fn set_resp(&mut self, value: i32) -> &mut Self {
14865        self.r#resp = value.into();
14866        self
14867    }
14868    ///Builder method that sets the value of `resp`. Useful for initializing the message.
14869    #[inline]
14870    pub fn init_resp(mut self, value: i32) -> Self {
14871        self.r#resp = value.into();
14872        self
14873    }
14874}
14875impl ::micropb::MessageDecode for Rpc_Resp_ConfigHeartbeat {
14876    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
14877        &mut self,
14878        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
14879        len: usize,
14880    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
14881        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
14882        let before = decoder.bytes_read();
14883        while decoder.bytes_read() - before < len {
14884            let tag = decoder.decode_tag()?;
14885            match tag.field_num() {
14886                0 => return Err(::micropb::DecodeError::ZeroField),
14887                1u32 => {
14888                    let mut_ref = &mut self.r#resp;
14889                    {
14890                        let val = decoder.decode_int32()?;
14891                        let val_ref = &val;
14892                        if *val_ref != 0 {
14893                            *mut_ref = val as _;
14894                        }
14895                    };
14896                }
14897                _ => {
14898                    decoder.skip_wire_value(tag.wire_type())?;
14899                }
14900            }
14901        }
14902        Ok(())
14903    }
14904}
14905impl ::micropb::MessageEncode for Rpc_Resp_ConfigHeartbeat {
14906    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
14907        let mut max_size = 0;
14908        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
14909            ::core::option::Option::Some(10usize), | size | size + 1usize
14910        ) {
14911            max_size += size;
14912        } else {
14913            break 'msg (::core::option::Option::<usize>::None);
14914        };
14915        ::core::option::Option::Some(max_size)
14916    };
14917    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
14918        &self,
14919        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
14920    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
14921        use ::micropb::{PbMap, FieldEncode};
14922        {
14923            let val_ref = &self.r#resp;
14924            if *val_ref != 0 {
14925                encoder.encode_varint32(8u32)?;
14926                encoder.encode_int32(*val_ref as _)?;
14927            }
14928        }
14929        Ok(())
14930    }
14931    fn compute_size(&self) -> usize {
14932        use ::micropb::{PbMap, FieldEncode};
14933        let mut size = 0;
14934        {
14935            let val_ref = &self.r#resp;
14936            if *val_ref != 0 {
14937                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
14938            }
14939        }
14940        size
14941    }
14942}
14943pub mod Rpc_Req_WifiInit_ {
14944    #[derive(Debug, Default, PartialEq, Clone)]
14945    pub struct _Hazzer([u8; 1]);
14946    impl _Hazzer {
14947        ///New hazzer with all fields set to off
14948        #[inline]
14949        pub const fn _new() -> Self {
14950            Self([0; 1])
14951        }
14952        ///Query presence of `cfg`
14953        #[inline]
14954        pub const fn r#cfg(&self) -> bool {
14955            (self.0[0] & 1) != 0
14956        }
14957        ///Set presence of `cfg`
14958        #[inline]
14959        pub const fn set_cfg(&mut self) -> &mut Self {
14960            let elem = &mut self.0[0];
14961            *elem |= 1;
14962            self
14963        }
14964        ///Clear presence of `cfg`
14965        #[inline]
14966        pub const fn clear_cfg(&mut self) -> &mut Self {
14967            let elem = &mut self.0[0];
14968            *elem &= !1;
14969            self
14970        }
14971        ///Builder method that sets the presence of `cfg`. Useful for initializing the Hazzer.
14972        #[inline]
14973        pub const fn init_cfg(mut self) -> Self {
14974            self.set_cfg();
14975            self
14976        }
14977    }
14978}
14979#[derive(Debug, Default, Clone)]
14980pub struct Rpc_Req_WifiInit {
14981    pub r#cfg: r#wifi_init_config,
14982    pub _has: Rpc_Req_WifiInit_::_Hazzer,
14983}
14984impl ::core::cmp::PartialEq for Rpc_Req_WifiInit {
14985    fn eq(&self, other: &Self) -> bool {
14986        let mut ret = true;
14987        ret &= (self.r#cfg() == other.r#cfg());
14988        ret
14989    }
14990}
14991impl Rpc_Req_WifiInit {
14992    ///Return a reference to `cfg` as an `Option`
14993    #[inline]
14994    pub fn r#cfg(&self) -> ::core::option::Option<&r#wifi_init_config> {
14995        self._has.r#cfg().then_some(&self.r#cfg)
14996    }
14997    ///Set the value and presence of `cfg`
14998    #[inline]
14999    pub fn set_cfg(&mut self, value: r#wifi_init_config) -> &mut Self {
15000        self._has.set_cfg();
15001        self.r#cfg = value.into();
15002        self
15003    }
15004    ///Return a mutable reference to `cfg` as an `Option`
15005    #[inline]
15006    pub fn mut_cfg(&mut self) -> ::core::option::Option<&mut r#wifi_init_config> {
15007        self._has.r#cfg().then_some(&mut self.r#cfg)
15008    }
15009    ///Clear the presence of `cfg`
15010    #[inline]
15011    pub fn clear_cfg(&mut self) -> &mut Self {
15012        self._has.clear_cfg();
15013        self
15014    }
15015    ///Take the value of `cfg` and clear its presence
15016    #[inline]
15017    pub fn take_cfg(&mut self) -> ::core::option::Option<r#wifi_init_config> {
15018        let val = self._has.r#cfg().then(|| ::core::mem::take(&mut self.r#cfg));
15019        self._has.clear_cfg();
15020        val
15021    }
15022    ///Builder method that sets the value of `cfg`. Useful for initializing the message.
15023    #[inline]
15024    pub fn init_cfg(mut self, value: r#wifi_init_config) -> Self {
15025        self.set_cfg(value);
15026        self
15027    }
15028}
15029impl ::micropb::MessageDecode for Rpc_Req_WifiInit {
15030    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
15031        &mut self,
15032        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
15033        len: usize,
15034    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
15035        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
15036        let before = decoder.bytes_read();
15037        while decoder.bytes_read() - before < len {
15038            let tag = decoder.decode_tag()?;
15039            match tag.field_num() {
15040                0 => return Err(::micropb::DecodeError::ZeroField),
15041                1u32 => {
15042                    let mut_ref = &mut self.r#cfg;
15043                    {
15044                        mut_ref.decode_len_delimited(decoder)?;
15045                    };
15046                    self._has.set_cfg();
15047                }
15048                _ => {
15049                    decoder.skip_wire_value(tag.wire_type())?;
15050                }
15051            }
15052        }
15053        Ok(())
15054    }
15055}
15056impl ::micropb::MessageEncode for Rpc_Req_WifiInit {
15057    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
15058        let mut max_size = 0;
15059        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
15060            ::micropb::const_map!(< r#wifi_init_config as ::micropb::MessageEncode >
15061            ::MAX_SIZE, | size | ::micropb::size::sizeof_len_record(size)), | size | size
15062            + 1usize
15063        ) {
15064            max_size += size;
15065        } else {
15066            break 'msg (::core::option::Option::<usize>::None);
15067        };
15068        ::core::option::Option::Some(max_size)
15069    };
15070    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
15071        &self,
15072        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
15073    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
15074        use ::micropb::{PbMap, FieldEncode};
15075        {
15076            if let ::core::option::Option::Some(val_ref) = self.r#cfg() {
15077                encoder.encode_varint32(10u32)?;
15078                val_ref.encode_len_delimited(encoder)?;
15079            }
15080        }
15081        Ok(())
15082    }
15083    fn compute_size(&self) -> usize {
15084        use ::micropb::{PbMap, FieldEncode};
15085        let mut size = 0;
15086        {
15087            if let ::core::option::Option::Some(val_ref) = self.r#cfg() {
15088                size
15089                    += 1usize
15090                        + ::micropb::size::sizeof_len_record(val_ref.compute_size());
15091            }
15092        }
15093        size
15094    }
15095}
15096#[derive(Debug, Default, PartialEq, Clone)]
15097pub struct Rpc_Resp_WifiInit {
15098    pub r#resp: i32,
15099}
15100impl Rpc_Resp_WifiInit {
15101    ///Return a reference to `resp`
15102    #[inline]
15103    pub fn r#resp(&self) -> &i32 {
15104        &self.r#resp
15105    }
15106    ///Return a mutable reference to `resp`
15107    #[inline]
15108    pub fn mut_resp(&mut self) -> &mut i32 {
15109        &mut self.r#resp
15110    }
15111    ///Set the value of `resp`
15112    #[inline]
15113    pub fn set_resp(&mut self, value: i32) -> &mut Self {
15114        self.r#resp = value.into();
15115        self
15116    }
15117    ///Builder method that sets the value of `resp`. Useful for initializing the message.
15118    #[inline]
15119    pub fn init_resp(mut self, value: i32) -> Self {
15120        self.r#resp = value.into();
15121        self
15122    }
15123}
15124impl ::micropb::MessageDecode for Rpc_Resp_WifiInit {
15125    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
15126        &mut self,
15127        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
15128        len: usize,
15129    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
15130        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
15131        let before = decoder.bytes_read();
15132        while decoder.bytes_read() - before < len {
15133            let tag = decoder.decode_tag()?;
15134            match tag.field_num() {
15135                0 => return Err(::micropb::DecodeError::ZeroField),
15136                1u32 => {
15137                    let mut_ref = &mut self.r#resp;
15138                    {
15139                        let val = decoder.decode_int32()?;
15140                        let val_ref = &val;
15141                        if *val_ref != 0 {
15142                            *mut_ref = val as _;
15143                        }
15144                    };
15145                }
15146                _ => {
15147                    decoder.skip_wire_value(tag.wire_type())?;
15148                }
15149            }
15150        }
15151        Ok(())
15152    }
15153}
15154impl ::micropb::MessageEncode for Rpc_Resp_WifiInit {
15155    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
15156        let mut max_size = 0;
15157        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
15158            ::core::option::Option::Some(10usize), | size | size + 1usize
15159        ) {
15160            max_size += size;
15161        } else {
15162            break 'msg (::core::option::Option::<usize>::None);
15163        };
15164        ::core::option::Option::Some(max_size)
15165    };
15166    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
15167        &self,
15168        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
15169    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
15170        use ::micropb::{PbMap, FieldEncode};
15171        {
15172            let val_ref = &self.r#resp;
15173            if *val_ref != 0 {
15174                encoder.encode_varint32(8u32)?;
15175                encoder.encode_int32(*val_ref as _)?;
15176            }
15177        }
15178        Ok(())
15179    }
15180    fn compute_size(&self) -> usize {
15181        use ::micropb::{PbMap, FieldEncode};
15182        let mut size = 0;
15183        {
15184            let val_ref = &self.r#resp;
15185            if *val_ref != 0 {
15186                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
15187            }
15188        }
15189        size
15190    }
15191}
15192#[derive(Debug, Default, PartialEq, Clone)]
15193pub struct Rpc_Req_WifiDeinit {}
15194impl Rpc_Req_WifiDeinit {}
15195impl ::micropb::MessageDecode for Rpc_Req_WifiDeinit {
15196    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
15197        &mut self,
15198        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
15199        len: usize,
15200    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
15201        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
15202        let before = decoder.bytes_read();
15203        while decoder.bytes_read() - before < len {
15204            let tag = decoder.decode_tag()?;
15205            match tag.field_num() {
15206                0 => return Err(::micropb::DecodeError::ZeroField),
15207                _ => {
15208                    decoder.skip_wire_value(tag.wire_type())?;
15209                }
15210            }
15211        }
15212        Ok(())
15213    }
15214}
15215impl ::micropb::MessageEncode for Rpc_Req_WifiDeinit {
15216    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
15217        let mut max_size = 0;
15218        ::core::option::Option::Some(max_size)
15219    };
15220    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
15221        &self,
15222        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
15223    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
15224        use ::micropb::{PbMap, FieldEncode};
15225        Ok(())
15226    }
15227    fn compute_size(&self) -> usize {
15228        use ::micropb::{PbMap, FieldEncode};
15229        let mut size = 0;
15230        size
15231    }
15232}
15233#[derive(Debug, Default, PartialEq, Clone)]
15234pub struct Rpc_Resp_WifiDeinit {
15235    pub r#resp: i32,
15236}
15237impl Rpc_Resp_WifiDeinit {
15238    ///Return a reference to `resp`
15239    #[inline]
15240    pub fn r#resp(&self) -> &i32 {
15241        &self.r#resp
15242    }
15243    ///Return a mutable reference to `resp`
15244    #[inline]
15245    pub fn mut_resp(&mut self) -> &mut i32 {
15246        &mut self.r#resp
15247    }
15248    ///Set the value of `resp`
15249    #[inline]
15250    pub fn set_resp(&mut self, value: i32) -> &mut Self {
15251        self.r#resp = value.into();
15252        self
15253    }
15254    ///Builder method that sets the value of `resp`. Useful for initializing the message.
15255    #[inline]
15256    pub fn init_resp(mut self, value: i32) -> Self {
15257        self.r#resp = value.into();
15258        self
15259    }
15260}
15261impl ::micropb::MessageDecode for Rpc_Resp_WifiDeinit {
15262    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
15263        &mut self,
15264        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
15265        len: usize,
15266    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
15267        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
15268        let before = decoder.bytes_read();
15269        while decoder.bytes_read() - before < len {
15270            let tag = decoder.decode_tag()?;
15271            match tag.field_num() {
15272                0 => return Err(::micropb::DecodeError::ZeroField),
15273                1u32 => {
15274                    let mut_ref = &mut self.r#resp;
15275                    {
15276                        let val = decoder.decode_int32()?;
15277                        let val_ref = &val;
15278                        if *val_ref != 0 {
15279                            *mut_ref = val as _;
15280                        }
15281                    };
15282                }
15283                _ => {
15284                    decoder.skip_wire_value(tag.wire_type())?;
15285                }
15286            }
15287        }
15288        Ok(())
15289    }
15290}
15291impl ::micropb::MessageEncode for Rpc_Resp_WifiDeinit {
15292    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
15293        let mut max_size = 0;
15294        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
15295            ::core::option::Option::Some(10usize), | size | size + 1usize
15296        ) {
15297            max_size += size;
15298        } else {
15299            break 'msg (::core::option::Option::<usize>::None);
15300        };
15301        ::core::option::Option::Some(max_size)
15302    };
15303    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
15304        &self,
15305        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
15306    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
15307        use ::micropb::{PbMap, FieldEncode};
15308        {
15309            let val_ref = &self.r#resp;
15310            if *val_ref != 0 {
15311                encoder.encode_varint32(8u32)?;
15312                encoder.encode_int32(*val_ref as _)?;
15313            }
15314        }
15315        Ok(())
15316    }
15317    fn compute_size(&self) -> usize {
15318        use ::micropb::{PbMap, FieldEncode};
15319        let mut size = 0;
15320        {
15321            let val_ref = &self.r#resp;
15322            if *val_ref != 0 {
15323                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
15324            }
15325        }
15326        size
15327    }
15328}
15329pub mod Rpc_Req_WifiSetConfig_ {
15330    #[derive(Debug, Default, PartialEq, Clone)]
15331    pub struct _Hazzer([u8; 1]);
15332    impl _Hazzer {
15333        ///New hazzer with all fields set to off
15334        #[inline]
15335        pub const fn _new() -> Self {
15336            Self([0; 1])
15337        }
15338        ///Query presence of `cfg`
15339        #[inline]
15340        pub const fn r#cfg(&self) -> bool {
15341            (self.0[0] & 1) != 0
15342        }
15343        ///Set presence of `cfg`
15344        #[inline]
15345        pub const fn set_cfg(&mut self) -> &mut Self {
15346            let elem = &mut self.0[0];
15347            *elem |= 1;
15348            self
15349        }
15350        ///Clear presence of `cfg`
15351        #[inline]
15352        pub const fn clear_cfg(&mut self) -> &mut Self {
15353            let elem = &mut self.0[0];
15354            *elem &= !1;
15355            self
15356        }
15357        ///Builder method that sets the presence of `cfg`. Useful for initializing the Hazzer.
15358        #[inline]
15359        pub const fn init_cfg(mut self) -> Self {
15360            self.set_cfg();
15361            self
15362        }
15363    }
15364}
15365#[derive(Debug, Default, Clone)]
15366pub struct Rpc_Req_WifiSetConfig {
15367    pub r#iface: i32,
15368    pub r#cfg: r#wifi_config,
15369    pub _has: Rpc_Req_WifiSetConfig_::_Hazzer,
15370}
15371impl ::core::cmp::PartialEq for Rpc_Req_WifiSetConfig {
15372    fn eq(&self, other: &Self) -> bool {
15373        let mut ret = true;
15374        ret &= (self.r#iface == other.r#iface);
15375        ret &= (self.r#cfg() == other.r#cfg());
15376        ret
15377    }
15378}
15379impl Rpc_Req_WifiSetConfig {
15380    ///Return a reference to `iface`
15381    #[inline]
15382    pub fn r#iface(&self) -> &i32 {
15383        &self.r#iface
15384    }
15385    ///Return a mutable reference to `iface`
15386    #[inline]
15387    pub fn mut_iface(&mut self) -> &mut i32 {
15388        &mut self.r#iface
15389    }
15390    ///Set the value of `iface`
15391    #[inline]
15392    pub fn set_iface(&mut self, value: i32) -> &mut Self {
15393        self.r#iface = value.into();
15394        self
15395    }
15396    ///Builder method that sets the value of `iface`. Useful for initializing the message.
15397    #[inline]
15398    pub fn init_iface(mut self, value: i32) -> Self {
15399        self.r#iface = value.into();
15400        self
15401    }
15402    ///Return a reference to `cfg` as an `Option`
15403    #[inline]
15404    pub fn r#cfg(&self) -> ::core::option::Option<&r#wifi_config> {
15405        self._has.r#cfg().then_some(&self.r#cfg)
15406    }
15407    ///Set the value and presence of `cfg`
15408    #[inline]
15409    pub fn set_cfg(&mut self, value: r#wifi_config) -> &mut Self {
15410        self._has.set_cfg();
15411        self.r#cfg = value.into();
15412        self
15413    }
15414    ///Return a mutable reference to `cfg` as an `Option`
15415    #[inline]
15416    pub fn mut_cfg(&mut self) -> ::core::option::Option<&mut r#wifi_config> {
15417        self._has.r#cfg().then_some(&mut self.r#cfg)
15418    }
15419    ///Clear the presence of `cfg`
15420    #[inline]
15421    pub fn clear_cfg(&mut self) -> &mut Self {
15422        self._has.clear_cfg();
15423        self
15424    }
15425    ///Take the value of `cfg` and clear its presence
15426    #[inline]
15427    pub fn take_cfg(&mut self) -> ::core::option::Option<r#wifi_config> {
15428        let val = self._has.r#cfg().then(|| ::core::mem::take(&mut self.r#cfg));
15429        self._has.clear_cfg();
15430        val
15431    }
15432    ///Builder method that sets the value of `cfg`. Useful for initializing the message.
15433    #[inline]
15434    pub fn init_cfg(mut self, value: r#wifi_config) -> Self {
15435        self.set_cfg(value);
15436        self
15437    }
15438}
15439impl ::micropb::MessageDecode for Rpc_Req_WifiSetConfig {
15440    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
15441        &mut self,
15442        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
15443        len: usize,
15444    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
15445        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
15446        let before = decoder.bytes_read();
15447        while decoder.bytes_read() - before < len {
15448            let tag = decoder.decode_tag()?;
15449            match tag.field_num() {
15450                0 => return Err(::micropb::DecodeError::ZeroField),
15451                1u32 => {
15452                    let mut_ref = &mut self.r#iface;
15453                    {
15454                        let val = decoder.decode_int32()?;
15455                        let val_ref = &val;
15456                        if *val_ref != 0 {
15457                            *mut_ref = val as _;
15458                        }
15459                    };
15460                }
15461                2u32 => {
15462                    let mut_ref = &mut self.r#cfg;
15463                    {
15464                        mut_ref.decode_len_delimited(decoder)?;
15465                    };
15466                    self._has.set_cfg();
15467                }
15468                _ => {
15469                    decoder.skip_wire_value(tag.wire_type())?;
15470                }
15471            }
15472        }
15473        Ok(())
15474    }
15475}
15476impl ::micropb::MessageEncode for Rpc_Req_WifiSetConfig {
15477    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
15478        let mut max_size = 0;
15479        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
15480            ::core::option::Option::Some(10usize), | size | size + 1usize
15481        ) {
15482            max_size += size;
15483        } else {
15484            break 'msg (::core::option::Option::<usize>::None);
15485        };
15486        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
15487            ::micropb::const_map!(< r#wifi_config as ::micropb::MessageEncode >
15488            ::MAX_SIZE, | size | ::micropb::size::sizeof_len_record(size)), | size | size
15489            + 1usize
15490        ) {
15491            max_size += size;
15492        } else {
15493            break 'msg (::core::option::Option::<usize>::None);
15494        };
15495        ::core::option::Option::Some(max_size)
15496    };
15497    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
15498        &self,
15499        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
15500    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
15501        use ::micropb::{PbMap, FieldEncode};
15502        {
15503            let val_ref = &self.r#iface;
15504            if *val_ref != 0 {
15505                encoder.encode_varint32(8u32)?;
15506                encoder.encode_int32(*val_ref as _)?;
15507            }
15508        }
15509        {
15510            if let ::core::option::Option::Some(val_ref) = self.r#cfg() {
15511                encoder.encode_varint32(18u32)?;
15512                val_ref.encode_len_delimited(encoder)?;
15513            }
15514        }
15515        Ok(())
15516    }
15517    fn compute_size(&self) -> usize {
15518        use ::micropb::{PbMap, FieldEncode};
15519        let mut size = 0;
15520        {
15521            let val_ref = &self.r#iface;
15522            if *val_ref != 0 {
15523                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
15524            }
15525        }
15526        {
15527            if let ::core::option::Option::Some(val_ref) = self.r#cfg() {
15528                size
15529                    += 1usize
15530                        + ::micropb::size::sizeof_len_record(val_ref.compute_size());
15531            }
15532        }
15533        size
15534    }
15535}
15536#[derive(Debug, Default, PartialEq, Clone)]
15537pub struct Rpc_Resp_WifiSetConfig {
15538    pub r#resp: i32,
15539}
15540impl Rpc_Resp_WifiSetConfig {
15541    ///Return a reference to `resp`
15542    #[inline]
15543    pub fn r#resp(&self) -> &i32 {
15544        &self.r#resp
15545    }
15546    ///Return a mutable reference to `resp`
15547    #[inline]
15548    pub fn mut_resp(&mut self) -> &mut i32 {
15549        &mut self.r#resp
15550    }
15551    ///Set the value of `resp`
15552    #[inline]
15553    pub fn set_resp(&mut self, value: i32) -> &mut Self {
15554        self.r#resp = value.into();
15555        self
15556    }
15557    ///Builder method that sets the value of `resp`. Useful for initializing the message.
15558    #[inline]
15559    pub fn init_resp(mut self, value: i32) -> Self {
15560        self.r#resp = value.into();
15561        self
15562    }
15563}
15564impl ::micropb::MessageDecode for Rpc_Resp_WifiSetConfig {
15565    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
15566        &mut self,
15567        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
15568        len: usize,
15569    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
15570        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
15571        let before = decoder.bytes_read();
15572        while decoder.bytes_read() - before < len {
15573            let tag = decoder.decode_tag()?;
15574            match tag.field_num() {
15575                0 => return Err(::micropb::DecodeError::ZeroField),
15576                1u32 => {
15577                    let mut_ref = &mut self.r#resp;
15578                    {
15579                        let val = decoder.decode_int32()?;
15580                        let val_ref = &val;
15581                        if *val_ref != 0 {
15582                            *mut_ref = val as _;
15583                        }
15584                    };
15585                }
15586                _ => {
15587                    decoder.skip_wire_value(tag.wire_type())?;
15588                }
15589            }
15590        }
15591        Ok(())
15592    }
15593}
15594impl ::micropb::MessageEncode for Rpc_Resp_WifiSetConfig {
15595    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
15596        let mut max_size = 0;
15597        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
15598            ::core::option::Option::Some(10usize), | size | size + 1usize
15599        ) {
15600            max_size += size;
15601        } else {
15602            break 'msg (::core::option::Option::<usize>::None);
15603        };
15604        ::core::option::Option::Some(max_size)
15605    };
15606    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
15607        &self,
15608        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
15609    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
15610        use ::micropb::{PbMap, FieldEncode};
15611        {
15612            let val_ref = &self.r#resp;
15613            if *val_ref != 0 {
15614                encoder.encode_varint32(8u32)?;
15615                encoder.encode_int32(*val_ref as _)?;
15616            }
15617        }
15618        Ok(())
15619    }
15620    fn compute_size(&self) -> usize {
15621        use ::micropb::{PbMap, FieldEncode};
15622        let mut size = 0;
15623        {
15624            let val_ref = &self.r#resp;
15625            if *val_ref != 0 {
15626                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
15627            }
15628        }
15629        size
15630    }
15631}
15632#[derive(Debug, Default, PartialEq, Clone)]
15633pub struct Rpc_Req_WifiGetConfig {
15634    pub r#iface: i32,
15635}
15636impl Rpc_Req_WifiGetConfig {
15637    ///Return a reference to `iface`
15638    #[inline]
15639    pub fn r#iface(&self) -> &i32 {
15640        &self.r#iface
15641    }
15642    ///Return a mutable reference to `iface`
15643    #[inline]
15644    pub fn mut_iface(&mut self) -> &mut i32 {
15645        &mut self.r#iface
15646    }
15647    ///Set the value of `iface`
15648    #[inline]
15649    pub fn set_iface(&mut self, value: i32) -> &mut Self {
15650        self.r#iface = value.into();
15651        self
15652    }
15653    ///Builder method that sets the value of `iface`. Useful for initializing the message.
15654    #[inline]
15655    pub fn init_iface(mut self, value: i32) -> Self {
15656        self.r#iface = value.into();
15657        self
15658    }
15659}
15660impl ::micropb::MessageDecode for Rpc_Req_WifiGetConfig {
15661    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
15662        &mut self,
15663        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
15664        len: usize,
15665    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
15666        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
15667        let before = decoder.bytes_read();
15668        while decoder.bytes_read() - before < len {
15669            let tag = decoder.decode_tag()?;
15670            match tag.field_num() {
15671                0 => return Err(::micropb::DecodeError::ZeroField),
15672                1u32 => {
15673                    let mut_ref = &mut self.r#iface;
15674                    {
15675                        let val = decoder.decode_int32()?;
15676                        let val_ref = &val;
15677                        if *val_ref != 0 {
15678                            *mut_ref = val as _;
15679                        }
15680                    };
15681                }
15682                _ => {
15683                    decoder.skip_wire_value(tag.wire_type())?;
15684                }
15685            }
15686        }
15687        Ok(())
15688    }
15689}
15690impl ::micropb::MessageEncode for Rpc_Req_WifiGetConfig {
15691    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
15692        let mut max_size = 0;
15693        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
15694            ::core::option::Option::Some(10usize), | size | size + 1usize
15695        ) {
15696            max_size += size;
15697        } else {
15698            break 'msg (::core::option::Option::<usize>::None);
15699        };
15700        ::core::option::Option::Some(max_size)
15701    };
15702    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
15703        &self,
15704        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
15705    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
15706        use ::micropb::{PbMap, FieldEncode};
15707        {
15708            let val_ref = &self.r#iface;
15709            if *val_ref != 0 {
15710                encoder.encode_varint32(8u32)?;
15711                encoder.encode_int32(*val_ref as _)?;
15712            }
15713        }
15714        Ok(())
15715    }
15716    fn compute_size(&self) -> usize {
15717        use ::micropb::{PbMap, FieldEncode};
15718        let mut size = 0;
15719        {
15720            let val_ref = &self.r#iface;
15721            if *val_ref != 0 {
15722                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
15723            }
15724        }
15725        size
15726    }
15727}
15728pub mod Rpc_Resp_WifiGetConfig_ {
15729    #[derive(Debug, Default, PartialEq, Clone)]
15730    pub struct _Hazzer([u8; 1]);
15731    impl _Hazzer {
15732        ///New hazzer with all fields set to off
15733        #[inline]
15734        pub const fn _new() -> Self {
15735            Self([0; 1])
15736        }
15737        ///Query presence of `cfg`
15738        #[inline]
15739        pub const fn r#cfg(&self) -> bool {
15740            (self.0[0] & 1) != 0
15741        }
15742        ///Set presence of `cfg`
15743        #[inline]
15744        pub const fn set_cfg(&mut self) -> &mut Self {
15745            let elem = &mut self.0[0];
15746            *elem |= 1;
15747            self
15748        }
15749        ///Clear presence of `cfg`
15750        #[inline]
15751        pub const fn clear_cfg(&mut self) -> &mut Self {
15752            let elem = &mut self.0[0];
15753            *elem &= !1;
15754            self
15755        }
15756        ///Builder method that sets the presence of `cfg`. Useful for initializing the Hazzer.
15757        #[inline]
15758        pub const fn init_cfg(mut self) -> Self {
15759            self.set_cfg();
15760            self
15761        }
15762    }
15763}
15764#[derive(Debug, Default, Clone)]
15765pub struct Rpc_Resp_WifiGetConfig {
15766    pub r#resp: i32,
15767    pub r#iface: i32,
15768    pub r#cfg: r#wifi_config,
15769    pub _has: Rpc_Resp_WifiGetConfig_::_Hazzer,
15770}
15771impl ::core::cmp::PartialEq for Rpc_Resp_WifiGetConfig {
15772    fn eq(&self, other: &Self) -> bool {
15773        let mut ret = true;
15774        ret &= (self.r#resp == other.r#resp);
15775        ret &= (self.r#iface == other.r#iface);
15776        ret &= (self.r#cfg() == other.r#cfg());
15777        ret
15778    }
15779}
15780impl Rpc_Resp_WifiGetConfig {
15781    ///Return a reference to `resp`
15782    #[inline]
15783    pub fn r#resp(&self) -> &i32 {
15784        &self.r#resp
15785    }
15786    ///Return a mutable reference to `resp`
15787    #[inline]
15788    pub fn mut_resp(&mut self) -> &mut i32 {
15789        &mut self.r#resp
15790    }
15791    ///Set the value of `resp`
15792    #[inline]
15793    pub fn set_resp(&mut self, value: i32) -> &mut Self {
15794        self.r#resp = value.into();
15795        self
15796    }
15797    ///Builder method that sets the value of `resp`. Useful for initializing the message.
15798    #[inline]
15799    pub fn init_resp(mut self, value: i32) -> Self {
15800        self.r#resp = value.into();
15801        self
15802    }
15803    ///Return a reference to `iface`
15804    #[inline]
15805    pub fn r#iface(&self) -> &i32 {
15806        &self.r#iface
15807    }
15808    ///Return a mutable reference to `iface`
15809    #[inline]
15810    pub fn mut_iface(&mut self) -> &mut i32 {
15811        &mut self.r#iface
15812    }
15813    ///Set the value of `iface`
15814    #[inline]
15815    pub fn set_iface(&mut self, value: i32) -> &mut Self {
15816        self.r#iface = value.into();
15817        self
15818    }
15819    ///Builder method that sets the value of `iface`. Useful for initializing the message.
15820    #[inline]
15821    pub fn init_iface(mut self, value: i32) -> Self {
15822        self.r#iface = value.into();
15823        self
15824    }
15825    ///Return a reference to `cfg` as an `Option`
15826    #[inline]
15827    pub fn r#cfg(&self) -> ::core::option::Option<&r#wifi_config> {
15828        self._has.r#cfg().then_some(&self.r#cfg)
15829    }
15830    ///Set the value and presence of `cfg`
15831    #[inline]
15832    pub fn set_cfg(&mut self, value: r#wifi_config) -> &mut Self {
15833        self._has.set_cfg();
15834        self.r#cfg = value.into();
15835        self
15836    }
15837    ///Return a mutable reference to `cfg` as an `Option`
15838    #[inline]
15839    pub fn mut_cfg(&mut self) -> ::core::option::Option<&mut r#wifi_config> {
15840        self._has.r#cfg().then_some(&mut self.r#cfg)
15841    }
15842    ///Clear the presence of `cfg`
15843    #[inline]
15844    pub fn clear_cfg(&mut self) -> &mut Self {
15845        self._has.clear_cfg();
15846        self
15847    }
15848    ///Take the value of `cfg` and clear its presence
15849    #[inline]
15850    pub fn take_cfg(&mut self) -> ::core::option::Option<r#wifi_config> {
15851        let val = self._has.r#cfg().then(|| ::core::mem::take(&mut self.r#cfg));
15852        self._has.clear_cfg();
15853        val
15854    }
15855    ///Builder method that sets the value of `cfg`. Useful for initializing the message.
15856    #[inline]
15857    pub fn init_cfg(mut self, value: r#wifi_config) -> Self {
15858        self.set_cfg(value);
15859        self
15860    }
15861}
15862impl ::micropb::MessageDecode for Rpc_Resp_WifiGetConfig {
15863    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
15864        &mut self,
15865        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
15866        len: usize,
15867    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
15868        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
15869        let before = decoder.bytes_read();
15870        while decoder.bytes_read() - before < len {
15871            let tag = decoder.decode_tag()?;
15872            match tag.field_num() {
15873                0 => return Err(::micropb::DecodeError::ZeroField),
15874                1u32 => {
15875                    let mut_ref = &mut self.r#resp;
15876                    {
15877                        let val = decoder.decode_int32()?;
15878                        let val_ref = &val;
15879                        if *val_ref != 0 {
15880                            *mut_ref = val as _;
15881                        }
15882                    };
15883                }
15884                2u32 => {
15885                    let mut_ref = &mut self.r#iface;
15886                    {
15887                        let val = decoder.decode_int32()?;
15888                        let val_ref = &val;
15889                        if *val_ref != 0 {
15890                            *mut_ref = val as _;
15891                        }
15892                    };
15893                }
15894                3u32 => {
15895                    let mut_ref = &mut self.r#cfg;
15896                    {
15897                        mut_ref.decode_len_delimited(decoder)?;
15898                    };
15899                    self._has.set_cfg();
15900                }
15901                _ => {
15902                    decoder.skip_wire_value(tag.wire_type())?;
15903                }
15904            }
15905        }
15906        Ok(())
15907    }
15908}
15909impl ::micropb::MessageEncode for Rpc_Resp_WifiGetConfig {
15910    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
15911        let mut max_size = 0;
15912        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
15913            ::core::option::Option::Some(10usize), | size | size + 1usize
15914        ) {
15915            max_size += size;
15916        } else {
15917            break 'msg (::core::option::Option::<usize>::None);
15918        };
15919        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
15920            ::core::option::Option::Some(10usize), | size | size + 1usize
15921        ) {
15922            max_size += size;
15923        } else {
15924            break 'msg (::core::option::Option::<usize>::None);
15925        };
15926        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
15927            ::micropb::const_map!(< r#wifi_config as ::micropb::MessageEncode >
15928            ::MAX_SIZE, | size | ::micropb::size::sizeof_len_record(size)), | size | size
15929            + 1usize
15930        ) {
15931            max_size += size;
15932        } else {
15933            break 'msg (::core::option::Option::<usize>::None);
15934        };
15935        ::core::option::Option::Some(max_size)
15936    };
15937    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
15938        &self,
15939        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
15940    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
15941        use ::micropb::{PbMap, FieldEncode};
15942        {
15943            let val_ref = &self.r#resp;
15944            if *val_ref != 0 {
15945                encoder.encode_varint32(8u32)?;
15946                encoder.encode_int32(*val_ref as _)?;
15947            }
15948        }
15949        {
15950            let val_ref = &self.r#iface;
15951            if *val_ref != 0 {
15952                encoder.encode_varint32(16u32)?;
15953                encoder.encode_int32(*val_ref as _)?;
15954            }
15955        }
15956        {
15957            if let ::core::option::Option::Some(val_ref) = self.r#cfg() {
15958                encoder.encode_varint32(26u32)?;
15959                val_ref.encode_len_delimited(encoder)?;
15960            }
15961        }
15962        Ok(())
15963    }
15964    fn compute_size(&self) -> usize {
15965        use ::micropb::{PbMap, FieldEncode};
15966        let mut size = 0;
15967        {
15968            let val_ref = &self.r#resp;
15969            if *val_ref != 0 {
15970                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
15971            }
15972        }
15973        {
15974            let val_ref = &self.r#iface;
15975            if *val_ref != 0 {
15976                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
15977            }
15978        }
15979        {
15980            if let ::core::option::Option::Some(val_ref) = self.r#cfg() {
15981                size
15982                    += 1usize
15983                        + ::micropb::size::sizeof_len_record(val_ref.compute_size());
15984            }
15985        }
15986        size
15987    }
15988}
15989#[derive(Debug, Default, PartialEq, Clone)]
15990pub struct Rpc_Req_WifiConnect {}
15991impl Rpc_Req_WifiConnect {}
15992impl ::micropb::MessageDecode for Rpc_Req_WifiConnect {
15993    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
15994        &mut self,
15995        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
15996        len: usize,
15997    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
15998        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
15999        let before = decoder.bytes_read();
16000        while decoder.bytes_read() - before < len {
16001            let tag = decoder.decode_tag()?;
16002            match tag.field_num() {
16003                0 => return Err(::micropb::DecodeError::ZeroField),
16004                _ => {
16005                    decoder.skip_wire_value(tag.wire_type())?;
16006                }
16007            }
16008        }
16009        Ok(())
16010    }
16011}
16012impl ::micropb::MessageEncode for Rpc_Req_WifiConnect {
16013    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
16014        let mut max_size = 0;
16015        ::core::option::Option::Some(max_size)
16016    };
16017    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
16018        &self,
16019        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
16020    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
16021        use ::micropb::{PbMap, FieldEncode};
16022        Ok(())
16023    }
16024    fn compute_size(&self) -> usize {
16025        use ::micropb::{PbMap, FieldEncode};
16026        let mut size = 0;
16027        size
16028    }
16029}
16030#[derive(Debug, Default, PartialEq, Clone)]
16031pub struct Rpc_Resp_WifiConnect {
16032    pub r#resp: i32,
16033}
16034impl Rpc_Resp_WifiConnect {
16035    ///Return a reference to `resp`
16036    #[inline]
16037    pub fn r#resp(&self) -> &i32 {
16038        &self.r#resp
16039    }
16040    ///Return a mutable reference to `resp`
16041    #[inline]
16042    pub fn mut_resp(&mut self) -> &mut i32 {
16043        &mut self.r#resp
16044    }
16045    ///Set the value of `resp`
16046    #[inline]
16047    pub fn set_resp(&mut self, value: i32) -> &mut Self {
16048        self.r#resp = value.into();
16049        self
16050    }
16051    ///Builder method that sets the value of `resp`. Useful for initializing the message.
16052    #[inline]
16053    pub fn init_resp(mut self, value: i32) -> Self {
16054        self.r#resp = value.into();
16055        self
16056    }
16057}
16058impl ::micropb::MessageDecode for Rpc_Resp_WifiConnect {
16059    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
16060        &mut self,
16061        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
16062        len: usize,
16063    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
16064        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
16065        let before = decoder.bytes_read();
16066        while decoder.bytes_read() - before < len {
16067            let tag = decoder.decode_tag()?;
16068            match tag.field_num() {
16069                0 => return Err(::micropb::DecodeError::ZeroField),
16070                1u32 => {
16071                    let mut_ref = &mut self.r#resp;
16072                    {
16073                        let val = decoder.decode_int32()?;
16074                        let val_ref = &val;
16075                        if *val_ref != 0 {
16076                            *mut_ref = val as _;
16077                        }
16078                    };
16079                }
16080                _ => {
16081                    decoder.skip_wire_value(tag.wire_type())?;
16082                }
16083            }
16084        }
16085        Ok(())
16086    }
16087}
16088impl ::micropb::MessageEncode for Rpc_Resp_WifiConnect {
16089    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
16090        let mut max_size = 0;
16091        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
16092            ::core::option::Option::Some(10usize), | size | size + 1usize
16093        ) {
16094            max_size += size;
16095        } else {
16096            break 'msg (::core::option::Option::<usize>::None);
16097        };
16098        ::core::option::Option::Some(max_size)
16099    };
16100    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
16101        &self,
16102        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
16103    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
16104        use ::micropb::{PbMap, FieldEncode};
16105        {
16106            let val_ref = &self.r#resp;
16107            if *val_ref != 0 {
16108                encoder.encode_varint32(8u32)?;
16109                encoder.encode_int32(*val_ref as _)?;
16110            }
16111        }
16112        Ok(())
16113    }
16114    fn compute_size(&self) -> usize {
16115        use ::micropb::{PbMap, FieldEncode};
16116        let mut size = 0;
16117        {
16118            let val_ref = &self.r#resp;
16119            if *val_ref != 0 {
16120                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
16121            }
16122        }
16123        size
16124    }
16125}
16126#[derive(Debug, Default, PartialEq, Clone)]
16127pub struct Rpc_Req_WifiDisconnect {}
16128impl Rpc_Req_WifiDisconnect {}
16129impl ::micropb::MessageDecode for Rpc_Req_WifiDisconnect {
16130    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
16131        &mut self,
16132        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
16133        len: usize,
16134    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
16135        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
16136        let before = decoder.bytes_read();
16137        while decoder.bytes_read() - before < len {
16138            let tag = decoder.decode_tag()?;
16139            match tag.field_num() {
16140                0 => return Err(::micropb::DecodeError::ZeroField),
16141                _ => {
16142                    decoder.skip_wire_value(tag.wire_type())?;
16143                }
16144            }
16145        }
16146        Ok(())
16147    }
16148}
16149impl ::micropb::MessageEncode for Rpc_Req_WifiDisconnect {
16150    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
16151        let mut max_size = 0;
16152        ::core::option::Option::Some(max_size)
16153    };
16154    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
16155        &self,
16156        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
16157    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
16158        use ::micropb::{PbMap, FieldEncode};
16159        Ok(())
16160    }
16161    fn compute_size(&self) -> usize {
16162        use ::micropb::{PbMap, FieldEncode};
16163        let mut size = 0;
16164        size
16165    }
16166}
16167#[derive(Debug, Default, PartialEq, Clone)]
16168pub struct Rpc_Resp_WifiDisconnect {
16169    pub r#resp: i32,
16170}
16171impl Rpc_Resp_WifiDisconnect {
16172    ///Return a reference to `resp`
16173    #[inline]
16174    pub fn r#resp(&self) -> &i32 {
16175        &self.r#resp
16176    }
16177    ///Return a mutable reference to `resp`
16178    #[inline]
16179    pub fn mut_resp(&mut self) -> &mut i32 {
16180        &mut self.r#resp
16181    }
16182    ///Set the value of `resp`
16183    #[inline]
16184    pub fn set_resp(&mut self, value: i32) -> &mut Self {
16185        self.r#resp = value.into();
16186        self
16187    }
16188    ///Builder method that sets the value of `resp`. Useful for initializing the message.
16189    #[inline]
16190    pub fn init_resp(mut self, value: i32) -> Self {
16191        self.r#resp = value.into();
16192        self
16193    }
16194}
16195impl ::micropb::MessageDecode for Rpc_Resp_WifiDisconnect {
16196    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
16197        &mut self,
16198        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
16199        len: usize,
16200    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
16201        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
16202        let before = decoder.bytes_read();
16203        while decoder.bytes_read() - before < len {
16204            let tag = decoder.decode_tag()?;
16205            match tag.field_num() {
16206                0 => return Err(::micropb::DecodeError::ZeroField),
16207                1u32 => {
16208                    let mut_ref = &mut self.r#resp;
16209                    {
16210                        let val = decoder.decode_int32()?;
16211                        let val_ref = &val;
16212                        if *val_ref != 0 {
16213                            *mut_ref = val as _;
16214                        }
16215                    };
16216                }
16217                _ => {
16218                    decoder.skip_wire_value(tag.wire_type())?;
16219                }
16220            }
16221        }
16222        Ok(())
16223    }
16224}
16225impl ::micropb::MessageEncode for Rpc_Resp_WifiDisconnect {
16226    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
16227        let mut max_size = 0;
16228        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
16229            ::core::option::Option::Some(10usize), | size | size + 1usize
16230        ) {
16231            max_size += size;
16232        } else {
16233            break 'msg (::core::option::Option::<usize>::None);
16234        };
16235        ::core::option::Option::Some(max_size)
16236    };
16237    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
16238        &self,
16239        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
16240    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
16241        use ::micropb::{PbMap, FieldEncode};
16242        {
16243            let val_ref = &self.r#resp;
16244            if *val_ref != 0 {
16245                encoder.encode_varint32(8u32)?;
16246                encoder.encode_int32(*val_ref as _)?;
16247            }
16248        }
16249        Ok(())
16250    }
16251    fn compute_size(&self) -> usize {
16252        use ::micropb::{PbMap, FieldEncode};
16253        let mut size = 0;
16254        {
16255            let val_ref = &self.r#resp;
16256            if *val_ref != 0 {
16257                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
16258            }
16259        }
16260        size
16261    }
16262}
16263#[derive(Debug, Default, PartialEq, Clone)]
16264pub struct Rpc_Req_WifiStart {}
16265impl Rpc_Req_WifiStart {}
16266impl ::micropb::MessageDecode for Rpc_Req_WifiStart {
16267    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
16268        &mut self,
16269        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
16270        len: usize,
16271    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
16272        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
16273        let before = decoder.bytes_read();
16274        while decoder.bytes_read() - before < len {
16275            let tag = decoder.decode_tag()?;
16276            match tag.field_num() {
16277                0 => return Err(::micropb::DecodeError::ZeroField),
16278                _ => {
16279                    decoder.skip_wire_value(tag.wire_type())?;
16280                }
16281            }
16282        }
16283        Ok(())
16284    }
16285}
16286impl ::micropb::MessageEncode for Rpc_Req_WifiStart {
16287    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
16288        let mut max_size = 0;
16289        ::core::option::Option::Some(max_size)
16290    };
16291    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
16292        &self,
16293        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
16294    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
16295        use ::micropb::{PbMap, FieldEncode};
16296        Ok(())
16297    }
16298    fn compute_size(&self) -> usize {
16299        use ::micropb::{PbMap, FieldEncode};
16300        let mut size = 0;
16301        size
16302    }
16303}
16304#[derive(Debug, Default, PartialEq, Clone)]
16305pub struct Rpc_Resp_WifiStart {
16306    pub r#resp: i32,
16307}
16308impl Rpc_Resp_WifiStart {
16309    ///Return a reference to `resp`
16310    #[inline]
16311    pub fn r#resp(&self) -> &i32 {
16312        &self.r#resp
16313    }
16314    ///Return a mutable reference to `resp`
16315    #[inline]
16316    pub fn mut_resp(&mut self) -> &mut i32 {
16317        &mut self.r#resp
16318    }
16319    ///Set the value of `resp`
16320    #[inline]
16321    pub fn set_resp(&mut self, value: i32) -> &mut Self {
16322        self.r#resp = value.into();
16323        self
16324    }
16325    ///Builder method that sets the value of `resp`. Useful for initializing the message.
16326    #[inline]
16327    pub fn init_resp(mut self, value: i32) -> Self {
16328        self.r#resp = value.into();
16329        self
16330    }
16331}
16332impl ::micropb::MessageDecode for Rpc_Resp_WifiStart {
16333    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
16334        &mut self,
16335        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
16336        len: usize,
16337    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
16338        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
16339        let before = decoder.bytes_read();
16340        while decoder.bytes_read() - before < len {
16341            let tag = decoder.decode_tag()?;
16342            match tag.field_num() {
16343                0 => return Err(::micropb::DecodeError::ZeroField),
16344                1u32 => {
16345                    let mut_ref = &mut self.r#resp;
16346                    {
16347                        let val = decoder.decode_int32()?;
16348                        let val_ref = &val;
16349                        if *val_ref != 0 {
16350                            *mut_ref = val as _;
16351                        }
16352                    };
16353                }
16354                _ => {
16355                    decoder.skip_wire_value(tag.wire_type())?;
16356                }
16357            }
16358        }
16359        Ok(())
16360    }
16361}
16362impl ::micropb::MessageEncode for Rpc_Resp_WifiStart {
16363    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
16364        let mut max_size = 0;
16365        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
16366            ::core::option::Option::Some(10usize), | size | size + 1usize
16367        ) {
16368            max_size += size;
16369        } else {
16370            break 'msg (::core::option::Option::<usize>::None);
16371        };
16372        ::core::option::Option::Some(max_size)
16373    };
16374    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
16375        &self,
16376        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
16377    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
16378        use ::micropb::{PbMap, FieldEncode};
16379        {
16380            let val_ref = &self.r#resp;
16381            if *val_ref != 0 {
16382                encoder.encode_varint32(8u32)?;
16383                encoder.encode_int32(*val_ref as _)?;
16384            }
16385        }
16386        Ok(())
16387    }
16388    fn compute_size(&self) -> usize {
16389        use ::micropb::{PbMap, FieldEncode};
16390        let mut size = 0;
16391        {
16392            let val_ref = &self.r#resp;
16393            if *val_ref != 0 {
16394                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
16395            }
16396        }
16397        size
16398    }
16399}
16400#[derive(Debug, Default, PartialEq, Clone)]
16401pub struct Rpc_Req_WifiStop {}
16402impl Rpc_Req_WifiStop {}
16403impl ::micropb::MessageDecode for Rpc_Req_WifiStop {
16404    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
16405        &mut self,
16406        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
16407        len: usize,
16408    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
16409        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
16410        let before = decoder.bytes_read();
16411        while decoder.bytes_read() - before < len {
16412            let tag = decoder.decode_tag()?;
16413            match tag.field_num() {
16414                0 => return Err(::micropb::DecodeError::ZeroField),
16415                _ => {
16416                    decoder.skip_wire_value(tag.wire_type())?;
16417                }
16418            }
16419        }
16420        Ok(())
16421    }
16422}
16423impl ::micropb::MessageEncode for Rpc_Req_WifiStop {
16424    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
16425        let mut max_size = 0;
16426        ::core::option::Option::Some(max_size)
16427    };
16428    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
16429        &self,
16430        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
16431    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
16432        use ::micropb::{PbMap, FieldEncode};
16433        Ok(())
16434    }
16435    fn compute_size(&self) -> usize {
16436        use ::micropb::{PbMap, FieldEncode};
16437        let mut size = 0;
16438        size
16439    }
16440}
16441#[derive(Debug, Default, PartialEq, Clone)]
16442pub struct Rpc_Resp_WifiStop {
16443    pub r#resp: i32,
16444}
16445impl Rpc_Resp_WifiStop {
16446    ///Return a reference to `resp`
16447    #[inline]
16448    pub fn r#resp(&self) -> &i32 {
16449        &self.r#resp
16450    }
16451    ///Return a mutable reference to `resp`
16452    #[inline]
16453    pub fn mut_resp(&mut self) -> &mut i32 {
16454        &mut self.r#resp
16455    }
16456    ///Set the value of `resp`
16457    #[inline]
16458    pub fn set_resp(&mut self, value: i32) -> &mut Self {
16459        self.r#resp = value.into();
16460        self
16461    }
16462    ///Builder method that sets the value of `resp`. Useful for initializing the message.
16463    #[inline]
16464    pub fn init_resp(mut self, value: i32) -> Self {
16465        self.r#resp = value.into();
16466        self
16467    }
16468}
16469impl ::micropb::MessageDecode for Rpc_Resp_WifiStop {
16470    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
16471        &mut self,
16472        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
16473        len: usize,
16474    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
16475        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
16476        let before = decoder.bytes_read();
16477        while decoder.bytes_read() - before < len {
16478            let tag = decoder.decode_tag()?;
16479            match tag.field_num() {
16480                0 => return Err(::micropb::DecodeError::ZeroField),
16481                1u32 => {
16482                    let mut_ref = &mut self.r#resp;
16483                    {
16484                        let val = decoder.decode_int32()?;
16485                        let val_ref = &val;
16486                        if *val_ref != 0 {
16487                            *mut_ref = val as _;
16488                        }
16489                    };
16490                }
16491                _ => {
16492                    decoder.skip_wire_value(tag.wire_type())?;
16493                }
16494            }
16495        }
16496        Ok(())
16497    }
16498}
16499impl ::micropb::MessageEncode for Rpc_Resp_WifiStop {
16500    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
16501        let mut max_size = 0;
16502        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
16503            ::core::option::Option::Some(10usize), | size | size + 1usize
16504        ) {
16505            max_size += size;
16506        } else {
16507            break 'msg (::core::option::Option::<usize>::None);
16508        };
16509        ::core::option::Option::Some(max_size)
16510    };
16511    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
16512        &self,
16513        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
16514    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
16515        use ::micropb::{PbMap, FieldEncode};
16516        {
16517            let val_ref = &self.r#resp;
16518            if *val_ref != 0 {
16519                encoder.encode_varint32(8u32)?;
16520                encoder.encode_int32(*val_ref as _)?;
16521            }
16522        }
16523        Ok(())
16524    }
16525    fn compute_size(&self) -> usize {
16526        use ::micropb::{PbMap, FieldEncode};
16527        let mut size = 0;
16528        {
16529            let val_ref = &self.r#resp;
16530            if *val_ref != 0 {
16531                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
16532            }
16533        }
16534        size
16535    }
16536}
16537pub mod Rpc_Req_WifiScanStart_ {
16538    #[derive(Debug, Default, PartialEq, Clone)]
16539    pub struct _Hazzer([u8; 1]);
16540    impl _Hazzer {
16541        ///New hazzer with all fields set to off
16542        #[inline]
16543        pub const fn _new() -> Self {
16544            Self([0; 1])
16545        }
16546        ///Query presence of `config`
16547        #[inline]
16548        pub const fn r#config(&self) -> bool {
16549            (self.0[0] & 1) != 0
16550        }
16551        ///Set presence of `config`
16552        #[inline]
16553        pub const fn set_config(&mut self) -> &mut Self {
16554            let elem = &mut self.0[0];
16555            *elem |= 1;
16556            self
16557        }
16558        ///Clear presence of `config`
16559        #[inline]
16560        pub const fn clear_config(&mut self) -> &mut Self {
16561            let elem = &mut self.0[0];
16562            *elem &= !1;
16563            self
16564        }
16565        ///Builder method that sets the presence of `config`. Useful for initializing the Hazzer.
16566        #[inline]
16567        pub const fn init_config(mut self) -> Self {
16568            self.set_config();
16569            self
16570        }
16571    }
16572}
16573#[derive(Debug, Default, Clone)]
16574pub struct Rpc_Req_WifiScanStart {
16575    pub r#config: r#wifi_scan_config,
16576    pub r#block: bool,
16577    pub r#config_set: i32,
16578    pub _has: Rpc_Req_WifiScanStart_::_Hazzer,
16579}
16580impl ::core::cmp::PartialEq for Rpc_Req_WifiScanStart {
16581    fn eq(&self, other: &Self) -> bool {
16582        let mut ret = true;
16583        ret &= (self.r#config() == other.r#config());
16584        ret &= (self.r#block == other.r#block);
16585        ret &= (self.r#config_set == other.r#config_set);
16586        ret
16587    }
16588}
16589impl Rpc_Req_WifiScanStart {
16590    ///Return a reference to `config` as an `Option`
16591    #[inline]
16592    pub fn r#config(&self) -> ::core::option::Option<&r#wifi_scan_config> {
16593        self._has.r#config().then_some(&self.r#config)
16594    }
16595    ///Set the value and presence of `config`
16596    #[inline]
16597    pub fn set_config(&mut self, value: r#wifi_scan_config) -> &mut Self {
16598        self._has.set_config();
16599        self.r#config = value.into();
16600        self
16601    }
16602    ///Return a mutable reference to `config` as an `Option`
16603    #[inline]
16604    pub fn mut_config(&mut self) -> ::core::option::Option<&mut r#wifi_scan_config> {
16605        self._has.r#config().then_some(&mut self.r#config)
16606    }
16607    ///Clear the presence of `config`
16608    #[inline]
16609    pub fn clear_config(&mut self) -> &mut Self {
16610        self._has.clear_config();
16611        self
16612    }
16613    ///Take the value of `config` and clear its presence
16614    #[inline]
16615    pub fn take_config(&mut self) -> ::core::option::Option<r#wifi_scan_config> {
16616        let val = self._has.r#config().then(|| ::core::mem::take(&mut self.r#config));
16617        self._has.clear_config();
16618        val
16619    }
16620    ///Builder method that sets the value of `config`. Useful for initializing the message.
16621    #[inline]
16622    pub fn init_config(mut self, value: r#wifi_scan_config) -> Self {
16623        self.set_config(value);
16624        self
16625    }
16626    ///Return a reference to `block`
16627    #[inline]
16628    pub fn r#block(&self) -> &bool {
16629        &self.r#block
16630    }
16631    ///Return a mutable reference to `block`
16632    #[inline]
16633    pub fn mut_block(&mut self) -> &mut bool {
16634        &mut self.r#block
16635    }
16636    ///Set the value of `block`
16637    #[inline]
16638    pub fn set_block(&mut self, value: bool) -> &mut Self {
16639        self.r#block = value.into();
16640        self
16641    }
16642    ///Builder method that sets the value of `block`. Useful for initializing the message.
16643    #[inline]
16644    pub fn init_block(mut self, value: bool) -> Self {
16645        self.r#block = value.into();
16646        self
16647    }
16648    ///Return a reference to `config_set`
16649    #[inline]
16650    pub fn r#config_set(&self) -> &i32 {
16651        &self.r#config_set
16652    }
16653    ///Return a mutable reference to `config_set`
16654    #[inline]
16655    pub fn mut_config_set(&mut self) -> &mut i32 {
16656        &mut self.r#config_set
16657    }
16658    ///Set the value of `config_set`
16659    #[inline]
16660    pub fn set_config_set(&mut self, value: i32) -> &mut Self {
16661        self.r#config_set = value.into();
16662        self
16663    }
16664    ///Builder method that sets the value of `config_set`. Useful for initializing the message.
16665    #[inline]
16666    pub fn init_config_set(mut self, value: i32) -> Self {
16667        self.r#config_set = value.into();
16668        self
16669    }
16670}
16671impl ::micropb::MessageDecode for Rpc_Req_WifiScanStart {
16672    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
16673        &mut self,
16674        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
16675        len: usize,
16676    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
16677        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
16678        let before = decoder.bytes_read();
16679        while decoder.bytes_read() - before < len {
16680            let tag = decoder.decode_tag()?;
16681            match tag.field_num() {
16682                0 => return Err(::micropb::DecodeError::ZeroField),
16683                1u32 => {
16684                    let mut_ref = &mut self.r#config;
16685                    {
16686                        mut_ref.decode_len_delimited(decoder)?;
16687                    };
16688                    self._has.set_config();
16689                }
16690                2u32 => {
16691                    let mut_ref = &mut self.r#block;
16692                    {
16693                        let val = decoder.decode_bool()?;
16694                        let val_ref = &val;
16695                        if *val_ref {
16696                            *mut_ref = val as _;
16697                        }
16698                    };
16699                }
16700                3u32 => {
16701                    let mut_ref = &mut self.r#config_set;
16702                    {
16703                        let val = decoder.decode_int32()?;
16704                        let val_ref = &val;
16705                        if *val_ref != 0 {
16706                            *mut_ref = val as _;
16707                        }
16708                    };
16709                }
16710                _ => {
16711                    decoder.skip_wire_value(tag.wire_type())?;
16712                }
16713            }
16714        }
16715        Ok(())
16716    }
16717}
16718impl ::micropb::MessageEncode for Rpc_Req_WifiScanStart {
16719    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
16720        let mut max_size = 0;
16721        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
16722            ::micropb::const_map!(< r#wifi_scan_config as ::micropb::MessageEncode >
16723            ::MAX_SIZE, | size | ::micropb::size::sizeof_len_record(size)), | size | size
16724            + 1usize
16725        ) {
16726            max_size += size;
16727        } else {
16728            break 'msg (::core::option::Option::<usize>::None);
16729        };
16730        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
16731            ::core::option::Option::Some(1usize), | size | size + 1usize
16732        ) {
16733            max_size += size;
16734        } else {
16735            break 'msg (::core::option::Option::<usize>::None);
16736        };
16737        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
16738            ::core::option::Option::Some(10usize), | size | size + 1usize
16739        ) {
16740            max_size += size;
16741        } else {
16742            break 'msg (::core::option::Option::<usize>::None);
16743        };
16744        ::core::option::Option::Some(max_size)
16745    };
16746    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
16747        &self,
16748        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
16749    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
16750        use ::micropb::{PbMap, FieldEncode};
16751        {
16752            if let ::core::option::Option::Some(val_ref) = self.r#config() {
16753                encoder.encode_varint32(10u32)?;
16754                val_ref.encode_len_delimited(encoder)?;
16755            }
16756        }
16757        {
16758            let val_ref = &self.r#block;
16759            if *val_ref {
16760                encoder.encode_varint32(16u32)?;
16761                encoder.encode_bool(*val_ref)?;
16762            }
16763        }
16764        {
16765            let val_ref = &self.r#config_set;
16766            if *val_ref != 0 {
16767                encoder.encode_varint32(24u32)?;
16768                encoder.encode_int32(*val_ref as _)?;
16769            }
16770        }
16771        Ok(())
16772    }
16773    fn compute_size(&self) -> usize {
16774        use ::micropb::{PbMap, FieldEncode};
16775        let mut size = 0;
16776        {
16777            if let ::core::option::Option::Some(val_ref) = self.r#config() {
16778                size
16779                    += 1usize
16780                        + ::micropb::size::sizeof_len_record(val_ref.compute_size());
16781            }
16782        }
16783        {
16784            let val_ref = &self.r#block;
16785            if *val_ref {
16786                size += 1usize + 1;
16787            }
16788        }
16789        {
16790            let val_ref = &self.r#config_set;
16791            if *val_ref != 0 {
16792                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
16793            }
16794        }
16795        size
16796    }
16797}
16798#[derive(Debug, Default, PartialEq, Clone)]
16799pub struct Rpc_Resp_WifiScanStart {
16800    pub r#resp: i32,
16801}
16802impl Rpc_Resp_WifiScanStart {
16803    ///Return a reference to `resp`
16804    #[inline]
16805    pub fn r#resp(&self) -> &i32 {
16806        &self.r#resp
16807    }
16808    ///Return a mutable reference to `resp`
16809    #[inline]
16810    pub fn mut_resp(&mut self) -> &mut i32 {
16811        &mut self.r#resp
16812    }
16813    ///Set the value of `resp`
16814    #[inline]
16815    pub fn set_resp(&mut self, value: i32) -> &mut Self {
16816        self.r#resp = value.into();
16817        self
16818    }
16819    ///Builder method that sets the value of `resp`. Useful for initializing the message.
16820    #[inline]
16821    pub fn init_resp(mut self, value: i32) -> Self {
16822        self.r#resp = value.into();
16823        self
16824    }
16825}
16826impl ::micropb::MessageDecode for Rpc_Resp_WifiScanStart {
16827    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
16828        &mut self,
16829        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
16830        len: usize,
16831    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
16832        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
16833        let before = decoder.bytes_read();
16834        while decoder.bytes_read() - before < len {
16835            let tag = decoder.decode_tag()?;
16836            match tag.field_num() {
16837                0 => return Err(::micropb::DecodeError::ZeroField),
16838                1u32 => {
16839                    let mut_ref = &mut self.r#resp;
16840                    {
16841                        let val = decoder.decode_int32()?;
16842                        let val_ref = &val;
16843                        if *val_ref != 0 {
16844                            *mut_ref = val as _;
16845                        }
16846                    };
16847                }
16848                _ => {
16849                    decoder.skip_wire_value(tag.wire_type())?;
16850                }
16851            }
16852        }
16853        Ok(())
16854    }
16855}
16856impl ::micropb::MessageEncode for Rpc_Resp_WifiScanStart {
16857    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
16858        let mut max_size = 0;
16859        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
16860            ::core::option::Option::Some(10usize), | size | size + 1usize
16861        ) {
16862            max_size += size;
16863        } else {
16864            break 'msg (::core::option::Option::<usize>::None);
16865        };
16866        ::core::option::Option::Some(max_size)
16867    };
16868    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
16869        &self,
16870        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
16871    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
16872        use ::micropb::{PbMap, FieldEncode};
16873        {
16874            let val_ref = &self.r#resp;
16875            if *val_ref != 0 {
16876                encoder.encode_varint32(8u32)?;
16877                encoder.encode_int32(*val_ref as _)?;
16878            }
16879        }
16880        Ok(())
16881    }
16882    fn compute_size(&self) -> usize {
16883        use ::micropb::{PbMap, FieldEncode};
16884        let mut size = 0;
16885        {
16886            let val_ref = &self.r#resp;
16887            if *val_ref != 0 {
16888                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
16889            }
16890        }
16891        size
16892    }
16893}
16894#[derive(Debug, Default, PartialEq, Clone)]
16895pub struct Rpc_Req_WifiScanStop {}
16896impl Rpc_Req_WifiScanStop {}
16897impl ::micropb::MessageDecode for Rpc_Req_WifiScanStop {
16898    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
16899        &mut self,
16900        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
16901        len: usize,
16902    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
16903        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
16904        let before = decoder.bytes_read();
16905        while decoder.bytes_read() - before < len {
16906            let tag = decoder.decode_tag()?;
16907            match tag.field_num() {
16908                0 => return Err(::micropb::DecodeError::ZeroField),
16909                _ => {
16910                    decoder.skip_wire_value(tag.wire_type())?;
16911                }
16912            }
16913        }
16914        Ok(())
16915    }
16916}
16917impl ::micropb::MessageEncode for Rpc_Req_WifiScanStop {
16918    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
16919        let mut max_size = 0;
16920        ::core::option::Option::Some(max_size)
16921    };
16922    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
16923        &self,
16924        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
16925    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
16926        use ::micropb::{PbMap, FieldEncode};
16927        Ok(())
16928    }
16929    fn compute_size(&self) -> usize {
16930        use ::micropb::{PbMap, FieldEncode};
16931        let mut size = 0;
16932        size
16933    }
16934}
16935#[derive(Debug, Default, PartialEq, Clone)]
16936pub struct Rpc_Resp_WifiScanStop {
16937    pub r#resp: i32,
16938}
16939impl Rpc_Resp_WifiScanStop {
16940    ///Return a reference to `resp`
16941    #[inline]
16942    pub fn r#resp(&self) -> &i32 {
16943        &self.r#resp
16944    }
16945    ///Return a mutable reference to `resp`
16946    #[inline]
16947    pub fn mut_resp(&mut self) -> &mut i32 {
16948        &mut self.r#resp
16949    }
16950    ///Set the value of `resp`
16951    #[inline]
16952    pub fn set_resp(&mut self, value: i32) -> &mut Self {
16953        self.r#resp = value.into();
16954        self
16955    }
16956    ///Builder method that sets the value of `resp`. Useful for initializing the message.
16957    #[inline]
16958    pub fn init_resp(mut self, value: i32) -> Self {
16959        self.r#resp = value.into();
16960        self
16961    }
16962}
16963impl ::micropb::MessageDecode for Rpc_Resp_WifiScanStop {
16964    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
16965        &mut self,
16966        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
16967        len: usize,
16968    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
16969        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
16970        let before = decoder.bytes_read();
16971        while decoder.bytes_read() - before < len {
16972            let tag = decoder.decode_tag()?;
16973            match tag.field_num() {
16974                0 => return Err(::micropb::DecodeError::ZeroField),
16975                1u32 => {
16976                    let mut_ref = &mut self.r#resp;
16977                    {
16978                        let val = decoder.decode_int32()?;
16979                        let val_ref = &val;
16980                        if *val_ref != 0 {
16981                            *mut_ref = val as _;
16982                        }
16983                    };
16984                }
16985                _ => {
16986                    decoder.skip_wire_value(tag.wire_type())?;
16987                }
16988            }
16989        }
16990        Ok(())
16991    }
16992}
16993impl ::micropb::MessageEncode for Rpc_Resp_WifiScanStop {
16994    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
16995        let mut max_size = 0;
16996        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
16997            ::core::option::Option::Some(10usize), | size | size + 1usize
16998        ) {
16999            max_size += size;
17000        } else {
17001            break 'msg (::core::option::Option::<usize>::None);
17002        };
17003        ::core::option::Option::Some(max_size)
17004    };
17005    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
17006        &self,
17007        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
17008    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
17009        use ::micropb::{PbMap, FieldEncode};
17010        {
17011            let val_ref = &self.r#resp;
17012            if *val_ref != 0 {
17013                encoder.encode_varint32(8u32)?;
17014                encoder.encode_int32(*val_ref as _)?;
17015            }
17016        }
17017        Ok(())
17018    }
17019    fn compute_size(&self) -> usize {
17020        use ::micropb::{PbMap, FieldEncode};
17021        let mut size = 0;
17022        {
17023            let val_ref = &self.r#resp;
17024            if *val_ref != 0 {
17025                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
17026            }
17027        }
17028        size
17029    }
17030}
17031#[derive(Debug, Default, PartialEq, Clone)]
17032pub struct Rpc_Req_WifiScanGetApNum {}
17033impl Rpc_Req_WifiScanGetApNum {}
17034impl ::micropb::MessageDecode for Rpc_Req_WifiScanGetApNum {
17035    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
17036        &mut self,
17037        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
17038        len: usize,
17039    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
17040        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
17041        let before = decoder.bytes_read();
17042        while decoder.bytes_read() - before < len {
17043            let tag = decoder.decode_tag()?;
17044            match tag.field_num() {
17045                0 => return Err(::micropb::DecodeError::ZeroField),
17046                _ => {
17047                    decoder.skip_wire_value(tag.wire_type())?;
17048                }
17049            }
17050        }
17051        Ok(())
17052    }
17053}
17054impl ::micropb::MessageEncode for Rpc_Req_WifiScanGetApNum {
17055    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
17056        let mut max_size = 0;
17057        ::core::option::Option::Some(max_size)
17058    };
17059    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
17060        &self,
17061        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
17062    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
17063        use ::micropb::{PbMap, FieldEncode};
17064        Ok(())
17065    }
17066    fn compute_size(&self) -> usize {
17067        use ::micropb::{PbMap, FieldEncode};
17068        let mut size = 0;
17069        size
17070    }
17071}
17072#[derive(Debug, Default, PartialEq, Clone)]
17073pub struct Rpc_Resp_WifiScanGetApNum {
17074    pub r#resp: i32,
17075    pub r#number: i32,
17076}
17077impl Rpc_Resp_WifiScanGetApNum {
17078    ///Return a reference to `resp`
17079    #[inline]
17080    pub fn r#resp(&self) -> &i32 {
17081        &self.r#resp
17082    }
17083    ///Return a mutable reference to `resp`
17084    #[inline]
17085    pub fn mut_resp(&mut self) -> &mut i32 {
17086        &mut self.r#resp
17087    }
17088    ///Set the value of `resp`
17089    #[inline]
17090    pub fn set_resp(&mut self, value: i32) -> &mut Self {
17091        self.r#resp = value.into();
17092        self
17093    }
17094    ///Builder method that sets the value of `resp`. Useful for initializing the message.
17095    #[inline]
17096    pub fn init_resp(mut self, value: i32) -> Self {
17097        self.r#resp = value.into();
17098        self
17099    }
17100    ///Return a reference to `number`
17101    #[inline]
17102    pub fn r#number(&self) -> &i32 {
17103        &self.r#number
17104    }
17105    ///Return a mutable reference to `number`
17106    #[inline]
17107    pub fn mut_number(&mut self) -> &mut i32 {
17108        &mut self.r#number
17109    }
17110    ///Set the value of `number`
17111    #[inline]
17112    pub fn set_number(&mut self, value: i32) -> &mut Self {
17113        self.r#number = value.into();
17114        self
17115    }
17116    ///Builder method that sets the value of `number`. Useful for initializing the message.
17117    #[inline]
17118    pub fn init_number(mut self, value: i32) -> Self {
17119        self.r#number = value.into();
17120        self
17121    }
17122}
17123impl ::micropb::MessageDecode for Rpc_Resp_WifiScanGetApNum {
17124    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
17125        &mut self,
17126        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
17127        len: usize,
17128    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
17129        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
17130        let before = decoder.bytes_read();
17131        while decoder.bytes_read() - before < len {
17132            let tag = decoder.decode_tag()?;
17133            match tag.field_num() {
17134                0 => return Err(::micropb::DecodeError::ZeroField),
17135                1u32 => {
17136                    let mut_ref = &mut self.r#resp;
17137                    {
17138                        let val = decoder.decode_int32()?;
17139                        let val_ref = &val;
17140                        if *val_ref != 0 {
17141                            *mut_ref = val as _;
17142                        }
17143                    };
17144                }
17145                2u32 => {
17146                    let mut_ref = &mut self.r#number;
17147                    {
17148                        let val = decoder.decode_int32()?;
17149                        let val_ref = &val;
17150                        if *val_ref != 0 {
17151                            *mut_ref = val as _;
17152                        }
17153                    };
17154                }
17155                _ => {
17156                    decoder.skip_wire_value(tag.wire_type())?;
17157                }
17158            }
17159        }
17160        Ok(())
17161    }
17162}
17163impl ::micropb::MessageEncode for Rpc_Resp_WifiScanGetApNum {
17164    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
17165        let mut max_size = 0;
17166        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
17167            ::core::option::Option::Some(10usize), | size | size + 1usize
17168        ) {
17169            max_size += size;
17170        } else {
17171            break 'msg (::core::option::Option::<usize>::None);
17172        };
17173        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
17174            ::core::option::Option::Some(10usize), | size | size + 1usize
17175        ) {
17176            max_size += size;
17177        } else {
17178            break 'msg (::core::option::Option::<usize>::None);
17179        };
17180        ::core::option::Option::Some(max_size)
17181    };
17182    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
17183        &self,
17184        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
17185    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
17186        use ::micropb::{PbMap, FieldEncode};
17187        {
17188            let val_ref = &self.r#resp;
17189            if *val_ref != 0 {
17190                encoder.encode_varint32(8u32)?;
17191                encoder.encode_int32(*val_ref as _)?;
17192            }
17193        }
17194        {
17195            let val_ref = &self.r#number;
17196            if *val_ref != 0 {
17197                encoder.encode_varint32(16u32)?;
17198                encoder.encode_int32(*val_ref as _)?;
17199            }
17200        }
17201        Ok(())
17202    }
17203    fn compute_size(&self) -> usize {
17204        use ::micropb::{PbMap, FieldEncode};
17205        let mut size = 0;
17206        {
17207            let val_ref = &self.r#resp;
17208            if *val_ref != 0 {
17209                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
17210            }
17211        }
17212        {
17213            let val_ref = &self.r#number;
17214            if *val_ref != 0 {
17215                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
17216            }
17217        }
17218        size
17219    }
17220}
17221#[derive(Debug, Default, PartialEq, Clone)]
17222pub struct Rpc_Req_WifiScanGetApRecords {
17223    pub r#number: i32,
17224}
17225impl Rpc_Req_WifiScanGetApRecords {
17226    ///Return a reference to `number`
17227    #[inline]
17228    pub fn r#number(&self) -> &i32 {
17229        &self.r#number
17230    }
17231    ///Return a mutable reference to `number`
17232    #[inline]
17233    pub fn mut_number(&mut self) -> &mut i32 {
17234        &mut self.r#number
17235    }
17236    ///Set the value of `number`
17237    #[inline]
17238    pub fn set_number(&mut self, value: i32) -> &mut Self {
17239        self.r#number = value.into();
17240        self
17241    }
17242    ///Builder method that sets the value of `number`. Useful for initializing the message.
17243    #[inline]
17244    pub fn init_number(mut self, value: i32) -> Self {
17245        self.r#number = value.into();
17246        self
17247    }
17248}
17249impl ::micropb::MessageDecode for Rpc_Req_WifiScanGetApRecords {
17250    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
17251        &mut self,
17252        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
17253        len: usize,
17254    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
17255        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
17256        let before = decoder.bytes_read();
17257        while decoder.bytes_read() - before < len {
17258            let tag = decoder.decode_tag()?;
17259            match tag.field_num() {
17260                0 => return Err(::micropb::DecodeError::ZeroField),
17261                1u32 => {
17262                    let mut_ref = &mut self.r#number;
17263                    {
17264                        let val = decoder.decode_int32()?;
17265                        let val_ref = &val;
17266                        if *val_ref != 0 {
17267                            *mut_ref = val as _;
17268                        }
17269                    };
17270                }
17271                _ => {
17272                    decoder.skip_wire_value(tag.wire_type())?;
17273                }
17274            }
17275        }
17276        Ok(())
17277    }
17278}
17279impl ::micropb::MessageEncode for Rpc_Req_WifiScanGetApRecords {
17280    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
17281        let mut max_size = 0;
17282        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
17283            ::core::option::Option::Some(10usize), | size | size + 1usize
17284        ) {
17285            max_size += size;
17286        } else {
17287            break 'msg (::core::option::Option::<usize>::None);
17288        };
17289        ::core::option::Option::Some(max_size)
17290    };
17291    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
17292        &self,
17293        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
17294    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
17295        use ::micropb::{PbMap, FieldEncode};
17296        {
17297            let val_ref = &self.r#number;
17298            if *val_ref != 0 {
17299                encoder.encode_varint32(8u32)?;
17300                encoder.encode_int32(*val_ref as _)?;
17301            }
17302        }
17303        Ok(())
17304    }
17305    fn compute_size(&self) -> usize {
17306        use ::micropb::{PbMap, FieldEncode};
17307        let mut size = 0;
17308        {
17309            let val_ref = &self.r#number;
17310            if *val_ref != 0 {
17311                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
17312            }
17313        }
17314        size
17315    }
17316}
17317#[derive(Debug, Default, PartialEq, Clone)]
17318pub struct Rpc_Resp_WifiScanGetApRecords {
17319    pub r#resp: i32,
17320    pub r#number: i32,
17321    pub r#ap_records: ::micropb::heapless::Vec<r#wifi_ap_record, 8>,
17322}
17323impl Rpc_Resp_WifiScanGetApRecords {
17324    ///Return a reference to `resp`
17325    #[inline]
17326    pub fn r#resp(&self) -> &i32 {
17327        &self.r#resp
17328    }
17329    ///Return a mutable reference to `resp`
17330    #[inline]
17331    pub fn mut_resp(&mut self) -> &mut i32 {
17332        &mut self.r#resp
17333    }
17334    ///Set the value of `resp`
17335    #[inline]
17336    pub fn set_resp(&mut self, value: i32) -> &mut Self {
17337        self.r#resp = value.into();
17338        self
17339    }
17340    ///Builder method that sets the value of `resp`. Useful for initializing the message.
17341    #[inline]
17342    pub fn init_resp(mut self, value: i32) -> Self {
17343        self.r#resp = value.into();
17344        self
17345    }
17346    ///Return a reference to `number`
17347    #[inline]
17348    pub fn r#number(&self) -> &i32 {
17349        &self.r#number
17350    }
17351    ///Return a mutable reference to `number`
17352    #[inline]
17353    pub fn mut_number(&mut self) -> &mut i32 {
17354        &mut self.r#number
17355    }
17356    ///Set the value of `number`
17357    #[inline]
17358    pub fn set_number(&mut self, value: i32) -> &mut Self {
17359        self.r#number = value.into();
17360        self
17361    }
17362    ///Builder method that sets the value of `number`. Useful for initializing the message.
17363    #[inline]
17364    pub fn init_number(mut self, value: i32) -> Self {
17365        self.r#number = value.into();
17366        self
17367    }
17368}
17369impl ::micropb::MessageDecode for Rpc_Resp_WifiScanGetApRecords {
17370    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
17371        &mut self,
17372        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
17373        len: usize,
17374    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
17375        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
17376        let before = decoder.bytes_read();
17377        while decoder.bytes_read() - before < len {
17378            let tag = decoder.decode_tag()?;
17379            match tag.field_num() {
17380                0 => return Err(::micropb::DecodeError::ZeroField),
17381                1u32 => {
17382                    let mut_ref = &mut self.r#resp;
17383                    {
17384                        let val = decoder.decode_int32()?;
17385                        let val_ref = &val;
17386                        if *val_ref != 0 {
17387                            *mut_ref = val as _;
17388                        }
17389                    };
17390                }
17391                2u32 => {
17392                    let mut_ref = &mut self.r#number;
17393                    {
17394                        let val = decoder.decode_int32()?;
17395                        let val_ref = &val;
17396                        if *val_ref != 0 {
17397                            *mut_ref = val as _;
17398                        }
17399                    };
17400                }
17401                3u32 => {
17402                    let mut val: r#wifi_ap_record = ::core::default::Default::default();
17403                    let mut_ref = &mut val;
17404                    {
17405                        mut_ref.decode_len_delimited(decoder)?;
17406                    };
17407                    if let (Err(_), false) = (
17408                        self.r#ap_records.pb_push(val),
17409                        decoder.ignore_repeated_cap_err,
17410                    ) {
17411                        return Err(::micropb::DecodeError::Capacity);
17412                    }
17413                }
17414                _ => {
17415                    decoder.skip_wire_value(tag.wire_type())?;
17416                }
17417            }
17418        }
17419        Ok(())
17420    }
17421}
17422impl ::micropb::MessageEncode for Rpc_Resp_WifiScanGetApRecords {
17423    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
17424        let mut max_size = 0;
17425        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
17426            ::core::option::Option::Some(10usize), | size | size + 1usize
17427        ) {
17428            max_size += size;
17429        } else {
17430            break 'msg (::core::option::Option::<usize>::None);
17431        };
17432        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
17433            ::core::option::Option::Some(10usize), | size | size + 1usize
17434        ) {
17435            max_size += size;
17436        } else {
17437            break 'msg (::core::option::Option::<usize>::None);
17438        };
17439        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
17440            ::micropb::const_map!(< r#wifi_ap_record as ::micropb::MessageEncode >
17441            ::MAX_SIZE, | size | ::micropb::size::sizeof_len_record(size)), | size |
17442            (size + 1usize) * 8usize
17443        ) {
17444            max_size += size;
17445        } else {
17446            break 'msg (::core::option::Option::<usize>::None);
17447        };
17448        ::core::option::Option::Some(max_size)
17449    };
17450    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
17451        &self,
17452        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
17453    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
17454        use ::micropb::{PbMap, FieldEncode};
17455        {
17456            let val_ref = &self.r#resp;
17457            if *val_ref != 0 {
17458                encoder.encode_varint32(8u32)?;
17459                encoder.encode_int32(*val_ref as _)?;
17460            }
17461        }
17462        {
17463            let val_ref = &self.r#number;
17464            if *val_ref != 0 {
17465                encoder.encode_varint32(16u32)?;
17466                encoder.encode_int32(*val_ref as _)?;
17467            }
17468        }
17469        {
17470            for val_ref in self.r#ap_records.iter() {
17471                encoder.encode_varint32(26u32)?;
17472                val_ref.encode_len_delimited(encoder)?;
17473            }
17474        }
17475        Ok(())
17476    }
17477    fn compute_size(&self) -> usize {
17478        use ::micropb::{PbMap, FieldEncode};
17479        let mut size = 0;
17480        {
17481            let val_ref = &self.r#resp;
17482            if *val_ref != 0 {
17483                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
17484            }
17485        }
17486        {
17487            let val_ref = &self.r#number;
17488            if *val_ref != 0 {
17489                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
17490            }
17491        }
17492        {
17493            for val_ref in self.r#ap_records.iter() {
17494                size
17495                    += 1usize
17496                        + ::micropb::size::sizeof_len_record(val_ref.compute_size());
17497            }
17498        }
17499        size
17500    }
17501}
17502#[derive(Debug, Default, PartialEq, Clone)]
17503pub struct Rpc_Req_WifiScanGetApRecord {}
17504impl Rpc_Req_WifiScanGetApRecord {}
17505impl ::micropb::MessageDecode for Rpc_Req_WifiScanGetApRecord {
17506    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
17507        &mut self,
17508        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
17509        len: usize,
17510    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
17511        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
17512        let before = decoder.bytes_read();
17513        while decoder.bytes_read() - before < len {
17514            let tag = decoder.decode_tag()?;
17515            match tag.field_num() {
17516                0 => return Err(::micropb::DecodeError::ZeroField),
17517                _ => {
17518                    decoder.skip_wire_value(tag.wire_type())?;
17519                }
17520            }
17521        }
17522        Ok(())
17523    }
17524}
17525impl ::micropb::MessageEncode for Rpc_Req_WifiScanGetApRecord {
17526    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
17527        let mut max_size = 0;
17528        ::core::option::Option::Some(max_size)
17529    };
17530    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
17531        &self,
17532        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
17533    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
17534        use ::micropb::{PbMap, FieldEncode};
17535        Ok(())
17536    }
17537    fn compute_size(&self) -> usize {
17538        use ::micropb::{PbMap, FieldEncode};
17539        let mut size = 0;
17540        size
17541    }
17542}
17543pub mod Rpc_Resp_WifiScanGetApRecord_ {
17544    #[derive(Debug, Default, PartialEq, Clone)]
17545    pub struct _Hazzer([u8; 1]);
17546    impl _Hazzer {
17547        ///New hazzer with all fields set to off
17548        #[inline]
17549        pub const fn _new() -> Self {
17550            Self([0; 1])
17551        }
17552        ///Query presence of `ap_record`
17553        #[inline]
17554        pub const fn r#ap_record(&self) -> bool {
17555            (self.0[0] & 1) != 0
17556        }
17557        ///Set presence of `ap_record`
17558        #[inline]
17559        pub const fn set_ap_record(&mut self) -> &mut Self {
17560            let elem = &mut self.0[0];
17561            *elem |= 1;
17562            self
17563        }
17564        ///Clear presence of `ap_record`
17565        #[inline]
17566        pub const fn clear_ap_record(&mut self) -> &mut Self {
17567            let elem = &mut self.0[0];
17568            *elem &= !1;
17569            self
17570        }
17571        ///Builder method that sets the presence of `ap_record`. Useful for initializing the Hazzer.
17572        #[inline]
17573        pub const fn init_ap_record(mut self) -> Self {
17574            self.set_ap_record();
17575            self
17576        }
17577    }
17578}
17579#[derive(Debug, Default, Clone)]
17580pub struct Rpc_Resp_WifiScanGetApRecord {
17581    pub r#resp: i32,
17582    pub r#ap_record: r#wifi_ap_record,
17583    pub _has: Rpc_Resp_WifiScanGetApRecord_::_Hazzer,
17584}
17585impl ::core::cmp::PartialEq for Rpc_Resp_WifiScanGetApRecord {
17586    fn eq(&self, other: &Self) -> bool {
17587        let mut ret = true;
17588        ret &= (self.r#resp == other.r#resp);
17589        ret &= (self.r#ap_record() == other.r#ap_record());
17590        ret
17591    }
17592}
17593impl Rpc_Resp_WifiScanGetApRecord {
17594    ///Return a reference to `resp`
17595    #[inline]
17596    pub fn r#resp(&self) -> &i32 {
17597        &self.r#resp
17598    }
17599    ///Return a mutable reference to `resp`
17600    #[inline]
17601    pub fn mut_resp(&mut self) -> &mut i32 {
17602        &mut self.r#resp
17603    }
17604    ///Set the value of `resp`
17605    #[inline]
17606    pub fn set_resp(&mut self, value: i32) -> &mut Self {
17607        self.r#resp = value.into();
17608        self
17609    }
17610    ///Builder method that sets the value of `resp`. Useful for initializing the message.
17611    #[inline]
17612    pub fn init_resp(mut self, value: i32) -> Self {
17613        self.r#resp = value.into();
17614        self
17615    }
17616    ///Return a reference to `ap_record` as an `Option`
17617    #[inline]
17618    pub fn r#ap_record(&self) -> ::core::option::Option<&r#wifi_ap_record> {
17619        self._has.r#ap_record().then_some(&self.r#ap_record)
17620    }
17621    ///Set the value and presence of `ap_record`
17622    #[inline]
17623    pub fn set_ap_record(&mut self, value: r#wifi_ap_record) -> &mut Self {
17624        self._has.set_ap_record();
17625        self.r#ap_record = value.into();
17626        self
17627    }
17628    ///Return a mutable reference to `ap_record` as an `Option`
17629    #[inline]
17630    pub fn mut_ap_record(&mut self) -> ::core::option::Option<&mut r#wifi_ap_record> {
17631        self._has.r#ap_record().then_some(&mut self.r#ap_record)
17632    }
17633    ///Clear the presence of `ap_record`
17634    #[inline]
17635    pub fn clear_ap_record(&mut self) -> &mut Self {
17636        self._has.clear_ap_record();
17637        self
17638    }
17639    ///Take the value of `ap_record` and clear its presence
17640    #[inline]
17641    pub fn take_ap_record(&mut self) -> ::core::option::Option<r#wifi_ap_record> {
17642        let val = self
17643            ._has
17644            .r#ap_record()
17645            .then(|| ::core::mem::take(&mut self.r#ap_record));
17646        self._has.clear_ap_record();
17647        val
17648    }
17649    ///Builder method that sets the value of `ap_record`. Useful for initializing the message.
17650    #[inline]
17651    pub fn init_ap_record(mut self, value: r#wifi_ap_record) -> Self {
17652        self.set_ap_record(value);
17653        self
17654    }
17655}
17656impl ::micropb::MessageDecode for Rpc_Resp_WifiScanGetApRecord {
17657    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
17658        &mut self,
17659        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
17660        len: usize,
17661    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
17662        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
17663        let before = decoder.bytes_read();
17664        while decoder.bytes_read() - before < len {
17665            let tag = decoder.decode_tag()?;
17666            match tag.field_num() {
17667                0 => return Err(::micropb::DecodeError::ZeroField),
17668                1u32 => {
17669                    let mut_ref = &mut self.r#resp;
17670                    {
17671                        let val = decoder.decode_int32()?;
17672                        let val_ref = &val;
17673                        if *val_ref != 0 {
17674                            *mut_ref = val as _;
17675                        }
17676                    };
17677                }
17678                2u32 => {
17679                    let mut_ref = &mut self.r#ap_record;
17680                    {
17681                        mut_ref.decode_len_delimited(decoder)?;
17682                    };
17683                    self._has.set_ap_record();
17684                }
17685                _ => {
17686                    decoder.skip_wire_value(tag.wire_type())?;
17687                }
17688            }
17689        }
17690        Ok(())
17691    }
17692}
17693impl ::micropb::MessageEncode for Rpc_Resp_WifiScanGetApRecord {
17694    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
17695        let mut max_size = 0;
17696        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
17697            ::core::option::Option::Some(10usize), | size | size + 1usize
17698        ) {
17699            max_size += size;
17700        } else {
17701            break 'msg (::core::option::Option::<usize>::None);
17702        };
17703        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
17704            ::micropb::const_map!(< r#wifi_ap_record as ::micropb::MessageEncode >
17705            ::MAX_SIZE, | size | ::micropb::size::sizeof_len_record(size)), | size | size
17706            + 1usize
17707        ) {
17708            max_size += size;
17709        } else {
17710            break 'msg (::core::option::Option::<usize>::None);
17711        };
17712        ::core::option::Option::Some(max_size)
17713    };
17714    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
17715        &self,
17716        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
17717    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
17718        use ::micropb::{PbMap, FieldEncode};
17719        {
17720            let val_ref = &self.r#resp;
17721            if *val_ref != 0 {
17722                encoder.encode_varint32(8u32)?;
17723                encoder.encode_int32(*val_ref as _)?;
17724            }
17725        }
17726        {
17727            if let ::core::option::Option::Some(val_ref) = self.r#ap_record() {
17728                encoder.encode_varint32(18u32)?;
17729                val_ref.encode_len_delimited(encoder)?;
17730            }
17731        }
17732        Ok(())
17733    }
17734    fn compute_size(&self) -> usize {
17735        use ::micropb::{PbMap, FieldEncode};
17736        let mut size = 0;
17737        {
17738            let val_ref = &self.r#resp;
17739            if *val_ref != 0 {
17740                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
17741            }
17742        }
17743        {
17744            if let ::core::option::Option::Some(val_ref) = self.r#ap_record() {
17745                size
17746                    += 1usize
17747                        + ::micropb::size::sizeof_len_record(val_ref.compute_size());
17748            }
17749        }
17750        size
17751    }
17752}
17753#[derive(Debug, Default, PartialEq, Clone)]
17754pub struct Rpc_Req_WifiClearApList {}
17755impl Rpc_Req_WifiClearApList {}
17756impl ::micropb::MessageDecode for Rpc_Req_WifiClearApList {
17757    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
17758        &mut self,
17759        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
17760        len: usize,
17761    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
17762        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
17763        let before = decoder.bytes_read();
17764        while decoder.bytes_read() - before < len {
17765            let tag = decoder.decode_tag()?;
17766            match tag.field_num() {
17767                0 => return Err(::micropb::DecodeError::ZeroField),
17768                _ => {
17769                    decoder.skip_wire_value(tag.wire_type())?;
17770                }
17771            }
17772        }
17773        Ok(())
17774    }
17775}
17776impl ::micropb::MessageEncode for Rpc_Req_WifiClearApList {
17777    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
17778        let mut max_size = 0;
17779        ::core::option::Option::Some(max_size)
17780    };
17781    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
17782        &self,
17783        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
17784    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
17785        use ::micropb::{PbMap, FieldEncode};
17786        Ok(())
17787    }
17788    fn compute_size(&self) -> usize {
17789        use ::micropb::{PbMap, FieldEncode};
17790        let mut size = 0;
17791        size
17792    }
17793}
17794#[derive(Debug, Default, PartialEq, Clone)]
17795pub struct Rpc_Resp_WifiClearApList {
17796    pub r#resp: i32,
17797}
17798impl Rpc_Resp_WifiClearApList {
17799    ///Return a reference to `resp`
17800    #[inline]
17801    pub fn r#resp(&self) -> &i32 {
17802        &self.r#resp
17803    }
17804    ///Return a mutable reference to `resp`
17805    #[inline]
17806    pub fn mut_resp(&mut self) -> &mut i32 {
17807        &mut self.r#resp
17808    }
17809    ///Set the value of `resp`
17810    #[inline]
17811    pub fn set_resp(&mut self, value: i32) -> &mut Self {
17812        self.r#resp = value.into();
17813        self
17814    }
17815    ///Builder method that sets the value of `resp`. Useful for initializing the message.
17816    #[inline]
17817    pub fn init_resp(mut self, value: i32) -> Self {
17818        self.r#resp = value.into();
17819        self
17820    }
17821}
17822impl ::micropb::MessageDecode for Rpc_Resp_WifiClearApList {
17823    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
17824        &mut self,
17825        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
17826        len: usize,
17827    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
17828        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
17829        let before = decoder.bytes_read();
17830        while decoder.bytes_read() - before < len {
17831            let tag = decoder.decode_tag()?;
17832            match tag.field_num() {
17833                0 => return Err(::micropb::DecodeError::ZeroField),
17834                1u32 => {
17835                    let mut_ref = &mut self.r#resp;
17836                    {
17837                        let val = decoder.decode_int32()?;
17838                        let val_ref = &val;
17839                        if *val_ref != 0 {
17840                            *mut_ref = val as _;
17841                        }
17842                    };
17843                }
17844                _ => {
17845                    decoder.skip_wire_value(tag.wire_type())?;
17846                }
17847            }
17848        }
17849        Ok(())
17850    }
17851}
17852impl ::micropb::MessageEncode for Rpc_Resp_WifiClearApList {
17853    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
17854        let mut max_size = 0;
17855        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
17856            ::core::option::Option::Some(10usize), | size | size + 1usize
17857        ) {
17858            max_size += size;
17859        } else {
17860            break 'msg (::core::option::Option::<usize>::None);
17861        };
17862        ::core::option::Option::Some(max_size)
17863    };
17864    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
17865        &self,
17866        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
17867    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
17868        use ::micropb::{PbMap, FieldEncode};
17869        {
17870            let val_ref = &self.r#resp;
17871            if *val_ref != 0 {
17872                encoder.encode_varint32(8u32)?;
17873                encoder.encode_int32(*val_ref as _)?;
17874            }
17875        }
17876        Ok(())
17877    }
17878    fn compute_size(&self) -> usize {
17879        use ::micropb::{PbMap, FieldEncode};
17880        let mut size = 0;
17881        {
17882            let val_ref = &self.r#resp;
17883            if *val_ref != 0 {
17884                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
17885            }
17886        }
17887        size
17888    }
17889}
17890#[derive(Debug, Default, PartialEq, Clone)]
17891pub struct Rpc_Req_WifiRestore {}
17892impl Rpc_Req_WifiRestore {}
17893impl ::micropb::MessageDecode for Rpc_Req_WifiRestore {
17894    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
17895        &mut self,
17896        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
17897        len: usize,
17898    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
17899        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
17900        let before = decoder.bytes_read();
17901        while decoder.bytes_read() - before < len {
17902            let tag = decoder.decode_tag()?;
17903            match tag.field_num() {
17904                0 => return Err(::micropb::DecodeError::ZeroField),
17905                _ => {
17906                    decoder.skip_wire_value(tag.wire_type())?;
17907                }
17908            }
17909        }
17910        Ok(())
17911    }
17912}
17913impl ::micropb::MessageEncode for Rpc_Req_WifiRestore {
17914    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
17915        let mut max_size = 0;
17916        ::core::option::Option::Some(max_size)
17917    };
17918    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
17919        &self,
17920        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
17921    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
17922        use ::micropb::{PbMap, FieldEncode};
17923        Ok(())
17924    }
17925    fn compute_size(&self) -> usize {
17926        use ::micropb::{PbMap, FieldEncode};
17927        let mut size = 0;
17928        size
17929    }
17930}
17931#[derive(Debug, Default, PartialEq, Clone)]
17932pub struct Rpc_Resp_WifiRestore {
17933    pub r#resp: i32,
17934}
17935impl Rpc_Resp_WifiRestore {
17936    ///Return a reference to `resp`
17937    #[inline]
17938    pub fn r#resp(&self) -> &i32 {
17939        &self.r#resp
17940    }
17941    ///Return a mutable reference to `resp`
17942    #[inline]
17943    pub fn mut_resp(&mut self) -> &mut i32 {
17944        &mut self.r#resp
17945    }
17946    ///Set the value of `resp`
17947    #[inline]
17948    pub fn set_resp(&mut self, value: i32) -> &mut Self {
17949        self.r#resp = value.into();
17950        self
17951    }
17952    ///Builder method that sets the value of `resp`. Useful for initializing the message.
17953    #[inline]
17954    pub fn init_resp(mut self, value: i32) -> Self {
17955        self.r#resp = value.into();
17956        self
17957    }
17958}
17959impl ::micropb::MessageDecode for Rpc_Resp_WifiRestore {
17960    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
17961        &mut self,
17962        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
17963        len: usize,
17964    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
17965        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
17966        let before = decoder.bytes_read();
17967        while decoder.bytes_read() - before < len {
17968            let tag = decoder.decode_tag()?;
17969            match tag.field_num() {
17970                0 => return Err(::micropb::DecodeError::ZeroField),
17971                1u32 => {
17972                    let mut_ref = &mut self.r#resp;
17973                    {
17974                        let val = decoder.decode_int32()?;
17975                        let val_ref = &val;
17976                        if *val_ref != 0 {
17977                            *mut_ref = val as _;
17978                        }
17979                    };
17980                }
17981                _ => {
17982                    decoder.skip_wire_value(tag.wire_type())?;
17983                }
17984            }
17985        }
17986        Ok(())
17987    }
17988}
17989impl ::micropb::MessageEncode for Rpc_Resp_WifiRestore {
17990    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
17991        let mut max_size = 0;
17992        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
17993            ::core::option::Option::Some(10usize), | size | size + 1usize
17994        ) {
17995            max_size += size;
17996        } else {
17997            break 'msg (::core::option::Option::<usize>::None);
17998        };
17999        ::core::option::Option::Some(max_size)
18000    };
18001    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
18002        &self,
18003        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
18004    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
18005        use ::micropb::{PbMap, FieldEncode};
18006        {
18007            let val_ref = &self.r#resp;
18008            if *val_ref != 0 {
18009                encoder.encode_varint32(8u32)?;
18010                encoder.encode_int32(*val_ref as _)?;
18011            }
18012        }
18013        Ok(())
18014    }
18015    fn compute_size(&self) -> usize {
18016        use ::micropb::{PbMap, FieldEncode};
18017        let mut size = 0;
18018        {
18019            let val_ref = &self.r#resp;
18020            if *val_ref != 0 {
18021                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
18022            }
18023        }
18024        size
18025    }
18026}
18027#[derive(Debug, Default, PartialEq, Clone)]
18028pub struct Rpc_Req_WifiClearFastConnect {}
18029impl Rpc_Req_WifiClearFastConnect {}
18030impl ::micropb::MessageDecode for Rpc_Req_WifiClearFastConnect {
18031    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
18032        &mut self,
18033        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
18034        len: usize,
18035    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
18036        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
18037        let before = decoder.bytes_read();
18038        while decoder.bytes_read() - before < len {
18039            let tag = decoder.decode_tag()?;
18040            match tag.field_num() {
18041                0 => return Err(::micropb::DecodeError::ZeroField),
18042                _ => {
18043                    decoder.skip_wire_value(tag.wire_type())?;
18044                }
18045            }
18046        }
18047        Ok(())
18048    }
18049}
18050impl ::micropb::MessageEncode for Rpc_Req_WifiClearFastConnect {
18051    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
18052        let mut max_size = 0;
18053        ::core::option::Option::Some(max_size)
18054    };
18055    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
18056        &self,
18057        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
18058    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
18059        use ::micropb::{PbMap, FieldEncode};
18060        Ok(())
18061    }
18062    fn compute_size(&self) -> usize {
18063        use ::micropb::{PbMap, FieldEncode};
18064        let mut size = 0;
18065        size
18066    }
18067}
18068#[derive(Debug, Default, PartialEq, Clone)]
18069pub struct Rpc_Resp_WifiClearFastConnect {
18070    pub r#resp: i32,
18071}
18072impl Rpc_Resp_WifiClearFastConnect {
18073    ///Return a reference to `resp`
18074    #[inline]
18075    pub fn r#resp(&self) -> &i32 {
18076        &self.r#resp
18077    }
18078    ///Return a mutable reference to `resp`
18079    #[inline]
18080    pub fn mut_resp(&mut self) -> &mut i32 {
18081        &mut self.r#resp
18082    }
18083    ///Set the value of `resp`
18084    #[inline]
18085    pub fn set_resp(&mut self, value: i32) -> &mut Self {
18086        self.r#resp = value.into();
18087        self
18088    }
18089    ///Builder method that sets the value of `resp`. Useful for initializing the message.
18090    #[inline]
18091    pub fn init_resp(mut self, value: i32) -> Self {
18092        self.r#resp = value.into();
18093        self
18094    }
18095}
18096impl ::micropb::MessageDecode for Rpc_Resp_WifiClearFastConnect {
18097    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
18098        &mut self,
18099        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
18100        len: usize,
18101    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
18102        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
18103        let before = decoder.bytes_read();
18104        while decoder.bytes_read() - before < len {
18105            let tag = decoder.decode_tag()?;
18106            match tag.field_num() {
18107                0 => return Err(::micropb::DecodeError::ZeroField),
18108                1u32 => {
18109                    let mut_ref = &mut self.r#resp;
18110                    {
18111                        let val = decoder.decode_int32()?;
18112                        let val_ref = &val;
18113                        if *val_ref != 0 {
18114                            *mut_ref = val as _;
18115                        }
18116                    };
18117                }
18118                _ => {
18119                    decoder.skip_wire_value(tag.wire_type())?;
18120                }
18121            }
18122        }
18123        Ok(())
18124    }
18125}
18126impl ::micropb::MessageEncode for Rpc_Resp_WifiClearFastConnect {
18127    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
18128        let mut max_size = 0;
18129        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
18130            ::core::option::Option::Some(10usize), | size | size + 1usize
18131        ) {
18132            max_size += size;
18133        } else {
18134            break 'msg (::core::option::Option::<usize>::None);
18135        };
18136        ::core::option::Option::Some(max_size)
18137    };
18138    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
18139        &self,
18140        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
18141    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
18142        use ::micropb::{PbMap, FieldEncode};
18143        {
18144            let val_ref = &self.r#resp;
18145            if *val_ref != 0 {
18146                encoder.encode_varint32(8u32)?;
18147                encoder.encode_int32(*val_ref as _)?;
18148            }
18149        }
18150        Ok(())
18151    }
18152    fn compute_size(&self) -> usize {
18153        use ::micropb::{PbMap, FieldEncode};
18154        let mut size = 0;
18155        {
18156            let val_ref = &self.r#resp;
18157            if *val_ref != 0 {
18158                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
18159            }
18160        }
18161        size
18162    }
18163}
18164#[derive(Debug, Default, PartialEq, Clone)]
18165pub struct Rpc_Req_WifiDeauthSta {
18166    pub r#aid: i32,
18167}
18168impl Rpc_Req_WifiDeauthSta {
18169    ///Return a reference to `aid`
18170    #[inline]
18171    pub fn r#aid(&self) -> &i32 {
18172        &self.r#aid
18173    }
18174    ///Return a mutable reference to `aid`
18175    #[inline]
18176    pub fn mut_aid(&mut self) -> &mut i32 {
18177        &mut self.r#aid
18178    }
18179    ///Set the value of `aid`
18180    #[inline]
18181    pub fn set_aid(&mut self, value: i32) -> &mut Self {
18182        self.r#aid = value.into();
18183        self
18184    }
18185    ///Builder method that sets the value of `aid`. Useful for initializing the message.
18186    #[inline]
18187    pub fn init_aid(mut self, value: i32) -> Self {
18188        self.r#aid = value.into();
18189        self
18190    }
18191}
18192impl ::micropb::MessageDecode for Rpc_Req_WifiDeauthSta {
18193    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
18194        &mut self,
18195        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
18196        len: usize,
18197    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
18198        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
18199        let before = decoder.bytes_read();
18200        while decoder.bytes_read() - before < len {
18201            let tag = decoder.decode_tag()?;
18202            match tag.field_num() {
18203                0 => return Err(::micropb::DecodeError::ZeroField),
18204                1u32 => {
18205                    let mut_ref = &mut self.r#aid;
18206                    {
18207                        let val = decoder.decode_int32()?;
18208                        let val_ref = &val;
18209                        if *val_ref != 0 {
18210                            *mut_ref = val as _;
18211                        }
18212                    };
18213                }
18214                _ => {
18215                    decoder.skip_wire_value(tag.wire_type())?;
18216                }
18217            }
18218        }
18219        Ok(())
18220    }
18221}
18222impl ::micropb::MessageEncode for Rpc_Req_WifiDeauthSta {
18223    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
18224        let mut max_size = 0;
18225        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
18226            ::core::option::Option::Some(10usize), | size | size + 1usize
18227        ) {
18228            max_size += size;
18229        } else {
18230            break 'msg (::core::option::Option::<usize>::None);
18231        };
18232        ::core::option::Option::Some(max_size)
18233    };
18234    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
18235        &self,
18236        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
18237    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
18238        use ::micropb::{PbMap, FieldEncode};
18239        {
18240            let val_ref = &self.r#aid;
18241            if *val_ref != 0 {
18242                encoder.encode_varint32(8u32)?;
18243                encoder.encode_int32(*val_ref as _)?;
18244            }
18245        }
18246        Ok(())
18247    }
18248    fn compute_size(&self) -> usize {
18249        use ::micropb::{PbMap, FieldEncode};
18250        let mut size = 0;
18251        {
18252            let val_ref = &self.r#aid;
18253            if *val_ref != 0 {
18254                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
18255            }
18256        }
18257        size
18258    }
18259}
18260#[derive(Debug, Default, PartialEq, Clone)]
18261pub struct Rpc_Resp_WifiDeauthSta {
18262    pub r#resp: i32,
18263    pub r#aid: i32,
18264}
18265impl Rpc_Resp_WifiDeauthSta {
18266    ///Return a reference to `resp`
18267    #[inline]
18268    pub fn r#resp(&self) -> &i32 {
18269        &self.r#resp
18270    }
18271    ///Return a mutable reference to `resp`
18272    #[inline]
18273    pub fn mut_resp(&mut self) -> &mut i32 {
18274        &mut self.r#resp
18275    }
18276    ///Set the value of `resp`
18277    #[inline]
18278    pub fn set_resp(&mut self, value: i32) -> &mut Self {
18279        self.r#resp = value.into();
18280        self
18281    }
18282    ///Builder method that sets the value of `resp`. Useful for initializing the message.
18283    #[inline]
18284    pub fn init_resp(mut self, value: i32) -> Self {
18285        self.r#resp = value.into();
18286        self
18287    }
18288    ///Return a reference to `aid`
18289    #[inline]
18290    pub fn r#aid(&self) -> &i32 {
18291        &self.r#aid
18292    }
18293    ///Return a mutable reference to `aid`
18294    #[inline]
18295    pub fn mut_aid(&mut self) -> &mut i32 {
18296        &mut self.r#aid
18297    }
18298    ///Set the value of `aid`
18299    #[inline]
18300    pub fn set_aid(&mut self, value: i32) -> &mut Self {
18301        self.r#aid = value.into();
18302        self
18303    }
18304    ///Builder method that sets the value of `aid`. Useful for initializing the message.
18305    #[inline]
18306    pub fn init_aid(mut self, value: i32) -> Self {
18307        self.r#aid = value.into();
18308        self
18309    }
18310}
18311impl ::micropb::MessageDecode for Rpc_Resp_WifiDeauthSta {
18312    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
18313        &mut self,
18314        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
18315        len: usize,
18316    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
18317        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
18318        let before = decoder.bytes_read();
18319        while decoder.bytes_read() - before < len {
18320            let tag = decoder.decode_tag()?;
18321            match tag.field_num() {
18322                0 => return Err(::micropb::DecodeError::ZeroField),
18323                1u32 => {
18324                    let mut_ref = &mut self.r#resp;
18325                    {
18326                        let val = decoder.decode_int32()?;
18327                        let val_ref = &val;
18328                        if *val_ref != 0 {
18329                            *mut_ref = val as _;
18330                        }
18331                    };
18332                }
18333                2u32 => {
18334                    let mut_ref = &mut self.r#aid;
18335                    {
18336                        let val = decoder.decode_int32()?;
18337                        let val_ref = &val;
18338                        if *val_ref != 0 {
18339                            *mut_ref = val as _;
18340                        }
18341                    };
18342                }
18343                _ => {
18344                    decoder.skip_wire_value(tag.wire_type())?;
18345                }
18346            }
18347        }
18348        Ok(())
18349    }
18350}
18351impl ::micropb::MessageEncode for Rpc_Resp_WifiDeauthSta {
18352    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
18353        let mut max_size = 0;
18354        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
18355            ::core::option::Option::Some(10usize), | size | size + 1usize
18356        ) {
18357            max_size += size;
18358        } else {
18359            break 'msg (::core::option::Option::<usize>::None);
18360        };
18361        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
18362            ::core::option::Option::Some(10usize), | size | size + 1usize
18363        ) {
18364            max_size += size;
18365        } else {
18366            break 'msg (::core::option::Option::<usize>::None);
18367        };
18368        ::core::option::Option::Some(max_size)
18369    };
18370    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
18371        &self,
18372        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
18373    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
18374        use ::micropb::{PbMap, FieldEncode};
18375        {
18376            let val_ref = &self.r#resp;
18377            if *val_ref != 0 {
18378                encoder.encode_varint32(8u32)?;
18379                encoder.encode_int32(*val_ref as _)?;
18380            }
18381        }
18382        {
18383            let val_ref = &self.r#aid;
18384            if *val_ref != 0 {
18385                encoder.encode_varint32(16u32)?;
18386                encoder.encode_int32(*val_ref as _)?;
18387            }
18388        }
18389        Ok(())
18390    }
18391    fn compute_size(&self) -> usize {
18392        use ::micropb::{PbMap, FieldEncode};
18393        let mut size = 0;
18394        {
18395            let val_ref = &self.r#resp;
18396            if *val_ref != 0 {
18397                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
18398            }
18399        }
18400        {
18401            let val_ref = &self.r#aid;
18402            if *val_ref != 0 {
18403                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
18404            }
18405        }
18406        size
18407    }
18408}
18409#[derive(Debug, Default, PartialEq, Clone)]
18410pub struct Rpc_Req_WifiStaGetApInfo {}
18411impl Rpc_Req_WifiStaGetApInfo {}
18412impl ::micropb::MessageDecode for Rpc_Req_WifiStaGetApInfo {
18413    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
18414        &mut self,
18415        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
18416        len: usize,
18417    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
18418        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
18419        let before = decoder.bytes_read();
18420        while decoder.bytes_read() - before < len {
18421            let tag = decoder.decode_tag()?;
18422            match tag.field_num() {
18423                0 => return Err(::micropb::DecodeError::ZeroField),
18424                _ => {
18425                    decoder.skip_wire_value(tag.wire_type())?;
18426                }
18427            }
18428        }
18429        Ok(())
18430    }
18431}
18432impl ::micropb::MessageEncode for Rpc_Req_WifiStaGetApInfo {
18433    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
18434        let mut max_size = 0;
18435        ::core::option::Option::Some(max_size)
18436    };
18437    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
18438        &self,
18439        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
18440    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
18441        use ::micropb::{PbMap, FieldEncode};
18442        Ok(())
18443    }
18444    fn compute_size(&self) -> usize {
18445        use ::micropb::{PbMap, FieldEncode};
18446        let mut size = 0;
18447        size
18448    }
18449}
18450pub mod Rpc_Resp_WifiStaGetApInfo_ {
18451    #[derive(Debug, Default, PartialEq, Clone)]
18452    pub struct _Hazzer([u8; 1]);
18453    impl _Hazzer {
18454        ///New hazzer with all fields set to off
18455        #[inline]
18456        pub const fn _new() -> Self {
18457            Self([0; 1])
18458        }
18459        ///Query presence of `ap_record`
18460        #[inline]
18461        pub const fn r#ap_record(&self) -> bool {
18462            (self.0[0] & 1) != 0
18463        }
18464        ///Set presence of `ap_record`
18465        #[inline]
18466        pub const fn set_ap_record(&mut self) -> &mut Self {
18467            let elem = &mut self.0[0];
18468            *elem |= 1;
18469            self
18470        }
18471        ///Clear presence of `ap_record`
18472        #[inline]
18473        pub const fn clear_ap_record(&mut self) -> &mut Self {
18474            let elem = &mut self.0[0];
18475            *elem &= !1;
18476            self
18477        }
18478        ///Builder method that sets the presence of `ap_record`. Useful for initializing the Hazzer.
18479        #[inline]
18480        pub const fn init_ap_record(mut self) -> Self {
18481            self.set_ap_record();
18482            self
18483        }
18484    }
18485}
18486#[derive(Debug, Default, Clone)]
18487pub struct Rpc_Resp_WifiStaGetApInfo {
18488    pub r#resp: i32,
18489    pub r#ap_record: r#wifi_ap_record,
18490    pub _has: Rpc_Resp_WifiStaGetApInfo_::_Hazzer,
18491}
18492impl ::core::cmp::PartialEq for Rpc_Resp_WifiStaGetApInfo {
18493    fn eq(&self, other: &Self) -> bool {
18494        let mut ret = true;
18495        ret &= (self.r#resp == other.r#resp);
18496        ret &= (self.r#ap_record() == other.r#ap_record());
18497        ret
18498    }
18499}
18500impl Rpc_Resp_WifiStaGetApInfo {
18501    ///Return a reference to `resp`
18502    #[inline]
18503    pub fn r#resp(&self) -> &i32 {
18504        &self.r#resp
18505    }
18506    ///Return a mutable reference to `resp`
18507    #[inline]
18508    pub fn mut_resp(&mut self) -> &mut i32 {
18509        &mut self.r#resp
18510    }
18511    ///Set the value of `resp`
18512    #[inline]
18513    pub fn set_resp(&mut self, value: i32) -> &mut Self {
18514        self.r#resp = value.into();
18515        self
18516    }
18517    ///Builder method that sets the value of `resp`. Useful for initializing the message.
18518    #[inline]
18519    pub fn init_resp(mut self, value: i32) -> Self {
18520        self.r#resp = value.into();
18521        self
18522    }
18523    ///Return a reference to `ap_record` as an `Option`
18524    #[inline]
18525    pub fn r#ap_record(&self) -> ::core::option::Option<&r#wifi_ap_record> {
18526        self._has.r#ap_record().then_some(&self.r#ap_record)
18527    }
18528    ///Set the value and presence of `ap_record`
18529    #[inline]
18530    pub fn set_ap_record(&mut self, value: r#wifi_ap_record) -> &mut Self {
18531        self._has.set_ap_record();
18532        self.r#ap_record = value.into();
18533        self
18534    }
18535    ///Return a mutable reference to `ap_record` as an `Option`
18536    #[inline]
18537    pub fn mut_ap_record(&mut self) -> ::core::option::Option<&mut r#wifi_ap_record> {
18538        self._has.r#ap_record().then_some(&mut self.r#ap_record)
18539    }
18540    ///Clear the presence of `ap_record`
18541    #[inline]
18542    pub fn clear_ap_record(&mut self) -> &mut Self {
18543        self._has.clear_ap_record();
18544        self
18545    }
18546    ///Take the value of `ap_record` and clear its presence
18547    #[inline]
18548    pub fn take_ap_record(&mut self) -> ::core::option::Option<r#wifi_ap_record> {
18549        let val = self
18550            ._has
18551            .r#ap_record()
18552            .then(|| ::core::mem::take(&mut self.r#ap_record));
18553        self._has.clear_ap_record();
18554        val
18555    }
18556    ///Builder method that sets the value of `ap_record`. Useful for initializing the message.
18557    #[inline]
18558    pub fn init_ap_record(mut self, value: r#wifi_ap_record) -> Self {
18559        self.set_ap_record(value);
18560        self
18561    }
18562}
18563impl ::micropb::MessageDecode for Rpc_Resp_WifiStaGetApInfo {
18564    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
18565        &mut self,
18566        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
18567        len: usize,
18568    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
18569        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
18570        let before = decoder.bytes_read();
18571        while decoder.bytes_read() - before < len {
18572            let tag = decoder.decode_tag()?;
18573            match tag.field_num() {
18574                0 => return Err(::micropb::DecodeError::ZeroField),
18575                1u32 => {
18576                    let mut_ref = &mut self.r#resp;
18577                    {
18578                        let val = decoder.decode_int32()?;
18579                        let val_ref = &val;
18580                        if *val_ref != 0 {
18581                            *mut_ref = val as _;
18582                        }
18583                    };
18584                }
18585                2u32 => {
18586                    let mut_ref = &mut self.r#ap_record;
18587                    {
18588                        mut_ref.decode_len_delimited(decoder)?;
18589                    };
18590                    self._has.set_ap_record();
18591                }
18592                _ => {
18593                    decoder.skip_wire_value(tag.wire_type())?;
18594                }
18595            }
18596        }
18597        Ok(())
18598    }
18599}
18600impl ::micropb::MessageEncode for Rpc_Resp_WifiStaGetApInfo {
18601    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
18602        let mut max_size = 0;
18603        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
18604            ::core::option::Option::Some(10usize), | size | size + 1usize
18605        ) {
18606            max_size += size;
18607        } else {
18608            break 'msg (::core::option::Option::<usize>::None);
18609        };
18610        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
18611            ::micropb::const_map!(< r#wifi_ap_record as ::micropb::MessageEncode >
18612            ::MAX_SIZE, | size | ::micropb::size::sizeof_len_record(size)), | size | size
18613            + 1usize
18614        ) {
18615            max_size += size;
18616        } else {
18617            break 'msg (::core::option::Option::<usize>::None);
18618        };
18619        ::core::option::Option::Some(max_size)
18620    };
18621    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
18622        &self,
18623        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
18624    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
18625        use ::micropb::{PbMap, FieldEncode};
18626        {
18627            let val_ref = &self.r#resp;
18628            if *val_ref != 0 {
18629                encoder.encode_varint32(8u32)?;
18630                encoder.encode_int32(*val_ref as _)?;
18631            }
18632        }
18633        {
18634            if let ::core::option::Option::Some(val_ref) = self.r#ap_record() {
18635                encoder.encode_varint32(18u32)?;
18636                val_ref.encode_len_delimited(encoder)?;
18637            }
18638        }
18639        Ok(())
18640    }
18641    fn compute_size(&self) -> usize {
18642        use ::micropb::{PbMap, FieldEncode};
18643        let mut size = 0;
18644        {
18645            let val_ref = &self.r#resp;
18646            if *val_ref != 0 {
18647                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
18648            }
18649        }
18650        {
18651            if let ::core::option::Option::Some(val_ref) = self.r#ap_record() {
18652                size
18653                    += 1usize
18654                        + ::micropb::size::sizeof_len_record(val_ref.compute_size());
18655            }
18656        }
18657        size
18658    }
18659}
18660#[derive(Debug, Default, PartialEq, Clone)]
18661pub struct Rpc_Req_WifiSetProtocol {
18662    pub r#ifx: i32,
18663    pub r#protocol_bitmap: i32,
18664}
18665impl Rpc_Req_WifiSetProtocol {
18666    ///Return a reference to `ifx`
18667    #[inline]
18668    pub fn r#ifx(&self) -> &i32 {
18669        &self.r#ifx
18670    }
18671    ///Return a mutable reference to `ifx`
18672    #[inline]
18673    pub fn mut_ifx(&mut self) -> &mut i32 {
18674        &mut self.r#ifx
18675    }
18676    ///Set the value of `ifx`
18677    #[inline]
18678    pub fn set_ifx(&mut self, value: i32) -> &mut Self {
18679        self.r#ifx = value.into();
18680        self
18681    }
18682    ///Builder method that sets the value of `ifx`. Useful for initializing the message.
18683    #[inline]
18684    pub fn init_ifx(mut self, value: i32) -> Self {
18685        self.r#ifx = value.into();
18686        self
18687    }
18688    ///Return a reference to `protocol_bitmap`
18689    #[inline]
18690    pub fn r#protocol_bitmap(&self) -> &i32 {
18691        &self.r#protocol_bitmap
18692    }
18693    ///Return a mutable reference to `protocol_bitmap`
18694    #[inline]
18695    pub fn mut_protocol_bitmap(&mut self) -> &mut i32 {
18696        &mut self.r#protocol_bitmap
18697    }
18698    ///Set the value of `protocol_bitmap`
18699    #[inline]
18700    pub fn set_protocol_bitmap(&mut self, value: i32) -> &mut Self {
18701        self.r#protocol_bitmap = value.into();
18702        self
18703    }
18704    ///Builder method that sets the value of `protocol_bitmap`. Useful for initializing the message.
18705    #[inline]
18706    pub fn init_protocol_bitmap(mut self, value: i32) -> Self {
18707        self.r#protocol_bitmap = value.into();
18708        self
18709    }
18710}
18711impl ::micropb::MessageDecode for Rpc_Req_WifiSetProtocol {
18712    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
18713        &mut self,
18714        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
18715        len: usize,
18716    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
18717        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
18718        let before = decoder.bytes_read();
18719        while decoder.bytes_read() - before < len {
18720            let tag = decoder.decode_tag()?;
18721            match tag.field_num() {
18722                0 => return Err(::micropb::DecodeError::ZeroField),
18723                1u32 => {
18724                    let mut_ref = &mut self.r#ifx;
18725                    {
18726                        let val = decoder.decode_int32()?;
18727                        let val_ref = &val;
18728                        if *val_ref != 0 {
18729                            *mut_ref = val as _;
18730                        }
18731                    };
18732                }
18733                2u32 => {
18734                    let mut_ref = &mut self.r#protocol_bitmap;
18735                    {
18736                        let val = decoder.decode_int32()?;
18737                        let val_ref = &val;
18738                        if *val_ref != 0 {
18739                            *mut_ref = val as _;
18740                        }
18741                    };
18742                }
18743                _ => {
18744                    decoder.skip_wire_value(tag.wire_type())?;
18745                }
18746            }
18747        }
18748        Ok(())
18749    }
18750}
18751impl ::micropb::MessageEncode for Rpc_Req_WifiSetProtocol {
18752    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
18753        let mut max_size = 0;
18754        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
18755            ::core::option::Option::Some(10usize), | size | size + 1usize
18756        ) {
18757            max_size += size;
18758        } else {
18759            break 'msg (::core::option::Option::<usize>::None);
18760        };
18761        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
18762            ::core::option::Option::Some(10usize), | size | size + 1usize
18763        ) {
18764            max_size += size;
18765        } else {
18766            break 'msg (::core::option::Option::<usize>::None);
18767        };
18768        ::core::option::Option::Some(max_size)
18769    };
18770    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
18771        &self,
18772        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
18773    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
18774        use ::micropb::{PbMap, FieldEncode};
18775        {
18776            let val_ref = &self.r#ifx;
18777            if *val_ref != 0 {
18778                encoder.encode_varint32(8u32)?;
18779                encoder.encode_int32(*val_ref as _)?;
18780            }
18781        }
18782        {
18783            let val_ref = &self.r#protocol_bitmap;
18784            if *val_ref != 0 {
18785                encoder.encode_varint32(16u32)?;
18786                encoder.encode_int32(*val_ref as _)?;
18787            }
18788        }
18789        Ok(())
18790    }
18791    fn compute_size(&self) -> usize {
18792        use ::micropb::{PbMap, FieldEncode};
18793        let mut size = 0;
18794        {
18795            let val_ref = &self.r#ifx;
18796            if *val_ref != 0 {
18797                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
18798            }
18799        }
18800        {
18801            let val_ref = &self.r#protocol_bitmap;
18802            if *val_ref != 0 {
18803                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
18804            }
18805        }
18806        size
18807    }
18808}
18809#[derive(Debug, Default, PartialEq, Clone)]
18810pub struct Rpc_Resp_WifiSetProtocol {
18811    pub r#resp: i32,
18812}
18813impl Rpc_Resp_WifiSetProtocol {
18814    ///Return a reference to `resp`
18815    #[inline]
18816    pub fn r#resp(&self) -> &i32 {
18817        &self.r#resp
18818    }
18819    ///Return a mutable reference to `resp`
18820    #[inline]
18821    pub fn mut_resp(&mut self) -> &mut i32 {
18822        &mut self.r#resp
18823    }
18824    ///Set the value of `resp`
18825    #[inline]
18826    pub fn set_resp(&mut self, value: i32) -> &mut Self {
18827        self.r#resp = value.into();
18828        self
18829    }
18830    ///Builder method that sets the value of `resp`. Useful for initializing the message.
18831    #[inline]
18832    pub fn init_resp(mut self, value: i32) -> Self {
18833        self.r#resp = value.into();
18834        self
18835    }
18836}
18837impl ::micropb::MessageDecode for Rpc_Resp_WifiSetProtocol {
18838    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
18839        &mut self,
18840        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
18841        len: usize,
18842    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
18843        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
18844        let before = decoder.bytes_read();
18845        while decoder.bytes_read() - before < len {
18846            let tag = decoder.decode_tag()?;
18847            match tag.field_num() {
18848                0 => return Err(::micropb::DecodeError::ZeroField),
18849                1u32 => {
18850                    let mut_ref = &mut self.r#resp;
18851                    {
18852                        let val = decoder.decode_int32()?;
18853                        let val_ref = &val;
18854                        if *val_ref != 0 {
18855                            *mut_ref = val as _;
18856                        }
18857                    };
18858                }
18859                _ => {
18860                    decoder.skip_wire_value(tag.wire_type())?;
18861                }
18862            }
18863        }
18864        Ok(())
18865    }
18866}
18867impl ::micropb::MessageEncode for Rpc_Resp_WifiSetProtocol {
18868    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
18869        let mut max_size = 0;
18870        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
18871            ::core::option::Option::Some(10usize), | size | size + 1usize
18872        ) {
18873            max_size += size;
18874        } else {
18875            break 'msg (::core::option::Option::<usize>::None);
18876        };
18877        ::core::option::Option::Some(max_size)
18878    };
18879    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
18880        &self,
18881        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
18882    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
18883        use ::micropb::{PbMap, FieldEncode};
18884        {
18885            let val_ref = &self.r#resp;
18886            if *val_ref != 0 {
18887                encoder.encode_varint32(8u32)?;
18888                encoder.encode_int32(*val_ref as _)?;
18889            }
18890        }
18891        Ok(())
18892    }
18893    fn compute_size(&self) -> usize {
18894        use ::micropb::{PbMap, FieldEncode};
18895        let mut size = 0;
18896        {
18897            let val_ref = &self.r#resp;
18898            if *val_ref != 0 {
18899                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
18900            }
18901        }
18902        size
18903    }
18904}
18905#[derive(Debug, Default, PartialEq, Clone)]
18906pub struct Rpc_Req_WifiGetProtocol {
18907    pub r#ifx: i32,
18908}
18909impl Rpc_Req_WifiGetProtocol {
18910    ///Return a reference to `ifx`
18911    #[inline]
18912    pub fn r#ifx(&self) -> &i32 {
18913        &self.r#ifx
18914    }
18915    ///Return a mutable reference to `ifx`
18916    #[inline]
18917    pub fn mut_ifx(&mut self) -> &mut i32 {
18918        &mut self.r#ifx
18919    }
18920    ///Set the value of `ifx`
18921    #[inline]
18922    pub fn set_ifx(&mut self, value: i32) -> &mut Self {
18923        self.r#ifx = value.into();
18924        self
18925    }
18926    ///Builder method that sets the value of `ifx`. Useful for initializing the message.
18927    #[inline]
18928    pub fn init_ifx(mut self, value: i32) -> Self {
18929        self.r#ifx = value.into();
18930        self
18931    }
18932}
18933impl ::micropb::MessageDecode for Rpc_Req_WifiGetProtocol {
18934    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
18935        &mut self,
18936        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
18937        len: usize,
18938    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
18939        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
18940        let before = decoder.bytes_read();
18941        while decoder.bytes_read() - before < len {
18942            let tag = decoder.decode_tag()?;
18943            match tag.field_num() {
18944                0 => return Err(::micropb::DecodeError::ZeroField),
18945                1u32 => {
18946                    let mut_ref = &mut self.r#ifx;
18947                    {
18948                        let val = decoder.decode_int32()?;
18949                        let val_ref = &val;
18950                        if *val_ref != 0 {
18951                            *mut_ref = val as _;
18952                        }
18953                    };
18954                }
18955                _ => {
18956                    decoder.skip_wire_value(tag.wire_type())?;
18957                }
18958            }
18959        }
18960        Ok(())
18961    }
18962}
18963impl ::micropb::MessageEncode for Rpc_Req_WifiGetProtocol {
18964    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
18965        let mut max_size = 0;
18966        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
18967            ::core::option::Option::Some(10usize), | size | size + 1usize
18968        ) {
18969            max_size += size;
18970        } else {
18971            break 'msg (::core::option::Option::<usize>::None);
18972        };
18973        ::core::option::Option::Some(max_size)
18974    };
18975    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
18976        &self,
18977        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
18978    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
18979        use ::micropb::{PbMap, FieldEncode};
18980        {
18981            let val_ref = &self.r#ifx;
18982            if *val_ref != 0 {
18983                encoder.encode_varint32(8u32)?;
18984                encoder.encode_int32(*val_ref as _)?;
18985            }
18986        }
18987        Ok(())
18988    }
18989    fn compute_size(&self) -> usize {
18990        use ::micropb::{PbMap, FieldEncode};
18991        let mut size = 0;
18992        {
18993            let val_ref = &self.r#ifx;
18994            if *val_ref != 0 {
18995                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
18996            }
18997        }
18998        size
18999    }
19000}
19001#[derive(Debug, Default, PartialEq, Clone)]
19002pub struct Rpc_Resp_WifiGetProtocol {
19003    pub r#resp: i32,
19004    pub r#protocol_bitmap: i32,
19005}
19006impl Rpc_Resp_WifiGetProtocol {
19007    ///Return a reference to `resp`
19008    #[inline]
19009    pub fn r#resp(&self) -> &i32 {
19010        &self.r#resp
19011    }
19012    ///Return a mutable reference to `resp`
19013    #[inline]
19014    pub fn mut_resp(&mut self) -> &mut i32 {
19015        &mut self.r#resp
19016    }
19017    ///Set the value of `resp`
19018    #[inline]
19019    pub fn set_resp(&mut self, value: i32) -> &mut Self {
19020        self.r#resp = value.into();
19021        self
19022    }
19023    ///Builder method that sets the value of `resp`. Useful for initializing the message.
19024    #[inline]
19025    pub fn init_resp(mut self, value: i32) -> Self {
19026        self.r#resp = value.into();
19027        self
19028    }
19029    ///Return a reference to `protocol_bitmap`
19030    #[inline]
19031    pub fn r#protocol_bitmap(&self) -> &i32 {
19032        &self.r#protocol_bitmap
19033    }
19034    ///Return a mutable reference to `protocol_bitmap`
19035    #[inline]
19036    pub fn mut_protocol_bitmap(&mut self) -> &mut i32 {
19037        &mut self.r#protocol_bitmap
19038    }
19039    ///Set the value of `protocol_bitmap`
19040    #[inline]
19041    pub fn set_protocol_bitmap(&mut self, value: i32) -> &mut Self {
19042        self.r#protocol_bitmap = value.into();
19043        self
19044    }
19045    ///Builder method that sets the value of `protocol_bitmap`. Useful for initializing the message.
19046    #[inline]
19047    pub fn init_protocol_bitmap(mut self, value: i32) -> Self {
19048        self.r#protocol_bitmap = value.into();
19049        self
19050    }
19051}
19052impl ::micropb::MessageDecode for Rpc_Resp_WifiGetProtocol {
19053    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
19054        &mut self,
19055        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
19056        len: usize,
19057    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
19058        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
19059        let before = decoder.bytes_read();
19060        while decoder.bytes_read() - before < len {
19061            let tag = decoder.decode_tag()?;
19062            match tag.field_num() {
19063                0 => return Err(::micropb::DecodeError::ZeroField),
19064                1u32 => {
19065                    let mut_ref = &mut self.r#resp;
19066                    {
19067                        let val = decoder.decode_int32()?;
19068                        let val_ref = &val;
19069                        if *val_ref != 0 {
19070                            *mut_ref = val as _;
19071                        }
19072                    };
19073                }
19074                2u32 => {
19075                    let mut_ref = &mut self.r#protocol_bitmap;
19076                    {
19077                        let val = decoder.decode_int32()?;
19078                        let val_ref = &val;
19079                        if *val_ref != 0 {
19080                            *mut_ref = val as _;
19081                        }
19082                    };
19083                }
19084                _ => {
19085                    decoder.skip_wire_value(tag.wire_type())?;
19086                }
19087            }
19088        }
19089        Ok(())
19090    }
19091}
19092impl ::micropb::MessageEncode for Rpc_Resp_WifiGetProtocol {
19093    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
19094        let mut max_size = 0;
19095        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
19096            ::core::option::Option::Some(10usize), | size | size + 1usize
19097        ) {
19098            max_size += size;
19099        } else {
19100            break 'msg (::core::option::Option::<usize>::None);
19101        };
19102        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
19103            ::core::option::Option::Some(10usize), | size | size + 1usize
19104        ) {
19105            max_size += size;
19106        } else {
19107            break 'msg (::core::option::Option::<usize>::None);
19108        };
19109        ::core::option::Option::Some(max_size)
19110    };
19111    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
19112        &self,
19113        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
19114    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
19115        use ::micropb::{PbMap, FieldEncode};
19116        {
19117            let val_ref = &self.r#resp;
19118            if *val_ref != 0 {
19119                encoder.encode_varint32(8u32)?;
19120                encoder.encode_int32(*val_ref as _)?;
19121            }
19122        }
19123        {
19124            let val_ref = &self.r#protocol_bitmap;
19125            if *val_ref != 0 {
19126                encoder.encode_varint32(16u32)?;
19127                encoder.encode_int32(*val_ref as _)?;
19128            }
19129        }
19130        Ok(())
19131    }
19132    fn compute_size(&self) -> usize {
19133        use ::micropb::{PbMap, FieldEncode};
19134        let mut size = 0;
19135        {
19136            let val_ref = &self.r#resp;
19137            if *val_ref != 0 {
19138                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
19139            }
19140        }
19141        {
19142            let val_ref = &self.r#protocol_bitmap;
19143            if *val_ref != 0 {
19144                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
19145            }
19146        }
19147        size
19148    }
19149}
19150#[derive(Debug, Default, PartialEq, Clone)]
19151pub struct Rpc_Req_WifiSetBandwidth {
19152    pub r#ifx: i32,
19153    pub r#bw: i32,
19154}
19155impl Rpc_Req_WifiSetBandwidth {
19156    ///Return a reference to `ifx`
19157    #[inline]
19158    pub fn r#ifx(&self) -> &i32 {
19159        &self.r#ifx
19160    }
19161    ///Return a mutable reference to `ifx`
19162    #[inline]
19163    pub fn mut_ifx(&mut self) -> &mut i32 {
19164        &mut self.r#ifx
19165    }
19166    ///Set the value of `ifx`
19167    #[inline]
19168    pub fn set_ifx(&mut self, value: i32) -> &mut Self {
19169        self.r#ifx = value.into();
19170        self
19171    }
19172    ///Builder method that sets the value of `ifx`. Useful for initializing the message.
19173    #[inline]
19174    pub fn init_ifx(mut self, value: i32) -> Self {
19175        self.r#ifx = value.into();
19176        self
19177    }
19178    ///Return a reference to `bw`
19179    #[inline]
19180    pub fn r#bw(&self) -> &i32 {
19181        &self.r#bw
19182    }
19183    ///Return a mutable reference to `bw`
19184    #[inline]
19185    pub fn mut_bw(&mut self) -> &mut i32 {
19186        &mut self.r#bw
19187    }
19188    ///Set the value of `bw`
19189    #[inline]
19190    pub fn set_bw(&mut self, value: i32) -> &mut Self {
19191        self.r#bw = value.into();
19192        self
19193    }
19194    ///Builder method that sets the value of `bw`. Useful for initializing the message.
19195    #[inline]
19196    pub fn init_bw(mut self, value: i32) -> Self {
19197        self.r#bw = value.into();
19198        self
19199    }
19200}
19201impl ::micropb::MessageDecode for Rpc_Req_WifiSetBandwidth {
19202    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
19203        &mut self,
19204        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
19205        len: usize,
19206    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
19207        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
19208        let before = decoder.bytes_read();
19209        while decoder.bytes_read() - before < len {
19210            let tag = decoder.decode_tag()?;
19211            match tag.field_num() {
19212                0 => return Err(::micropb::DecodeError::ZeroField),
19213                1u32 => {
19214                    let mut_ref = &mut self.r#ifx;
19215                    {
19216                        let val = decoder.decode_int32()?;
19217                        let val_ref = &val;
19218                        if *val_ref != 0 {
19219                            *mut_ref = val as _;
19220                        }
19221                    };
19222                }
19223                2u32 => {
19224                    let mut_ref = &mut self.r#bw;
19225                    {
19226                        let val = decoder.decode_int32()?;
19227                        let val_ref = &val;
19228                        if *val_ref != 0 {
19229                            *mut_ref = val as _;
19230                        }
19231                    };
19232                }
19233                _ => {
19234                    decoder.skip_wire_value(tag.wire_type())?;
19235                }
19236            }
19237        }
19238        Ok(())
19239    }
19240}
19241impl ::micropb::MessageEncode for Rpc_Req_WifiSetBandwidth {
19242    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
19243        let mut max_size = 0;
19244        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
19245            ::core::option::Option::Some(10usize), | size | size + 1usize
19246        ) {
19247            max_size += size;
19248        } else {
19249            break 'msg (::core::option::Option::<usize>::None);
19250        };
19251        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
19252            ::core::option::Option::Some(10usize), | size | size + 1usize
19253        ) {
19254            max_size += size;
19255        } else {
19256            break 'msg (::core::option::Option::<usize>::None);
19257        };
19258        ::core::option::Option::Some(max_size)
19259    };
19260    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
19261        &self,
19262        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
19263    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
19264        use ::micropb::{PbMap, FieldEncode};
19265        {
19266            let val_ref = &self.r#ifx;
19267            if *val_ref != 0 {
19268                encoder.encode_varint32(8u32)?;
19269                encoder.encode_int32(*val_ref as _)?;
19270            }
19271        }
19272        {
19273            let val_ref = &self.r#bw;
19274            if *val_ref != 0 {
19275                encoder.encode_varint32(16u32)?;
19276                encoder.encode_int32(*val_ref as _)?;
19277            }
19278        }
19279        Ok(())
19280    }
19281    fn compute_size(&self) -> usize {
19282        use ::micropb::{PbMap, FieldEncode};
19283        let mut size = 0;
19284        {
19285            let val_ref = &self.r#ifx;
19286            if *val_ref != 0 {
19287                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
19288            }
19289        }
19290        {
19291            let val_ref = &self.r#bw;
19292            if *val_ref != 0 {
19293                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
19294            }
19295        }
19296        size
19297    }
19298}
19299#[derive(Debug, Default, PartialEq, Clone)]
19300pub struct Rpc_Resp_WifiSetBandwidth {
19301    pub r#resp: i32,
19302}
19303impl Rpc_Resp_WifiSetBandwidth {
19304    ///Return a reference to `resp`
19305    #[inline]
19306    pub fn r#resp(&self) -> &i32 {
19307        &self.r#resp
19308    }
19309    ///Return a mutable reference to `resp`
19310    #[inline]
19311    pub fn mut_resp(&mut self) -> &mut i32 {
19312        &mut self.r#resp
19313    }
19314    ///Set the value of `resp`
19315    #[inline]
19316    pub fn set_resp(&mut self, value: i32) -> &mut Self {
19317        self.r#resp = value.into();
19318        self
19319    }
19320    ///Builder method that sets the value of `resp`. Useful for initializing the message.
19321    #[inline]
19322    pub fn init_resp(mut self, value: i32) -> Self {
19323        self.r#resp = value.into();
19324        self
19325    }
19326}
19327impl ::micropb::MessageDecode for Rpc_Resp_WifiSetBandwidth {
19328    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
19329        &mut self,
19330        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
19331        len: usize,
19332    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
19333        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
19334        let before = decoder.bytes_read();
19335        while decoder.bytes_read() - before < len {
19336            let tag = decoder.decode_tag()?;
19337            match tag.field_num() {
19338                0 => return Err(::micropb::DecodeError::ZeroField),
19339                1u32 => {
19340                    let mut_ref = &mut self.r#resp;
19341                    {
19342                        let val = decoder.decode_int32()?;
19343                        let val_ref = &val;
19344                        if *val_ref != 0 {
19345                            *mut_ref = val as _;
19346                        }
19347                    };
19348                }
19349                _ => {
19350                    decoder.skip_wire_value(tag.wire_type())?;
19351                }
19352            }
19353        }
19354        Ok(())
19355    }
19356}
19357impl ::micropb::MessageEncode for Rpc_Resp_WifiSetBandwidth {
19358    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
19359        let mut max_size = 0;
19360        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
19361            ::core::option::Option::Some(10usize), | size | size + 1usize
19362        ) {
19363            max_size += size;
19364        } else {
19365            break 'msg (::core::option::Option::<usize>::None);
19366        };
19367        ::core::option::Option::Some(max_size)
19368    };
19369    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
19370        &self,
19371        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
19372    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
19373        use ::micropb::{PbMap, FieldEncode};
19374        {
19375            let val_ref = &self.r#resp;
19376            if *val_ref != 0 {
19377                encoder.encode_varint32(8u32)?;
19378                encoder.encode_int32(*val_ref as _)?;
19379            }
19380        }
19381        Ok(())
19382    }
19383    fn compute_size(&self) -> usize {
19384        use ::micropb::{PbMap, FieldEncode};
19385        let mut size = 0;
19386        {
19387            let val_ref = &self.r#resp;
19388            if *val_ref != 0 {
19389                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
19390            }
19391        }
19392        size
19393    }
19394}
19395#[derive(Debug, Default, PartialEq, Clone)]
19396pub struct Rpc_Req_WifiGetBandwidth {
19397    pub r#ifx: i32,
19398}
19399impl Rpc_Req_WifiGetBandwidth {
19400    ///Return a reference to `ifx`
19401    #[inline]
19402    pub fn r#ifx(&self) -> &i32 {
19403        &self.r#ifx
19404    }
19405    ///Return a mutable reference to `ifx`
19406    #[inline]
19407    pub fn mut_ifx(&mut self) -> &mut i32 {
19408        &mut self.r#ifx
19409    }
19410    ///Set the value of `ifx`
19411    #[inline]
19412    pub fn set_ifx(&mut self, value: i32) -> &mut Self {
19413        self.r#ifx = value.into();
19414        self
19415    }
19416    ///Builder method that sets the value of `ifx`. Useful for initializing the message.
19417    #[inline]
19418    pub fn init_ifx(mut self, value: i32) -> Self {
19419        self.r#ifx = value.into();
19420        self
19421    }
19422}
19423impl ::micropb::MessageDecode for Rpc_Req_WifiGetBandwidth {
19424    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
19425        &mut self,
19426        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
19427        len: usize,
19428    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
19429        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
19430        let before = decoder.bytes_read();
19431        while decoder.bytes_read() - before < len {
19432            let tag = decoder.decode_tag()?;
19433            match tag.field_num() {
19434                0 => return Err(::micropb::DecodeError::ZeroField),
19435                1u32 => {
19436                    let mut_ref = &mut self.r#ifx;
19437                    {
19438                        let val = decoder.decode_int32()?;
19439                        let val_ref = &val;
19440                        if *val_ref != 0 {
19441                            *mut_ref = val as _;
19442                        }
19443                    };
19444                }
19445                _ => {
19446                    decoder.skip_wire_value(tag.wire_type())?;
19447                }
19448            }
19449        }
19450        Ok(())
19451    }
19452}
19453impl ::micropb::MessageEncode for Rpc_Req_WifiGetBandwidth {
19454    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
19455        let mut max_size = 0;
19456        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
19457            ::core::option::Option::Some(10usize), | size | size + 1usize
19458        ) {
19459            max_size += size;
19460        } else {
19461            break 'msg (::core::option::Option::<usize>::None);
19462        };
19463        ::core::option::Option::Some(max_size)
19464    };
19465    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
19466        &self,
19467        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
19468    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
19469        use ::micropb::{PbMap, FieldEncode};
19470        {
19471            let val_ref = &self.r#ifx;
19472            if *val_ref != 0 {
19473                encoder.encode_varint32(8u32)?;
19474                encoder.encode_int32(*val_ref as _)?;
19475            }
19476        }
19477        Ok(())
19478    }
19479    fn compute_size(&self) -> usize {
19480        use ::micropb::{PbMap, FieldEncode};
19481        let mut size = 0;
19482        {
19483            let val_ref = &self.r#ifx;
19484            if *val_ref != 0 {
19485                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
19486            }
19487        }
19488        size
19489    }
19490}
19491#[derive(Debug, Default, PartialEq, Clone)]
19492pub struct Rpc_Resp_WifiGetBandwidth {
19493    pub r#resp: i32,
19494    pub r#bw: i32,
19495}
19496impl Rpc_Resp_WifiGetBandwidth {
19497    ///Return a reference to `resp`
19498    #[inline]
19499    pub fn r#resp(&self) -> &i32 {
19500        &self.r#resp
19501    }
19502    ///Return a mutable reference to `resp`
19503    #[inline]
19504    pub fn mut_resp(&mut self) -> &mut i32 {
19505        &mut self.r#resp
19506    }
19507    ///Set the value of `resp`
19508    #[inline]
19509    pub fn set_resp(&mut self, value: i32) -> &mut Self {
19510        self.r#resp = value.into();
19511        self
19512    }
19513    ///Builder method that sets the value of `resp`. Useful for initializing the message.
19514    #[inline]
19515    pub fn init_resp(mut self, value: i32) -> Self {
19516        self.r#resp = value.into();
19517        self
19518    }
19519    ///Return a reference to `bw`
19520    #[inline]
19521    pub fn r#bw(&self) -> &i32 {
19522        &self.r#bw
19523    }
19524    ///Return a mutable reference to `bw`
19525    #[inline]
19526    pub fn mut_bw(&mut self) -> &mut i32 {
19527        &mut self.r#bw
19528    }
19529    ///Set the value of `bw`
19530    #[inline]
19531    pub fn set_bw(&mut self, value: i32) -> &mut Self {
19532        self.r#bw = value.into();
19533        self
19534    }
19535    ///Builder method that sets the value of `bw`. Useful for initializing the message.
19536    #[inline]
19537    pub fn init_bw(mut self, value: i32) -> Self {
19538        self.r#bw = value.into();
19539        self
19540    }
19541}
19542impl ::micropb::MessageDecode for Rpc_Resp_WifiGetBandwidth {
19543    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
19544        &mut self,
19545        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
19546        len: usize,
19547    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
19548        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
19549        let before = decoder.bytes_read();
19550        while decoder.bytes_read() - before < len {
19551            let tag = decoder.decode_tag()?;
19552            match tag.field_num() {
19553                0 => return Err(::micropb::DecodeError::ZeroField),
19554                1u32 => {
19555                    let mut_ref = &mut self.r#resp;
19556                    {
19557                        let val = decoder.decode_int32()?;
19558                        let val_ref = &val;
19559                        if *val_ref != 0 {
19560                            *mut_ref = val as _;
19561                        }
19562                    };
19563                }
19564                2u32 => {
19565                    let mut_ref = &mut self.r#bw;
19566                    {
19567                        let val = decoder.decode_int32()?;
19568                        let val_ref = &val;
19569                        if *val_ref != 0 {
19570                            *mut_ref = val as _;
19571                        }
19572                    };
19573                }
19574                _ => {
19575                    decoder.skip_wire_value(tag.wire_type())?;
19576                }
19577            }
19578        }
19579        Ok(())
19580    }
19581}
19582impl ::micropb::MessageEncode for Rpc_Resp_WifiGetBandwidth {
19583    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
19584        let mut max_size = 0;
19585        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
19586            ::core::option::Option::Some(10usize), | size | size + 1usize
19587        ) {
19588            max_size += size;
19589        } else {
19590            break 'msg (::core::option::Option::<usize>::None);
19591        };
19592        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
19593            ::core::option::Option::Some(10usize), | size | size + 1usize
19594        ) {
19595            max_size += size;
19596        } else {
19597            break 'msg (::core::option::Option::<usize>::None);
19598        };
19599        ::core::option::Option::Some(max_size)
19600    };
19601    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
19602        &self,
19603        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
19604    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
19605        use ::micropb::{PbMap, FieldEncode};
19606        {
19607            let val_ref = &self.r#resp;
19608            if *val_ref != 0 {
19609                encoder.encode_varint32(8u32)?;
19610                encoder.encode_int32(*val_ref as _)?;
19611            }
19612        }
19613        {
19614            let val_ref = &self.r#bw;
19615            if *val_ref != 0 {
19616                encoder.encode_varint32(16u32)?;
19617                encoder.encode_int32(*val_ref as _)?;
19618            }
19619        }
19620        Ok(())
19621    }
19622    fn compute_size(&self) -> usize {
19623        use ::micropb::{PbMap, FieldEncode};
19624        let mut size = 0;
19625        {
19626            let val_ref = &self.r#resp;
19627            if *val_ref != 0 {
19628                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
19629            }
19630        }
19631        {
19632            let val_ref = &self.r#bw;
19633            if *val_ref != 0 {
19634                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
19635            }
19636        }
19637        size
19638    }
19639}
19640#[derive(Debug, Default, PartialEq, Clone)]
19641pub struct Rpc_Req_WifiSetChannel {
19642    pub r#primary: i32,
19643    pub r#second: i32,
19644}
19645impl Rpc_Req_WifiSetChannel {
19646    ///Return a reference to `primary`
19647    #[inline]
19648    pub fn r#primary(&self) -> &i32 {
19649        &self.r#primary
19650    }
19651    ///Return a mutable reference to `primary`
19652    #[inline]
19653    pub fn mut_primary(&mut self) -> &mut i32 {
19654        &mut self.r#primary
19655    }
19656    ///Set the value of `primary`
19657    #[inline]
19658    pub fn set_primary(&mut self, value: i32) -> &mut Self {
19659        self.r#primary = value.into();
19660        self
19661    }
19662    ///Builder method that sets the value of `primary`. Useful for initializing the message.
19663    #[inline]
19664    pub fn init_primary(mut self, value: i32) -> Self {
19665        self.r#primary = value.into();
19666        self
19667    }
19668    ///Return a reference to `second`
19669    #[inline]
19670    pub fn r#second(&self) -> &i32 {
19671        &self.r#second
19672    }
19673    ///Return a mutable reference to `second`
19674    #[inline]
19675    pub fn mut_second(&mut self) -> &mut i32 {
19676        &mut self.r#second
19677    }
19678    ///Set the value of `second`
19679    #[inline]
19680    pub fn set_second(&mut self, value: i32) -> &mut Self {
19681        self.r#second = value.into();
19682        self
19683    }
19684    ///Builder method that sets the value of `second`. Useful for initializing the message.
19685    #[inline]
19686    pub fn init_second(mut self, value: i32) -> Self {
19687        self.r#second = value.into();
19688        self
19689    }
19690}
19691impl ::micropb::MessageDecode for Rpc_Req_WifiSetChannel {
19692    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
19693        &mut self,
19694        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
19695        len: usize,
19696    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
19697        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
19698        let before = decoder.bytes_read();
19699        while decoder.bytes_read() - before < len {
19700            let tag = decoder.decode_tag()?;
19701            match tag.field_num() {
19702                0 => return Err(::micropb::DecodeError::ZeroField),
19703                1u32 => {
19704                    let mut_ref = &mut self.r#primary;
19705                    {
19706                        let val = decoder.decode_int32()?;
19707                        let val_ref = &val;
19708                        if *val_ref != 0 {
19709                            *mut_ref = val as _;
19710                        }
19711                    };
19712                }
19713                2u32 => {
19714                    let mut_ref = &mut self.r#second;
19715                    {
19716                        let val = decoder.decode_int32()?;
19717                        let val_ref = &val;
19718                        if *val_ref != 0 {
19719                            *mut_ref = val as _;
19720                        }
19721                    };
19722                }
19723                _ => {
19724                    decoder.skip_wire_value(tag.wire_type())?;
19725                }
19726            }
19727        }
19728        Ok(())
19729    }
19730}
19731impl ::micropb::MessageEncode for Rpc_Req_WifiSetChannel {
19732    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
19733        let mut max_size = 0;
19734        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
19735            ::core::option::Option::Some(10usize), | size | size + 1usize
19736        ) {
19737            max_size += size;
19738        } else {
19739            break 'msg (::core::option::Option::<usize>::None);
19740        };
19741        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
19742            ::core::option::Option::Some(10usize), | size | size + 1usize
19743        ) {
19744            max_size += size;
19745        } else {
19746            break 'msg (::core::option::Option::<usize>::None);
19747        };
19748        ::core::option::Option::Some(max_size)
19749    };
19750    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
19751        &self,
19752        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
19753    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
19754        use ::micropb::{PbMap, FieldEncode};
19755        {
19756            let val_ref = &self.r#primary;
19757            if *val_ref != 0 {
19758                encoder.encode_varint32(8u32)?;
19759                encoder.encode_int32(*val_ref as _)?;
19760            }
19761        }
19762        {
19763            let val_ref = &self.r#second;
19764            if *val_ref != 0 {
19765                encoder.encode_varint32(16u32)?;
19766                encoder.encode_int32(*val_ref as _)?;
19767            }
19768        }
19769        Ok(())
19770    }
19771    fn compute_size(&self) -> usize {
19772        use ::micropb::{PbMap, FieldEncode};
19773        let mut size = 0;
19774        {
19775            let val_ref = &self.r#primary;
19776            if *val_ref != 0 {
19777                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
19778            }
19779        }
19780        {
19781            let val_ref = &self.r#second;
19782            if *val_ref != 0 {
19783                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
19784            }
19785        }
19786        size
19787    }
19788}
19789#[derive(Debug, Default, PartialEq, Clone)]
19790pub struct Rpc_Resp_WifiSetChannel {
19791    pub r#resp: i32,
19792}
19793impl Rpc_Resp_WifiSetChannel {
19794    ///Return a reference to `resp`
19795    #[inline]
19796    pub fn r#resp(&self) -> &i32 {
19797        &self.r#resp
19798    }
19799    ///Return a mutable reference to `resp`
19800    #[inline]
19801    pub fn mut_resp(&mut self) -> &mut i32 {
19802        &mut self.r#resp
19803    }
19804    ///Set the value of `resp`
19805    #[inline]
19806    pub fn set_resp(&mut self, value: i32) -> &mut Self {
19807        self.r#resp = value.into();
19808        self
19809    }
19810    ///Builder method that sets the value of `resp`. Useful for initializing the message.
19811    #[inline]
19812    pub fn init_resp(mut self, value: i32) -> Self {
19813        self.r#resp = value.into();
19814        self
19815    }
19816}
19817impl ::micropb::MessageDecode for Rpc_Resp_WifiSetChannel {
19818    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
19819        &mut self,
19820        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
19821        len: usize,
19822    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
19823        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
19824        let before = decoder.bytes_read();
19825        while decoder.bytes_read() - before < len {
19826            let tag = decoder.decode_tag()?;
19827            match tag.field_num() {
19828                0 => return Err(::micropb::DecodeError::ZeroField),
19829                1u32 => {
19830                    let mut_ref = &mut self.r#resp;
19831                    {
19832                        let val = decoder.decode_int32()?;
19833                        let val_ref = &val;
19834                        if *val_ref != 0 {
19835                            *mut_ref = val as _;
19836                        }
19837                    };
19838                }
19839                _ => {
19840                    decoder.skip_wire_value(tag.wire_type())?;
19841                }
19842            }
19843        }
19844        Ok(())
19845    }
19846}
19847impl ::micropb::MessageEncode for Rpc_Resp_WifiSetChannel {
19848    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
19849        let mut max_size = 0;
19850        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
19851            ::core::option::Option::Some(10usize), | size | size + 1usize
19852        ) {
19853            max_size += size;
19854        } else {
19855            break 'msg (::core::option::Option::<usize>::None);
19856        };
19857        ::core::option::Option::Some(max_size)
19858    };
19859    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
19860        &self,
19861        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
19862    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
19863        use ::micropb::{PbMap, FieldEncode};
19864        {
19865            let val_ref = &self.r#resp;
19866            if *val_ref != 0 {
19867                encoder.encode_varint32(8u32)?;
19868                encoder.encode_int32(*val_ref as _)?;
19869            }
19870        }
19871        Ok(())
19872    }
19873    fn compute_size(&self) -> usize {
19874        use ::micropb::{PbMap, FieldEncode};
19875        let mut size = 0;
19876        {
19877            let val_ref = &self.r#resp;
19878            if *val_ref != 0 {
19879                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
19880            }
19881        }
19882        size
19883    }
19884}
19885#[derive(Debug, Default, PartialEq, Clone)]
19886pub struct Rpc_Req_WifiGetChannel {}
19887impl Rpc_Req_WifiGetChannel {}
19888impl ::micropb::MessageDecode for Rpc_Req_WifiGetChannel {
19889    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
19890        &mut self,
19891        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
19892        len: usize,
19893    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
19894        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
19895        let before = decoder.bytes_read();
19896        while decoder.bytes_read() - before < len {
19897            let tag = decoder.decode_tag()?;
19898            match tag.field_num() {
19899                0 => return Err(::micropb::DecodeError::ZeroField),
19900                _ => {
19901                    decoder.skip_wire_value(tag.wire_type())?;
19902                }
19903            }
19904        }
19905        Ok(())
19906    }
19907}
19908impl ::micropb::MessageEncode for Rpc_Req_WifiGetChannel {
19909    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
19910        let mut max_size = 0;
19911        ::core::option::Option::Some(max_size)
19912    };
19913    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
19914        &self,
19915        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
19916    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
19917        use ::micropb::{PbMap, FieldEncode};
19918        Ok(())
19919    }
19920    fn compute_size(&self) -> usize {
19921        use ::micropb::{PbMap, FieldEncode};
19922        let mut size = 0;
19923        size
19924    }
19925}
19926#[derive(Debug, Default, PartialEq, Clone)]
19927pub struct Rpc_Resp_WifiGetChannel {
19928    pub r#resp: i32,
19929    pub r#primary: i32,
19930    pub r#second: i32,
19931}
19932impl Rpc_Resp_WifiGetChannel {
19933    ///Return a reference to `resp`
19934    #[inline]
19935    pub fn r#resp(&self) -> &i32 {
19936        &self.r#resp
19937    }
19938    ///Return a mutable reference to `resp`
19939    #[inline]
19940    pub fn mut_resp(&mut self) -> &mut i32 {
19941        &mut self.r#resp
19942    }
19943    ///Set the value of `resp`
19944    #[inline]
19945    pub fn set_resp(&mut self, value: i32) -> &mut Self {
19946        self.r#resp = value.into();
19947        self
19948    }
19949    ///Builder method that sets the value of `resp`. Useful for initializing the message.
19950    #[inline]
19951    pub fn init_resp(mut self, value: i32) -> Self {
19952        self.r#resp = value.into();
19953        self
19954    }
19955    ///Return a reference to `primary`
19956    #[inline]
19957    pub fn r#primary(&self) -> &i32 {
19958        &self.r#primary
19959    }
19960    ///Return a mutable reference to `primary`
19961    #[inline]
19962    pub fn mut_primary(&mut self) -> &mut i32 {
19963        &mut self.r#primary
19964    }
19965    ///Set the value of `primary`
19966    #[inline]
19967    pub fn set_primary(&mut self, value: i32) -> &mut Self {
19968        self.r#primary = value.into();
19969        self
19970    }
19971    ///Builder method that sets the value of `primary`. Useful for initializing the message.
19972    #[inline]
19973    pub fn init_primary(mut self, value: i32) -> Self {
19974        self.r#primary = value.into();
19975        self
19976    }
19977    ///Return a reference to `second`
19978    #[inline]
19979    pub fn r#second(&self) -> &i32 {
19980        &self.r#second
19981    }
19982    ///Return a mutable reference to `second`
19983    #[inline]
19984    pub fn mut_second(&mut self) -> &mut i32 {
19985        &mut self.r#second
19986    }
19987    ///Set the value of `second`
19988    #[inline]
19989    pub fn set_second(&mut self, value: i32) -> &mut Self {
19990        self.r#second = value.into();
19991        self
19992    }
19993    ///Builder method that sets the value of `second`. Useful for initializing the message.
19994    #[inline]
19995    pub fn init_second(mut self, value: i32) -> Self {
19996        self.r#second = value.into();
19997        self
19998    }
19999}
20000impl ::micropb::MessageDecode for Rpc_Resp_WifiGetChannel {
20001    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
20002        &mut self,
20003        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
20004        len: usize,
20005    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
20006        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
20007        let before = decoder.bytes_read();
20008        while decoder.bytes_read() - before < len {
20009            let tag = decoder.decode_tag()?;
20010            match tag.field_num() {
20011                0 => return Err(::micropb::DecodeError::ZeroField),
20012                1u32 => {
20013                    let mut_ref = &mut self.r#resp;
20014                    {
20015                        let val = decoder.decode_int32()?;
20016                        let val_ref = &val;
20017                        if *val_ref != 0 {
20018                            *mut_ref = val as _;
20019                        }
20020                    };
20021                }
20022                2u32 => {
20023                    let mut_ref = &mut self.r#primary;
20024                    {
20025                        let val = decoder.decode_int32()?;
20026                        let val_ref = &val;
20027                        if *val_ref != 0 {
20028                            *mut_ref = val as _;
20029                        }
20030                    };
20031                }
20032                3u32 => {
20033                    let mut_ref = &mut self.r#second;
20034                    {
20035                        let val = decoder.decode_int32()?;
20036                        let val_ref = &val;
20037                        if *val_ref != 0 {
20038                            *mut_ref = val as _;
20039                        }
20040                    };
20041                }
20042                _ => {
20043                    decoder.skip_wire_value(tag.wire_type())?;
20044                }
20045            }
20046        }
20047        Ok(())
20048    }
20049}
20050impl ::micropb::MessageEncode for Rpc_Resp_WifiGetChannel {
20051    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
20052        let mut max_size = 0;
20053        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
20054            ::core::option::Option::Some(10usize), | size | size + 1usize
20055        ) {
20056            max_size += size;
20057        } else {
20058            break 'msg (::core::option::Option::<usize>::None);
20059        };
20060        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
20061            ::core::option::Option::Some(10usize), | size | size + 1usize
20062        ) {
20063            max_size += size;
20064        } else {
20065            break 'msg (::core::option::Option::<usize>::None);
20066        };
20067        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
20068            ::core::option::Option::Some(10usize), | size | size + 1usize
20069        ) {
20070            max_size += size;
20071        } else {
20072            break 'msg (::core::option::Option::<usize>::None);
20073        };
20074        ::core::option::Option::Some(max_size)
20075    };
20076    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
20077        &self,
20078        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
20079    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
20080        use ::micropb::{PbMap, FieldEncode};
20081        {
20082            let val_ref = &self.r#resp;
20083            if *val_ref != 0 {
20084                encoder.encode_varint32(8u32)?;
20085                encoder.encode_int32(*val_ref as _)?;
20086            }
20087        }
20088        {
20089            let val_ref = &self.r#primary;
20090            if *val_ref != 0 {
20091                encoder.encode_varint32(16u32)?;
20092                encoder.encode_int32(*val_ref as _)?;
20093            }
20094        }
20095        {
20096            let val_ref = &self.r#second;
20097            if *val_ref != 0 {
20098                encoder.encode_varint32(24u32)?;
20099                encoder.encode_int32(*val_ref as _)?;
20100            }
20101        }
20102        Ok(())
20103    }
20104    fn compute_size(&self) -> usize {
20105        use ::micropb::{PbMap, FieldEncode};
20106        let mut size = 0;
20107        {
20108            let val_ref = &self.r#resp;
20109            if *val_ref != 0 {
20110                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
20111            }
20112        }
20113        {
20114            let val_ref = &self.r#primary;
20115            if *val_ref != 0 {
20116                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
20117            }
20118        }
20119        {
20120            let val_ref = &self.r#second;
20121            if *val_ref != 0 {
20122                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
20123            }
20124        }
20125        size
20126    }
20127}
20128#[derive(Debug, Default, PartialEq, Clone)]
20129pub struct Rpc_Req_WifiSetStorage {
20130    pub r#storage: i32,
20131}
20132impl Rpc_Req_WifiSetStorage {
20133    ///Return a reference to `storage`
20134    #[inline]
20135    pub fn r#storage(&self) -> &i32 {
20136        &self.r#storage
20137    }
20138    ///Return a mutable reference to `storage`
20139    #[inline]
20140    pub fn mut_storage(&mut self) -> &mut i32 {
20141        &mut self.r#storage
20142    }
20143    ///Set the value of `storage`
20144    #[inline]
20145    pub fn set_storage(&mut self, value: i32) -> &mut Self {
20146        self.r#storage = value.into();
20147        self
20148    }
20149    ///Builder method that sets the value of `storage`. Useful for initializing the message.
20150    #[inline]
20151    pub fn init_storage(mut self, value: i32) -> Self {
20152        self.r#storage = value.into();
20153        self
20154    }
20155}
20156impl ::micropb::MessageDecode for Rpc_Req_WifiSetStorage {
20157    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
20158        &mut self,
20159        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
20160        len: usize,
20161    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
20162        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
20163        let before = decoder.bytes_read();
20164        while decoder.bytes_read() - before < len {
20165            let tag = decoder.decode_tag()?;
20166            match tag.field_num() {
20167                0 => return Err(::micropb::DecodeError::ZeroField),
20168                1u32 => {
20169                    let mut_ref = &mut self.r#storage;
20170                    {
20171                        let val = decoder.decode_int32()?;
20172                        let val_ref = &val;
20173                        if *val_ref != 0 {
20174                            *mut_ref = val as _;
20175                        }
20176                    };
20177                }
20178                _ => {
20179                    decoder.skip_wire_value(tag.wire_type())?;
20180                }
20181            }
20182        }
20183        Ok(())
20184    }
20185}
20186impl ::micropb::MessageEncode for Rpc_Req_WifiSetStorage {
20187    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
20188        let mut max_size = 0;
20189        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
20190            ::core::option::Option::Some(10usize), | size | size + 1usize
20191        ) {
20192            max_size += size;
20193        } else {
20194            break 'msg (::core::option::Option::<usize>::None);
20195        };
20196        ::core::option::Option::Some(max_size)
20197    };
20198    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
20199        &self,
20200        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
20201    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
20202        use ::micropb::{PbMap, FieldEncode};
20203        {
20204            let val_ref = &self.r#storage;
20205            if *val_ref != 0 {
20206                encoder.encode_varint32(8u32)?;
20207                encoder.encode_int32(*val_ref as _)?;
20208            }
20209        }
20210        Ok(())
20211    }
20212    fn compute_size(&self) -> usize {
20213        use ::micropb::{PbMap, FieldEncode};
20214        let mut size = 0;
20215        {
20216            let val_ref = &self.r#storage;
20217            if *val_ref != 0 {
20218                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
20219            }
20220        }
20221        size
20222    }
20223}
20224#[derive(Debug, Default, PartialEq, Clone)]
20225pub struct Rpc_Resp_WifiSetStorage {
20226    pub r#resp: i32,
20227}
20228impl Rpc_Resp_WifiSetStorage {
20229    ///Return a reference to `resp`
20230    #[inline]
20231    pub fn r#resp(&self) -> &i32 {
20232        &self.r#resp
20233    }
20234    ///Return a mutable reference to `resp`
20235    #[inline]
20236    pub fn mut_resp(&mut self) -> &mut i32 {
20237        &mut self.r#resp
20238    }
20239    ///Set the value of `resp`
20240    #[inline]
20241    pub fn set_resp(&mut self, value: i32) -> &mut Self {
20242        self.r#resp = value.into();
20243        self
20244    }
20245    ///Builder method that sets the value of `resp`. Useful for initializing the message.
20246    #[inline]
20247    pub fn init_resp(mut self, value: i32) -> Self {
20248        self.r#resp = value.into();
20249        self
20250    }
20251}
20252impl ::micropb::MessageDecode for Rpc_Resp_WifiSetStorage {
20253    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
20254        &mut self,
20255        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
20256        len: usize,
20257    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
20258        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
20259        let before = decoder.bytes_read();
20260        while decoder.bytes_read() - before < len {
20261            let tag = decoder.decode_tag()?;
20262            match tag.field_num() {
20263                0 => return Err(::micropb::DecodeError::ZeroField),
20264                1u32 => {
20265                    let mut_ref = &mut self.r#resp;
20266                    {
20267                        let val = decoder.decode_int32()?;
20268                        let val_ref = &val;
20269                        if *val_ref != 0 {
20270                            *mut_ref = val as _;
20271                        }
20272                    };
20273                }
20274                _ => {
20275                    decoder.skip_wire_value(tag.wire_type())?;
20276                }
20277            }
20278        }
20279        Ok(())
20280    }
20281}
20282impl ::micropb::MessageEncode for Rpc_Resp_WifiSetStorage {
20283    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
20284        let mut max_size = 0;
20285        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
20286            ::core::option::Option::Some(10usize), | size | size + 1usize
20287        ) {
20288            max_size += size;
20289        } else {
20290            break 'msg (::core::option::Option::<usize>::None);
20291        };
20292        ::core::option::Option::Some(max_size)
20293    };
20294    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
20295        &self,
20296        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
20297    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
20298        use ::micropb::{PbMap, FieldEncode};
20299        {
20300            let val_ref = &self.r#resp;
20301            if *val_ref != 0 {
20302                encoder.encode_varint32(8u32)?;
20303                encoder.encode_int32(*val_ref as _)?;
20304            }
20305        }
20306        Ok(())
20307    }
20308    fn compute_size(&self) -> usize {
20309        use ::micropb::{PbMap, FieldEncode};
20310        let mut size = 0;
20311        {
20312            let val_ref = &self.r#resp;
20313            if *val_ref != 0 {
20314                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
20315            }
20316        }
20317        size
20318    }
20319}
20320#[derive(Debug, Default, PartialEq, Clone)]
20321pub struct Rpc_Req_WifiSetCountryCode {
20322    pub r#country: ::micropb::heapless::Vec<u8, 32>,
20323    pub r#ieee80211d_enabled: bool,
20324}
20325impl Rpc_Req_WifiSetCountryCode {
20326    ///Return a reference to `country`
20327    #[inline]
20328    pub fn r#country(&self) -> &::micropb::heapless::Vec<u8, 32> {
20329        &self.r#country
20330    }
20331    ///Return a mutable reference to `country`
20332    #[inline]
20333    pub fn mut_country(&mut self) -> &mut ::micropb::heapless::Vec<u8, 32> {
20334        &mut self.r#country
20335    }
20336    ///Set the value of `country`
20337    #[inline]
20338    pub fn set_country(&mut self, value: ::micropb::heapless::Vec<u8, 32>) -> &mut Self {
20339        self.r#country = value.into();
20340        self
20341    }
20342    ///Builder method that sets the value of `country`. Useful for initializing the message.
20343    #[inline]
20344    pub fn init_country(mut self, value: ::micropb::heapless::Vec<u8, 32>) -> Self {
20345        self.r#country = value.into();
20346        self
20347    }
20348    ///Return a reference to `ieee80211d_enabled`
20349    #[inline]
20350    pub fn r#ieee80211d_enabled(&self) -> &bool {
20351        &self.r#ieee80211d_enabled
20352    }
20353    ///Return a mutable reference to `ieee80211d_enabled`
20354    #[inline]
20355    pub fn mut_ieee80211d_enabled(&mut self) -> &mut bool {
20356        &mut self.r#ieee80211d_enabled
20357    }
20358    ///Set the value of `ieee80211d_enabled`
20359    #[inline]
20360    pub fn set_ieee80211d_enabled(&mut self, value: bool) -> &mut Self {
20361        self.r#ieee80211d_enabled = value.into();
20362        self
20363    }
20364    ///Builder method that sets the value of `ieee80211d_enabled`. Useful for initializing the message.
20365    #[inline]
20366    pub fn init_ieee80211d_enabled(mut self, value: bool) -> Self {
20367        self.r#ieee80211d_enabled = value.into();
20368        self
20369    }
20370}
20371impl ::micropb::MessageDecode for Rpc_Req_WifiSetCountryCode {
20372    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
20373        &mut self,
20374        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
20375        len: usize,
20376    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
20377        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
20378        let before = decoder.bytes_read();
20379        while decoder.bytes_read() - before < len {
20380            let tag = decoder.decode_tag()?;
20381            match tag.field_num() {
20382                0 => return Err(::micropb::DecodeError::ZeroField),
20383                1u32 => {
20384                    let mut_ref = &mut self.r#country;
20385                    {
20386                        decoder.decode_bytes(mut_ref, ::micropb::Presence::Implicit)?;
20387                    };
20388                }
20389                2u32 => {
20390                    let mut_ref = &mut self.r#ieee80211d_enabled;
20391                    {
20392                        let val = decoder.decode_bool()?;
20393                        let val_ref = &val;
20394                        if *val_ref {
20395                            *mut_ref = val as _;
20396                        }
20397                    };
20398                }
20399                _ => {
20400                    decoder.skip_wire_value(tag.wire_type())?;
20401                }
20402            }
20403        }
20404        Ok(())
20405    }
20406}
20407impl ::micropb::MessageEncode for Rpc_Req_WifiSetCountryCode {
20408    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
20409        let mut max_size = 0;
20410        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
20411            ::core::option::Option::Some(33usize), | size | size + 1usize
20412        ) {
20413            max_size += size;
20414        } else {
20415            break 'msg (::core::option::Option::<usize>::None);
20416        };
20417        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
20418            ::core::option::Option::Some(1usize), | size | size + 1usize
20419        ) {
20420            max_size += size;
20421        } else {
20422            break 'msg (::core::option::Option::<usize>::None);
20423        };
20424        ::core::option::Option::Some(max_size)
20425    };
20426    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
20427        &self,
20428        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
20429    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
20430        use ::micropb::{PbMap, FieldEncode};
20431        {
20432            let val_ref = &self.r#country;
20433            if !val_ref.is_empty() {
20434                encoder.encode_varint32(10u32)?;
20435                encoder.encode_bytes(val_ref)?;
20436            }
20437        }
20438        {
20439            let val_ref = &self.r#ieee80211d_enabled;
20440            if *val_ref {
20441                encoder.encode_varint32(16u32)?;
20442                encoder.encode_bool(*val_ref)?;
20443            }
20444        }
20445        Ok(())
20446    }
20447    fn compute_size(&self) -> usize {
20448        use ::micropb::{PbMap, FieldEncode};
20449        let mut size = 0;
20450        {
20451            let val_ref = &self.r#country;
20452            if !val_ref.is_empty() {
20453                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.len());
20454            }
20455        }
20456        {
20457            let val_ref = &self.r#ieee80211d_enabled;
20458            if *val_ref {
20459                size += 1usize + 1;
20460            }
20461        }
20462        size
20463    }
20464}
20465#[derive(Debug, Default, PartialEq, Clone)]
20466pub struct Rpc_Resp_WifiSetCountryCode {
20467    pub r#resp: i32,
20468}
20469impl Rpc_Resp_WifiSetCountryCode {
20470    ///Return a reference to `resp`
20471    #[inline]
20472    pub fn r#resp(&self) -> &i32 {
20473        &self.r#resp
20474    }
20475    ///Return a mutable reference to `resp`
20476    #[inline]
20477    pub fn mut_resp(&mut self) -> &mut i32 {
20478        &mut self.r#resp
20479    }
20480    ///Set the value of `resp`
20481    #[inline]
20482    pub fn set_resp(&mut self, value: i32) -> &mut Self {
20483        self.r#resp = value.into();
20484        self
20485    }
20486    ///Builder method that sets the value of `resp`. Useful for initializing the message.
20487    #[inline]
20488    pub fn init_resp(mut self, value: i32) -> Self {
20489        self.r#resp = value.into();
20490        self
20491    }
20492}
20493impl ::micropb::MessageDecode for Rpc_Resp_WifiSetCountryCode {
20494    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
20495        &mut self,
20496        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
20497        len: usize,
20498    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
20499        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
20500        let before = decoder.bytes_read();
20501        while decoder.bytes_read() - before < len {
20502            let tag = decoder.decode_tag()?;
20503            match tag.field_num() {
20504                0 => return Err(::micropb::DecodeError::ZeroField),
20505                1u32 => {
20506                    let mut_ref = &mut self.r#resp;
20507                    {
20508                        let val = decoder.decode_int32()?;
20509                        let val_ref = &val;
20510                        if *val_ref != 0 {
20511                            *mut_ref = val as _;
20512                        }
20513                    };
20514                }
20515                _ => {
20516                    decoder.skip_wire_value(tag.wire_type())?;
20517                }
20518            }
20519        }
20520        Ok(())
20521    }
20522}
20523impl ::micropb::MessageEncode for Rpc_Resp_WifiSetCountryCode {
20524    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
20525        let mut max_size = 0;
20526        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
20527            ::core::option::Option::Some(10usize), | size | size + 1usize
20528        ) {
20529            max_size += size;
20530        } else {
20531            break 'msg (::core::option::Option::<usize>::None);
20532        };
20533        ::core::option::Option::Some(max_size)
20534    };
20535    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
20536        &self,
20537        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
20538    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
20539        use ::micropb::{PbMap, FieldEncode};
20540        {
20541            let val_ref = &self.r#resp;
20542            if *val_ref != 0 {
20543                encoder.encode_varint32(8u32)?;
20544                encoder.encode_int32(*val_ref as _)?;
20545            }
20546        }
20547        Ok(())
20548    }
20549    fn compute_size(&self) -> usize {
20550        use ::micropb::{PbMap, FieldEncode};
20551        let mut size = 0;
20552        {
20553            let val_ref = &self.r#resp;
20554            if *val_ref != 0 {
20555                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
20556            }
20557        }
20558        size
20559    }
20560}
20561#[derive(Debug, Default, PartialEq, Clone)]
20562pub struct Rpc_Req_WifiGetCountryCode {}
20563impl Rpc_Req_WifiGetCountryCode {}
20564impl ::micropb::MessageDecode for Rpc_Req_WifiGetCountryCode {
20565    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
20566        &mut self,
20567        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
20568        len: usize,
20569    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
20570        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
20571        let before = decoder.bytes_read();
20572        while decoder.bytes_read() - before < len {
20573            let tag = decoder.decode_tag()?;
20574            match tag.field_num() {
20575                0 => return Err(::micropb::DecodeError::ZeroField),
20576                _ => {
20577                    decoder.skip_wire_value(tag.wire_type())?;
20578                }
20579            }
20580        }
20581        Ok(())
20582    }
20583}
20584impl ::micropb::MessageEncode for Rpc_Req_WifiGetCountryCode {
20585    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
20586        let mut max_size = 0;
20587        ::core::option::Option::Some(max_size)
20588    };
20589    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
20590        &self,
20591        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
20592    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
20593        use ::micropb::{PbMap, FieldEncode};
20594        Ok(())
20595    }
20596    fn compute_size(&self) -> usize {
20597        use ::micropb::{PbMap, FieldEncode};
20598        let mut size = 0;
20599        size
20600    }
20601}
20602#[derive(Debug, Default, PartialEq, Clone)]
20603pub struct Rpc_Resp_WifiGetCountryCode {
20604    pub r#resp: i32,
20605    pub r#country: ::micropb::heapless::Vec<u8, 32>,
20606}
20607impl Rpc_Resp_WifiGetCountryCode {
20608    ///Return a reference to `resp`
20609    #[inline]
20610    pub fn r#resp(&self) -> &i32 {
20611        &self.r#resp
20612    }
20613    ///Return a mutable reference to `resp`
20614    #[inline]
20615    pub fn mut_resp(&mut self) -> &mut i32 {
20616        &mut self.r#resp
20617    }
20618    ///Set the value of `resp`
20619    #[inline]
20620    pub fn set_resp(&mut self, value: i32) -> &mut Self {
20621        self.r#resp = value.into();
20622        self
20623    }
20624    ///Builder method that sets the value of `resp`. Useful for initializing the message.
20625    #[inline]
20626    pub fn init_resp(mut self, value: i32) -> Self {
20627        self.r#resp = value.into();
20628        self
20629    }
20630    ///Return a reference to `country`
20631    #[inline]
20632    pub fn r#country(&self) -> &::micropb::heapless::Vec<u8, 32> {
20633        &self.r#country
20634    }
20635    ///Return a mutable reference to `country`
20636    #[inline]
20637    pub fn mut_country(&mut self) -> &mut ::micropb::heapless::Vec<u8, 32> {
20638        &mut self.r#country
20639    }
20640    ///Set the value of `country`
20641    #[inline]
20642    pub fn set_country(&mut self, value: ::micropb::heapless::Vec<u8, 32>) -> &mut Self {
20643        self.r#country = value.into();
20644        self
20645    }
20646    ///Builder method that sets the value of `country`. Useful for initializing the message.
20647    #[inline]
20648    pub fn init_country(mut self, value: ::micropb::heapless::Vec<u8, 32>) -> Self {
20649        self.r#country = value.into();
20650        self
20651    }
20652}
20653impl ::micropb::MessageDecode for Rpc_Resp_WifiGetCountryCode {
20654    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
20655        &mut self,
20656        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
20657        len: usize,
20658    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
20659        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
20660        let before = decoder.bytes_read();
20661        while decoder.bytes_read() - before < len {
20662            let tag = decoder.decode_tag()?;
20663            match tag.field_num() {
20664                0 => return Err(::micropb::DecodeError::ZeroField),
20665                1u32 => {
20666                    let mut_ref = &mut self.r#resp;
20667                    {
20668                        let val = decoder.decode_int32()?;
20669                        let val_ref = &val;
20670                        if *val_ref != 0 {
20671                            *mut_ref = val as _;
20672                        }
20673                    };
20674                }
20675                2u32 => {
20676                    let mut_ref = &mut self.r#country;
20677                    {
20678                        decoder.decode_bytes(mut_ref, ::micropb::Presence::Implicit)?;
20679                    };
20680                }
20681                _ => {
20682                    decoder.skip_wire_value(tag.wire_type())?;
20683                }
20684            }
20685        }
20686        Ok(())
20687    }
20688}
20689impl ::micropb::MessageEncode for Rpc_Resp_WifiGetCountryCode {
20690    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
20691        let mut max_size = 0;
20692        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
20693            ::core::option::Option::Some(10usize), | size | size + 1usize
20694        ) {
20695            max_size += size;
20696        } else {
20697            break 'msg (::core::option::Option::<usize>::None);
20698        };
20699        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
20700            ::core::option::Option::Some(33usize), | size | size + 1usize
20701        ) {
20702            max_size += size;
20703        } else {
20704            break 'msg (::core::option::Option::<usize>::None);
20705        };
20706        ::core::option::Option::Some(max_size)
20707    };
20708    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
20709        &self,
20710        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
20711    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
20712        use ::micropb::{PbMap, FieldEncode};
20713        {
20714            let val_ref = &self.r#resp;
20715            if *val_ref != 0 {
20716                encoder.encode_varint32(8u32)?;
20717                encoder.encode_int32(*val_ref as _)?;
20718            }
20719        }
20720        {
20721            let val_ref = &self.r#country;
20722            if !val_ref.is_empty() {
20723                encoder.encode_varint32(18u32)?;
20724                encoder.encode_bytes(val_ref)?;
20725            }
20726        }
20727        Ok(())
20728    }
20729    fn compute_size(&self) -> usize {
20730        use ::micropb::{PbMap, FieldEncode};
20731        let mut size = 0;
20732        {
20733            let val_ref = &self.r#resp;
20734            if *val_ref != 0 {
20735                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
20736            }
20737        }
20738        {
20739            let val_ref = &self.r#country;
20740            if !val_ref.is_empty() {
20741                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.len());
20742            }
20743        }
20744        size
20745    }
20746}
20747pub mod Rpc_Req_WifiSetCountry_ {
20748    #[derive(Debug, Default, PartialEq, Clone)]
20749    pub struct _Hazzer([u8; 1]);
20750    impl _Hazzer {
20751        ///New hazzer with all fields set to off
20752        #[inline]
20753        pub const fn _new() -> Self {
20754            Self([0; 1])
20755        }
20756        ///Query presence of `country`
20757        #[inline]
20758        pub const fn r#country(&self) -> bool {
20759            (self.0[0] & 1) != 0
20760        }
20761        ///Set presence of `country`
20762        #[inline]
20763        pub const fn set_country(&mut self) -> &mut Self {
20764            let elem = &mut self.0[0];
20765            *elem |= 1;
20766            self
20767        }
20768        ///Clear presence of `country`
20769        #[inline]
20770        pub const fn clear_country(&mut self) -> &mut Self {
20771            let elem = &mut self.0[0];
20772            *elem &= !1;
20773            self
20774        }
20775        ///Builder method that sets the presence of `country`. Useful for initializing the Hazzer.
20776        #[inline]
20777        pub const fn init_country(mut self) -> Self {
20778            self.set_country();
20779            self
20780        }
20781    }
20782}
20783#[derive(Debug, Default, Clone)]
20784pub struct Rpc_Req_WifiSetCountry {
20785    pub r#country: r#wifi_country,
20786    pub _has: Rpc_Req_WifiSetCountry_::_Hazzer,
20787}
20788impl ::core::cmp::PartialEq for Rpc_Req_WifiSetCountry {
20789    fn eq(&self, other: &Self) -> bool {
20790        let mut ret = true;
20791        ret &= (self.r#country() == other.r#country());
20792        ret
20793    }
20794}
20795impl Rpc_Req_WifiSetCountry {
20796    ///Return a reference to `country` as an `Option`
20797    #[inline]
20798    pub fn r#country(&self) -> ::core::option::Option<&r#wifi_country> {
20799        self._has.r#country().then_some(&self.r#country)
20800    }
20801    ///Set the value and presence of `country`
20802    #[inline]
20803    pub fn set_country(&mut self, value: r#wifi_country) -> &mut Self {
20804        self._has.set_country();
20805        self.r#country = value.into();
20806        self
20807    }
20808    ///Return a mutable reference to `country` as an `Option`
20809    #[inline]
20810    pub fn mut_country(&mut self) -> ::core::option::Option<&mut r#wifi_country> {
20811        self._has.r#country().then_some(&mut self.r#country)
20812    }
20813    ///Clear the presence of `country`
20814    #[inline]
20815    pub fn clear_country(&mut self) -> &mut Self {
20816        self._has.clear_country();
20817        self
20818    }
20819    ///Take the value of `country` and clear its presence
20820    #[inline]
20821    pub fn take_country(&mut self) -> ::core::option::Option<r#wifi_country> {
20822        let val = self._has.r#country().then(|| ::core::mem::take(&mut self.r#country));
20823        self._has.clear_country();
20824        val
20825    }
20826    ///Builder method that sets the value of `country`. Useful for initializing the message.
20827    #[inline]
20828    pub fn init_country(mut self, value: r#wifi_country) -> Self {
20829        self.set_country(value);
20830        self
20831    }
20832}
20833impl ::micropb::MessageDecode for Rpc_Req_WifiSetCountry {
20834    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
20835        &mut self,
20836        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
20837        len: usize,
20838    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
20839        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
20840        let before = decoder.bytes_read();
20841        while decoder.bytes_read() - before < len {
20842            let tag = decoder.decode_tag()?;
20843            match tag.field_num() {
20844                0 => return Err(::micropb::DecodeError::ZeroField),
20845                1u32 => {
20846                    let mut_ref = &mut self.r#country;
20847                    {
20848                        mut_ref.decode_len_delimited(decoder)?;
20849                    };
20850                    self._has.set_country();
20851                }
20852                _ => {
20853                    decoder.skip_wire_value(tag.wire_type())?;
20854                }
20855            }
20856        }
20857        Ok(())
20858    }
20859}
20860impl ::micropb::MessageEncode for Rpc_Req_WifiSetCountry {
20861    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
20862        let mut max_size = 0;
20863        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
20864            ::micropb::const_map!(< r#wifi_country as ::micropb::MessageEncode >
20865            ::MAX_SIZE, | size | ::micropb::size::sizeof_len_record(size)), | size | size
20866            + 1usize
20867        ) {
20868            max_size += size;
20869        } else {
20870            break 'msg (::core::option::Option::<usize>::None);
20871        };
20872        ::core::option::Option::Some(max_size)
20873    };
20874    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
20875        &self,
20876        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
20877    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
20878        use ::micropb::{PbMap, FieldEncode};
20879        {
20880            if let ::core::option::Option::Some(val_ref) = self.r#country() {
20881                encoder.encode_varint32(10u32)?;
20882                val_ref.encode_len_delimited(encoder)?;
20883            }
20884        }
20885        Ok(())
20886    }
20887    fn compute_size(&self) -> usize {
20888        use ::micropb::{PbMap, FieldEncode};
20889        let mut size = 0;
20890        {
20891            if let ::core::option::Option::Some(val_ref) = self.r#country() {
20892                size
20893                    += 1usize
20894                        + ::micropb::size::sizeof_len_record(val_ref.compute_size());
20895            }
20896        }
20897        size
20898    }
20899}
20900#[derive(Debug, Default, PartialEq, Clone)]
20901pub struct Rpc_Resp_WifiSetCountry {
20902    pub r#resp: i32,
20903}
20904impl Rpc_Resp_WifiSetCountry {
20905    ///Return a reference to `resp`
20906    #[inline]
20907    pub fn r#resp(&self) -> &i32 {
20908        &self.r#resp
20909    }
20910    ///Return a mutable reference to `resp`
20911    #[inline]
20912    pub fn mut_resp(&mut self) -> &mut i32 {
20913        &mut self.r#resp
20914    }
20915    ///Set the value of `resp`
20916    #[inline]
20917    pub fn set_resp(&mut self, value: i32) -> &mut Self {
20918        self.r#resp = value.into();
20919        self
20920    }
20921    ///Builder method that sets the value of `resp`. Useful for initializing the message.
20922    #[inline]
20923    pub fn init_resp(mut self, value: i32) -> Self {
20924        self.r#resp = value.into();
20925        self
20926    }
20927}
20928impl ::micropb::MessageDecode for Rpc_Resp_WifiSetCountry {
20929    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
20930        &mut self,
20931        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
20932        len: usize,
20933    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
20934        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
20935        let before = decoder.bytes_read();
20936        while decoder.bytes_read() - before < len {
20937            let tag = decoder.decode_tag()?;
20938            match tag.field_num() {
20939                0 => return Err(::micropb::DecodeError::ZeroField),
20940                1u32 => {
20941                    let mut_ref = &mut self.r#resp;
20942                    {
20943                        let val = decoder.decode_int32()?;
20944                        let val_ref = &val;
20945                        if *val_ref != 0 {
20946                            *mut_ref = val as _;
20947                        }
20948                    };
20949                }
20950                _ => {
20951                    decoder.skip_wire_value(tag.wire_type())?;
20952                }
20953            }
20954        }
20955        Ok(())
20956    }
20957}
20958impl ::micropb::MessageEncode for Rpc_Resp_WifiSetCountry {
20959    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
20960        let mut max_size = 0;
20961        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
20962            ::core::option::Option::Some(10usize), | size | size + 1usize
20963        ) {
20964            max_size += size;
20965        } else {
20966            break 'msg (::core::option::Option::<usize>::None);
20967        };
20968        ::core::option::Option::Some(max_size)
20969    };
20970    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
20971        &self,
20972        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
20973    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
20974        use ::micropb::{PbMap, FieldEncode};
20975        {
20976            let val_ref = &self.r#resp;
20977            if *val_ref != 0 {
20978                encoder.encode_varint32(8u32)?;
20979                encoder.encode_int32(*val_ref as _)?;
20980            }
20981        }
20982        Ok(())
20983    }
20984    fn compute_size(&self) -> usize {
20985        use ::micropb::{PbMap, FieldEncode};
20986        let mut size = 0;
20987        {
20988            let val_ref = &self.r#resp;
20989            if *val_ref != 0 {
20990                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
20991            }
20992        }
20993        size
20994    }
20995}
20996#[derive(Debug, Default, PartialEq, Clone)]
20997pub struct Rpc_Req_WifiGetCountry {}
20998impl Rpc_Req_WifiGetCountry {}
20999impl ::micropb::MessageDecode for Rpc_Req_WifiGetCountry {
21000    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
21001        &mut self,
21002        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
21003        len: usize,
21004    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
21005        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
21006        let before = decoder.bytes_read();
21007        while decoder.bytes_read() - before < len {
21008            let tag = decoder.decode_tag()?;
21009            match tag.field_num() {
21010                0 => return Err(::micropb::DecodeError::ZeroField),
21011                _ => {
21012                    decoder.skip_wire_value(tag.wire_type())?;
21013                }
21014            }
21015        }
21016        Ok(())
21017    }
21018}
21019impl ::micropb::MessageEncode for Rpc_Req_WifiGetCountry {
21020    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
21021        let mut max_size = 0;
21022        ::core::option::Option::Some(max_size)
21023    };
21024    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
21025        &self,
21026        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
21027    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
21028        use ::micropb::{PbMap, FieldEncode};
21029        Ok(())
21030    }
21031    fn compute_size(&self) -> usize {
21032        use ::micropb::{PbMap, FieldEncode};
21033        let mut size = 0;
21034        size
21035    }
21036}
21037pub mod Rpc_Resp_WifiGetCountry_ {
21038    #[derive(Debug, Default, PartialEq, Clone)]
21039    pub struct _Hazzer([u8; 1]);
21040    impl _Hazzer {
21041        ///New hazzer with all fields set to off
21042        #[inline]
21043        pub const fn _new() -> Self {
21044            Self([0; 1])
21045        }
21046        ///Query presence of `country`
21047        #[inline]
21048        pub const fn r#country(&self) -> bool {
21049            (self.0[0] & 1) != 0
21050        }
21051        ///Set presence of `country`
21052        #[inline]
21053        pub const fn set_country(&mut self) -> &mut Self {
21054            let elem = &mut self.0[0];
21055            *elem |= 1;
21056            self
21057        }
21058        ///Clear presence of `country`
21059        #[inline]
21060        pub const fn clear_country(&mut self) -> &mut Self {
21061            let elem = &mut self.0[0];
21062            *elem &= !1;
21063            self
21064        }
21065        ///Builder method that sets the presence of `country`. Useful for initializing the Hazzer.
21066        #[inline]
21067        pub const fn init_country(mut self) -> Self {
21068            self.set_country();
21069            self
21070        }
21071    }
21072}
21073#[derive(Debug, Default, Clone)]
21074pub struct Rpc_Resp_WifiGetCountry {
21075    pub r#resp: i32,
21076    pub r#country: r#wifi_country,
21077    pub _has: Rpc_Resp_WifiGetCountry_::_Hazzer,
21078}
21079impl ::core::cmp::PartialEq for Rpc_Resp_WifiGetCountry {
21080    fn eq(&self, other: &Self) -> bool {
21081        let mut ret = true;
21082        ret &= (self.r#resp == other.r#resp);
21083        ret &= (self.r#country() == other.r#country());
21084        ret
21085    }
21086}
21087impl Rpc_Resp_WifiGetCountry {
21088    ///Return a reference to `resp`
21089    #[inline]
21090    pub fn r#resp(&self) -> &i32 {
21091        &self.r#resp
21092    }
21093    ///Return a mutable reference to `resp`
21094    #[inline]
21095    pub fn mut_resp(&mut self) -> &mut i32 {
21096        &mut self.r#resp
21097    }
21098    ///Set the value of `resp`
21099    #[inline]
21100    pub fn set_resp(&mut self, value: i32) -> &mut Self {
21101        self.r#resp = value.into();
21102        self
21103    }
21104    ///Builder method that sets the value of `resp`. Useful for initializing the message.
21105    #[inline]
21106    pub fn init_resp(mut self, value: i32) -> Self {
21107        self.r#resp = value.into();
21108        self
21109    }
21110    ///Return a reference to `country` as an `Option`
21111    #[inline]
21112    pub fn r#country(&self) -> ::core::option::Option<&r#wifi_country> {
21113        self._has.r#country().then_some(&self.r#country)
21114    }
21115    ///Set the value and presence of `country`
21116    #[inline]
21117    pub fn set_country(&mut self, value: r#wifi_country) -> &mut Self {
21118        self._has.set_country();
21119        self.r#country = value.into();
21120        self
21121    }
21122    ///Return a mutable reference to `country` as an `Option`
21123    #[inline]
21124    pub fn mut_country(&mut self) -> ::core::option::Option<&mut r#wifi_country> {
21125        self._has.r#country().then_some(&mut self.r#country)
21126    }
21127    ///Clear the presence of `country`
21128    #[inline]
21129    pub fn clear_country(&mut self) -> &mut Self {
21130        self._has.clear_country();
21131        self
21132    }
21133    ///Take the value of `country` and clear its presence
21134    #[inline]
21135    pub fn take_country(&mut self) -> ::core::option::Option<r#wifi_country> {
21136        let val = self._has.r#country().then(|| ::core::mem::take(&mut self.r#country));
21137        self._has.clear_country();
21138        val
21139    }
21140    ///Builder method that sets the value of `country`. Useful for initializing the message.
21141    #[inline]
21142    pub fn init_country(mut self, value: r#wifi_country) -> Self {
21143        self.set_country(value);
21144        self
21145    }
21146}
21147impl ::micropb::MessageDecode for Rpc_Resp_WifiGetCountry {
21148    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
21149        &mut self,
21150        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
21151        len: usize,
21152    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
21153        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
21154        let before = decoder.bytes_read();
21155        while decoder.bytes_read() - before < len {
21156            let tag = decoder.decode_tag()?;
21157            match tag.field_num() {
21158                0 => return Err(::micropb::DecodeError::ZeroField),
21159                1u32 => {
21160                    let mut_ref = &mut self.r#resp;
21161                    {
21162                        let val = decoder.decode_int32()?;
21163                        let val_ref = &val;
21164                        if *val_ref != 0 {
21165                            *mut_ref = val as _;
21166                        }
21167                    };
21168                }
21169                2u32 => {
21170                    let mut_ref = &mut self.r#country;
21171                    {
21172                        mut_ref.decode_len_delimited(decoder)?;
21173                    };
21174                    self._has.set_country();
21175                }
21176                _ => {
21177                    decoder.skip_wire_value(tag.wire_type())?;
21178                }
21179            }
21180        }
21181        Ok(())
21182    }
21183}
21184impl ::micropb::MessageEncode for Rpc_Resp_WifiGetCountry {
21185    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
21186        let mut max_size = 0;
21187        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
21188            ::core::option::Option::Some(10usize), | size | size + 1usize
21189        ) {
21190            max_size += size;
21191        } else {
21192            break 'msg (::core::option::Option::<usize>::None);
21193        };
21194        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
21195            ::micropb::const_map!(< r#wifi_country as ::micropb::MessageEncode >
21196            ::MAX_SIZE, | size | ::micropb::size::sizeof_len_record(size)), | size | size
21197            + 1usize
21198        ) {
21199            max_size += size;
21200        } else {
21201            break 'msg (::core::option::Option::<usize>::None);
21202        };
21203        ::core::option::Option::Some(max_size)
21204    };
21205    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
21206        &self,
21207        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
21208    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
21209        use ::micropb::{PbMap, FieldEncode};
21210        {
21211            let val_ref = &self.r#resp;
21212            if *val_ref != 0 {
21213                encoder.encode_varint32(8u32)?;
21214                encoder.encode_int32(*val_ref as _)?;
21215            }
21216        }
21217        {
21218            if let ::core::option::Option::Some(val_ref) = self.r#country() {
21219                encoder.encode_varint32(18u32)?;
21220                val_ref.encode_len_delimited(encoder)?;
21221            }
21222        }
21223        Ok(())
21224    }
21225    fn compute_size(&self) -> usize {
21226        use ::micropb::{PbMap, FieldEncode};
21227        let mut size = 0;
21228        {
21229            let val_ref = &self.r#resp;
21230            if *val_ref != 0 {
21231                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
21232            }
21233        }
21234        {
21235            if let ::core::option::Option::Some(val_ref) = self.r#country() {
21236                size
21237                    += 1usize
21238                        + ::micropb::size::sizeof_len_record(val_ref.compute_size());
21239            }
21240        }
21241        size
21242    }
21243}
21244#[derive(Debug, Default, PartialEq, Clone)]
21245pub struct Rpc_Req_WifiApGetStaList {}
21246impl Rpc_Req_WifiApGetStaList {}
21247impl ::micropb::MessageDecode for Rpc_Req_WifiApGetStaList {
21248    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
21249        &mut self,
21250        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
21251        len: usize,
21252    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
21253        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
21254        let before = decoder.bytes_read();
21255        while decoder.bytes_read() - before < len {
21256            let tag = decoder.decode_tag()?;
21257            match tag.field_num() {
21258                0 => return Err(::micropb::DecodeError::ZeroField),
21259                _ => {
21260                    decoder.skip_wire_value(tag.wire_type())?;
21261                }
21262            }
21263        }
21264        Ok(())
21265    }
21266}
21267impl ::micropb::MessageEncode for Rpc_Req_WifiApGetStaList {
21268    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
21269        let mut max_size = 0;
21270        ::core::option::Option::Some(max_size)
21271    };
21272    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
21273        &self,
21274        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
21275    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
21276        use ::micropb::{PbMap, FieldEncode};
21277        Ok(())
21278    }
21279    fn compute_size(&self) -> usize {
21280        use ::micropb::{PbMap, FieldEncode};
21281        let mut size = 0;
21282        size
21283    }
21284}
21285pub mod Rpc_Resp_WifiApGetStaList_ {
21286    #[derive(Debug, Default, PartialEq, Clone)]
21287    pub struct _Hazzer([u8; 1]);
21288    impl _Hazzer {
21289        ///New hazzer with all fields set to off
21290        #[inline]
21291        pub const fn _new() -> Self {
21292            Self([0; 1])
21293        }
21294        ///Query presence of `sta_list`
21295        #[inline]
21296        pub const fn r#sta_list(&self) -> bool {
21297            (self.0[0] & 1) != 0
21298        }
21299        ///Set presence of `sta_list`
21300        #[inline]
21301        pub const fn set_sta_list(&mut self) -> &mut Self {
21302            let elem = &mut self.0[0];
21303            *elem |= 1;
21304            self
21305        }
21306        ///Clear presence of `sta_list`
21307        #[inline]
21308        pub const fn clear_sta_list(&mut self) -> &mut Self {
21309            let elem = &mut self.0[0];
21310            *elem &= !1;
21311            self
21312        }
21313        ///Builder method that sets the presence of `sta_list`. Useful for initializing the Hazzer.
21314        #[inline]
21315        pub const fn init_sta_list(mut self) -> Self {
21316            self.set_sta_list();
21317            self
21318        }
21319    }
21320}
21321#[derive(Debug, Default, Clone)]
21322pub struct Rpc_Resp_WifiApGetStaList {
21323    pub r#resp: i32,
21324    pub r#sta_list: r#wifi_sta_list,
21325    pub _has: Rpc_Resp_WifiApGetStaList_::_Hazzer,
21326}
21327impl ::core::cmp::PartialEq for Rpc_Resp_WifiApGetStaList {
21328    fn eq(&self, other: &Self) -> bool {
21329        let mut ret = true;
21330        ret &= (self.r#resp == other.r#resp);
21331        ret &= (self.r#sta_list() == other.r#sta_list());
21332        ret
21333    }
21334}
21335impl Rpc_Resp_WifiApGetStaList {
21336    ///Return a reference to `resp`
21337    #[inline]
21338    pub fn r#resp(&self) -> &i32 {
21339        &self.r#resp
21340    }
21341    ///Return a mutable reference to `resp`
21342    #[inline]
21343    pub fn mut_resp(&mut self) -> &mut i32 {
21344        &mut self.r#resp
21345    }
21346    ///Set the value of `resp`
21347    #[inline]
21348    pub fn set_resp(&mut self, value: i32) -> &mut Self {
21349        self.r#resp = value.into();
21350        self
21351    }
21352    ///Builder method that sets the value of `resp`. Useful for initializing the message.
21353    #[inline]
21354    pub fn init_resp(mut self, value: i32) -> Self {
21355        self.r#resp = value.into();
21356        self
21357    }
21358    ///Return a reference to `sta_list` as an `Option`
21359    #[inline]
21360    pub fn r#sta_list(&self) -> ::core::option::Option<&r#wifi_sta_list> {
21361        self._has.r#sta_list().then_some(&self.r#sta_list)
21362    }
21363    ///Set the value and presence of `sta_list`
21364    #[inline]
21365    pub fn set_sta_list(&mut self, value: r#wifi_sta_list) -> &mut Self {
21366        self._has.set_sta_list();
21367        self.r#sta_list = value.into();
21368        self
21369    }
21370    ///Return a mutable reference to `sta_list` as an `Option`
21371    #[inline]
21372    pub fn mut_sta_list(&mut self) -> ::core::option::Option<&mut r#wifi_sta_list> {
21373        self._has.r#sta_list().then_some(&mut self.r#sta_list)
21374    }
21375    ///Clear the presence of `sta_list`
21376    #[inline]
21377    pub fn clear_sta_list(&mut self) -> &mut Self {
21378        self._has.clear_sta_list();
21379        self
21380    }
21381    ///Take the value of `sta_list` and clear its presence
21382    #[inline]
21383    pub fn take_sta_list(&mut self) -> ::core::option::Option<r#wifi_sta_list> {
21384        let val = self
21385            ._has
21386            .r#sta_list()
21387            .then(|| ::core::mem::take(&mut self.r#sta_list));
21388        self._has.clear_sta_list();
21389        val
21390    }
21391    ///Builder method that sets the value of `sta_list`. Useful for initializing the message.
21392    #[inline]
21393    pub fn init_sta_list(mut self, value: r#wifi_sta_list) -> Self {
21394        self.set_sta_list(value);
21395        self
21396    }
21397}
21398impl ::micropb::MessageDecode for Rpc_Resp_WifiApGetStaList {
21399    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
21400        &mut self,
21401        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
21402        len: usize,
21403    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
21404        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
21405        let before = decoder.bytes_read();
21406        while decoder.bytes_read() - before < len {
21407            let tag = decoder.decode_tag()?;
21408            match tag.field_num() {
21409                0 => return Err(::micropb::DecodeError::ZeroField),
21410                1u32 => {
21411                    let mut_ref = &mut self.r#resp;
21412                    {
21413                        let val = decoder.decode_int32()?;
21414                        let val_ref = &val;
21415                        if *val_ref != 0 {
21416                            *mut_ref = val as _;
21417                        }
21418                    };
21419                }
21420                2u32 => {
21421                    let mut_ref = &mut self.r#sta_list;
21422                    {
21423                        mut_ref.decode_len_delimited(decoder)?;
21424                    };
21425                    self._has.set_sta_list();
21426                }
21427                _ => {
21428                    decoder.skip_wire_value(tag.wire_type())?;
21429                }
21430            }
21431        }
21432        Ok(())
21433    }
21434}
21435impl ::micropb::MessageEncode for Rpc_Resp_WifiApGetStaList {
21436    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
21437        let mut max_size = 0;
21438        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
21439            ::core::option::Option::Some(10usize), | size | size + 1usize
21440        ) {
21441            max_size += size;
21442        } else {
21443            break 'msg (::core::option::Option::<usize>::None);
21444        };
21445        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
21446            ::micropb::const_map!(< r#wifi_sta_list as ::micropb::MessageEncode >
21447            ::MAX_SIZE, | size | ::micropb::size::sizeof_len_record(size)), | size | size
21448            + 1usize
21449        ) {
21450            max_size += size;
21451        } else {
21452            break 'msg (::core::option::Option::<usize>::None);
21453        };
21454        ::core::option::Option::Some(max_size)
21455    };
21456    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
21457        &self,
21458        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
21459    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
21460        use ::micropb::{PbMap, FieldEncode};
21461        {
21462            let val_ref = &self.r#resp;
21463            if *val_ref != 0 {
21464                encoder.encode_varint32(8u32)?;
21465                encoder.encode_int32(*val_ref as _)?;
21466            }
21467        }
21468        {
21469            if let ::core::option::Option::Some(val_ref) = self.r#sta_list() {
21470                encoder.encode_varint32(18u32)?;
21471                val_ref.encode_len_delimited(encoder)?;
21472            }
21473        }
21474        Ok(())
21475    }
21476    fn compute_size(&self) -> usize {
21477        use ::micropb::{PbMap, FieldEncode};
21478        let mut size = 0;
21479        {
21480            let val_ref = &self.r#resp;
21481            if *val_ref != 0 {
21482                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
21483            }
21484        }
21485        {
21486            if let ::core::option::Option::Some(val_ref) = self.r#sta_list() {
21487                size
21488                    += 1usize
21489                        + ::micropb::size::sizeof_len_record(val_ref.compute_size());
21490            }
21491        }
21492        size
21493    }
21494}
21495#[derive(Debug, Default, PartialEq, Clone)]
21496pub struct Rpc_Req_WifiApGetStaAid {
21497    pub r#mac: ::micropb::heapless::Vec<u8, 32>,
21498}
21499impl Rpc_Req_WifiApGetStaAid {
21500    ///Return a reference to `mac`
21501    #[inline]
21502    pub fn r#mac(&self) -> &::micropb::heapless::Vec<u8, 32> {
21503        &self.r#mac
21504    }
21505    ///Return a mutable reference to `mac`
21506    #[inline]
21507    pub fn mut_mac(&mut self) -> &mut ::micropb::heapless::Vec<u8, 32> {
21508        &mut self.r#mac
21509    }
21510    ///Set the value of `mac`
21511    #[inline]
21512    pub fn set_mac(&mut self, value: ::micropb::heapless::Vec<u8, 32>) -> &mut Self {
21513        self.r#mac = value.into();
21514        self
21515    }
21516    ///Builder method that sets the value of `mac`. Useful for initializing the message.
21517    #[inline]
21518    pub fn init_mac(mut self, value: ::micropb::heapless::Vec<u8, 32>) -> Self {
21519        self.r#mac = value.into();
21520        self
21521    }
21522}
21523impl ::micropb::MessageDecode for Rpc_Req_WifiApGetStaAid {
21524    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
21525        &mut self,
21526        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
21527        len: usize,
21528    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
21529        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
21530        let before = decoder.bytes_read();
21531        while decoder.bytes_read() - before < len {
21532            let tag = decoder.decode_tag()?;
21533            match tag.field_num() {
21534                0 => return Err(::micropb::DecodeError::ZeroField),
21535                1u32 => {
21536                    let mut_ref = &mut self.r#mac;
21537                    {
21538                        decoder.decode_bytes(mut_ref, ::micropb::Presence::Implicit)?;
21539                    };
21540                }
21541                _ => {
21542                    decoder.skip_wire_value(tag.wire_type())?;
21543                }
21544            }
21545        }
21546        Ok(())
21547    }
21548}
21549impl ::micropb::MessageEncode for Rpc_Req_WifiApGetStaAid {
21550    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
21551        let mut max_size = 0;
21552        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
21553            ::core::option::Option::Some(33usize), | size | size + 1usize
21554        ) {
21555            max_size += size;
21556        } else {
21557            break 'msg (::core::option::Option::<usize>::None);
21558        };
21559        ::core::option::Option::Some(max_size)
21560    };
21561    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
21562        &self,
21563        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
21564    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
21565        use ::micropb::{PbMap, FieldEncode};
21566        {
21567            let val_ref = &self.r#mac;
21568            if !val_ref.is_empty() {
21569                encoder.encode_varint32(10u32)?;
21570                encoder.encode_bytes(val_ref)?;
21571            }
21572        }
21573        Ok(())
21574    }
21575    fn compute_size(&self) -> usize {
21576        use ::micropb::{PbMap, FieldEncode};
21577        let mut size = 0;
21578        {
21579            let val_ref = &self.r#mac;
21580            if !val_ref.is_empty() {
21581                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.len());
21582            }
21583        }
21584        size
21585    }
21586}
21587#[derive(Debug, Default, PartialEq, Clone)]
21588pub struct Rpc_Req_WifiStaGetNegotiatedPhymode {}
21589impl Rpc_Req_WifiStaGetNegotiatedPhymode {}
21590impl ::micropb::MessageDecode for Rpc_Req_WifiStaGetNegotiatedPhymode {
21591    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
21592        &mut self,
21593        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
21594        len: usize,
21595    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
21596        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
21597        let before = decoder.bytes_read();
21598        while decoder.bytes_read() - before < len {
21599            let tag = decoder.decode_tag()?;
21600            match tag.field_num() {
21601                0 => return Err(::micropb::DecodeError::ZeroField),
21602                _ => {
21603                    decoder.skip_wire_value(tag.wire_type())?;
21604                }
21605            }
21606        }
21607        Ok(())
21608    }
21609}
21610impl ::micropb::MessageEncode for Rpc_Req_WifiStaGetNegotiatedPhymode {
21611    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
21612        let mut max_size = 0;
21613        ::core::option::Option::Some(max_size)
21614    };
21615    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
21616        &self,
21617        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
21618    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
21619        use ::micropb::{PbMap, FieldEncode};
21620        Ok(())
21621    }
21622    fn compute_size(&self) -> usize {
21623        use ::micropb::{PbMap, FieldEncode};
21624        let mut size = 0;
21625        size
21626    }
21627}
21628#[derive(Debug, Default, PartialEq, Clone)]
21629pub struct Rpc_Resp_WifiStaGetNegotiatedPhymode {
21630    pub r#resp: i32,
21631    pub r#phymode: u32,
21632}
21633impl Rpc_Resp_WifiStaGetNegotiatedPhymode {
21634    ///Return a reference to `resp`
21635    #[inline]
21636    pub fn r#resp(&self) -> &i32 {
21637        &self.r#resp
21638    }
21639    ///Return a mutable reference to `resp`
21640    #[inline]
21641    pub fn mut_resp(&mut self) -> &mut i32 {
21642        &mut self.r#resp
21643    }
21644    ///Set the value of `resp`
21645    #[inline]
21646    pub fn set_resp(&mut self, value: i32) -> &mut Self {
21647        self.r#resp = value.into();
21648        self
21649    }
21650    ///Builder method that sets the value of `resp`. Useful for initializing the message.
21651    #[inline]
21652    pub fn init_resp(mut self, value: i32) -> Self {
21653        self.r#resp = value.into();
21654        self
21655    }
21656    ///Return a reference to `phymode`
21657    #[inline]
21658    pub fn r#phymode(&self) -> &u32 {
21659        &self.r#phymode
21660    }
21661    ///Return a mutable reference to `phymode`
21662    #[inline]
21663    pub fn mut_phymode(&mut self) -> &mut u32 {
21664        &mut self.r#phymode
21665    }
21666    ///Set the value of `phymode`
21667    #[inline]
21668    pub fn set_phymode(&mut self, value: u32) -> &mut Self {
21669        self.r#phymode = value.into();
21670        self
21671    }
21672    ///Builder method that sets the value of `phymode`. Useful for initializing the message.
21673    #[inline]
21674    pub fn init_phymode(mut self, value: u32) -> Self {
21675        self.r#phymode = value.into();
21676        self
21677    }
21678}
21679impl ::micropb::MessageDecode for Rpc_Resp_WifiStaGetNegotiatedPhymode {
21680    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
21681        &mut self,
21682        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
21683        len: usize,
21684    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
21685        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
21686        let before = decoder.bytes_read();
21687        while decoder.bytes_read() - before < len {
21688            let tag = decoder.decode_tag()?;
21689            match tag.field_num() {
21690                0 => return Err(::micropb::DecodeError::ZeroField),
21691                1u32 => {
21692                    let mut_ref = &mut self.r#resp;
21693                    {
21694                        let val = decoder.decode_int32()?;
21695                        let val_ref = &val;
21696                        if *val_ref != 0 {
21697                            *mut_ref = val as _;
21698                        }
21699                    };
21700                }
21701                2u32 => {
21702                    let mut_ref = &mut self.r#phymode;
21703                    {
21704                        let val = decoder.decode_varint32()?;
21705                        let val_ref = &val;
21706                        if *val_ref != 0 {
21707                            *mut_ref = val as _;
21708                        }
21709                    };
21710                }
21711                _ => {
21712                    decoder.skip_wire_value(tag.wire_type())?;
21713                }
21714            }
21715        }
21716        Ok(())
21717    }
21718}
21719impl ::micropb::MessageEncode for Rpc_Resp_WifiStaGetNegotiatedPhymode {
21720    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
21721        let mut max_size = 0;
21722        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
21723            ::core::option::Option::Some(10usize), | size | size + 1usize
21724        ) {
21725            max_size += size;
21726        } else {
21727            break 'msg (::core::option::Option::<usize>::None);
21728        };
21729        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
21730            ::core::option::Option::Some(5usize), | size | size + 1usize
21731        ) {
21732            max_size += size;
21733        } else {
21734            break 'msg (::core::option::Option::<usize>::None);
21735        };
21736        ::core::option::Option::Some(max_size)
21737    };
21738    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
21739        &self,
21740        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
21741    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
21742        use ::micropb::{PbMap, FieldEncode};
21743        {
21744            let val_ref = &self.r#resp;
21745            if *val_ref != 0 {
21746                encoder.encode_varint32(8u32)?;
21747                encoder.encode_int32(*val_ref as _)?;
21748            }
21749        }
21750        {
21751            let val_ref = &self.r#phymode;
21752            if *val_ref != 0 {
21753                encoder.encode_varint32(16u32)?;
21754                encoder.encode_varint32(*val_ref as _)?;
21755            }
21756        }
21757        Ok(())
21758    }
21759    fn compute_size(&self) -> usize {
21760        use ::micropb::{PbMap, FieldEncode};
21761        let mut size = 0;
21762        {
21763            let val_ref = &self.r#resp;
21764            if *val_ref != 0 {
21765                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
21766            }
21767        }
21768        {
21769            let val_ref = &self.r#phymode;
21770            if *val_ref != 0 {
21771                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
21772            }
21773        }
21774        size
21775    }
21776}
21777#[derive(Debug, Default, PartialEq, Clone)]
21778pub struct Rpc_Resp_WifiApGetStaAid {
21779    pub r#resp: i32,
21780    pub r#aid: u32,
21781}
21782impl Rpc_Resp_WifiApGetStaAid {
21783    ///Return a reference to `resp`
21784    #[inline]
21785    pub fn r#resp(&self) -> &i32 {
21786        &self.r#resp
21787    }
21788    ///Return a mutable reference to `resp`
21789    #[inline]
21790    pub fn mut_resp(&mut self) -> &mut i32 {
21791        &mut self.r#resp
21792    }
21793    ///Set the value of `resp`
21794    #[inline]
21795    pub fn set_resp(&mut self, value: i32) -> &mut Self {
21796        self.r#resp = value.into();
21797        self
21798    }
21799    ///Builder method that sets the value of `resp`. Useful for initializing the message.
21800    #[inline]
21801    pub fn init_resp(mut self, value: i32) -> Self {
21802        self.r#resp = value.into();
21803        self
21804    }
21805    ///Return a reference to `aid`
21806    #[inline]
21807    pub fn r#aid(&self) -> &u32 {
21808        &self.r#aid
21809    }
21810    ///Return a mutable reference to `aid`
21811    #[inline]
21812    pub fn mut_aid(&mut self) -> &mut u32 {
21813        &mut self.r#aid
21814    }
21815    ///Set the value of `aid`
21816    #[inline]
21817    pub fn set_aid(&mut self, value: u32) -> &mut Self {
21818        self.r#aid = value.into();
21819        self
21820    }
21821    ///Builder method that sets the value of `aid`. Useful for initializing the message.
21822    #[inline]
21823    pub fn init_aid(mut self, value: u32) -> Self {
21824        self.r#aid = value.into();
21825        self
21826    }
21827}
21828impl ::micropb::MessageDecode for Rpc_Resp_WifiApGetStaAid {
21829    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
21830        &mut self,
21831        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
21832        len: usize,
21833    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
21834        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
21835        let before = decoder.bytes_read();
21836        while decoder.bytes_read() - before < len {
21837            let tag = decoder.decode_tag()?;
21838            match tag.field_num() {
21839                0 => return Err(::micropb::DecodeError::ZeroField),
21840                1u32 => {
21841                    let mut_ref = &mut self.r#resp;
21842                    {
21843                        let val = decoder.decode_int32()?;
21844                        let val_ref = &val;
21845                        if *val_ref != 0 {
21846                            *mut_ref = val as _;
21847                        }
21848                    };
21849                }
21850                2u32 => {
21851                    let mut_ref = &mut self.r#aid;
21852                    {
21853                        let val = decoder.decode_varint32()?;
21854                        let val_ref = &val;
21855                        if *val_ref != 0 {
21856                            *mut_ref = val as _;
21857                        }
21858                    };
21859                }
21860                _ => {
21861                    decoder.skip_wire_value(tag.wire_type())?;
21862                }
21863            }
21864        }
21865        Ok(())
21866    }
21867}
21868impl ::micropb::MessageEncode for Rpc_Resp_WifiApGetStaAid {
21869    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
21870        let mut max_size = 0;
21871        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
21872            ::core::option::Option::Some(10usize), | size | size + 1usize
21873        ) {
21874            max_size += size;
21875        } else {
21876            break 'msg (::core::option::Option::<usize>::None);
21877        };
21878        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
21879            ::core::option::Option::Some(5usize), | size | size + 1usize
21880        ) {
21881            max_size += size;
21882        } else {
21883            break 'msg (::core::option::Option::<usize>::None);
21884        };
21885        ::core::option::Option::Some(max_size)
21886    };
21887    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
21888        &self,
21889        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
21890    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
21891        use ::micropb::{PbMap, FieldEncode};
21892        {
21893            let val_ref = &self.r#resp;
21894            if *val_ref != 0 {
21895                encoder.encode_varint32(8u32)?;
21896                encoder.encode_int32(*val_ref as _)?;
21897            }
21898        }
21899        {
21900            let val_ref = &self.r#aid;
21901            if *val_ref != 0 {
21902                encoder.encode_varint32(16u32)?;
21903                encoder.encode_varint32(*val_ref as _)?;
21904            }
21905        }
21906        Ok(())
21907    }
21908    fn compute_size(&self) -> usize {
21909        use ::micropb::{PbMap, FieldEncode};
21910        let mut size = 0;
21911        {
21912            let val_ref = &self.r#resp;
21913            if *val_ref != 0 {
21914                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
21915            }
21916        }
21917        {
21918            let val_ref = &self.r#aid;
21919            if *val_ref != 0 {
21920                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
21921            }
21922        }
21923        size
21924    }
21925}
21926#[derive(Debug, Default, PartialEq, Clone)]
21927pub struct Rpc_Req_WifiStaGetRssi {}
21928impl Rpc_Req_WifiStaGetRssi {}
21929impl ::micropb::MessageDecode for Rpc_Req_WifiStaGetRssi {
21930    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
21931        &mut self,
21932        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
21933        len: usize,
21934    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
21935        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
21936        let before = decoder.bytes_read();
21937        while decoder.bytes_read() - before < len {
21938            let tag = decoder.decode_tag()?;
21939            match tag.field_num() {
21940                0 => return Err(::micropb::DecodeError::ZeroField),
21941                _ => {
21942                    decoder.skip_wire_value(tag.wire_type())?;
21943                }
21944            }
21945        }
21946        Ok(())
21947    }
21948}
21949impl ::micropb::MessageEncode for Rpc_Req_WifiStaGetRssi {
21950    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
21951        let mut max_size = 0;
21952        ::core::option::Option::Some(max_size)
21953    };
21954    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
21955        &self,
21956        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
21957    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
21958        use ::micropb::{PbMap, FieldEncode};
21959        Ok(())
21960    }
21961    fn compute_size(&self) -> usize {
21962        use ::micropb::{PbMap, FieldEncode};
21963        let mut size = 0;
21964        size
21965    }
21966}
21967#[derive(Debug, Default, PartialEq, Clone)]
21968pub struct Rpc_Resp_WifiStaGetRssi {
21969    pub r#resp: i32,
21970    pub r#rssi: i32,
21971}
21972impl Rpc_Resp_WifiStaGetRssi {
21973    ///Return a reference to `resp`
21974    #[inline]
21975    pub fn r#resp(&self) -> &i32 {
21976        &self.r#resp
21977    }
21978    ///Return a mutable reference to `resp`
21979    #[inline]
21980    pub fn mut_resp(&mut self) -> &mut i32 {
21981        &mut self.r#resp
21982    }
21983    ///Set the value of `resp`
21984    #[inline]
21985    pub fn set_resp(&mut self, value: i32) -> &mut Self {
21986        self.r#resp = value.into();
21987        self
21988    }
21989    ///Builder method that sets the value of `resp`. Useful for initializing the message.
21990    #[inline]
21991    pub fn init_resp(mut self, value: i32) -> Self {
21992        self.r#resp = value.into();
21993        self
21994    }
21995    ///Return a reference to `rssi`
21996    #[inline]
21997    pub fn r#rssi(&self) -> &i32 {
21998        &self.r#rssi
21999    }
22000    ///Return a mutable reference to `rssi`
22001    #[inline]
22002    pub fn mut_rssi(&mut self) -> &mut i32 {
22003        &mut self.r#rssi
22004    }
22005    ///Set the value of `rssi`
22006    #[inline]
22007    pub fn set_rssi(&mut self, value: i32) -> &mut Self {
22008        self.r#rssi = value.into();
22009        self
22010    }
22011    ///Builder method that sets the value of `rssi`. Useful for initializing the message.
22012    #[inline]
22013    pub fn init_rssi(mut self, value: i32) -> Self {
22014        self.r#rssi = value.into();
22015        self
22016    }
22017}
22018impl ::micropb::MessageDecode for Rpc_Resp_WifiStaGetRssi {
22019    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
22020        &mut self,
22021        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
22022        len: usize,
22023    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
22024        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
22025        let before = decoder.bytes_read();
22026        while decoder.bytes_read() - before < len {
22027            let tag = decoder.decode_tag()?;
22028            match tag.field_num() {
22029                0 => return Err(::micropb::DecodeError::ZeroField),
22030                1u32 => {
22031                    let mut_ref = &mut self.r#resp;
22032                    {
22033                        let val = decoder.decode_int32()?;
22034                        let val_ref = &val;
22035                        if *val_ref != 0 {
22036                            *mut_ref = val as _;
22037                        }
22038                    };
22039                }
22040                2u32 => {
22041                    let mut_ref = &mut self.r#rssi;
22042                    {
22043                        let val = decoder.decode_int32()?;
22044                        let val_ref = &val;
22045                        if *val_ref != 0 {
22046                            *mut_ref = val as _;
22047                        }
22048                    };
22049                }
22050                _ => {
22051                    decoder.skip_wire_value(tag.wire_type())?;
22052                }
22053            }
22054        }
22055        Ok(())
22056    }
22057}
22058impl ::micropb::MessageEncode for Rpc_Resp_WifiStaGetRssi {
22059    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
22060        let mut max_size = 0;
22061        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
22062            ::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        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
22069            ::core::option::Option::Some(10usize), | size | size + 1usize
22070        ) {
22071            max_size += size;
22072        } else {
22073            break 'msg (::core::option::Option::<usize>::None);
22074        };
22075        ::core::option::Option::Some(max_size)
22076    };
22077    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
22078        &self,
22079        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
22080    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
22081        use ::micropb::{PbMap, FieldEncode};
22082        {
22083            let val_ref = &self.r#resp;
22084            if *val_ref != 0 {
22085                encoder.encode_varint32(8u32)?;
22086                encoder.encode_int32(*val_ref as _)?;
22087            }
22088        }
22089        {
22090            let val_ref = &self.r#rssi;
22091            if *val_ref != 0 {
22092                encoder.encode_varint32(16u32)?;
22093                encoder.encode_int32(*val_ref as _)?;
22094            }
22095        }
22096        Ok(())
22097    }
22098    fn compute_size(&self) -> usize {
22099        use ::micropb::{PbMap, FieldEncode};
22100        let mut size = 0;
22101        {
22102            let val_ref = &self.r#resp;
22103            if *val_ref != 0 {
22104                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
22105            }
22106        }
22107        {
22108            let val_ref = &self.r#rssi;
22109            if *val_ref != 0 {
22110                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
22111            }
22112        }
22113        size
22114    }
22115}
22116#[derive(Debug, Default, PartialEq, Clone)]
22117pub struct Rpc_Req_WifiStaGetAid {}
22118impl Rpc_Req_WifiStaGetAid {}
22119impl ::micropb::MessageDecode for Rpc_Req_WifiStaGetAid {
22120    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
22121        &mut self,
22122        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
22123        len: usize,
22124    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
22125        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
22126        let before = decoder.bytes_read();
22127        while decoder.bytes_read() - before < len {
22128            let tag = decoder.decode_tag()?;
22129            match tag.field_num() {
22130                0 => return Err(::micropb::DecodeError::ZeroField),
22131                _ => {
22132                    decoder.skip_wire_value(tag.wire_type())?;
22133                }
22134            }
22135        }
22136        Ok(())
22137    }
22138}
22139impl ::micropb::MessageEncode for Rpc_Req_WifiStaGetAid {
22140    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
22141        let mut max_size = 0;
22142        ::core::option::Option::Some(max_size)
22143    };
22144    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
22145        &self,
22146        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
22147    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
22148        use ::micropb::{PbMap, FieldEncode};
22149        Ok(())
22150    }
22151    fn compute_size(&self) -> usize {
22152        use ::micropb::{PbMap, FieldEncode};
22153        let mut size = 0;
22154        size
22155    }
22156}
22157#[derive(Debug, Default, PartialEq, Clone)]
22158pub struct Rpc_Resp_WifiStaGetAid {
22159    pub r#resp: i32,
22160    pub r#aid: u32,
22161}
22162impl Rpc_Resp_WifiStaGetAid {
22163    ///Return a reference to `resp`
22164    #[inline]
22165    pub fn r#resp(&self) -> &i32 {
22166        &self.r#resp
22167    }
22168    ///Return a mutable reference to `resp`
22169    #[inline]
22170    pub fn mut_resp(&mut self) -> &mut i32 {
22171        &mut self.r#resp
22172    }
22173    ///Set the value of `resp`
22174    #[inline]
22175    pub fn set_resp(&mut self, value: i32) -> &mut Self {
22176        self.r#resp = value.into();
22177        self
22178    }
22179    ///Builder method that sets the value of `resp`. Useful for initializing the message.
22180    #[inline]
22181    pub fn init_resp(mut self, value: i32) -> Self {
22182        self.r#resp = value.into();
22183        self
22184    }
22185    ///Return a reference to `aid`
22186    #[inline]
22187    pub fn r#aid(&self) -> &u32 {
22188        &self.r#aid
22189    }
22190    ///Return a mutable reference to `aid`
22191    #[inline]
22192    pub fn mut_aid(&mut self) -> &mut u32 {
22193        &mut self.r#aid
22194    }
22195    ///Set the value of `aid`
22196    #[inline]
22197    pub fn set_aid(&mut self, value: u32) -> &mut Self {
22198        self.r#aid = value.into();
22199        self
22200    }
22201    ///Builder method that sets the value of `aid`. Useful for initializing the message.
22202    #[inline]
22203    pub fn init_aid(mut self, value: u32) -> Self {
22204        self.r#aid = value.into();
22205        self
22206    }
22207}
22208impl ::micropb::MessageDecode for Rpc_Resp_WifiStaGetAid {
22209    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
22210        &mut self,
22211        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
22212        len: usize,
22213    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
22214        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
22215        let before = decoder.bytes_read();
22216        while decoder.bytes_read() - before < len {
22217            let tag = decoder.decode_tag()?;
22218            match tag.field_num() {
22219                0 => return Err(::micropb::DecodeError::ZeroField),
22220                1u32 => {
22221                    let mut_ref = &mut self.r#resp;
22222                    {
22223                        let val = decoder.decode_int32()?;
22224                        let val_ref = &val;
22225                        if *val_ref != 0 {
22226                            *mut_ref = val as _;
22227                        }
22228                    };
22229                }
22230                2u32 => {
22231                    let mut_ref = &mut self.r#aid;
22232                    {
22233                        let val = decoder.decode_varint32()?;
22234                        let val_ref = &val;
22235                        if *val_ref != 0 {
22236                            *mut_ref = val as _;
22237                        }
22238                    };
22239                }
22240                _ => {
22241                    decoder.skip_wire_value(tag.wire_type())?;
22242                }
22243            }
22244        }
22245        Ok(())
22246    }
22247}
22248impl ::micropb::MessageEncode for Rpc_Resp_WifiStaGetAid {
22249    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
22250        let mut max_size = 0;
22251        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
22252            ::core::option::Option::Some(10usize), | size | size + 1usize
22253        ) {
22254            max_size += size;
22255        } else {
22256            break 'msg (::core::option::Option::<usize>::None);
22257        };
22258        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
22259            ::core::option::Option::Some(5usize), | size | size + 1usize
22260        ) {
22261            max_size += size;
22262        } else {
22263            break 'msg (::core::option::Option::<usize>::None);
22264        };
22265        ::core::option::Option::Some(max_size)
22266    };
22267    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
22268        &self,
22269        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
22270    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
22271        use ::micropb::{PbMap, FieldEncode};
22272        {
22273            let val_ref = &self.r#resp;
22274            if *val_ref != 0 {
22275                encoder.encode_varint32(8u32)?;
22276                encoder.encode_int32(*val_ref as _)?;
22277            }
22278        }
22279        {
22280            let val_ref = &self.r#aid;
22281            if *val_ref != 0 {
22282                encoder.encode_varint32(16u32)?;
22283                encoder.encode_varint32(*val_ref as _)?;
22284            }
22285        }
22286        Ok(())
22287    }
22288    fn compute_size(&self) -> usize {
22289        use ::micropb::{PbMap, FieldEncode};
22290        let mut size = 0;
22291        {
22292            let val_ref = &self.r#resp;
22293            if *val_ref != 0 {
22294                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
22295            }
22296        }
22297        {
22298            let val_ref = &self.r#aid;
22299            if *val_ref != 0 {
22300                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
22301            }
22302        }
22303        size
22304    }
22305}
22306pub mod Rpc_Req_WifiSetProtocols_ {
22307    #[derive(Debug, Default, PartialEq, Clone)]
22308    pub struct _Hazzer([u8; 1]);
22309    impl _Hazzer {
22310        ///New hazzer with all fields set to off
22311        #[inline]
22312        pub const fn _new() -> Self {
22313            Self([0; 1])
22314        }
22315        ///Query presence of `protocols`
22316        #[inline]
22317        pub const fn r#protocols(&self) -> bool {
22318            (self.0[0] & 1) != 0
22319        }
22320        ///Set presence of `protocols`
22321        #[inline]
22322        pub const fn set_protocols(&mut self) -> &mut Self {
22323            let elem = &mut self.0[0];
22324            *elem |= 1;
22325            self
22326        }
22327        ///Clear presence of `protocols`
22328        #[inline]
22329        pub const fn clear_protocols(&mut self) -> &mut Self {
22330            let elem = &mut self.0[0];
22331            *elem &= !1;
22332            self
22333        }
22334        ///Builder method that sets the presence of `protocols`. Useful for initializing the Hazzer.
22335        #[inline]
22336        pub const fn init_protocols(mut self) -> Self {
22337            self.set_protocols();
22338            self
22339        }
22340    }
22341}
22342#[derive(Debug, Default, Clone)]
22343pub struct Rpc_Req_WifiSetProtocols {
22344    pub r#ifx: i32,
22345    pub r#protocols: r#wifi_protocols,
22346    pub _has: Rpc_Req_WifiSetProtocols_::_Hazzer,
22347}
22348impl ::core::cmp::PartialEq for Rpc_Req_WifiSetProtocols {
22349    fn eq(&self, other: &Self) -> bool {
22350        let mut ret = true;
22351        ret &= (self.r#ifx == other.r#ifx);
22352        ret &= (self.r#protocols() == other.r#protocols());
22353        ret
22354    }
22355}
22356impl Rpc_Req_WifiSetProtocols {
22357    ///Return a reference to `ifx`
22358    #[inline]
22359    pub fn r#ifx(&self) -> &i32 {
22360        &self.r#ifx
22361    }
22362    ///Return a mutable reference to `ifx`
22363    #[inline]
22364    pub fn mut_ifx(&mut self) -> &mut i32 {
22365        &mut self.r#ifx
22366    }
22367    ///Set the value of `ifx`
22368    #[inline]
22369    pub fn set_ifx(&mut self, value: i32) -> &mut Self {
22370        self.r#ifx = value.into();
22371        self
22372    }
22373    ///Builder method that sets the value of `ifx`. Useful for initializing the message.
22374    #[inline]
22375    pub fn init_ifx(mut self, value: i32) -> Self {
22376        self.r#ifx = value.into();
22377        self
22378    }
22379    ///Return a reference to `protocols` as an `Option`
22380    #[inline]
22381    pub fn r#protocols(&self) -> ::core::option::Option<&r#wifi_protocols> {
22382        self._has.r#protocols().then_some(&self.r#protocols)
22383    }
22384    ///Set the value and presence of `protocols`
22385    #[inline]
22386    pub fn set_protocols(&mut self, value: r#wifi_protocols) -> &mut Self {
22387        self._has.set_protocols();
22388        self.r#protocols = value.into();
22389        self
22390    }
22391    ///Return a mutable reference to `protocols` as an `Option`
22392    #[inline]
22393    pub fn mut_protocols(&mut self) -> ::core::option::Option<&mut r#wifi_protocols> {
22394        self._has.r#protocols().then_some(&mut self.r#protocols)
22395    }
22396    ///Clear the presence of `protocols`
22397    #[inline]
22398    pub fn clear_protocols(&mut self) -> &mut Self {
22399        self._has.clear_protocols();
22400        self
22401    }
22402    ///Take the value of `protocols` and clear its presence
22403    #[inline]
22404    pub fn take_protocols(&mut self) -> ::core::option::Option<r#wifi_protocols> {
22405        let val = self
22406            ._has
22407            .r#protocols()
22408            .then(|| ::core::mem::take(&mut self.r#protocols));
22409        self._has.clear_protocols();
22410        val
22411    }
22412    ///Builder method that sets the value of `protocols`. Useful for initializing the message.
22413    #[inline]
22414    pub fn init_protocols(mut self, value: r#wifi_protocols) -> Self {
22415        self.set_protocols(value);
22416        self
22417    }
22418}
22419impl ::micropb::MessageDecode for Rpc_Req_WifiSetProtocols {
22420    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
22421        &mut self,
22422        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
22423        len: usize,
22424    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
22425        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
22426        let before = decoder.bytes_read();
22427        while decoder.bytes_read() - before < len {
22428            let tag = decoder.decode_tag()?;
22429            match tag.field_num() {
22430                0 => return Err(::micropb::DecodeError::ZeroField),
22431                1u32 => {
22432                    let mut_ref = &mut self.r#ifx;
22433                    {
22434                        let val = decoder.decode_int32()?;
22435                        let val_ref = &val;
22436                        if *val_ref != 0 {
22437                            *mut_ref = val as _;
22438                        }
22439                    };
22440                }
22441                2u32 => {
22442                    let mut_ref = &mut self.r#protocols;
22443                    {
22444                        mut_ref.decode_len_delimited(decoder)?;
22445                    };
22446                    self._has.set_protocols();
22447                }
22448                _ => {
22449                    decoder.skip_wire_value(tag.wire_type())?;
22450                }
22451            }
22452        }
22453        Ok(())
22454    }
22455}
22456impl ::micropb::MessageEncode for Rpc_Req_WifiSetProtocols {
22457    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
22458        let mut max_size = 0;
22459        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
22460            ::core::option::Option::Some(10usize), | size | size + 1usize
22461        ) {
22462            max_size += size;
22463        } else {
22464            break 'msg (::core::option::Option::<usize>::None);
22465        };
22466        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
22467            ::micropb::const_map!(< r#wifi_protocols as ::micropb::MessageEncode >
22468            ::MAX_SIZE, | size | ::micropb::size::sizeof_len_record(size)), | size | size
22469            + 1usize
22470        ) {
22471            max_size += size;
22472        } else {
22473            break 'msg (::core::option::Option::<usize>::None);
22474        };
22475        ::core::option::Option::Some(max_size)
22476    };
22477    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
22478        &self,
22479        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
22480    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
22481        use ::micropb::{PbMap, FieldEncode};
22482        {
22483            let val_ref = &self.r#ifx;
22484            if *val_ref != 0 {
22485                encoder.encode_varint32(8u32)?;
22486                encoder.encode_int32(*val_ref as _)?;
22487            }
22488        }
22489        {
22490            if let ::core::option::Option::Some(val_ref) = self.r#protocols() {
22491                encoder.encode_varint32(18u32)?;
22492                val_ref.encode_len_delimited(encoder)?;
22493            }
22494        }
22495        Ok(())
22496    }
22497    fn compute_size(&self) -> usize {
22498        use ::micropb::{PbMap, FieldEncode};
22499        let mut size = 0;
22500        {
22501            let val_ref = &self.r#ifx;
22502            if *val_ref != 0 {
22503                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
22504            }
22505        }
22506        {
22507            if let ::core::option::Option::Some(val_ref) = self.r#protocols() {
22508                size
22509                    += 1usize
22510                        + ::micropb::size::sizeof_len_record(val_ref.compute_size());
22511            }
22512        }
22513        size
22514    }
22515}
22516#[derive(Debug, Default, PartialEq, Clone)]
22517pub struct Rpc_Resp_WifiSetProtocols {
22518    pub r#resp: i32,
22519    pub r#ifx: u32,
22520}
22521impl Rpc_Resp_WifiSetProtocols {
22522    ///Return a reference to `resp`
22523    #[inline]
22524    pub fn r#resp(&self) -> &i32 {
22525        &self.r#resp
22526    }
22527    ///Return a mutable reference to `resp`
22528    #[inline]
22529    pub fn mut_resp(&mut self) -> &mut i32 {
22530        &mut self.r#resp
22531    }
22532    ///Set the value of `resp`
22533    #[inline]
22534    pub fn set_resp(&mut self, value: i32) -> &mut Self {
22535        self.r#resp = value.into();
22536        self
22537    }
22538    ///Builder method that sets the value of `resp`. Useful for initializing the message.
22539    #[inline]
22540    pub fn init_resp(mut self, value: i32) -> Self {
22541        self.r#resp = value.into();
22542        self
22543    }
22544    ///Return a reference to `ifx`
22545    #[inline]
22546    pub fn r#ifx(&self) -> &u32 {
22547        &self.r#ifx
22548    }
22549    ///Return a mutable reference to `ifx`
22550    #[inline]
22551    pub fn mut_ifx(&mut self) -> &mut u32 {
22552        &mut self.r#ifx
22553    }
22554    ///Set the value of `ifx`
22555    #[inline]
22556    pub fn set_ifx(&mut self, value: u32) -> &mut Self {
22557        self.r#ifx = value.into();
22558        self
22559    }
22560    ///Builder method that sets the value of `ifx`. Useful for initializing the message.
22561    #[inline]
22562    pub fn init_ifx(mut self, value: u32) -> Self {
22563        self.r#ifx = value.into();
22564        self
22565    }
22566}
22567impl ::micropb::MessageDecode for Rpc_Resp_WifiSetProtocols {
22568    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
22569        &mut self,
22570        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
22571        len: usize,
22572    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
22573        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
22574        let before = decoder.bytes_read();
22575        while decoder.bytes_read() - before < len {
22576            let tag = decoder.decode_tag()?;
22577            match tag.field_num() {
22578                0 => return Err(::micropb::DecodeError::ZeroField),
22579                1u32 => {
22580                    let mut_ref = &mut self.r#resp;
22581                    {
22582                        let val = decoder.decode_int32()?;
22583                        let val_ref = &val;
22584                        if *val_ref != 0 {
22585                            *mut_ref = val as _;
22586                        }
22587                    };
22588                }
22589                2u32 => {
22590                    let mut_ref = &mut self.r#ifx;
22591                    {
22592                        let val = decoder.decode_varint32()?;
22593                        let val_ref = &val;
22594                        if *val_ref != 0 {
22595                            *mut_ref = val as _;
22596                        }
22597                    };
22598                }
22599                _ => {
22600                    decoder.skip_wire_value(tag.wire_type())?;
22601                }
22602            }
22603        }
22604        Ok(())
22605    }
22606}
22607impl ::micropb::MessageEncode for Rpc_Resp_WifiSetProtocols {
22608    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
22609        let mut max_size = 0;
22610        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
22611            ::core::option::Option::Some(10usize), | size | size + 1usize
22612        ) {
22613            max_size += size;
22614        } else {
22615            break 'msg (::core::option::Option::<usize>::None);
22616        };
22617        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
22618            ::core::option::Option::Some(5usize), | size | size + 1usize
22619        ) {
22620            max_size += size;
22621        } else {
22622            break 'msg (::core::option::Option::<usize>::None);
22623        };
22624        ::core::option::Option::Some(max_size)
22625    };
22626    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
22627        &self,
22628        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
22629    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
22630        use ::micropb::{PbMap, FieldEncode};
22631        {
22632            let val_ref = &self.r#resp;
22633            if *val_ref != 0 {
22634                encoder.encode_varint32(8u32)?;
22635                encoder.encode_int32(*val_ref as _)?;
22636            }
22637        }
22638        {
22639            let val_ref = &self.r#ifx;
22640            if *val_ref != 0 {
22641                encoder.encode_varint32(16u32)?;
22642                encoder.encode_varint32(*val_ref as _)?;
22643            }
22644        }
22645        Ok(())
22646    }
22647    fn compute_size(&self) -> usize {
22648        use ::micropb::{PbMap, FieldEncode};
22649        let mut size = 0;
22650        {
22651            let val_ref = &self.r#resp;
22652            if *val_ref != 0 {
22653                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
22654            }
22655        }
22656        {
22657            let val_ref = &self.r#ifx;
22658            if *val_ref != 0 {
22659                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
22660            }
22661        }
22662        size
22663    }
22664}
22665#[derive(Debug, Default, PartialEq, Clone)]
22666pub struct Rpc_Req_WifiGetProtocols {
22667    pub r#ifx: i32,
22668}
22669impl Rpc_Req_WifiGetProtocols {
22670    ///Return a reference to `ifx`
22671    #[inline]
22672    pub fn r#ifx(&self) -> &i32 {
22673        &self.r#ifx
22674    }
22675    ///Return a mutable reference to `ifx`
22676    #[inline]
22677    pub fn mut_ifx(&mut self) -> &mut i32 {
22678        &mut self.r#ifx
22679    }
22680    ///Set the value of `ifx`
22681    #[inline]
22682    pub fn set_ifx(&mut self, value: i32) -> &mut Self {
22683        self.r#ifx = value.into();
22684        self
22685    }
22686    ///Builder method that sets the value of `ifx`. Useful for initializing the message.
22687    #[inline]
22688    pub fn init_ifx(mut self, value: i32) -> Self {
22689        self.r#ifx = value.into();
22690        self
22691    }
22692}
22693impl ::micropb::MessageDecode for Rpc_Req_WifiGetProtocols {
22694    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
22695        &mut self,
22696        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
22697        len: usize,
22698    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
22699        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
22700        let before = decoder.bytes_read();
22701        while decoder.bytes_read() - before < len {
22702            let tag = decoder.decode_tag()?;
22703            match tag.field_num() {
22704                0 => return Err(::micropb::DecodeError::ZeroField),
22705                1u32 => {
22706                    let mut_ref = &mut self.r#ifx;
22707                    {
22708                        let val = decoder.decode_int32()?;
22709                        let val_ref = &val;
22710                        if *val_ref != 0 {
22711                            *mut_ref = val as _;
22712                        }
22713                    };
22714                }
22715                _ => {
22716                    decoder.skip_wire_value(tag.wire_type())?;
22717                }
22718            }
22719        }
22720        Ok(())
22721    }
22722}
22723impl ::micropb::MessageEncode for Rpc_Req_WifiGetProtocols {
22724    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
22725        let mut max_size = 0;
22726        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
22727            ::core::option::Option::Some(10usize), | size | size + 1usize
22728        ) {
22729            max_size += size;
22730        } else {
22731            break 'msg (::core::option::Option::<usize>::None);
22732        };
22733        ::core::option::Option::Some(max_size)
22734    };
22735    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
22736        &self,
22737        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
22738    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
22739        use ::micropb::{PbMap, FieldEncode};
22740        {
22741            let val_ref = &self.r#ifx;
22742            if *val_ref != 0 {
22743                encoder.encode_varint32(8u32)?;
22744                encoder.encode_int32(*val_ref as _)?;
22745            }
22746        }
22747        Ok(())
22748    }
22749    fn compute_size(&self) -> usize {
22750        use ::micropb::{PbMap, FieldEncode};
22751        let mut size = 0;
22752        {
22753            let val_ref = &self.r#ifx;
22754            if *val_ref != 0 {
22755                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
22756            }
22757        }
22758        size
22759    }
22760}
22761pub mod Rpc_Resp_WifiGetProtocols_ {
22762    #[derive(Debug, Default, PartialEq, Clone)]
22763    pub struct _Hazzer([u8; 1]);
22764    impl _Hazzer {
22765        ///New hazzer with all fields set to off
22766        #[inline]
22767        pub const fn _new() -> Self {
22768            Self([0; 1])
22769        }
22770        ///Query presence of `protocols`
22771        #[inline]
22772        pub const fn r#protocols(&self) -> bool {
22773            (self.0[0] & 1) != 0
22774        }
22775        ///Set presence of `protocols`
22776        #[inline]
22777        pub const fn set_protocols(&mut self) -> &mut Self {
22778            let elem = &mut self.0[0];
22779            *elem |= 1;
22780            self
22781        }
22782        ///Clear presence of `protocols`
22783        #[inline]
22784        pub const fn clear_protocols(&mut self) -> &mut Self {
22785            let elem = &mut self.0[0];
22786            *elem &= !1;
22787            self
22788        }
22789        ///Builder method that sets the presence of `protocols`. Useful for initializing the Hazzer.
22790        #[inline]
22791        pub const fn init_protocols(mut self) -> Self {
22792            self.set_protocols();
22793            self
22794        }
22795    }
22796}
22797#[derive(Debug, Default, Clone)]
22798pub struct Rpc_Resp_WifiGetProtocols {
22799    pub r#resp: i32,
22800    pub r#ifx: i32,
22801    pub r#protocols: r#wifi_protocols,
22802    pub _has: Rpc_Resp_WifiGetProtocols_::_Hazzer,
22803}
22804impl ::core::cmp::PartialEq for Rpc_Resp_WifiGetProtocols {
22805    fn eq(&self, other: &Self) -> bool {
22806        let mut ret = true;
22807        ret &= (self.r#resp == other.r#resp);
22808        ret &= (self.r#ifx == other.r#ifx);
22809        ret &= (self.r#protocols() == other.r#protocols());
22810        ret
22811    }
22812}
22813impl Rpc_Resp_WifiGetProtocols {
22814    ///Return a reference to `resp`
22815    #[inline]
22816    pub fn r#resp(&self) -> &i32 {
22817        &self.r#resp
22818    }
22819    ///Return a mutable reference to `resp`
22820    #[inline]
22821    pub fn mut_resp(&mut self) -> &mut i32 {
22822        &mut self.r#resp
22823    }
22824    ///Set the value of `resp`
22825    #[inline]
22826    pub fn set_resp(&mut self, value: i32) -> &mut Self {
22827        self.r#resp = value.into();
22828        self
22829    }
22830    ///Builder method that sets the value of `resp`. Useful for initializing the message.
22831    #[inline]
22832    pub fn init_resp(mut self, value: i32) -> Self {
22833        self.r#resp = value.into();
22834        self
22835    }
22836    ///Return a reference to `ifx`
22837    #[inline]
22838    pub fn r#ifx(&self) -> &i32 {
22839        &self.r#ifx
22840    }
22841    ///Return a mutable reference to `ifx`
22842    #[inline]
22843    pub fn mut_ifx(&mut self) -> &mut i32 {
22844        &mut self.r#ifx
22845    }
22846    ///Set the value of `ifx`
22847    #[inline]
22848    pub fn set_ifx(&mut self, value: i32) -> &mut Self {
22849        self.r#ifx = value.into();
22850        self
22851    }
22852    ///Builder method that sets the value of `ifx`. Useful for initializing the message.
22853    #[inline]
22854    pub fn init_ifx(mut self, value: i32) -> Self {
22855        self.r#ifx = value.into();
22856        self
22857    }
22858    ///Return a reference to `protocols` as an `Option`
22859    #[inline]
22860    pub fn r#protocols(&self) -> ::core::option::Option<&r#wifi_protocols> {
22861        self._has.r#protocols().then_some(&self.r#protocols)
22862    }
22863    ///Set the value and presence of `protocols`
22864    #[inline]
22865    pub fn set_protocols(&mut self, value: r#wifi_protocols) -> &mut Self {
22866        self._has.set_protocols();
22867        self.r#protocols = value.into();
22868        self
22869    }
22870    ///Return a mutable reference to `protocols` as an `Option`
22871    #[inline]
22872    pub fn mut_protocols(&mut self) -> ::core::option::Option<&mut r#wifi_protocols> {
22873        self._has.r#protocols().then_some(&mut self.r#protocols)
22874    }
22875    ///Clear the presence of `protocols`
22876    #[inline]
22877    pub fn clear_protocols(&mut self) -> &mut Self {
22878        self._has.clear_protocols();
22879        self
22880    }
22881    ///Take the value of `protocols` and clear its presence
22882    #[inline]
22883    pub fn take_protocols(&mut self) -> ::core::option::Option<r#wifi_protocols> {
22884        let val = self
22885            ._has
22886            .r#protocols()
22887            .then(|| ::core::mem::take(&mut self.r#protocols));
22888        self._has.clear_protocols();
22889        val
22890    }
22891    ///Builder method that sets the value of `protocols`. Useful for initializing the message.
22892    #[inline]
22893    pub fn init_protocols(mut self, value: r#wifi_protocols) -> Self {
22894        self.set_protocols(value);
22895        self
22896    }
22897}
22898impl ::micropb::MessageDecode for Rpc_Resp_WifiGetProtocols {
22899    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
22900        &mut self,
22901        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
22902        len: usize,
22903    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
22904        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
22905        let before = decoder.bytes_read();
22906        while decoder.bytes_read() - before < len {
22907            let tag = decoder.decode_tag()?;
22908            match tag.field_num() {
22909                0 => return Err(::micropb::DecodeError::ZeroField),
22910                1u32 => {
22911                    let mut_ref = &mut self.r#resp;
22912                    {
22913                        let val = decoder.decode_int32()?;
22914                        let val_ref = &val;
22915                        if *val_ref != 0 {
22916                            *mut_ref = val as _;
22917                        }
22918                    };
22919                }
22920                2u32 => {
22921                    let mut_ref = &mut self.r#ifx;
22922                    {
22923                        let val = decoder.decode_int32()?;
22924                        let val_ref = &val;
22925                        if *val_ref != 0 {
22926                            *mut_ref = val as _;
22927                        }
22928                    };
22929                }
22930                3u32 => {
22931                    let mut_ref = &mut self.r#protocols;
22932                    {
22933                        mut_ref.decode_len_delimited(decoder)?;
22934                    };
22935                    self._has.set_protocols();
22936                }
22937                _ => {
22938                    decoder.skip_wire_value(tag.wire_type())?;
22939                }
22940            }
22941        }
22942        Ok(())
22943    }
22944}
22945impl ::micropb::MessageEncode for Rpc_Resp_WifiGetProtocols {
22946    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
22947        let mut max_size = 0;
22948        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
22949            ::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            ::core::option::Option::Some(10usize), | size | size + 1usize
22957        ) {
22958            max_size += size;
22959        } else {
22960            break 'msg (::core::option::Option::<usize>::None);
22961        };
22962        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
22963            ::micropb::const_map!(< r#wifi_protocols as ::micropb::MessageEncode >
22964            ::MAX_SIZE, | size | ::micropb::size::sizeof_len_record(size)), | size | size
22965            + 1usize
22966        ) {
22967            max_size += size;
22968        } else {
22969            break 'msg (::core::option::Option::<usize>::None);
22970        };
22971        ::core::option::Option::Some(max_size)
22972    };
22973    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
22974        &self,
22975        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
22976    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
22977        use ::micropb::{PbMap, FieldEncode};
22978        {
22979            let val_ref = &self.r#resp;
22980            if *val_ref != 0 {
22981                encoder.encode_varint32(8u32)?;
22982                encoder.encode_int32(*val_ref as _)?;
22983            }
22984        }
22985        {
22986            let val_ref = &self.r#ifx;
22987            if *val_ref != 0 {
22988                encoder.encode_varint32(16u32)?;
22989                encoder.encode_int32(*val_ref as _)?;
22990            }
22991        }
22992        {
22993            if let ::core::option::Option::Some(val_ref) = self.r#protocols() {
22994                encoder.encode_varint32(26u32)?;
22995                val_ref.encode_len_delimited(encoder)?;
22996            }
22997        }
22998        Ok(())
22999    }
23000    fn compute_size(&self) -> usize {
23001        use ::micropb::{PbMap, FieldEncode};
23002        let mut size = 0;
23003        {
23004            let val_ref = &self.r#resp;
23005            if *val_ref != 0 {
23006                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
23007            }
23008        }
23009        {
23010            let val_ref = &self.r#ifx;
23011            if *val_ref != 0 {
23012                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
23013            }
23014        }
23015        {
23016            if let ::core::option::Option::Some(val_ref) = self.r#protocols() {
23017                size
23018                    += 1usize
23019                        + ::micropb::size::sizeof_len_record(val_ref.compute_size());
23020            }
23021        }
23022        size
23023    }
23024}
23025pub mod Rpc_Req_WifiSetBandwidths_ {
23026    #[derive(Debug, Default, PartialEq, Clone)]
23027    pub struct _Hazzer([u8; 1]);
23028    impl _Hazzer {
23029        ///New hazzer with all fields set to off
23030        #[inline]
23031        pub const fn _new() -> Self {
23032            Self([0; 1])
23033        }
23034        ///Query presence of `bandwidths`
23035        #[inline]
23036        pub const fn r#bandwidths(&self) -> bool {
23037            (self.0[0] & 1) != 0
23038        }
23039        ///Set presence of `bandwidths`
23040        #[inline]
23041        pub const fn set_bandwidths(&mut self) -> &mut Self {
23042            let elem = &mut self.0[0];
23043            *elem |= 1;
23044            self
23045        }
23046        ///Clear presence of `bandwidths`
23047        #[inline]
23048        pub const fn clear_bandwidths(&mut self) -> &mut Self {
23049            let elem = &mut self.0[0];
23050            *elem &= !1;
23051            self
23052        }
23053        ///Builder method that sets the presence of `bandwidths`. Useful for initializing the Hazzer.
23054        #[inline]
23055        pub const fn init_bandwidths(mut self) -> Self {
23056            self.set_bandwidths();
23057            self
23058        }
23059    }
23060}
23061#[derive(Debug, Default, Clone)]
23062pub struct Rpc_Req_WifiSetBandwidths {
23063    pub r#ifx: i32,
23064    pub r#bandwidths: r#wifi_bandwidths,
23065    pub _has: Rpc_Req_WifiSetBandwidths_::_Hazzer,
23066}
23067impl ::core::cmp::PartialEq for Rpc_Req_WifiSetBandwidths {
23068    fn eq(&self, other: &Self) -> bool {
23069        let mut ret = true;
23070        ret &= (self.r#ifx == other.r#ifx);
23071        ret &= (self.r#bandwidths() == other.r#bandwidths());
23072        ret
23073    }
23074}
23075impl Rpc_Req_WifiSetBandwidths {
23076    ///Return a reference to `ifx`
23077    #[inline]
23078    pub fn r#ifx(&self) -> &i32 {
23079        &self.r#ifx
23080    }
23081    ///Return a mutable reference to `ifx`
23082    #[inline]
23083    pub fn mut_ifx(&mut self) -> &mut i32 {
23084        &mut self.r#ifx
23085    }
23086    ///Set the value of `ifx`
23087    #[inline]
23088    pub fn set_ifx(&mut self, value: i32) -> &mut Self {
23089        self.r#ifx = value.into();
23090        self
23091    }
23092    ///Builder method that sets the value of `ifx`. Useful for initializing the message.
23093    #[inline]
23094    pub fn init_ifx(mut self, value: i32) -> Self {
23095        self.r#ifx = value.into();
23096        self
23097    }
23098    ///Return a reference to `bandwidths` as an `Option`
23099    #[inline]
23100    pub fn r#bandwidths(&self) -> ::core::option::Option<&r#wifi_bandwidths> {
23101        self._has.r#bandwidths().then_some(&self.r#bandwidths)
23102    }
23103    ///Set the value and presence of `bandwidths`
23104    #[inline]
23105    pub fn set_bandwidths(&mut self, value: r#wifi_bandwidths) -> &mut Self {
23106        self._has.set_bandwidths();
23107        self.r#bandwidths = value.into();
23108        self
23109    }
23110    ///Return a mutable reference to `bandwidths` as an `Option`
23111    #[inline]
23112    pub fn mut_bandwidths(&mut self) -> ::core::option::Option<&mut r#wifi_bandwidths> {
23113        self._has.r#bandwidths().then_some(&mut self.r#bandwidths)
23114    }
23115    ///Clear the presence of `bandwidths`
23116    #[inline]
23117    pub fn clear_bandwidths(&mut self) -> &mut Self {
23118        self._has.clear_bandwidths();
23119        self
23120    }
23121    ///Take the value of `bandwidths` and clear its presence
23122    #[inline]
23123    pub fn take_bandwidths(&mut self) -> ::core::option::Option<r#wifi_bandwidths> {
23124        let val = self
23125            ._has
23126            .r#bandwidths()
23127            .then(|| ::core::mem::take(&mut self.r#bandwidths));
23128        self._has.clear_bandwidths();
23129        val
23130    }
23131    ///Builder method that sets the value of `bandwidths`. Useful for initializing the message.
23132    #[inline]
23133    pub fn init_bandwidths(mut self, value: r#wifi_bandwidths) -> Self {
23134        self.set_bandwidths(value);
23135        self
23136    }
23137}
23138impl ::micropb::MessageDecode for Rpc_Req_WifiSetBandwidths {
23139    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
23140        &mut self,
23141        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
23142        len: usize,
23143    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
23144        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
23145        let before = decoder.bytes_read();
23146        while decoder.bytes_read() - before < len {
23147            let tag = decoder.decode_tag()?;
23148            match tag.field_num() {
23149                0 => return Err(::micropb::DecodeError::ZeroField),
23150                1u32 => {
23151                    let mut_ref = &mut self.r#ifx;
23152                    {
23153                        let val = decoder.decode_int32()?;
23154                        let val_ref = &val;
23155                        if *val_ref != 0 {
23156                            *mut_ref = val as _;
23157                        }
23158                    };
23159                }
23160                2u32 => {
23161                    let mut_ref = &mut self.r#bandwidths;
23162                    {
23163                        mut_ref.decode_len_delimited(decoder)?;
23164                    };
23165                    self._has.set_bandwidths();
23166                }
23167                _ => {
23168                    decoder.skip_wire_value(tag.wire_type())?;
23169                }
23170            }
23171        }
23172        Ok(())
23173    }
23174}
23175impl ::micropb::MessageEncode for Rpc_Req_WifiSetBandwidths {
23176    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
23177        let mut max_size = 0;
23178        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
23179            ::core::option::Option::Some(10usize), | size | size + 1usize
23180        ) {
23181            max_size += size;
23182        } else {
23183            break 'msg (::core::option::Option::<usize>::None);
23184        };
23185        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
23186            ::micropb::const_map!(< r#wifi_bandwidths as ::micropb::MessageEncode >
23187            ::MAX_SIZE, | size | ::micropb::size::sizeof_len_record(size)), | size | size
23188            + 1usize
23189        ) {
23190            max_size += size;
23191        } else {
23192            break 'msg (::core::option::Option::<usize>::None);
23193        };
23194        ::core::option::Option::Some(max_size)
23195    };
23196    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
23197        &self,
23198        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
23199    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
23200        use ::micropb::{PbMap, FieldEncode};
23201        {
23202            let val_ref = &self.r#ifx;
23203            if *val_ref != 0 {
23204                encoder.encode_varint32(8u32)?;
23205                encoder.encode_int32(*val_ref as _)?;
23206            }
23207        }
23208        {
23209            if let ::core::option::Option::Some(val_ref) = self.r#bandwidths() {
23210                encoder.encode_varint32(18u32)?;
23211                val_ref.encode_len_delimited(encoder)?;
23212            }
23213        }
23214        Ok(())
23215    }
23216    fn compute_size(&self) -> usize {
23217        use ::micropb::{PbMap, FieldEncode};
23218        let mut size = 0;
23219        {
23220            let val_ref = &self.r#ifx;
23221            if *val_ref != 0 {
23222                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
23223            }
23224        }
23225        {
23226            if let ::core::option::Option::Some(val_ref) = self.r#bandwidths() {
23227                size
23228                    += 1usize
23229                        + ::micropb::size::sizeof_len_record(val_ref.compute_size());
23230            }
23231        }
23232        size
23233    }
23234}
23235#[derive(Debug, Default, PartialEq, Clone)]
23236pub struct Rpc_Resp_WifiSetBandwidths {
23237    pub r#resp: i32,
23238    pub r#ifx: i32,
23239}
23240impl Rpc_Resp_WifiSetBandwidths {
23241    ///Return a reference to `resp`
23242    #[inline]
23243    pub fn r#resp(&self) -> &i32 {
23244        &self.r#resp
23245    }
23246    ///Return a mutable reference to `resp`
23247    #[inline]
23248    pub fn mut_resp(&mut self) -> &mut i32 {
23249        &mut self.r#resp
23250    }
23251    ///Set the value of `resp`
23252    #[inline]
23253    pub fn set_resp(&mut self, value: i32) -> &mut Self {
23254        self.r#resp = value.into();
23255        self
23256    }
23257    ///Builder method that sets the value of `resp`. Useful for initializing the message.
23258    #[inline]
23259    pub fn init_resp(mut self, value: i32) -> Self {
23260        self.r#resp = value.into();
23261        self
23262    }
23263    ///Return a reference to `ifx`
23264    #[inline]
23265    pub fn r#ifx(&self) -> &i32 {
23266        &self.r#ifx
23267    }
23268    ///Return a mutable reference to `ifx`
23269    #[inline]
23270    pub fn mut_ifx(&mut self) -> &mut i32 {
23271        &mut self.r#ifx
23272    }
23273    ///Set the value of `ifx`
23274    #[inline]
23275    pub fn set_ifx(&mut self, value: i32) -> &mut Self {
23276        self.r#ifx = value.into();
23277        self
23278    }
23279    ///Builder method that sets the value of `ifx`. Useful for initializing the message.
23280    #[inline]
23281    pub fn init_ifx(mut self, value: i32) -> Self {
23282        self.r#ifx = value.into();
23283        self
23284    }
23285}
23286impl ::micropb::MessageDecode for Rpc_Resp_WifiSetBandwidths {
23287    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
23288        &mut self,
23289        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
23290        len: usize,
23291    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
23292        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
23293        let before = decoder.bytes_read();
23294        while decoder.bytes_read() - before < len {
23295            let tag = decoder.decode_tag()?;
23296            match tag.field_num() {
23297                0 => return Err(::micropb::DecodeError::ZeroField),
23298                1u32 => {
23299                    let mut_ref = &mut self.r#resp;
23300                    {
23301                        let val = decoder.decode_int32()?;
23302                        let val_ref = &val;
23303                        if *val_ref != 0 {
23304                            *mut_ref = val as _;
23305                        }
23306                    };
23307                }
23308                2u32 => {
23309                    let mut_ref = &mut self.r#ifx;
23310                    {
23311                        let val = decoder.decode_int32()?;
23312                        let val_ref = &val;
23313                        if *val_ref != 0 {
23314                            *mut_ref = val as _;
23315                        }
23316                    };
23317                }
23318                _ => {
23319                    decoder.skip_wire_value(tag.wire_type())?;
23320                }
23321            }
23322        }
23323        Ok(())
23324    }
23325}
23326impl ::micropb::MessageEncode for Rpc_Resp_WifiSetBandwidths {
23327    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
23328        let mut max_size = 0;
23329        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
23330            ::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        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
23337            ::core::option::Option::Some(10usize), | size | size + 1usize
23338        ) {
23339            max_size += size;
23340        } else {
23341            break 'msg (::core::option::Option::<usize>::None);
23342        };
23343        ::core::option::Option::Some(max_size)
23344    };
23345    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
23346        &self,
23347        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
23348    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
23349        use ::micropb::{PbMap, FieldEncode};
23350        {
23351            let val_ref = &self.r#resp;
23352            if *val_ref != 0 {
23353                encoder.encode_varint32(8u32)?;
23354                encoder.encode_int32(*val_ref as _)?;
23355            }
23356        }
23357        {
23358            let val_ref = &self.r#ifx;
23359            if *val_ref != 0 {
23360                encoder.encode_varint32(16u32)?;
23361                encoder.encode_int32(*val_ref as _)?;
23362            }
23363        }
23364        Ok(())
23365    }
23366    fn compute_size(&self) -> usize {
23367        use ::micropb::{PbMap, FieldEncode};
23368        let mut size = 0;
23369        {
23370            let val_ref = &self.r#resp;
23371            if *val_ref != 0 {
23372                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
23373            }
23374        }
23375        {
23376            let val_ref = &self.r#ifx;
23377            if *val_ref != 0 {
23378                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
23379            }
23380        }
23381        size
23382    }
23383}
23384#[derive(Debug, Default, PartialEq, Clone)]
23385pub struct Rpc_Req_WifiGetBandwidths {
23386    pub r#ifx: i32,
23387}
23388impl Rpc_Req_WifiGetBandwidths {
23389    ///Return a reference to `ifx`
23390    #[inline]
23391    pub fn r#ifx(&self) -> &i32 {
23392        &self.r#ifx
23393    }
23394    ///Return a mutable reference to `ifx`
23395    #[inline]
23396    pub fn mut_ifx(&mut self) -> &mut i32 {
23397        &mut self.r#ifx
23398    }
23399    ///Set the value of `ifx`
23400    #[inline]
23401    pub fn set_ifx(&mut self, value: i32) -> &mut Self {
23402        self.r#ifx = value.into();
23403        self
23404    }
23405    ///Builder method that sets the value of `ifx`. Useful for initializing the message.
23406    #[inline]
23407    pub fn init_ifx(mut self, value: i32) -> Self {
23408        self.r#ifx = value.into();
23409        self
23410    }
23411}
23412impl ::micropb::MessageDecode for Rpc_Req_WifiGetBandwidths {
23413    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
23414        &mut self,
23415        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
23416        len: usize,
23417    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
23418        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
23419        let before = decoder.bytes_read();
23420        while decoder.bytes_read() - before < len {
23421            let tag = decoder.decode_tag()?;
23422            match tag.field_num() {
23423                0 => return Err(::micropb::DecodeError::ZeroField),
23424                1u32 => {
23425                    let mut_ref = &mut self.r#ifx;
23426                    {
23427                        let val = decoder.decode_int32()?;
23428                        let val_ref = &val;
23429                        if *val_ref != 0 {
23430                            *mut_ref = val as _;
23431                        }
23432                    };
23433                }
23434                _ => {
23435                    decoder.skip_wire_value(tag.wire_type())?;
23436                }
23437            }
23438        }
23439        Ok(())
23440    }
23441}
23442impl ::micropb::MessageEncode for Rpc_Req_WifiGetBandwidths {
23443    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
23444        let mut max_size = 0;
23445        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
23446            ::core::option::Option::Some(10usize), | size | size + 1usize
23447        ) {
23448            max_size += size;
23449        } else {
23450            break 'msg (::core::option::Option::<usize>::None);
23451        };
23452        ::core::option::Option::Some(max_size)
23453    };
23454    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
23455        &self,
23456        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
23457    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
23458        use ::micropb::{PbMap, FieldEncode};
23459        {
23460            let val_ref = &self.r#ifx;
23461            if *val_ref != 0 {
23462                encoder.encode_varint32(8u32)?;
23463                encoder.encode_int32(*val_ref as _)?;
23464            }
23465        }
23466        Ok(())
23467    }
23468    fn compute_size(&self) -> usize {
23469        use ::micropb::{PbMap, FieldEncode};
23470        let mut size = 0;
23471        {
23472            let val_ref = &self.r#ifx;
23473            if *val_ref != 0 {
23474                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
23475            }
23476        }
23477        size
23478    }
23479}
23480pub mod Rpc_Resp_WifiGetBandwidths_ {
23481    #[derive(Debug, Default, PartialEq, Clone)]
23482    pub struct _Hazzer([u8; 1]);
23483    impl _Hazzer {
23484        ///New hazzer with all fields set to off
23485        #[inline]
23486        pub const fn _new() -> Self {
23487            Self([0; 1])
23488        }
23489        ///Query presence of `bandwidths`
23490        #[inline]
23491        pub const fn r#bandwidths(&self) -> bool {
23492            (self.0[0] & 1) != 0
23493        }
23494        ///Set presence of `bandwidths`
23495        #[inline]
23496        pub const fn set_bandwidths(&mut self) -> &mut Self {
23497            let elem = &mut self.0[0];
23498            *elem |= 1;
23499            self
23500        }
23501        ///Clear presence of `bandwidths`
23502        #[inline]
23503        pub const fn clear_bandwidths(&mut self) -> &mut Self {
23504            let elem = &mut self.0[0];
23505            *elem &= !1;
23506            self
23507        }
23508        ///Builder method that sets the presence of `bandwidths`. Useful for initializing the Hazzer.
23509        #[inline]
23510        pub const fn init_bandwidths(mut self) -> Self {
23511            self.set_bandwidths();
23512            self
23513        }
23514    }
23515}
23516#[derive(Debug, Default, Clone)]
23517pub struct Rpc_Resp_WifiGetBandwidths {
23518    pub r#resp: i32,
23519    pub r#ifx: i32,
23520    pub r#bandwidths: r#wifi_bandwidths,
23521    pub _has: Rpc_Resp_WifiGetBandwidths_::_Hazzer,
23522}
23523impl ::core::cmp::PartialEq for Rpc_Resp_WifiGetBandwidths {
23524    fn eq(&self, other: &Self) -> bool {
23525        let mut ret = true;
23526        ret &= (self.r#resp == other.r#resp);
23527        ret &= (self.r#ifx == other.r#ifx);
23528        ret &= (self.r#bandwidths() == other.r#bandwidths());
23529        ret
23530    }
23531}
23532impl Rpc_Resp_WifiGetBandwidths {
23533    ///Return a reference to `resp`
23534    #[inline]
23535    pub fn r#resp(&self) -> &i32 {
23536        &self.r#resp
23537    }
23538    ///Return a mutable reference to `resp`
23539    #[inline]
23540    pub fn mut_resp(&mut self) -> &mut i32 {
23541        &mut self.r#resp
23542    }
23543    ///Set the value of `resp`
23544    #[inline]
23545    pub fn set_resp(&mut self, value: i32) -> &mut Self {
23546        self.r#resp = value.into();
23547        self
23548    }
23549    ///Builder method that sets the value of `resp`. Useful for initializing the message.
23550    #[inline]
23551    pub fn init_resp(mut self, value: i32) -> Self {
23552        self.r#resp = value.into();
23553        self
23554    }
23555    ///Return a reference to `ifx`
23556    #[inline]
23557    pub fn r#ifx(&self) -> &i32 {
23558        &self.r#ifx
23559    }
23560    ///Return a mutable reference to `ifx`
23561    #[inline]
23562    pub fn mut_ifx(&mut self) -> &mut i32 {
23563        &mut self.r#ifx
23564    }
23565    ///Set the value of `ifx`
23566    #[inline]
23567    pub fn set_ifx(&mut self, value: i32) -> &mut Self {
23568        self.r#ifx = value.into();
23569        self
23570    }
23571    ///Builder method that sets the value of `ifx`. Useful for initializing the message.
23572    #[inline]
23573    pub fn init_ifx(mut self, value: i32) -> Self {
23574        self.r#ifx = value.into();
23575        self
23576    }
23577    ///Return a reference to `bandwidths` as an `Option`
23578    #[inline]
23579    pub fn r#bandwidths(&self) -> ::core::option::Option<&r#wifi_bandwidths> {
23580        self._has.r#bandwidths().then_some(&self.r#bandwidths)
23581    }
23582    ///Set the value and presence of `bandwidths`
23583    #[inline]
23584    pub fn set_bandwidths(&mut self, value: r#wifi_bandwidths) -> &mut Self {
23585        self._has.set_bandwidths();
23586        self.r#bandwidths = value.into();
23587        self
23588    }
23589    ///Return a mutable reference to `bandwidths` as an `Option`
23590    #[inline]
23591    pub fn mut_bandwidths(&mut self) -> ::core::option::Option<&mut r#wifi_bandwidths> {
23592        self._has.r#bandwidths().then_some(&mut self.r#bandwidths)
23593    }
23594    ///Clear the presence of `bandwidths`
23595    #[inline]
23596    pub fn clear_bandwidths(&mut self) -> &mut Self {
23597        self._has.clear_bandwidths();
23598        self
23599    }
23600    ///Take the value of `bandwidths` and clear its presence
23601    #[inline]
23602    pub fn take_bandwidths(&mut self) -> ::core::option::Option<r#wifi_bandwidths> {
23603        let val = self
23604            ._has
23605            .r#bandwidths()
23606            .then(|| ::core::mem::take(&mut self.r#bandwidths));
23607        self._has.clear_bandwidths();
23608        val
23609    }
23610    ///Builder method that sets the value of `bandwidths`. Useful for initializing the message.
23611    #[inline]
23612    pub fn init_bandwidths(mut self, value: r#wifi_bandwidths) -> Self {
23613        self.set_bandwidths(value);
23614        self
23615    }
23616}
23617impl ::micropb::MessageDecode for Rpc_Resp_WifiGetBandwidths {
23618    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
23619        &mut self,
23620        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
23621        len: usize,
23622    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
23623        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
23624        let before = decoder.bytes_read();
23625        while decoder.bytes_read() - before < len {
23626            let tag = decoder.decode_tag()?;
23627            match tag.field_num() {
23628                0 => return Err(::micropb::DecodeError::ZeroField),
23629                1u32 => {
23630                    let mut_ref = &mut self.r#resp;
23631                    {
23632                        let val = decoder.decode_int32()?;
23633                        let val_ref = &val;
23634                        if *val_ref != 0 {
23635                            *mut_ref = val as _;
23636                        }
23637                    };
23638                }
23639                2u32 => {
23640                    let mut_ref = &mut self.r#ifx;
23641                    {
23642                        let val = decoder.decode_int32()?;
23643                        let val_ref = &val;
23644                        if *val_ref != 0 {
23645                            *mut_ref = val as _;
23646                        }
23647                    };
23648                }
23649                3u32 => {
23650                    let mut_ref = &mut self.r#bandwidths;
23651                    {
23652                        mut_ref.decode_len_delimited(decoder)?;
23653                    };
23654                    self._has.set_bandwidths();
23655                }
23656                _ => {
23657                    decoder.skip_wire_value(tag.wire_type())?;
23658                }
23659            }
23660        }
23661        Ok(())
23662    }
23663}
23664impl ::micropb::MessageEncode for Rpc_Resp_WifiGetBandwidths {
23665    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
23666        let mut max_size = 0;
23667        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
23668            ::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            ::core::option::Option::Some(10usize), | size | size + 1usize
23676        ) {
23677            max_size += size;
23678        } else {
23679            break 'msg (::core::option::Option::<usize>::None);
23680        };
23681        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
23682            ::micropb::const_map!(< r#wifi_bandwidths as ::micropb::MessageEncode >
23683            ::MAX_SIZE, | size | ::micropb::size::sizeof_len_record(size)), | size | size
23684            + 1usize
23685        ) {
23686            max_size += size;
23687        } else {
23688            break 'msg (::core::option::Option::<usize>::None);
23689        };
23690        ::core::option::Option::Some(max_size)
23691    };
23692    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
23693        &self,
23694        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
23695    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
23696        use ::micropb::{PbMap, FieldEncode};
23697        {
23698            let val_ref = &self.r#resp;
23699            if *val_ref != 0 {
23700                encoder.encode_varint32(8u32)?;
23701                encoder.encode_int32(*val_ref as _)?;
23702            }
23703        }
23704        {
23705            let val_ref = &self.r#ifx;
23706            if *val_ref != 0 {
23707                encoder.encode_varint32(16u32)?;
23708                encoder.encode_int32(*val_ref as _)?;
23709            }
23710        }
23711        {
23712            if let ::core::option::Option::Some(val_ref) = self.r#bandwidths() {
23713                encoder.encode_varint32(26u32)?;
23714                val_ref.encode_len_delimited(encoder)?;
23715            }
23716        }
23717        Ok(())
23718    }
23719    fn compute_size(&self) -> usize {
23720        use ::micropb::{PbMap, FieldEncode};
23721        let mut size = 0;
23722        {
23723            let val_ref = &self.r#resp;
23724            if *val_ref != 0 {
23725                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
23726            }
23727        }
23728        {
23729            let val_ref = &self.r#ifx;
23730            if *val_ref != 0 {
23731                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
23732            }
23733        }
23734        {
23735            if let ::core::option::Option::Some(val_ref) = self.r#bandwidths() {
23736                size
23737                    += 1usize
23738                        + ::micropb::size::sizeof_len_record(val_ref.compute_size());
23739            }
23740        }
23741        size
23742    }
23743}
23744#[derive(Debug, Default, PartialEq, Clone)]
23745pub struct Rpc_Req_WifiSetBand {
23746    pub r#band: u32,
23747}
23748impl Rpc_Req_WifiSetBand {
23749    ///Return a reference to `band`
23750    #[inline]
23751    pub fn r#band(&self) -> &u32 {
23752        &self.r#band
23753    }
23754    ///Return a mutable reference to `band`
23755    #[inline]
23756    pub fn mut_band(&mut self) -> &mut u32 {
23757        &mut self.r#band
23758    }
23759    ///Set the value of `band`
23760    #[inline]
23761    pub fn set_band(&mut self, value: u32) -> &mut Self {
23762        self.r#band = value.into();
23763        self
23764    }
23765    ///Builder method that sets the value of `band`. Useful for initializing the message.
23766    #[inline]
23767    pub fn init_band(mut self, value: u32) -> Self {
23768        self.r#band = value.into();
23769        self
23770    }
23771}
23772impl ::micropb::MessageDecode for Rpc_Req_WifiSetBand {
23773    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
23774        &mut self,
23775        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
23776        len: usize,
23777    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
23778        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
23779        let before = decoder.bytes_read();
23780        while decoder.bytes_read() - before < len {
23781            let tag = decoder.decode_tag()?;
23782            match tag.field_num() {
23783                0 => return Err(::micropb::DecodeError::ZeroField),
23784                1u32 => {
23785                    let mut_ref = &mut self.r#band;
23786                    {
23787                        let val = decoder.decode_varint32()?;
23788                        let val_ref = &val;
23789                        if *val_ref != 0 {
23790                            *mut_ref = val as _;
23791                        }
23792                    };
23793                }
23794                _ => {
23795                    decoder.skip_wire_value(tag.wire_type())?;
23796                }
23797            }
23798        }
23799        Ok(())
23800    }
23801}
23802impl ::micropb::MessageEncode for Rpc_Req_WifiSetBand {
23803    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
23804        let mut max_size = 0;
23805        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
23806            ::core::option::Option::Some(5usize), | size | size + 1usize
23807        ) {
23808            max_size += size;
23809        } else {
23810            break 'msg (::core::option::Option::<usize>::None);
23811        };
23812        ::core::option::Option::Some(max_size)
23813    };
23814    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
23815        &self,
23816        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
23817    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
23818        use ::micropb::{PbMap, FieldEncode};
23819        {
23820            let val_ref = &self.r#band;
23821            if *val_ref != 0 {
23822                encoder.encode_varint32(8u32)?;
23823                encoder.encode_varint32(*val_ref as _)?;
23824            }
23825        }
23826        Ok(())
23827    }
23828    fn compute_size(&self) -> usize {
23829        use ::micropb::{PbMap, FieldEncode};
23830        let mut size = 0;
23831        {
23832            let val_ref = &self.r#band;
23833            if *val_ref != 0 {
23834                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
23835            }
23836        }
23837        size
23838    }
23839}
23840#[derive(Debug, Default, PartialEq, Clone)]
23841pub struct Rpc_Resp_WifiSetBand {
23842    pub r#resp: i32,
23843}
23844impl Rpc_Resp_WifiSetBand {
23845    ///Return a reference to `resp`
23846    #[inline]
23847    pub fn r#resp(&self) -> &i32 {
23848        &self.r#resp
23849    }
23850    ///Return a mutable reference to `resp`
23851    #[inline]
23852    pub fn mut_resp(&mut self) -> &mut i32 {
23853        &mut self.r#resp
23854    }
23855    ///Set the value of `resp`
23856    #[inline]
23857    pub fn set_resp(&mut self, value: i32) -> &mut Self {
23858        self.r#resp = value.into();
23859        self
23860    }
23861    ///Builder method that sets the value of `resp`. Useful for initializing the message.
23862    #[inline]
23863    pub fn init_resp(mut self, value: i32) -> Self {
23864        self.r#resp = value.into();
23865        self
23866    }
23867}
23868impl ::micropb::MessageDecode for Rpc_Resp_WifiSetBand {
23869    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
23870        &mut self,
23871        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
23872        len: usize,
23873    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
23874        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
23875        let before = decoder.bytes_read();
23876        while decoder.bytes_read() - before < len {
23877            let tag = decoder.decode_tag()?;
23878            match tag.field_num() {
23879                0 => return Err(::micropb::DecodeError::ZeroField),
23880                1u32 => {
23881                    let mut_ref = &mut self.r#resp;
23882                    {
23883                        let val = decoder.decode_int32()?;
23884                        let val_ref = &val;
23885                        if *val_ref != 0 {
23886                            *mut_ref = val as _;
23887                        }
23888                    };
23889                }
23890                _ => {
23891                    decoder.skip_wire_value(tag.wire_type())?;
23892                }
23893            }
23894        }
23895        Ok(())
23896    }
23897}
23898impl ::micropb::MessageEncode for Rpc_Resp_WifiSetBand {
23899    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
23900        let mut max_size = 0;
23901        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
23902            ::core::option::Option::Some(10usize), | size | size + 1usize
23903        ) {
23904            max_size += size;
23905        } else {
23906            break 'msg (::core::option::Option::<usize>::None);
23907        };
23908        ::core::option::Option::Some(max_size)
23909    };
23910    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
23911        &self,
23912        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
23913    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
23914        use ::micropb::{PbMap, FieldEncode};
23915        {
23916            let val_ref = &self.r#resp;
23917            if *val_ref != 0 {
23918                encoder.encode_varint32(8u32)?;
23919                encoder.encode_int32(*val_ref as _)?;
23920            }
23921        }
23922        Ok(())
23923    }
23924    fn compute_size(&self) -> usize {
23925        use ::micropb::{PbMap, FieldEncode};
23926        let mut size = 0;
23927        {
23928            let val_ref = &self.r#resp;
23929            if *val_ref != 0 {
23930                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
23931            }
23932        }
23933        size
23934    }
23935}
23936#[derive(Debug, Default, PartialEq, Clone)]
23937pub struct Rpc_Req_WifiGetBand {}
23938impl Rpc_Req_WifiGetBand {}
23939impl ::micropb::MessageDecode for Rpc_Req_WifiGetBand {
23940    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
23941        &mut self,
23942        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
23943        len: usize,
23944    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
23945        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
23946        let before = decoder.bytes_read();
23947        while decoder.bytes_read() - before < len {
23948            let tag = decoder.decode_tag()?;
23949            match tag.field_num() {
23950                0 => return Err(::micropb::DecodeError::ZeroField),
23951                _ => {
23952                    decoder.skip_wire_value(tag.wire_type())?;
23953                }
23954            }
23955        }
23956        Ok(())
23957    }
23958}
23959impl ::micropb::MessageEncode for Rpc_Req_WifiGetBand {
23960    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
23961        let mut max_size = 0;
23962        ::core::option::Option::Some(max_size)
23963    };
23964    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
23965        &self,
23966        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
23967    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
23968        use ::micropb::{PbMap, FieldEncode};
23969        Ok(())
23970    }
23971    fn compute_size(&self) -> usize {
23972        use ::micropb::{PbMap, FieldEncode};
23973        let mut size = 0;
23974        size
23975    }
23976}
23977#[derive(Debug, Default, PartialEq, Clone)]
23978pub struct Rpc_Resp_WifiGetBand {
23979    pub r#resp: i32,
23980    pub r#band: u32,
23981}
23982impl Rpc_Resp_WifiGetBand {
23983    ///Return a reference to `resp`
23984    #[inline]
23985    pub fn r#resp(&self) -> &i32 {
23986        &self.r#resp
23987    }
23988    ///Return a mutable reference to `resp`
23989    #[inline]
23990    pub fn mut_resp(&mut self) -> &mut i32 {
23991        &mut self.r#resp
23992    }
23993    ///Set the value of `resp`
23994    #[inline]
23995    pub fn set_resp(&mut self, value: i32) -> &mut Self {
23996        self.r#resp = value.into();
23997        self
23998    }
23999    ///Builder method that sets the value of `resp`. Useful for initializing the message.
24000    #[inline]
24001    pub fn init_resp(mut self, value: i32) -> Self {
24002        self.r#resp = value.into();
24003        self
24004    }
24005    ///Return a reference to `band`
24006    #[inline]
24007    pub fn r#band(&self) -> &u32 {
24008        &self.r#band
24009    }
24010    ///Return a mutable reference to `band`
24011    #[inline]
24012    pub fn mut_band(&mut self) -> &mut u32 {
24013        &mut self.r#band
24014    }
24015    ///Set the value of `band`
24016    #[inline]
24017    pub fn set_band(&mut self, value: u32) -> &mut Self {
24018        self.r#band = value.into();
24019        self
24020    }
24021    ///Builder method that sets the value of `band`. Useful for initializing the message.
24022    #[inline]
24023    pub fn init_band(mut self, value: u32) -> Self {
24024        self.r#band = value.into();
24025        self
24026    }
24027}
24028impl ::micropb::MessageDecode for Rpc_Resp_WifiGetBand {
24029    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
24030        &mut self,
24031        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
24032        len: usize,
24033    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
24034        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
24035        let before = decoder.bytes_read();
24036        while decoder.bytes_read() - before < len {
24037            let tag = decoder.decode_tag()?;
24038            match tag.field_num() {
24039                0 => return Err(::micropb::DecodeError::ZeroField),
24040                1u32 => {
24041                    let mut_ref = &mut self.r#resp;
24042                    {
24043                        let val = decoder.decode_int32()?;
24044                        let val_ref = &val;
24045                        if *val_ref != 0 {
24046                            *mut_ref = val as _;
24047                        }
24048                    };
24049                }
24050                2u32 => {
24051                    let mut_ref = &mut self.r#band;
24052                    {
24053                        let val = decoder.decode_varint32()?;
24054                        let val_ref = &val;
24055                        if *val_ref != 0 {
24056                            *mut_ref = val as _;
24057                        }
24058                    };
24059                }
24060                _ => {
24061                    decoder.skip_wire_value(tag.wire_type())?;
24062                }
24063            }
24064        }
24065        Ok(())
24066    }
24067}
24068impl ::micropb::MessageEncode for Rpc_Resp_WifiGetBand {
24069    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
24070        let mut max_size = 0;
24071        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
24072            ::core::option::Option::Some(10usize), | size | size + 1usize
24073        ) {
24074            max_size += size;
24075        } else {
24076            break 'msg (::core::option::Option::<usize>::None);
24077        };
24078        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
24079            ::core::option::Option::Some(5usize), | size | size + 1usize
24080        ) {
24081            max_size += size;
24082        } else {
24083            break 'msg (::core::option::Option::<usize>::None);
24084        };
24085        ::core::option::Option::Some(max_size)
24086    };
24087    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
24088        &self,
24089        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
24090    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
24091        use ::micropb::{PbMap, FieldEncode};
24092        {
24093            let val_ref = &self.r#resp;
24094            if *val_ref != 0 {
24095                encoder.encode_varint32(8u32)?;
24096                encoder.encode_int32(*val_ref as _)?;
24097            }
24098        }
24099        {
24100            let val_ref = &self.r#band;
24101            if *val_ref != 0 {
24102                encoder.encode_varint32(16u32)?;
24103                encoder.encode_varint32(*val_ref as _)?;
24104            }
24105        }
24106        Ok(())
24107    }
24108    fn compute_size(&self) -> usize {
24109        use ::micropb::{PbMap, FieldEncode};
24110        let mut size = 0;
24111        {
24112            let val_ref = &self.r#resp;
24113            if *val_ref != 0 {
24114                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
24115            }
24116        }
24117        {
24118            let val_ref = &self.r#band;
24119            if *val_ref != 0 {
24120                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
24121            }
24122        }
24123        size
24124    }
24125}
24126#[derive(Debug, Default, PartialEq, Clone)]
24127pub struct Rpc_Req_WifiSetBandMode {
24128    pub r#bandmode: u32,
24129}
24130impl Rpc_Req_WifiSetBandMode {
24131    ///Return a reference to `bandmode`
24132    #[inline]
24133    pub fn r#bandmode(&self) -> &u32 {
24134        &self.r#bandmode
24135    }
24136    ///Return a mutable reference to `bandmode`
24137    #[inline]
24138    pub fn mut_bandmode(&mut self) -> &mut u32 {
24139        &mut self.r#bandmode
24140    }
24141    ///Set the value of `bandmode`
24142    #[inline]
24143    pub fn set_bandmode(&mut self, value: u32) -> &mut Self {
24144        self.r#bandmode = value.into();
24145        self
24146    }
24147    ///Builder method that sets the value of `bandmode`. Useful for initializing the message.
24148    #[inline]
24149    pub fn init_bandmode(mut self, value: u32) -> Self {
24150        self.r#bandmode = value.into();
24151        self
24152    }
24153}
24154impl ::micropb::MessageDecode for Rpc_Req_WifiSetBandMode {
24155    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
24156        &mut self,
24157        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
24158        len: usize,
24159    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
24160        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
24161        let before = decoder.bytes_read();
24162        while decoder.bytes_read() - before < len {
24163            let tag = decoder.decode_tag()?;
24164            match tag.field_num() {
24165                0 => return Err(::micropb::DecodeError::ZeroField),
24166                1u32 => {
24167                    let mut_ref = &mut self.r#bandmode;
24168                    {
24169                        let val = decoder.decode_varint32()?;
24170                        let val_ref = &val;
24171                        if *val_ref != 0 {
24172                            *mut_ref = val as _;
24173                        }
24174                    };
24175                }
24176                _ => {
24177                    decoder.skip_wire_value(tag.wire_type())?;
24178                }
24179            }
24180        }
24181        Ok(())
24182    }
24183}
24184impl ::micropb::MessageEncode for Rpc_Req_WifiSetBandMode {
24185    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
24186        let mut max_size = 0;
24187        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
24188            ::core::option::Option::Some(5usize), | size | size + 1usize
24189        ) {
24190            max_size += size;
24191        } else {
24192            break 'msg (::core::option::Option::<usize>::None);
24193        };
24194        ::core::option::Option::Some(max_size)
24195    };
24196    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
24197        &self,
24198        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
24199    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
24200        use ::micropb::{PbMap, FieldEncode};
24201        {
24202            let val_ref = &self.r#bandmode;
24203            if *val_ref != 0 {
24204                encoder.encode_varint32(8u32)?;
24205                encoder.encode_varint32(*val_ref as _)?;
24206            }
24207        }
24208        Ok(())
24209    }
24210    fn compute_size(&self) -> usize {
24211        use ::micropb::{PbMap, FieldEncode};
24212        let mut size = 0;
24213        {
24214            let val_ref = &self.r#bandmode;
24215            if *val_ref != 0 {
24216                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
24217            }
24218        }
24219        size
24220    }
24221}
24222#[derive(Debug, Default, PartialEq, Clone)]
24223pub struct Rpc_Resp_WifiSetBandMode {
24224    pub r#resp: i32,
24225}
24226impl Rpc_Resp_WifiSetBandMode {
24227    ///Return a reference to `resp`
24228    #[inline]
24229    pub fn r#resp(&self) -> &i32 {
24230        &self.r#resp
24231    }
24232    ///Return a mutable reference to `resp`
24233    #[inline]
24234    pub fn mut_resp(&mut self) -> &mut i32 {
24235        &mut self.r#resp
24236    }
24237    ///Set the value of `resp`
24238    #[inline]
24239    pub fn set_resp(&mut self, value: i32) -> &mut Self {
24240        self.r#resp = value.into();
24241        self
24242    }
24243    ///Builder method that sets the value of `resp`. Useful for initializing the message.
24244    #[inline]
24245    pub fn init_resp(mut self, value: i32) -> Self {
24246        self.r#resp = value.into();
24247        self
24248    }
24249}
24250impl ::micropb::MessageDecode for Rpc_Resp_WifiSetBandMode {
24251    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
24252        &mut self,
24253        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
24254        len: usize,
24255    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
24256        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
24257        let before = decoder.bytes_read();
24258        while decoder.bytes_read() - before < len {
24259            let tag = decoder.decode_tag()?;
24260            match tag.field_num() {
24261                0 => return Err(::micropb::DecodeError::ZeroField),
24262                1u32 => {
24263                    let mut_ref = &mut self.r#resp;
24264                    {
24265                        let val = decoder.decode_int32()?;
24266                        let val_ref = &val;
24267                        if *val_ref != 0 {
24268                            *mut_ref = val as _;
24269                        }
24270                    };
24271                }
24272                _ => {
24273                    decoder.skip_wire_value(tag.wire_type())?;
24274                }
24275            }
24276        }
24277        Ok(())
24278    }
24279}
24280impl ::micropb::MessageEncode for Rpc_Resp_WifiSetBandMode {
24281    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
24282        let mut max_size = 0;
24283        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
24284            ::core::option::Option::Some(10usize), | size | size + 1usize
24285        ) {
24286            max_size += size;
24287        } else {
24288            break 'msg (::core::option::Option::<usize>::None);
24289        };
24290        ::core::option::Option::Some(max_size)
24291    };
24292    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
24293        &self,
24294        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
24295    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
24296        use ::micropb::{PbMap, FieldEncode};
24297        {
24298            let val_ref = &self.r#resp;
24299            if *val_ref != 0 {
24300                encoder.encode_varint32(8u32)?;
24301                encoder.encode_int32(*val_ref as _)?;
24302            }
24303        }
24304        Ok(())
24305    }
24306    fn compute_size(&self) -> usize {
24307        use ::micropb::{PbMap, FieldEncode};
24308        let mut size = 0;
24309        {
24310            let val_ref = &self.r#resp;
24311            if *val_ref != 0 {
24312                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
24313            }
24314        }
24315        size
24316    }
24317}
24318#[derive(Debug, Default, PartialEq, Clone)]
24319pub struct Rpc_Req_WifiGetBandMode {}
24320impl Rpc_Req_WifiGetBandMode {}
24321impl ::micropb::MessageDecode for Rpc_Req_WifiGetBandMode {
24322    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
24323        &mut self,
24324        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
24325        len: usize,
24326    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
24327        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
24328        let before = decoder.bytes_read();
24329        while decoder.bytes_read() - before < len {
24330            let tag = decoder.decode_tag()?;
24331            match tag.field_num() {
24332                0 => return Err(::micropb::DecodeError::ZeroField),
24333                _ => {
24334                    decoder.skip_wire_value(tag.wire_type())?;
24335                }
24336            }
24337        }
24338        Ok(())
24339    }
24340}
24341impl ::micropb::MessageEncode for Rpc_Req_WifiGetBandMode {
24342    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
24343        let mut max_size = 0;
24344        ::core::option::Option::Some(max_size)
24345    };
24346    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
24347        &self,
24348        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
24349    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
24350        use ::micropb::{PbMap, FieldEncode};
24351        Ok(())
24352    }
24353    fn compute_size(&self) -> usize {
24354        use ::micropb::{PbMap, FieldEncode};
24355        let mut size = 0;
24356        size
24357    }
24358}
24359#[derive(Debug, Default, PartialEq, Clone)]
24360pub struct Rpc_Resp_WifiGetBandMode {
24361    pub r#resp: i32,
24362    pub r#bandmode: u32,
24363}
24364impl Rpc_Resp_WifiGetBandMode {
24365    ///Return a reference to `resp`
24366    #[inline]
24367    pub fn r#resp(&self) -> &i32 {
24368        &self.r#resp
24369    }
24370    ///Return a mutable reference to `resp`
24371    #[inline]
24372    pub fn mut_resp(&mut self) -> &mut i32 {
24373        &mut self.r#resp
24374    }
24375    ///Set the value of `resp`
24376    #[inline]
24377    pub fn set_resp(&mut self, value: i32) -> &mut Self {
24378        self.r#resp = value.into();
24379        self
24380    }
24381    ///Builder method that sets the value of `resp`. Useful for initializing the message.
24382    #[inline]
24383    pub fn init_resp(mut self, value: i32) -> Self {
24384        self.r#resp = value.into();
24385        self
24386    }
24387    ///Return a reference to `bandmode`
24388    #[inline]
24389    pub fn r#bandmode(&self) -> &u32 {
24390        &self.r#bandmode
24391    }
24392    ///Return a mutable reference to `bandmode`
24393    #[inline]
24394    pub fn mut_bandmode(&mut self) -> &mut u32 {
24395        &mut self.r#bandmode
24396    }
24397    ///Set the value of `bandmode`
24398    #[inline]
24399    pub fn set_bandmode(&mut self, value: u32) -> &mut Self {
24400        self.r#bandmode = value.into();
24401        self
24402    }
24403    ///Builder method that sets the value of `bandmode`. Useful for initializing the message.
24404    #[inline]
24405    pub fn init_bandmode(mut self, value: u32) -> Self {
24406        self.r#bandmode = value.into();
24407        self
24408    }
24409}
24410impl ::micropb::MessageDecode for Rpc_Resp_WifiGetBandMode {
24411    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
24412        &mut self,
24413        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
24414        len: usize,
24415    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
24416        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
24417        let before = decoder.bytes_read();
24418        while decoder.bytes_read() - before < len {
24419            let tag = decoder.decode_tag()?;
24420            match tag.field_num() {
24421                0 => return Err(::micropb::DecodeError::ZeroField),
24422                1u32 => {
24423                    let mut_ref = &mut self.r#resp;
24424                    {
24425                        let val = decoder.decode_int32()?;
24426                        let val_ref = &val;
24427                        if *val_ref != 0 {
24428                            *mut_ref = val as _;
24429                        }
24430                    };
24431                }
24432                2u32 => {
24433                    let mut_ref = &mut self.r#bandmode;
24434                    {
24435                        let val = decoder.decode_varint32()?;
24436                        let val_ref = &val;
24437                        if *val_ref != 0 {
24438                            *mut_ref = val as _;
24439                        }
24440                    };
24441                }
24442                _ => {
24443                    decoder.skip_wire_value(tag.wire_type())?;
24444                }
24445            }
24446        }
24447        Ok(())
24448    }
24449}
24450impl ::micropb::MessageEncode for Rpc_Resp_WifiGetBandMode {
24451    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
24452        let mut max_size = 0;
24453        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
24454            ::core::option::Option::Some(10usize), | size | size + 1usize
24455        ) {
24456            max_size += size;
24457        } else {
24458            break 'msg (::core::option::Option::<usize>::None);
24459        };
24460        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
24461            ::core::option::Option::Some(5usize), | size | size + 1usize
24462        ) {
24463            max_size += size;
24464        } else {
24465            break 'msg (::core::option::Option::<usize>::None);
24466        };
24467        ::core::option::Option::Some(max_size)
24468    };
24469    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
24470        &self,
24471        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
24472    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
24473        use ::micropb::{PbMap, FieldEncode};
24474        {
24475            let val_ref = &self.r#resp;
24476            if *val_ref != 0 {
24477                encoder.encode_varint32(8u32)?;
24478                encoder.encode_int32(*val_ref as _)?;
24479            }
24480        }
24481        {
24482            let val_ref = &self.r#bandmode;
24483            if *val_ref != 0 {
24484                encoder.encode_varint32(16u32)?;
24485                encoder.encode_varint32(*val_ref as _)?;
24486            }
24487        }
24488        Ok(())
24489    }
24490    fn compute_size(&self) -> usize {
24491        use ::micropb::{PbMap, FieldEncode};
24492        let mut size = 0;
24493        {
24494            let val_ref = &self.r#resp;
24495            if *val_ref != 0 {
24496                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
24497            }
24498        }
24499        {
24500            let val_ref = &self.r#bandmode;
24501            if *val_ref != 0 {
24502                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
24503            }
24504        }
24505        size
24506    }
24507}
24508#[derive(Debug, Default, PartialEq, Clone)]
24509pub struct Rpc_Req_GetCoprocessorFwVersion {}
24510impl Rpc_Req_GetCoprocessorFwVersion {}
24511impl ::micropb::MessageDecode for Rpc_Req_GetCoprocessorFwVersion {
24512    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
24513        &mut self,
24514        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
24515        len: usize,
24516    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
24517        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
24518        let before = decoder.bytes_read();
24519        while decoder.bytes_read() - before < len {
24520            let tag = decoder.decode_tag()?;
24521            match tag.field_num() {
24522                0 => return Err(::micropb::DecodeError::ZeroField),
24523                _ => {
24524                    decoder.skip_wire_value(tag.wire_type())?;
24525                }
24526            }
24527        }
24528        Ok(())
24529    }
24530}
24531impl ::micropb::MessageEncode for Rpc_Req_GetCoprocessorFwVersion {
24532    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
24533        let mut max_size = 0;
24534        ::core::option::Option::Some(max_size)
24535    };
24536    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
24537        &self,
24538        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
24539    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
24540        use ::micropb::{PbMap, FieldEncode};
24541        Ok(())
24542    }
24543    fn compute_size(&self) -> usize {
24544        use ::micropb::{PbMap, FieldEncode};
24545        let mut size = 0;
24546        size
24547    }
24548}
24549#[derive(Debug, Default, PartialEq, Clone)]
24550pub struct Rpc_Resp_GetCoprocessorFwVersion {
24551    pub r#resp: i32,
24552    pub r#major1: u32,
24553    pub r#minor1: u32,
24554    pub r#patch1: u32,
24555}
24556impl Rpc_Resp_GetCoprocessorFwVersion {
24557    ///Return a reference to `resp`
24558    #[inline]
24559    pub fn r#resp(&self) -> &i32 {
24560        &self.r#resp
24561    }
24562    ///Return a mutable reference to `resp`
24563    #[inline]
24564    pub fn mut_resp(&mut self) -> &mut i32 {
24565        &mut self.r#resp
24566    }
24567    ///Set the value of `resp`
24568    #[inline]
24569    pub fn set_resp(&mut self, value: i32) -> &mut Self {
24570        self.r#resp = value.into();
24571        self
24572    }
24573    ///Builder method that sets the value of `resp`. Useful for initializing the message.
24574    #[inline]
24575    pub fn init_resp(mut self, value: i32) -> Self {
24576        self.r#resp = value.into();
24577        self
24578    }
24579    ///Return a reference to `major1`
24580    #[inline]
24581    pub fn r#major1(&self) -> &u32 {
24582        &self.r#major1
24583    }
24584    ///Return a mutable reference to `major1`
24585    #[inline]
24586    pub fn mut_major1(&mut self) -> &mut u32 {
24587        &mut self.r#major1
24588    }
24589    ///Set the value of `major1`
24590    #[inline]
24591    pub fn set_major1(&mut self, value: u32) -> &mut Self {
24592        self.r#major1 = value.into();
24593        self
24594    }
24595    ///Builder method that sets the value of `major1`. Useful for initializing the message.
24596    #[inline]
24597    pub fn init_major1(mut self, value: u32) -> Self {
24598        self.r#major1 = value.into();
24599        self
24600    }
24601    ///Return a reference to `minor1`
24602    #[inline]
24603    pub fn r#minor1(&self) -> &u32 {
24604        &self.r#minor1
24605    }
24606    ///Return a mutable reference to `minor1`
24607    #[inline]
24608    pub fn mut_minor1(&mut self) -> &mut u32 {
24609        &mut self.r#minor1
24610    }
24611    ///Set the value of `minor1`
24612    #[inline]
24613    pub fn set_minor1(&mut self, value: u32) -> &mut Self {
24614        self.r#minor1 = value.into();
24615        self
24616    }
24617    ///Builder method that sets the value of `minor1`. Useful for initializing the message.
24618    #[inline]
24619    pub fn init_minor1(mut self, value: u32) -> Self {
24620        self.r#minor1 = value.into();
24621        self
24622    }
24623    ///Return a reference to `patch1`
24624    #[inline]
24625    pub fn r#patch1(&self) -> &u32 {
24626        &self.r#patch1
24627    }
24628    ///Return a mutable reference to `patch1`
24629    #[inline]
24630    pub fn mut_patch1(&mut self) -> &mut u32 {
24631        &mut self.r#patch1
24632    }
24633    ///Set the value of `patch1`
24634    #[inline]
24635    pub fn set_patch1(&mut self, value: u32) -> &mut Self {
24636        self.r#patch1 = value.into();
24637        self
24638    }
24639    ///Builder method that sets the value of `patch1`. Useful for initializing the message.
24640    #[inline]
24641    pub fn init_patch1(mut self, value: u32) -> Self {
24642        self.r#patch1 = value.into();
24643        self
24644    }
24645}
24646impl ::micropb::MessageDecode for Rpc_Resp_GetCoprocessorFwVersion {
24647    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
24648        &mut self,
24649        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
24650        len: usize,
24651    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
24652        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
24653        let before = decoder.bytes_read();
24654        while decoder.bytes_read() - before < len {
24655            let tag = decoder.decode_tag()?;
24656            match tag.field_num() {
24657                0 => return Err(::micropb::DecodeError::ZeroField),
24658                1u32 => {
24659                    let mut_ref = &mut self.r#resp;
24660                    {
24661                        let val = decoder.decode_int32()?;
24662                        let val_ref = &val;
24663                        if *val_ref != 0 {
24664                            *mut_ref = val as _;
24665                        }
24666                    };
24667                }
24668                2u32 => {
24669                    let mut_ref = &mut self.r#major1;
24670                    {
24671                        let val = decoder.decode_varint32()?;
24672                        let val_ref = &val;
24673                        if *val_ref != 0 {
24674                            *mut_ref = val as _;
24675                        }
24676                    };
24677                }
24678                3u32 => {
24679                    let mut_ref = &mut self.r#minor1;
24680                    {
24681                        let val = decoder.decode_varint32()?;
24682                        let val_ref = &val;
24683                        if *val_ref != 0 {
24684                            *mut_ref = val as _;
24685                        }
24686                    };
24687                }
24688                4u32 => {
24689                    let mut_ref = &mut self.r#patch1;
24690                    {
24691                        let val = decoder.decode_varint32()?;
24692                        let val_ref = &val;
24693                        if *val_ref != 0 {
24694                            *mut_ref = val as _;
24695                        }
24696                    };
24697                }
24698                _ => {
24699                    decoder.skip_wire_value(tag.wire_type())?;
24700                }
24701            }
24702        }
24703        Ok(())
24704    }
24705}
24706impl ::micropb::MessageEncode for Rpc_Resp_GetCoprocessorFwVersion {
24707    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
24708        let mut max_size = 0;
24709        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
24710            ::core::option::Option::Some(10usize), | 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) = ::micropb::const_map!(
24717            ::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) = ::micropb::const_map!(
24724            ::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        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
24731            ::core::option::Option::Some(5usize), | size | size + 1usize
24732        ) {
24733            max_size += size;
24734        } else {
24735            break 'msg (::core::option::Option::<usize>::None);
24736        };
24737        ::core::option::Option::Some(max_size)
24738    };
24739    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
24740        &self,
24741        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
24742    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
24743        use ::micropb::{PbMap, FieldEncode};
24744        {
24745            let val_ref = &self.r#resp;
24746            if *val_ref != 0 {
24747                encoder.encode_varint32(8u32)?;
24748                encoder.encode_int32(*val_ref as _)?;
24749            }
24750        }
24751        {
24752            let val_ref = &self.r#major1;
24753            if *val_ref != 0 {
24754                encoder.encode_varint32(16u32)?;
24755                encoder.encode_varint32(*val_ref as _)?;
24756            }
24757        }
24758        {
24759            let val_ref = &self.r#minor1;
24760            if *val_ref != 0 {
24761                encoder.encode_varint32(24u32)?;
24762                encoder.encode_varint32(*val_ref as _)?;
24763            }
24764        }
24765        {
24766            let val_ref = &self.r#patch1;
24767            if *val_ref != 0 {
24768                encoder.encode_varint32(32u32)?;
24769                encoder.encode_varint32(*val_ref as _)?;
24770            }
24771        }
24772        Ok(())
24773    }
24774    fn compute_size(&self) -> usize {
24775        use ::micropb::{PbMap, FieldEncode};
24776        let mut size = 0;
24777        {
24778            let val_ref = &self.r#resp;
24779            if *val_ref != 0 {
24780                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
24781            }
24782        }
24783        {
24784            let val_ref = &self.r#major1;
24785            if *val_ref != 0 {
24786                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
24787            }
24788        }
24789        {
24790            let val_ref = &self.r#minor1;
24791            if *val_ref != 0 {
24792                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
24793            }
24794        }
24795        {
24796            let val_ref = &self.r#patch1;
24797            if *val_ref != 0 {
24798                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
24799            }
24800        }
24801        size
24802    }
24803}
24804#[derive(Debug, Default, PartialEq, Clone)]
24805pub struct Rpc_Event_WifiEventNoArgs {
24806    pub r#resp: i32,
24807    pub r#event_id: i32,
24808}
24809impl Rpc_Event_WifiEventNoArgs {
24810    ///Return a reference to `resp`
24811    #[inline]
24812    pub fn r#resp(&self) -> &i32 {
24813        &self.r#resp
24814    }
24815    ///Return a mutable reference to `resp`
24816    #[inline]
24817    pub fn mut_resp(&mut self) -> &mut i32 {
24818        &mut self.r#resp
24819    }
24820    ///Set the value of `resp`
24821    #[inline]
24822    pub fn set_resp(&mut self, value: i32) -> &mut Self {
24823        self.r#resp = value.into();
24824        self
24825    }
24826    ///Builder method that sets the value of `resp`. Useful for initializing the message.
24827    #[inline]
24828    pub fn init_resp(mut self, value: i32) -> Self {
24829        self.r#resp = value.into();
24830        self
24831    }
24832    ///Return a reference to `event_id`
24833    #[inline]
24834    pub fn r#event_id(&self) -> &i32 {
24835        &self.r#event_id
24836    }
24837    ///Return a mutable reference to `event_id`
24838    #[inline]
24839    pub fn mut_event_id(&mut self) -> &mut i32 {
24840        &mut self.r#event_id
24841    }
24842    ///Set the value of `event_id`
24843    #[inline]
24844    pub fn set_event_id(&mut self, value: i32) -> &mut Self {
24845        self.r#event_id = value.into();
24846        self
24847    }
24848    ///Builder method that sets the value of `event_id`. Useful for initializing the message.
24849    #[inline]
24850    pub fn init_event_id(mut self, value: i32) -> Self {
24851        self.r#event_id = value.into();
24852        self
24853    }
24854}
24855impl ::micropb::MessageDecode for Rpc_Event_WifiEventNoArgs {
24856    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
24857        &mut self,
24858        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
24859        len: usize,
24860    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
24861        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
24862        let before = decoder.bytes_read();
24863        while decoder.bytes_read() - before < len {
24864            let tag = decoder.decode_tag()?;
24865            match tag.field_num() {
24866                0 => return Err(::micropb::DecodeError::ZeroField),
24867                1u32 => {
24868                    let mut_ref = &mut self.r#resp;
24869                    {
24870                        let val = decoder.decode_int32()?;
24871                        let val_ref = &val;
24872                        if *val_ref != 0 {
24873                            *mut_ref = val as _;
24874                        }
24875                    };
24876                }
24877                2u32 => {
24878                    let mut_ref = &mut self.r#event_id;
24879                    {
24880                        let val = decoder.decode_int32()?;
24881                        let val_ref = &val;
24882                        if *val_ref != 0 {
24883                            *mut_ref = val as _;
24884                        }
24885                    };
24886                }
24887                _ => {
24888                    decoder.skip_wire_value(tag.wire_type())?;
24889                }
24890            }
24891        }
24892        Ok(())
24893    }
24894}
24895impl ::micropb::MessageEncode for Rpc_Event_WifiEventNoArgs {
24896    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
24897        let mut max_size = 0;
24898        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
24899            ::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        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
24906            ::core::option::Option::Some(10usize), | size | size + 1usize
24907        ) {
24908            max_size += size;
24909        } else {
24910            break 'msg (::core::option::Option::<usize>::None);
24911        };
24912        ::core::option::Option::Some(max_size)
24913    };
24914    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
24915        &self,
24916        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
24917    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
24918        use ::micropb::{PbMap, FieldEncode};
24919        {
24920            let val_ref = &self.r#resp;
24921            if *val_ref != 0 {
24922                encoder.encode_varint32(8u32)?;
24923                encoder.encode_int32(*val_ref as _)?;
24924            }
24925        }
24926        {
24927            let val_ref = &self.r#event_id;
24928            if *val_ref != 0 {
24929                encoder.encode_varint32(16u32)?;
24930                encoder.encode_int32(*val_ref as _)?;
24931            }
24932        }
24933        Ok(())
24934    }
24935    fn compute_size(&self) -> usize {
24936        use ::micropb::{PbMap, FieldEncode};
24937        let mut size = 0;
24938        {
24939            let val_ref = &self.r#resp;
24940            if *val_ref != 0 {
24941                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
24942            }
24943        }
24944        {
24945            let val_ref = &self.r#event_id;
24946            if *val_ref != 0 {
24947                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
24948            }
24949        }
24950        size
24951    }
24952}
24953#[derive(Debug, Default, PartialEq, Clone)]
24954pub struct Rpc_Event_ESPInit {
24955    pub r#init_data: ::micropb::heapless::Vec<u8, 32>,
24956}
24957impl Rpc_Event_ESPInit {
24958    ///Return a reference to `init_data`
24959    #[inline]
24960    pub fn r#init_data(&self) -> &::micropb::heapless::Vec<u8, 32> {
24961        &self.r#init_data
24962    }
24963    ///Return a mutable reference to `init_data`
24964    #[inline]
24965    pub fn mut_init_data(&mut self) -> &mut ::micropb::heapless::Vec<u8, 32> {
24966        &mut self.r#init_data
24967    }
24968    ///Set the value of `init_data`
24969    #[inline]
24970    pub fn set_init_data(
24971        &mut self,
24972        value: ::micropb::heapless::Vec<u8, 32>,
24973    ) -> &mut Self {
24974        self.r#init_data = value.into();
24975        self
24976    }
24977    ///Builder method that sets the value of `init_data`. Useful for initializing the message.
24978    #[inline]
24979    pub fn init_init_data(mut self, value: ::micropb::heapless::Vec<u8, 32>) -> Self {
24980        self.r#init_data = value.into();
24981        self
24982    }
24983}
24984impl ::micropb::MessageDecode for Rpc_Event_ESPInit {
24985    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
24986        &mut self,
24987        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
24988        len: usize,
24989    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
24990        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
24991        let before = decoder.bytes_read();
24992        while decoder.bytes_read() - before < len {
24993            let tag = decoder.decode_tag()?;
24994            match tag.field_num() {
24995                0 => return Err(::micropb::DecodeError::ZeroField),
24996                1u32 => {
24997                    let mut_ref = &mut self.r#init_data;
24998                    {
24999                        decoder.decode_bytes(mut_ref, ::micropb::Presence::Implicit)?;
25000                    };
25001                }
25002                _ => {
25003                    decoder.skip_wire_value(tag.wire_type())?;
25004                }
25005            }
25006        }
25007        Ok(())
25008    }
25009}
25010impl ::micropb::MessageEncode for Rpc_Event_ESPInit {
25011    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
25012        let mut max_size = 0;
25013        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
25014            ::core::option::Option::Some(33usize), | size | size + 1usize
25015        ) {
25016            max_size += size;
25017        } else {
25018            break 'msg (::core::option::Option::<usize>::None);
25019        };
25020        ::core::option::Option::Some(max_size)
25021    };
25022    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
25023        &self,
25024        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
25025    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
25026        use ::micropb::{PbMap, FieldEncode};
25027        {
25028            let val_ref = &self.r#init_data;
25029            if !val_ref.is_empty() {
25030                encoder.encode_varint32(10u32)?;
25031                encoder.encode_bytes(val_ref)?;
25032            }
25033        }
25034        Ok(())
25035    }
25036    fn compute_size(&self) -> usize {
25037        use ::micropb::{PbMap, FieldEncode};
25038        let mut size = 0;
25039        {
25040            let val_ref = &self.r#init_data;
25041            if !val_ref.is_empty() {
25042                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.len());
25043            }
25044        }
25045        size
25046    }
25047}
25048#[derive(Debug, Default, PartialEq, Clone)]
25049pub struct Rpc_Event_Heartbeat {
25050    pub r#hb_num: i32,
25051}
25052impl Rpc_Event_Heartbeat {
25053    ///Return a reference to `hb_num`
25054    #[inline]
25055    pub fn r#hb_num(&self) -> &i32 {
25056        &self.r#hb_num
25057    }
25058    ///Return a mutable reference to `hb_num`
25059    #[inline]
25060    pub fn mut_hb_num(&mut self) -> &mut i32 {
25061        &mut self.r#hb_num
25062    }
25063    ///Set the value of `hb_num`
25064    #[inline]
25065    pub fn set_hb_num(&mut self, value: i32) -> &mut Self {
25066        self.r#hb_num = value.into();
25067        self
25068    }
25069    ///Builder method that sets the value of `hb_num`. Useful for initializing the message.
25070    #[inline]
25071    pub fn init_hb_num(mut self, value: i32) -> Self {
25072        self.r#hb_num = value.into();
25073        self
25074    }
25075}
25076impl ::micropb::MessageDecode for Rpc_Event_Heartbeat {
25077    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
25078        &mut self,
25079        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
25080        len: usize,
25081    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
25082        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
25083        let before = decoder.bytes_read();
25084        while decoder.bytes_read() - before < len {
25085            let tag = decoder.decode_tag()?;
25086            match tag.field_num() {
25087                0 => return Err(::micropb::DecodeError::ZeroField),
25088                1u32 => {
25089                    let mut_ref = &mut self.r#hb_num;
25090                    {
25091                        let val = decoder.decode_int32()?;
25092                        let val_ref = &val;
25093                        if *val_ref != 0 {
25094                            *mut_ref = val as _;
25095                        }
25096                    };
25097                }
25098                _ => {
25099                    decoder.skip_wire_value(tag.wire_type())?;
25100                }
25101            }
25102        }
25103        Ok(())
25104    }
25105}
25106impl ::micropb::MessageEncode for Rpc_Event_Heartbeat {
25107    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
25108        let mut max_size = 0;
25109        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
25110            ::core::option::Option::Some(10usize), | size | size + 1usize
25111        ) {
25112            max_size += size;
25113        } else {
25114            break 'msg (::core::option::Option::<usize>::None);
25115        };
25116        ::core::option::Option::Some(max_size)
25117    };
25118    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
25119        &self,
25120        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
25121    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
25122        use ::micropb::{PbMap, FieldEncode};
25123        {
25124            let val_ref = &self.r#hb_num;
25125            if *val_ref != 0 {
25126                encoder.encode_varint32(8u32)?;
25127                encoder.encode_int32(*val_ref as _)?;
25128            }
25129        }
25130        Ok(())
25131    }
25132    fn compute_size(&self) -> usize {
25133        use ::micropb::{PbMap, FieldEncode};
25134        let mut size = 0;
25135        {
25136            let val_ref = &self.r#hb_num;
25137            if *val_ref != 0 {
25138                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
25139            }
25140        }
25141        size
25142    }
25143}
25144#[derive(Debug, Default, PartialEq, Clone)]
25145pub struct Rpc_Event_AP_StaDisconnected {
25146    pub r#resp: i32,
25147    pub r#mac: ::micropb::heapless::Vec<u8, 32>,
25148    pub r#aid: u32,
25149    pub r#is_mesh_child: bool,
25150    pub r#reason: u32,
25151}
25152impl Rpc_Event_AP_StaDisconnected {
25153    ///Return a reference to `resp`
25154    #[inline]
25155    pub fn r#resp(&self) -> &i32 {
25156        &self.r#resp
25157    }
25158    ///Return a mutable reference to `resp`
25159    #[inline]
25160    pub fn mut_resp(&mut self) -> &mut i32 {
25161        &mut self.r#resp
25162    }
25163    ///Set the value of `resp`
25164    #[inline]
25165    pub fn set_resp(&mut self, value: i32) -> &mut Self {
25166        self.r#resp = value.into();
25167        self
25168    }
25169    ///Builder method that sets the value of `resp`. Useful for initializing the message.
25170    #[inline]
25171    pub fn init_resp(mut self, value: i32) -> Self {
25172        self.r#resp = value.into();
25173        self
25174    }
25175    ///Return a reference to `mac`
25176    #[inline]
25177    pub fn r#mac(&self) -> &::micropb::heapless::Vec<u8, 32> {
25178        &self.r#mac
25179    }
25180    ///Return a mutable reference to `mac`
25181    #[inline]
25182    pub fn mut_mac(&mut self) -> &mut ::micropb::heapless::Vec<u8, 32> {
25183        &mut self.r#mac
25184    }
25185    ///Set the value of `mac`
25186    #[inline]
25187    pub fn set_mac(&mut self, value: ::micropb::heapless::Vec<u8, 32>) -> &mut Self {
25188        self.r#mac = value.into();
25189        self
25190    }
25191    ///Builder method that sets the value of `mac`. Useful for initializing the message.
25192    #[inline]
25193    pub fn init_mac(mut self, value: ::micropb::heapless::Vec<u8, 32>) -> Self {
25194        self.r#mac = value.into();
25195        self
25196    }
25197    ///Return a reference to `aid`
25198    #[inline]
25199    pub fn r#aid(&self) -> &u32 {
25200        &self.r#aid
25201    }
25202    ///Return a mutable reference to `aid`
25203    #[inline]
25204    pub fn mut_aid(&mut self) -> &mut u32 {
25205        &mut self.r#aid
25206    }
25207    ///Set the value of `aid`
25208    #[inline]
25209    pub fn set_aid(&mut self, value: u32) -> &mut Self {
25210        self.r#aid = value.into();
25211        self
25212    }
25213    ///Builder method that sets the value of `aid`. Useful for initializing the message.
25214    #[inline]
25215    pub fn init_aid(mut self, value: u32) -> Self {
25216        self.r#aid = value.into();
25217        self
25218    }
25219    ///Return a reference to `is_mesh_child`
25220    #[inline]
25221    pub fn r#is_mesh_child(&self) -> &bool {
25222        &self.r#is_mesh_child
25223    }
25224    ///Return a mutable reference to `is_mesh_child`
25225    #[inline]
25226    pub fn mut_is_mesh_child(&mut self) -> &mut bool {
25227        &mut self.r#is_mesh_child
25228    }
25229    ///Set the value of `is_mesh_child`
25230    #[inline]
25231    pub fn set_is_mesh_child(&mut self, value: bool) -> &mut Self {
25232        self.r#is_mesh_child = value.into();
25233        self
25234    }
25235    ///Builder method that sets the value of `is_mesh_child`. Useful for initializing the message.
25236    #[inline]
25237    pub fn init_is_mesh_child(mut self, value: bool) -> Self {
25238        self.r#is_mesh_child = value.into();
25239        self
25240    }
25241    ///Return a reference to `reason`
25242    #[inline]
25243    pub fn r#reason(&self) -> &u32 {
25244        &self.r#reason
25245    }
25246    ///Return a mutable reference to `reason`
25247    #[inline]
25248    pub fn mut_reason(&mut self) -> &mut u32 {
25249        &mut self.r#reason
25250    }
25251    ///Set the value of `reason`
25252    #[inline]
25253    pub fn set_reason(&mut self, value: u32) -> &mut Self {
25254        self.r#reason = value.into();
25255        self
25256    }
25257    ///Builder method that sets the value of `reason`. Useful for initializing the message.
25258    #[inline]
25259    pub fn init_reason(mut self, value: u32) -> Self {
25260        self.r#reason = value.into();
25261        self
25262    }
25263}
25264impl ::micropb::MessageDecode for Rpc_Event_AP_StaDisconnected {
25265    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
25266        &mut self,
25267        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
25268        len: usize,
25269    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
25270        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
25271        let before = decoder.bytes_read();
25272        while decoder.bytes_read() - before < len {
25273            let tag = decoder.decode_tag()?;
25274            match tag.field_num() {
25275                0 => return Err(::micropb::DecodeError::ZeroField),
25276                1u32 => {
25277                    let mut_ref = &mut self.r#resp;
25278                    {
25279                        let val = decoder.decode_int32()?;
25280                        let val_ref = &val;
25281                        if *val_ref != 0 {
25282                            *mut_ref = val as _;
25283                        }
25284                    };
25285                }
25286                2u32 => {
25287                    let mut_ref = &mut self.r#mac;
25288                    {
25289                        decoder.decode_bytes(mut_ref, ::micropb::Presence::Implicit)?;
25290                    };
25291                }
25292                3u32 => {
25293                    let mut_ref = &mut self.r#aid;
25294                    {
25295                        let val = decoder.decode_varint32()?;
25296                        let val_ref = &val;
25297                        if *val_ref != 0 {
25298                            *mut_ref = val as _;
25299                        }
25300                    };
25301                }
25302                4u32 => {
25303                    let mut_ref = &mut self.r#is_mesh_child;
25304                    {
25305                        let val = decoder.decode_bool()?;
25306                        let val_ref = &val;
25307                        if *val_ref {
25308                            *mut_ref = val as _;
25309                        }
25310                    };
25311                }
25312                5u32 => {
25313                    let mut_ref = &mut self.r#reason;
25314                    {
25315                        let val = decoder.decode_varint32()?;
25316                        let val_ref = &val;
25317                        if *val_ref != 0 {
25318                            *mut_ref = val as _;
25319                        }
25320                    };
25321                }
25322                _ => {
25323                    decoder.skip_wire_value(tag.wire_type())?;
25324                }
25325            }
25326        }
25327        Ok(())
25328    }
25329}
25330impl ::micropb::MessageEncode for Rpc_Event_AP_StaDisconnected {
25331    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
25332        let mut max_size = 0;
25333        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
25334            ::core::option::Option::Some(10usize), | size | size + 1usize
25335        ) {
25336            max_size += size;
25337        } else {
25338            break 'msg (::core::option::Option::<usize>::None);
25339        };
25340        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
25341            ::core::option::Option::Some(33usize), | size | size + 1usize
25342        ) {
25343            max_size += size;
25344        } else {
25345            break 'msg (::core::option::Option::<usize>::None);
25346        };
25347        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
25348            ::core::option::Option::Some(5usize), | size | size + 1usize
25349        ) {
25350            max_size += size;
25351        } else {
25352            break 'msg (::core::option::Option::<usize>::None);
25353        };
25354        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
25355            ::core::option::Option::Some(1usize), | size | size + 1usize
25356        ) {
25357            max_size += size;
25358        } else {
25359            break 'msg (::core::option::Option::<usize>::None);
25360        };
25361        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
25362            ::core::option::Option::Some(5usize), | size | size + 1usize
25363        ) {
25364            max_size += size;
25365        } else {
25366            break 'msg (::core::option::Option::<usize>::None);
25367        };
25368        ::core::option::Option::Some(max_size)
25369    };
25370    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
25371        &self,
25372        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
25373    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
25374        use ::micropb::{PbMap, FieldEncode};
25375        {
25376            let val_ref = &self.r#resp;
25377            if *val_ref != 0 {
25378                encoder.encode_varint32(8u32)?;
25379                encoder.encode_int32(*val_ref as _)?;
25380            }
25381        }
25382        {
25383            let val_ref = &self.r#mac;
25384            if !val_ref.is_empty() {
25385                encoder.encode_varint32(18u32)?;
25386                encoder.encode_bytes(val_ref)?;
25387            }
25388        }
25389        {
25390            let val_ref = &self.r#aid;
25391            if *val_ref != 0 {
25392                encoder.encode_varint32(24u32)?;
25393                encoder.encode_varint32(*val_ref as _)?;
25394            }
25395        }
25396        {
25397            let val_ref = &self.r#is_mesh_child;
25398            if *val_ref {
25399                encoder.encode_varint32(32u32)?;
25400                encoder.encode_bool(*val_ref)?;
25401            }
25402        }
25403        {
25404            let val_ref = &self.r#reason;
25405            if *val_ref != 0 {
25406                encoder.encode_varint32(40u32)?;
25407                encoder.encode_varint32(*val_ref as _)?;
25408            }
25409        }
25410        Ok(())
25411    }
25412    fn compute_size(&self) -> usize {
25413        use ::micropb::{PbMap, FieldEncode};
25414        let mut size = 0;
25415        {
25416            let val_ref = &self.r#resp;
25417            if *val_ref != 0 {
25418                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
25419            }
25420        }
25421        {
25422            let val_ref = &self.r#mac;
25423            if !val_ref.is_empty() {
25424                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.len());
25425            }
25426        }
25427        {
25428            let val_ref = &self.r#aid;
25429            if *val_ref != 0 {
25430                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
25431            }
25432        }
25433        {
25434            let val_ref = &self.r#is_mesh_child;
25435            if *val_ref {
25436                size += 1usize + 1;
25437            }
25438        }
25439        {
25440            let val_ref = &self.r#reason;
25441            if *val_ref != 0 {
25442                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
25443            }
25444        }
25445        size
25446    }
25447}
25448#[derive(Debug, Default, PartialEq, Clone)]
25449pub struct Rpc_Event_AP_StaConnected {
25450    pub r#resp: i32,
25451    pub r#mac: ::micropb::heapless::Vec<u8, 32>,
25452    pub r#aid: u32,
25453    pub r#is_mesh_child: bool,
25454}
25455impl Rpc_Event_AP_StaConnected {
25456    ///Return a reference to `resp`
25457    #[inline]
25458    pub fn r#resp(&self) -> &i32 {
25459        &self.r#resp
25460    }
25461    ///Return a mutable reference to `resp`
25462    #[inline]
25463    pub fn mut_resp(&mut self) -> &mut i32 {
25464        &mut self.r#resp
25465    }
25466    ///Set the value of `resp`
25467    #[inline]
25468    pub fn set_resp(&mut self, value: i32) -> &mut Self {
25469        self.r#resp = value.into();
25470        self
25471    }
25472    ///Builder method that sets the value of `resp`. Useful for initializing the message.
25473    #[inline]
25474    pub fn init_resp(mut self, value: i32) -> Self {
25475        self.r#resp = value.into();
25476        self
25477    }
25478    ///Return a reference to `mac`
25479    #[inline]
25480    pub fn r#mac(&self) -> &::micropb::heapless::Vec<u8, 32> {
25481        &self.r#mac
25482    }
25483    ///Return a mutable reference to `mac`
25484    #[inline]
25485    pub fn mut_mac(&mut self) -> &mut ::micropb::heapless::Vec<u8, 32> {
25486        &mut self.r#mac
25487    }
25488    ///Set the value of `mac`
25489    #[inline]
25490    pub fn set_mac(&mut self, value: ::micropb::heapless::Vec<u8, 32>) -> &mut Self {
25491        self.r#mac = value.into();
25492        self
25493    }
25494    ///Builder method that sets the value of `mac`. Useful for initializing the message.
25495    #[inline]
25496    pub fn init_mac(mut self, value: ::micropb::heapless::Vec<u8, 32>) -> Self {
25497        self.r#mac = value.into();
25498        self
25499    }
25500    ///Return a reference to `aid`
25501    #[inline]
25502    pub fn r#aid(&self) -> &u32 {
25503        &self.r#aid
25504    }
25505    ///Return a mutable reference to `aid`
25506    #[inline]
25507    pub fn mut_aid(&mut self) -> &mut u32 {
25508        &mut self.r#aid
25509    }
25510    ///Set the value of `aid`
25511    #[inline]
25512    pub fn set_aid(&mut self, value: u32) -> &mut Self {
25513        self.r#aid = value.into();
25514        self
25515    }
25516    ///Builder method that sets the value of `aid`. Useful for initializing the message.
25517    #[inline]
25518    pub fn init_aid(mut self, value: u32) -> Self {
25519        self.r#aid = value.into();
25520        self
25521    }
25522    ///Return a reference to `is_mesh_child`
25523    #[inline]
25524    pub fn r#is_mesh_child(&self) -> &bool {
25525        &self.r#is_mesh_child
25526    }
25527    ///Return a mutable reference to `is_mesh_child`
25528    #[inline]
25529    pub fn mut_is_mesh_child(&mut self) -> &mut bool {
25530        &mut self.r#is_mesh_child
25531    }
25532    ///Set the value of `is_mesh_child`
25533    #[inline]
25534    pub fn set_is_mesh_child(&mut self, value: bool) -> &mut Self {
25535        self.r#is_mesh_child = value.into();
25536        self
25537    }
25538    ///Builder method that sets the value of `is_mesh_child`. Useful for initializing the message.
25539    #[inline]
25540    pub fn init_is_mesh_child(mut self, value: bool) -> Self {
25541        self.r#is_mesh_child = value.into();
25542        self
25543    }
25544}
25545impl ::micropb::MessageDecode for Rpc_Event_AP_StaConnected {
25546    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
25547        &mut self,
25548        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
25549        len: usize,
25550    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
25551        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
25552        let before = decoder.bytes_read();
25553        while decoder.bytes_read() - before < len {
25554            let tag = decoder.decode_tag()?;
25555            match tag.field_num() {
25556                0 => return Err(::micropb::DecodeError::ZeroField),
25557                1u32 => {
25558                    let mut_ref = &mut self.r#resp;
25559                    {
25560                        let val = decoder.decode_int32()?;
25561                        let val_ref = &val;
25562                        if *val_ref != 0 {
25563                            *mut_ref = val as _;
25564                        }
25565                    };
25566                }
25567                2u32 => {
25568                    let mut_ref = &mut self.r#mac;
25569                    {
25570                        decoder.decode_bytes(mut_ref, ::micropb::Presence::Implicit)?;
25571                    };
25572                }
25573                3u32 => {
25574                    let mut_ref = &mut self.r#aid;
25575                    {
25576                        let val = decoder.decode_varint32()?;
25577                        let val_ref = &val;
25578                        if *val_ref != 0 {
25579                            *mut_ref = val as _;
25580                        }
25581                    };
25582                }
25583                4u32 => {
25584                    let mut_ref = &mut self.r#is_mesh_child;
25585                    {
25586                        let val = decoder.decode_bool()?;
25587                        let val_ref = &val;
25588                        if *val_ref {
25589                            *mut_ref = val as _;
25590                        }
25591                    };
25592                }
25593                _ => {
25594                    decoder.skip_wire_value(tag.wire_type())?;
25595                }
25596            }
25597        }
25598        Ok(())
25599    }
25600}
25601impl ::micropb::MessageEncode for Rpc_Event_AP_StaConnected {
25602    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
25603        let mut max_size = 0;
25604        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
25605            ::core::option::Option::Some(10usize), | size | size + 1usize
25606        ) {
25607            max_size += size;
25608        } else {
25609            break 'msg (::core::option::Option::<usize>::None);
25610        };
25611        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
25612            ::core::option::Option::Some(33usize), | size | size + 1usize
25613        ) {
25614            max_size += size;
25615        } else {
25616            break 'msg (::core::option::Option::<usize>::None);
25617        };
25618        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
25619            ::core::option::Option::Some(5usize), | size | size + 1usize
25620        ) {
25621            max_size += size;
25622        } else {
25623            break 'msg (::core::option::Option::<usize>::None);
25624        };
25625        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
25626            ::core::option::Option::Some(1usize), | size | size + 1usize
25627        ) {
25628            max_size += size;
25629        } else {
25630            break 'msg (::core::option::Option::<usize>::None);
25631        };
25632        ::core::option::Option::Some(max_size)
25633    };
25634    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
25635        &self,
25636        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
25637    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
25638        use ::micropb::{PbMap, FieldEncode};
25639        {
25640            let val_ref = &self.r#resp;
25641            if *val_ref != 0 {
25642                encoder.encode_varint32(8u32)?;
25643                encoder.encode_int32(*val_ref as _)?;
25644            }
25645        }
25646        {
25647            let val_ref = &self.r#mac;
25648            if !val_ref.is_empty() {
25649                encoder.encode_varint32(18u32)?;
25650                encoder.encode_bytes(val_ref)?;
25651            }
25652        }
25653        {
25654            let val_ref = &self.r#aid;
25655            if *val_ref != 0 {
25656                encoder.encode_varint32(24u32)?;
25657                encoder.encode_varint32(*val_ref as _)?;
25658            }
25659        }
25660        {
25661            let val_ref = &self.r#is_mesh_child;
25662            if *val_ref {
25663                encoder.encode_varint32(32u32)?;
25664                encoder.encode_bool(*val_ref)?;
25665            }
25666        }
25667        Ok(())
25668    }
25669    fn compute_size(&self) -> usize {
25670        use ::micropb::{PbMap, FieldEncode};
25671        let mut size = 0;
25672        {
25673            let val_ref = &self.r#resp;
25674            if *val_ref != 0 {
25675                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
25676            }
25677        }
25678        {
25679            let val_ref = &self.r#mac;
25680            if !val_ref.is_empty() {
25681                size += 1usize + ::micropb::size::sizeof_len_record(val_ref.len());
25682            }
25683        }
25684        {
25685            let val_ref = &self.r#aid;
25686            if *val_ref != 0 {
25687                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
25688            }
25689        }
25690        {
25691            let val_ref = &self.r#is_mesh_child;
25692            if *val_ref {
25693                size += 1usize + 1;
25694            }
25695        }
25696        size
25697    }
25698}
25699pub mod Rpc_Event_StaScanDone_ {
25700    #[derive(Debug, Default, PartialEq, Clone)]
25701    pub struct _Hazzer([u8; 1]);
25702    impl _Hazzer {
25703        ///New hazzer with all fields set to off
25704        #[inline]
25705        pub const fn _new() -> Self {
25706            Self([0; 1])
25707        }
25708        ///Query presence of `scan_done`
25709        #[inline]
25710        pub const fn r#scan_done(&self) -> bool {
25711            (self.0[0] & 1) != 0
25712        }
25713        ///Set presence of `scan_done`
25714        #[inline]
25715        pub const fn set_scan_done(&mut self) -> &mut Self {
25716            let elem = &mut self.0[0];
25717            *elem |= 1;
25718            self
25719        }
25720        ///Clear presence of `scan_done`
25721        #[inline]
25722        pub const fn clear_scan_done(&mut self) -> &mut Self {
25723            let elem = &mut self.0[0];
25724            *elem &= !1;
25725            self
25726        }
25727        ///Builder method that sets the presence of `scan_done`. Useful for initializing the Hazzer.
25728        #[inline]
25729        pub const fn init_scan_done(mut self) -> Self {
25730            self.set_scan_done();
25731            self
25732        }
25733    }
25734}
25735#[derive(Debug, Default, Clone)]
25736pub struct Rpc_Event_StaScanDone {
25737    pub r#resp: i32,
25738    pub r#scan_done: r#wifi_event_sta_scan_done,
25739    pub _has: Rpc_Event_StaScanDone_::_Hazzer,
25740}
25741impl ::core::cmp::PartialEq for Rpc_Event_StaScanDone {
25742    fn eq(&self, other: &Self) -> bool {
25743        let mut ret = true;
25744        ret &= (self.r#resp == other.r#resp);
25745        ret &= (self.r#scan_done() == other.r#scan_done());
25746        ret
25747    }
25748}
25749impl Rpc_Event_StaScanDone {
25750    ///Return a reference to `resp`
25751    #[inline]
25752    pub fn r#resp(&self) -> &i32 {
25753        &self.r#resp
25754    }
25755    ///Return a mutable reference to `resp`
25756    #[inline]
25757    pub fn mut_resp(&mut self) -> &mut i32 {
25758        &mut self.r#resp
25759    }
25760    ///Set the value of `resp`
25761    #[inline]
25762    pub fn set_resp(&mut self, value: i32) -> &mut Self {
25763        self.r#resp = value.into();
25764        self
25765    }
25766    ///Builder method that sets the value of `resp`. Useful for initializing the message.
25767    #[inline]
25768    pub fn init_resp(mut self, value: i32) -> Self {
25769        self.r#resp = value.into();
25770        self
25771    }
25772    ///Return a reference to `scan_done` as an `Option`
25773    #[inline]
25774    pub fn r#scan_done(&self) -> ::core::option::Option<&r#wifi_event_sta_scan_done> {
25775        self._has.r#scan_done().then_some(&self.r#scan_done)
25776    }
25777    ///Set the value and presence of `scan_done`
25778    #[inline]
25779    pub fn set_scan_done(&mut self, value: r#wifi_event_sta_scan_done) -> &mut Self {
25780        self._has.set_scan_done();
25781        self.r#scan_done = value.into();
25782        self
25783    }
25784    ///Return a mutable reference to `scan_done` as an `Option`
25785    #[inline]
25786    pub fn mut_scan_done(
25787        &mut self,
25788    ) -> ::core::option::Option<&mut r#wifi_event_sta_scan_done> {
25789        self._has.r#scan_done().then_some(&mut self.r#scan_done)
25790    }
25791    ///Clear the presence of `scan_done`
25792    #[inline]
25793    pub fn clear_scan_done(&mut self) -> &mut Self {
25794        self._has.clear_scan_done();
25795        self
25796    }
25797    ///Take the value of `scan_done` and clear its presence
25798    #[inline]
25799    pub fn take_scan_done(
25800        &mut self,
25801    ) -> ::core::option::Option<r#wifi_event_sta_scan_done> {
25802        let val = self
25803            ._has
25804            .r#scan_done()
25805            .then(|| ::core::mem::take(&mut self.r#scan_done));
25806        self._has.clear_scan_done();
25807        val
25808    }
25809    ///Builder method that sets the value of `scan_done`. Useful for initializing the message.
25810    #[inline]
25811    pub fn init_scan_done(mut self, value: r#wifi_event_sta_scan_done) -> Self {
25812        self.set_scan_done(value);
25813        self
25814    }
25815}
25816impl ::micropb::MessageDecode for Rpc_Event_StaScanDone {
25817    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
25818        &mut self,
25819        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
25820        len: usize,
25821    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
25822        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
25823        let before = decoder.bytes_read();
25824        while decoder.bytes_read() - before < len {
25825            let tag = decoder.decode_tag()?;
25826            match tag.field_num() {
25827                0 => return Err(::micropb::DecodeError::ZeroField),
25828                1u32 => {
25829                    let mut_ref = &mut self.r#resp;
25830                    {
25831                        let val = decoder.decode_int32()?;
25832                        let val_ref = &val;
25833                        if *val_ref != 0 {
25834                            *mut_ref = val as _;
25835                        }
25836                    };
25837                }
25838                2u32 => {
25839                    let mut_ref = &mut self.r#scan_done;
25840                    {
25841                        mut_ref.decode_len_delimited(decoder)?;
25842                    };
25843                    self._has.set_scan_done();
25844                }
25845                _ => {
25846                    decoder.skip_wire_value(tag.wire_type())?;
25847                }
25848            }
25849        }
25850        Ok(())
25851    }
25852}
25853impl ::micropb::MessageEncode for Rpc_Event_StaScanDone {
25854    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
25855        let mut max_size = 0;
25856        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
25857            ::core::option::Option::Some(10usize), | size | size + 1usize
25858        ) {
25859            max_size += size;
25860        } else {
25861            break 'msg (::core::option::Option::<usize>::None);
25862        };
25863        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
25864            ::micropb::const_map!(< r#wifi_event_sta_scan_done as
25865            ::micropb::MessageEncode > ::MAX_SIZE, | size |
25866            ::micropb::size::sizeof_len_record(size)), | size | size + 1usize
25867        ) {
25868            max_size += size;
25869        } else {
25870            break 'msg (::core::option::Option::<usize>::None);
25871        };
25872        ::core::option::Option::Some(max_size)
25873    };
25874    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
25875        &self,
25876        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
25877    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
25878        use ::micropb::{PbMap, FieldEncode};
25879        {
25880            let val_ref = &self.r#resp;
25881            if *val_ref != 0 {
25882                encoder.encode_varint32(8u32)?;
25883                encoder.encode_int32(*val_ref as _)?;
25884            }
25885        }
25886        {
25887            if let ::core::option::Option::Some(val_ref) = self.r#scan_done() {
25888                encoder.encode_varint32(18u32)?;
25889                val_ref.encode_len_delimited(encoder)?;
25890            }
25891        }
25892        Ok(())
25893    }
25894    fn compute_size(&self) -> usize {
25895        use ::micropb::{PbMap, FieldEncode};
25896        let mut size = 0;
25897        {
25898            let val_ref = &self.r#resp;
25899            if *val_ref != 0 {
25900                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
25901            }
25902        }
25903        {
25904            if let ::core::option::Option::Some(val_ref) = self.r#scan_done() {
25905                size
25906                    += 1usize
25907                        + ::micropb::size::sizeof_len_record(val_ref.compute_size());
25908            }
25909        }
25910        size
25911    }
25912}
25913pub mod Rpc_Event_StaConnected_ {
25914    #[derive(Debug, Default, PartialEq, Clone)]
25915    pub struct _Hazzer([u8; 1]);
25916    impl _Hazzer {
25917        ///New hazzer with all fields set to off
25918        #[inline]
25919        pub const fn _new() -> Self {
25920            Self([0; 1])
25921        }
25922        ///Query presence of `sta_connected`
25923        #[inline]
25924        pub const fn r#sta_connected(&self) -> bool {
25925            (self.0[0] & 1) != 0
25926        }
25927        ///Set presence of `sta_connected`
25928        #[inline]
25929        pub const fn set_sta_connected(&mut self) -> &mut Self {
25930            let elem = &mut self.0[0];
25931            *elem |= 1;
25932            self
25933        }
25934        ///Clear presence of `sta_connected`
25935        #[inline]
25936        pub const fn clear_sta_connected(&mut self) -> &mut Self {
25937            let elem = &mut self.0[0];
25938            *elem &= !1;
25939            self
25940        }
25941        ///Builder method that sets the presence of `sta_connected`. Useful for initializing the Hazzer.
25942        #[inline]
25943        pub const fn init_sta_connected(mut self) -> Self {
25944            self.set_sta_connected();
25945            self
25946        }
25947    }
25948}
25949#[derive(Debug, Default, Clone)]
25950pub struct Rpc_Event_StaConnected {
25951    pub r#resp: i32,
25952    pub r#sta_connected: r#wifi_event_sta_connected,
25953    pub _has: Rpc_Event_StaConnected_::_Hazzer,
25954}
25955impl ::core::cmp::PartialEq for Rpc_Event_StaConnected {
25956    fn eq(&self, other: &Self) -> bool {
25957        let mut ret = true;
25958        ret &= (self.r#resp == other.r#resp);
25959        ret &= (self.r#sta_connected() == other.r#sta_connected());
25960        ret
25961    }
25962}
25963impl Rpc_Event_StaConnected {
25964    ///Return a reference to `resp`
25965    #[inline]
25966    pub fn r#resp(&self) -> &i32 {
25967        &self.r#resp
25968    }
25969    ///Return a mutable reference to `resp`
25970    #[inline]
25971    pub fn mut_resp(&mut self) -> &mut i32 {
25972        &mut self.r#resp
25973    }
25974    ///Set the value of `resp`
25975    #[inline]
25976    pub fn set_resp(&mut self, value: i32) -> &mut Self {
25977        self.r#resp = value.into();
25978        self
25979    }
25980    ///Builder method that sets the value of `resp`. Useful for initializing the message.
25981    #[inline]
25982    pub fn init_resp(mut self, value: i32) -> Self {
25983        self.r#resp = value.into();
25984        self
25985    }
25986    ///Return a reference to `sta_connected` as an `Option`
25987    #[inline]
25988    pub fn r#sta_connected(
25989        &self,
25990    ) -> ::core::option::Option<&r#wifi_event_sta_connected> {
25991        self._has.r#sta_connected().then_some(&self.r#sta_connected)
25992    }
25993    ///Set the value and presence of `sta_connected`
25994    #[inline]
25995    pub fn set_sta_connected(&mut self, value: r#wifi_event_sta_connected) -> &mut Self {
25996        self._has.set_sta_connected();
25997        self.r#sta_connected = value.into();
25998        self
25999    }
26000    ///Return a mutable reference to `sta_connected` as an `Option`
26001    #[inline]
26002    pub fn mut_sta_connected(
26003        &mut self,
26004    ) -> ::core::option::Option<&mut r#wifi_event_sta_connected> {
26005        self._has.r#sta_connected().then_some(&mut self.r#sta_connected)
26006    }
26007    ///Clear the presence of `sta_connected`
26008    #[inline]
26009    pub fn clear_sta_connected(&mut self) -> &mut Self {
26010        self._has.clear_sta_connected();
26011        self
26012    }
26013    ///Take the value of `sta_connected` and clear its presence
26014    #[inline]
26015    pub fn take_sta_connected(
26016        &mut self,
26017    ) -> ::core::option::Option<r#wifi_event_sta_connected> {
26018        let val = self
26019            ._has
26020            .r#sta_connected()
26021            .then(|| ::core::mem::take(&mut self.r#sta_connected));
26022        self._has.clear_sta_connected();
26023        val
26024    }
26025    ///Builder method that sets the value of `sta_connected`. Useful for initializing the message.
26026    #[inline]
26027    pub fn init_sta_connected(mut self, value: r#wifi_event_sta_connected) -> Self {
26028        self.set_sta_connected(value);
26029        self
26030    }
26031}
26032impl ::micropb::MessageDecode for Rpc_Event_StaConnected {
26033    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
26034        &mut self,
26035        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
26036        len: usize,
26037    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
26038        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
26039        let before = decoder.bytes_read();
26040        while decoder.bytes_read() - before < len {
26041            let tag = decoder.decode_tag()?;
26042            match tag.field_num() {
26043                0 => return Err(::micropb::DecodeError::ZeroField),
26044                1u32 => {
26045                    let mut_ref = &mut self.r#resp;
26046                    {
26047                        let val = decoder.decode_int32()?;
26048                        let val_ref = &val;
26049                        if *val_ref != 0 {
26050                            *mut_ref = val as _;
26051                        }
26052                    };
26053                }
26054                2u32 => {
26055                    let mut_ref = &mut self.r#sta_connected;
26056                    {
26057                        mut_ref.decode_len_delimited(decoder)?;
26058                    };
26059                    self._has.set_sta_connected();
26060                }
26061                _ => {
26062                    decoder.skip_wire_value(tag.wire_type())?;
26063                }
26064            }
26065        }
26066        Ok(())
26067    }
26068}
26069impl ::micropb::MessageEncode for Rpc_Event_StaConnected {
26070    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
26071        let mut max_size = 0;
26072        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
26073            ::core::option::Option::Some(10usize), | size | size + 1usize
26074        ) {
26075            max_size += size;
26076        } else {
26077            break 'msg (::core::option::Option::<usize>::None);
26078        };
26079        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
26080            ::micropb::const_map!(< r#wifi_event_sta_connected as
26081            ::micropb::MessageEncode > ::MAX_SIZE, | size |
26082            ::micropb::size::sizeof_len_record(size)), | size | size + 1usize
26083        ) {
26084            max_size += size;
26085        } else {
26086            break 'msg (::core::option::Option::<usize>::None);
26087        };
26088        ::core::option::Option::Some(max_size)
26089    };
26090    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
26091        &self,
26092        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
26093    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
26094        use ::micropb::{PbMap, FieldEncode};
26095        {
26096            let val_ref = &self.r#resp;
26097            if *val_ref != 0 {
26098                encoder.encode_varint32(8u32)?;
26099                encoder.encode_int32(*val_ref as _)?;
26100            }
26101        }
26102        {
26103            if let ::core::option::Option::Some(val_ref) = self.r#sta_connected() {
26104                encoder.encode_varint32(18u32)?;
26105                val_ref.encode_len_delimited(encoder)?;
26106            }
26107        }
26108        Ok(())
26109    }
26110    fn compute_size(&self) -> usize {
26111        use ::micropb::{PbMap, FieldEncode};
26112        let mut size = 0;
26113        {
26114            let val_ref = &self.r#resp;
26115            if *val_ref != 0 {
26116                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
26117            }
26118        }
26119        {
26120            if let ::core::option::Option::Some(val_ref) = self.r#sta_connected() {
26121                size
26122                    += 1usize
26123                        + ::micropb::size::sizeof_len_record(val_ref.compute_size());
26124            }
26125        }
26126        size
26127    }
26128}
26129pub mod Rpc_Event_StaDisconnected_ {
26130    #[derive(Debug, Default, PartialEq, Clone)]
26131    pub struct _Hazzer([u8; 1]);
26132    impl _Hazzer {
26133        ///New hazzer with all fields set to off
26134        #[inline]
26135        pub const fn _new() -> Self {
26136            Self([0; 1])
26137        }
26138        ///Query presence of `sta_disconnected`
26139        #[inline]
26140        pub const fn r#sta_disconnected(&self) -> bool {
26141            (self.0[0] & 1) != 0
26142        }
26143        ///Set presence of `sta_disconnected`
26144        #[inline]
26145        pub const fn set_sta_disconnected(&mut self) -> &mut Self {
26146            let elem = &mut self.0[0];
26147            *elem |= 1;
26148            self
26149        }
26150        ///Clear presence of `sta_disconnected`
26151        #[inline]
26152        pub const fn clear_sta_disconnected(&mut self) -> &mut Self {
26153            let elem = &mut self.0[0];
26154            *elem &= !1;
26155            self
26156        }
26157        ///Builder method that sets the presence of `sta_disconnected`. Useful for initializing the Hazzer.
26158        #[inline]
26159        pub const fn init_sta_disconnected(mut self) -> Self {
26160            self.set_sta_disconnected();
26161            self
26162        }
26163    }
26164}
26165#[derive(Debug, Default, Clone)]
26166pub struct Rpc_Event_StaDisconnected {
26167    pub r#resp: i32,
26168    pub r#sta_disconnected: r#wifi_event_sta_disconnected,
26169    pub _has: Rpc_Event_StaDisconnected_::_Hazzer,
26170}
26171impl ::core::cmp::PartialEq for Rpc_Event_StaDisconnected {
26172    fn eq(&self, other: &Self) -> bool {
26173        let mut ret = true;
26174        ret &= (self.r#resp == other.r#resp);
26175        ret &= (self.r#sta_disconnected() == other.r#sta_disconnected());
26176        ret
26177    }
26178}
26179impl Rpc_Event_StaDisconnected {
26180    ///Return a reference to `resp`
26181    #[inline]
26182    pub fn r#resp(&self) -> &i32 {
26183        &self.r#resp
26184    }
26185    ///Return a mutable reference to `resp`
26186    #[inline]
26187    pub fn mut_resp(&mut self) -> &mut i32 {
26188        &mut self.r#resp
26189    }
26190    ///Set the value of `resp`
26191    #[inline]
26192    pub fn set_resp(&mut self, value: i32) -> &mut Self {
26193        self.r#resp = value.into();
26194        self
26195    }
26196    ///Builder method that sets the value of `resp`. Useful for initializing the message.
26197    #[inline]
26198    pub fn init_resp(mut self, value: i32) -> Self {
26199        self.r#resp = value.into();
26200        self
26201    }
26202    ///Return a reference to `sta_disconnected` as an `Option`
26203    #[inline]
26204    pub fn r#sta_disconnected(
26205        &self,
26206    ) -> ::core::option::Option<&r#wifi_event_sta_disconnected> {
26207        self._has.r#sta_disconnected().then_some(&self.r#sta_disconnected)
26208    }
26209    ///Set the value and presence of `sta_disconnected`
26210    #[inline]
26211    pub fn set_sta_disconnected(
26212        &mut self,
26213        value: r#wifi_event_sta_disconnected,
26214    ) -> &mut Self {
26215        self._has.set_sta_disconnected();
26216        self.r#sta_disconnected = value.into();
26217        self
26218    }
26219    ///Return a mutable reference to `sta_disconnected` as an `Option`
26220    #[inline]
26221    pub fn mut_sta_disconnected(
26222        &mut self,
26223    ) -> ::core::option::Option<&mut r#wifi_event_sta_disconnected> {
26224        self._has.r#sta_disconnected().then_some(&mut self.r#sta_disconnected)
26225    }
26226    ///Clear the presence of `sta_disconnected`
26227    #[inline]
26228    pub fn clear_sta_disconnected(&mut self) -> &mut Self {
26229        self._has.clear_sta_disconnected();
26230        self
26231    }
26232    ///Take the value of `sta_disconnected` and clear its presence
26233    #[inline]
26234    pub fn take_sta_disconnected(
26235        &mut self,
26236    ) -> ::core::option::Option<r#wifi_event_sta_disconnected> {
26237        let val = self
26238            ._has
26239            .r#sta_disconnected()
26240            .then(|| ::core::mem::take(&mut self.r#sta_disconnected));
26241        self._has.clear_sta_disconnected();
26242        val
26243    }
26244    ///Builder method that sets the value of `sta_disconnected`. Useful for initializing the message.
26245    #[inline]
26246    pub fn init_sta_disconnected(
26247        mut self,
26248        value: r#wifi_event_sta_disconnected,
26249    ) -> Self {
26250        self.set_sta_disconnected(value);
26251        self
26252    }
26253}
26254impl ::micropb::MessageDecode for Rpc_Event_StaDisconnected {
26255    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
26256        &mut self,
26257        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
26258        len: usize,
26259    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
26260        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
26261        let before = decoder.bytes_read();
26262        while decoder.bytes_read() - before < len {
26263            let tag = decoder.decode_tag()?;
26264            match tag.field_num() {
26265                0 => return Err(::micropb::DecodeError::ZeroField),
26266                1u32 => {
26267                    let mut_ref = &mut self.r#resp;
26268                    {
26269                        let val = decoder.decode_int32()?;
26270                        let val_ref = &val;
26271                        if *val_ref != 0 {
26272                            *mut_ref = val as _;
26273                        }
26274                    };
26275                }
26276                2u32 => {
26277                    let mut_ref = &mut self.r#sta_disconnected;
26278                    {
26279                        mut_ref.decode_len_delimited(decoder)?;
26280                    };
26281                    self._has.set_sta_disconnected();
26282                }
26283                _ => {
26284                    decoder.skip_wire_value(tag.wire_type())?;
26285                }
26286            }
26287        }
26288        Ok(())
26289    }
26290}
26291impl ::micropb::MessageEncode for Rpc_Event_StaDisconnected {
26292    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
26293        let mut max_size = 0;
26294        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
26295            ::core::option::Option::Some(10usize), | size | size + 1usize
26296        ) {
26297            max_size += size;
26298        } else {
26299            break 'msg (::core::option::Option::<usize>::None);
26300        };
26301        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
26302            ::micropb::const_map!(< r#wifi_event_sta_disconnected as
26303            ::micropb::MessageEncode > ::MAX_SIZE, | size |
26304            ::micropb::size::sizeof_len_record(size)), | size | size + 1usize
26305        ) {
26306            max_size += size;
26307        } else {
26308            break 'msg (::core::option::Option::<usize>::None);
26309        };
26310        ::core::option::Option::Some(max_size)
26311    };
26312    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
26313        &self,
26314        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
26315    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
26316        use ::micropb::{PbMap, FieldEncode};
26317        {
26318            let val_ref = &self.r#resp;
26319            if *val_ref != 0 {
26320                encoder.encode_varint32(8u32)?;
26321                encoder.encode_int32(*val_ref as _)?;
26322            }
26323        }
26324        {
26325            if let ::core::option::Option::Some(val_ref) = self.r#sta_disconnected() {
26326                encoder.encode_varint32(18u32)?;
26327                val_ref.encode_len_delimited(encoder)?;
26328            }
26329        }
26330        Ok(())
26331    }
26332    fn compute_size(&self) -> usize {
26333        use ::micropb::{PbMap, FieldEncode};
26334        let mut size = 0;
26335        {
26336            let val_ref = &self.r#resp;
26337            if *val_ref != 0 {
26338                size += 1usize + ::micropb::size::sizeof_int32(*val_ref as _);
26339            }
26340        }
26341        {
26342            if let ::core::option::Option::Some(val_ref) = self.r#sta_disconnected() {
26343                size
26344                    += 1usize
26345                        + ::micropb::size::sizeof_len_record(val_ref.compute_size());
26346            }
26347        }
26348        size
26349    }
26350}
26351pub mod Rpc_ {
26352    #[derive(Debug, PartialEq, Clone)]
26353    pub enum Payload {
26354        ReqGetMacAddress(super::Rpc_Req_GetMacAddress),
26355        ReqSetMacAddress(super::Rpc_Req_SetMacAddress),
26356        ReqGetWifiMode(super::Rpc_Req_GetMode),
26357        ReqSetWifiMode(super::Rpc_Req_SetMode),
26358        ReqWifiSetPs(super::Rpc_Req_SetPs),
26359        ReqWifiGetPs(super::Rpc_Req_GetPs),
26360        ReqOtaBegin(super::Rpc_Req_OTABegin),
26361        ReqOtaWrite(super::Rpc_Req_OTAWrite),
26362        ReqOtaEnd(super::Rpc_Req_OTAEnd),
26363        ReqSetWifiMaxTxPower(super::Rpc_Req_WifiSetMaxTxPower),
26364        ReqGetWifiMaxTxPower(super::Rpc_Req_WifiGetMaxTxPower),
26365        ReqConfigHeartbeat(super::Rpc_Req_ConfigHeartbeat),
26366        ReqWifiInit(super::Rpc_Req_WifiInit),
26367        ReqWifiDeinit(super::Rpc_Req_WifiDeinit),
26368        ReqWifiStart(super::Rpc_Req_WifiStart),
26369        ReqWifiStop(super::Rpc_Req_WifiStop),
26370        ReqWifiConnect(super::Rpc_Req_WifiConnect),
26371        ReqWifiDisconnect(super::Rpc_Req_WifiDisconnect),
26372        ReqWifiSetConfig(super::Rpc_Req_WifiSetConfig),
26373        ReqWifiGetConfig(super::Rpc_Req_WifiGetConfig),
26374        ReqWifiScanStart(super::Rpc_Req_WifiScanStart),
26375        ReqWifiScanStop(super::Rpc_Req_WifiScanStop),
26376        ReqWifiScanGetApNum(super::Rpc_Req_WifiScanGetApNum),
26377        ReqWifiScanGetApRecords(super::Rpc_Req_WifiScanGetApRecords),
26378        ReqWifiClearApList(super::Rpc_Req_WifiClearApList),
26379        ReqWifiRestore(super::Rpc_Req_WifiRestore),
26380        ReqWifiClearFastConnect(super::Rpc_Req_WifiClearFastConnect),
26381        ReqWifiDeauthSta(super::Rpc_Req_WifiDeauthSta),
26382        ReqWifiStaGetApInfo(super::Rpc_Req_WifiStaGetApInfo),
26383        ReqWifiSetProtocol(super::Rpc_Req_WifiSetProtocol),
26384        ReqWifiGetProtocol(super::Rpc_Req_WifiGetProtocol),
26385        ReqWifiSetBandwidth(super::Rpc_Req_WifiSetBandwidth),
26386        ReqWifiGetBandwidth(super::Rpc_Req_WifiGetBandwidth),
26387        ReqWifiSetChannel(super::Rpc_Req_WifiSetChannel),
26388        ReqWifiGetChannel(super::Rpc_Req_WifiGetChannel),
26389        ReqWifiSetCountry(super::Rpc_Req_WifiSetCountry),
26390        ReqWifiGetCountry(super::Rpc_Req_WifiGetCountry),
26391        ReqWifiApGetStaList(super::Rpc_Req_WifiApGetStaList),
26392        ReqWifiApGetStaAid(super::Rpc_Req_WifiApGetStaAid),
26393        ReqWifiSetStorage(super::Rpc_Req_WifiSetStorage),
26394        ReqWifiSetCountryCode(super::Rpc_Req_WifiSetCountryCode),
26395        ReqWifiGetCountryCode(super::Rpc_Req_WifiGetCountryCode),
26396        ReqWifiStaGetAid(super::Rpc_Req_WifiStaGetAid),
26397        ReqWifiStaGetNegotiatedPhymode(super::Rpc_Req_WifiStaGetNegotiatedPhymode),
26398        ReqWifiStaGetRssi(super::Rpc_Req_WifiStaGetRssi),
26399        ReqWifiSetProtocols(super::Rpc_Req_WifiSetProtocols),
26400        ReqWifiGetProtocols(super::Rpc_Req_WifiGetProtocols),
26401        ReqWifiSetBandwidths(super::Rpc_Req_WifiSetBandwidths),
26402        ReqWifiGetBandwidths(super::Rpc_Req_WifiGetBandwidths),
26403        ReqWifiSetBand(super::Rpc_Req_WifiSetBand),
26404        ReqWifiGetBand(super::Rpc_Req_WifiGetBand),
26405        ReqWifiSetBandmode(super::Rpc_Req_WifiSetBandMode),
26406        ReqWifiGetBandmode(super::Rpc_Req_WifiGetBandMode),
26407        ReqGetCoprocessorFwversion(super::Rpc_Req_GetCoprocessorFwVersion),
26408        ReqWifiScanGetApRecord(super::Rpc_Req_WifiScanGetApRecord),
26409        RespGetMacAddress(super::Rpc_Resp_GetMacAddress),
26410        RespSetMacAddress(super::Rpc_Resp_SetMacAddress),
26411        RespGetWifiMode(super::Rpc_Resp_GetMode),
26412        RespSetWifiMode(super::Rpc_Resp_SetMode),
26413        RespWifiSetPs(super::Rpc_Resp_SetPs),
26414        RespWifiGetPs(super::Rpc_Resp_GetPs),
26415        RespOtaBegin(super::Rpc_Resp_OTABegin),
26416        RespOtaWrite(super::Rpc_Resp_OTAWrite),
26417        RespOtaEnd(super::Rpc_Resp_OTAEnd),
26418        RespSetWifiMaxTxPower(super::Rpc_Resp_WifiSetMaxTxPower),
26419        RespGetWifiMaxTxPower(super::Rpc_Resp_WifiGetMaxTxPower),
26420        RespConfigHeartbeat(super::Rpc_Resp_ConfigHeartbeat),
26421        RespWifiInit(super::Rpc_Resp_WifiInit),
26422        RespWifiDeinit(super::Rpc_Resp_WifiDeinit),
26423        RespWifiStart(super::Rpc_Resp_WifiStart),
26424        RespWifiStop(super::Rpc_Resp_WifiStop),
26425        RespWifiConnect(super::Rpc_Resp_WifiConnect),
26426        RespWifiDisconnect(super::Rpc_Resp_WifiDisconnect),
26427        RespWifiSetConfig(super::Rpc_Resp_WifiSetConfig),
26428        RespWifiGetConfig(super::Rpc_Resp_WifiGetConfig),
26429        RespWifiScanStart(super::Rpc_Resp_WifiScanStart),
26430        RespWifiScanStop(super::Rpc_Resp_WifiScanStop),
26431        RespWifiScanGetApNum(super::Rpc_Resp_WifiScanGetApNum),
26432        RespWifiScanGetApRecords(super::Rpc_Resp_WifiScanGetApRecords),
26433        RespWifiClearApList(super::Rpc_Resp_WifiClearApList),
26434        RespWifiRestore(super::Rpc_Resp_WifiRestore),
26435        RespWifiClearFastConnect(super::Rpc_Resp_WifiClearFastConnect),
26436        RespWifiDeauthSta(super::Rpc_Resp_WifiDeauthSta),
26437        RespWifiStaGetApInfo(super::Rpc_Resp_WifiStaGetApInfo),
26438        RespWifiSetProtocol(super::Rpc_Resp_WifiSetProtocol),
26439        RespWifiGetProtocol(super::Rpc_Resp_WifiGetProtocol),
26440        RespWifiSetBandwidth(super::Rpc_Resp_WifiSetBandwidth),
26441        RespWifiGetBandwidth(super::Rpc_Resp_WifiGetBandwidth),
26442        RespWifiSetChannel(super::Rpc_Resp_WifiSetChannel),
26443        RespWifiGetChannel(super::Rpc_Resp_WifiGetChannel),
26444        RespWifiSetCountry(super::Rpc_Resp_WifiSetCountry),
26445        RespWifiGetCountry(super::Rpc_Resp_WifiGetCountry),
26446        RespWifiApGetStaList(super::Rpc_Resp_WifiApGetStaList),
26447        RespWifiApGetStaAid(super::Rpc_Resp_WifiApGetStaAid),
26448        RespWifiSetStorage(super::Rpc_Resp_WifiSetStorage),
26449        RespWifiSetCountryCode(super::Rpc_Resp_WifiSetCountryCode),
26450        RespWifiGetCountryCode(super::Rpc_Resp_WifiGetCountryCode),
26451        RespWifiStaGetAid(super::Rpc_Resp_WifiStaGetAid),
26452        RespWifiStaGetNegotiatedPhymode(super::Rpc_Resp_WifiStaGetNegotiatedPhymode),
26453        RespWifiStaGetRssi(super::Rpc_Resp_WifiStaGetRssi),
26454        RespWifiSetProtocols(super::Rpc_Resp_WifiSetProtocols),
26455        RespWifiGetProtocols(super::Rpc_Resp_WifiGetProtocols),
26456        RespWifiSetBandwidths(super::Rpc_Resp_WifiSetBandwidths),
26457        RespWifiGetBandwidths(super::Rpc_Resp_WifiGetBandwidths),
26458        RespWifiSetBand(super::Rpc_Resp_WifiSetBand),
26459        RespWifiGetBand(super::Rpc_Resp_WifiGetBand),
26460        RespWifiSetBandmode(super::Rpc_Resp_WifiSetBandMode),
26461        RespWifiGetBandmode(super::Rpc_Resp_WifiGetBandMode),
26462        RespGetCoprocessorFwversion(super::Rpc_Resp_GetCoprocessorFwVersion),
26463        RespWifiScanGetApRecord(super::Rpc_Resp_WifiScanGetApRecord),
26464        EventEspInit(super::Rpc_Event_ESPInit),
26465        EventHeartbeat(super::Rpc_Event_Heartbeat),
26466        EventApStaConnected(super::Rpc_Event_AP_StaConnected),
26467        EventApStaDisconnected(super::Rpc_Event_AP_StaDisconnected),
26468        EventWifiEventNoArgs(super::Rpc_Event_WifiEventNoArgs),
26469        EventStaScanDone(super::Rpc_Event_StaScanDone),
26470        EventStaConnected(super::Rpc_Event_StaConnected),
26471        EventStaDisconnected(super::Rpc_Event_StaDisconnected),
26472    }
26473}
26474#[derive(Debug, Default, PartialEq, Clone)]
26475pub struct Rpc {
26476    pub r#msg_type: RpcType,
26477    pub r#msg_id: RpcId,
26478    pub r#uid: u32,
26479    pub r#payload: ::core::option::Option<Rpc_::Payload>,
26480}
26481impl Rpc {
26482    ///Return a reference to `msg_type`
26483    #[inline]
26484    pub fn r#msg_type(&self) -> &RpcType {
26485        &self.r#msg_type
26486    }
26487    ///Return a mutable reference to `msg_type`
26488    #[inline]
26489    pub fn mut_msg_type(&mut self) -> &mut RpcType {
26490        &mut self.r#msg_type
26491    }
26492    ///Set the value of `msg_type`
26493    #[inline]
26494    pub fn set_msg_type(&mut self, value: RpcType) -> &mut Self {
26495        self.r#msg_type = value.into();
26496        self
26497    }
26498    ///Builder method that sets the value of `msg_type`. Useful for initializing the message.
26499    #[inline]
26500    pub fn init_msg_type(mut self, value: RpcType) -> Self {
26501        self.r#msg_type = value.into();
26502        self
26503    }
26504    ///Return a reference to `msg_id`
26505    #[inline]
26506    pub fn r#msg_id(&self) -> &RpcId {
26507        &self.r#msg_id
26508    }
26509    ///Return a mutable reference to `msg_id`
26510    #[inline]
26511    pub fn mut_msg_id(&mut self) -> &mut RpcId {
26512        &mut self.r#msg_id
26513    }
26514    ///Set the value of `msg_id`
26515    #[inline]
26516    pub fn set_msg_id(&mut self, value: RpcId) -> &mut Self {
26517        self.r#msg_id = value.into();
26518        self
26519    }
26520    ///Builder method that sets the value of `msg_id`. Useful for initializing the message.
26521    #[inline]
26522    pub fn init_msg_id(mut self, value: RpcId) -> Self {
26523        self.r#msg_id = value.into();
26524        self
26525    }
26526    ///Return a reference to `uid`
26527    #[inline]
26528    pub fn r#uid(&self) -> &u32 {
26529        &self.r#uid
26530    }
26531    ///Return a mutable reference to `uid`
26532    #[inline]
26533    pub fn mut_uid(&mut self) -> &mut u32 {
26534        &mut self.r#uid
26535    }
26536    ///Set the value of `uid`
26537    #[inline]
26538    pub fn set_uid(&mut self, value: u32) -> &mut Self {
26539        self.r#uid = value.into();
26540        self
26541    }
26542    ///Builder method that sets the value of `uid`. Useful for initializing the message.
26543    #[inline]
26544    pub fn init_uid(mut self, value: u32) -> Self {
26545        self.r#uid = value.into();
26546        self
26547    }
26548}
26549impl ::micropb::MessageDecode for Rpc {
26550    fn decode<IMPL_MICROPB_READ: ::micropb::PbRead>(
26551        &mut self,
26552        decoder: &mut ::micropb::PbDecoder<IMPL_MICROPB_READ>,
26553        len: usize,
26554    ) -> Result<(), ::micropb::DecodeError<IMPL_MICROPB_READ::Error>> {
26555        use ::micropb::{PbBytes, PbString, PbVec, PbMap, FieldDecode};
26556        let before = decoder.bytes_read();
26557        while decoder.bytes_read() - before < len {
26558            let tag = decoder.decode_tag()?;
26559            match tag.field_num() {
26560                0 => return Err(::micropb::DecodeError::ZeroField),
26561                1u32 => {
26562                    let mut_ref = &mut self.r#msg_type;
26563                    {
26564                        let val = decoder.decode_int32().map(|n| RpcType(n as _))?;
26565                        let val_ref = &val;
26566                        if val_ref.0 != 0 {
26567                            *mut_ref = val as _;
26568                        }
26569                    };
26570                }
26571                2u32 => {
26572                    let mut_ref = &mut self.r#msg_id;
26573                    {
26574                        let val = decoder.decode_int32().map(|n| RpcId(n as _))?;
26575                        let val_ref = &val;
26576                        if val_ref.0 != 0 {
26577                            *mut_ref = val as _;
26578                        }
26579                    };
26580                }
26581                3u32 => {
26582                    let mut_ref = &mut self.r#uid;
26583                    {
26584                        let val = decoder.decode_varint32()?;
26585                        let val_ref = &val;
26586                        if *val_ref != 0 {
26587                            *mut_ref = val as _;
26588                        }
26589                    };
26590                }
26591                257u32 => {
26592                    let mut_ref = loop {
26593                        if let ::core::option::Option::Some(variant) = &mut self
26594                            .r#payload
26595                        {
26596                            if let Rpc_::Payload::ReqGetMacAddress(variant) = &mut *variant {
26597                                break &mut *variant;
26598                            }
26599                        }
26600                        self.r#payload = ::core::option::Option::Some(
26601                            Rpc_::Payload::ReqGetMacAddress(
26602                                ::core::default::Default::default(),
26603                            ),
26604                        );
26605                    };
26606                    mut_ref.decode_len_delimited(decoder)?;
26607                }
26608                258u32 => {
26609                    let mut_ref = loop {
26610                        if let ::core::option::Option::Some(variant) = &mut self
26611                            .r#payload
26612                        {
26613                            if let Rpc_::Payload::ReqSetMacAddress(variant) = &mut *variant {
26614                                break &mut *variant;
26615                            }
26616                        }
26617                        self.r#payload = ::core::option::Option::Some(
26618                            Rpc_::Payload::ReqSetMacAddress(
26619                                ::core::default::Default::default(),
26620                            ),
26621                        );
26622                    };
26623                    mut_ref.decode_len_delimited(decoder)?;
26624                }
26625                259u32 => {
26626                    let mut_ref = loop {
26627                        if let ::core::option::Option::Some(variant) = &mut self
26628                            .r#payload
26629                        {
26630                            if let Rpc_::Payload::ReqGetWifiMode(variant) = &mut *variant {
26631                                break &mut *variant;
26632                            }
26633                        }
26634                        self.r#payload = ::core::option::Option::Some(
26635                            Rpc_::Payload::ReqGetWifiMode(
26636                                ::core::default::Default::default(),
26637                            ),
26638                        );
26639                    };
26640                    mut_ref.decode_len_delimited(decoder)?;
26641                }
26642                260u32 => {
26643                    let mut_ref = loop {
26644                        if let ::core::option::Option::Some(variant) = &mut self
26645                            .r#payload
26646                        {
26647                            if let Rpc_::Payload::ReqSetWifiMode(variant) = &mut *variant {
26648                                break &mut *variant;
26649                            }
26650                        }
26651                        self.r#payload = ::core::option::Option::Some(
26652                            Rpc_::Payload::ReqSetWifiMode(
26653                                ::core::default::Default::default(),
26654                            ),
26655                        );
26656                    };
26657                    mut_ref.decode_len_delimited(decoder)?;
26658                }
26659                270u32 => {
26660                    let mut_ref = loop {
26661                        if let ::core::option::Option::Some(variant) = &mut self
26662                            .r#payload
26663                        {
26664                            if let Rpc_::Payload::ReqWifiSetPs(variant) = &mut *variant {
26665                                break &mut *variant;
26666                            }
26667                        }
26668                        self.r#payload = ::core::option::Option::Some(
26669                            Rpc_::Payload::ReqWifiSetPs(
26670                                ::core::default::Default::default(),
26671                            ),
26672                        );
26673                    };
26674                    mut_ref.decode_len_delimited(decoder)?;
26675                }
26676                271u32 => {
26677                    let mut_ref = loop {
26678                        if let ::core::option::Option::Some(variant) = &mut self
26679                            .r#payload
26680                        {
26681                            if let Rpc_::Payload::ReqWifiGetPs(variant) = &mut *variant {
26682                                break &mut *variant;
26683                            }
26684                        }
26685                        self.r#payload = ::core::option::Option::Some(
26686                            Rpc_::Payload::ReqWifiGetPs(
26687                                ::core::default::Default::default(),
26688                            ),
26689                        );
26690                    };
26691                    mut_ref.decode_len_delimited(decoder)?;
26692                }
26693                272u32 => {
26694                    let mut_ref = loop {
26695                        if let ::core::option::Option::Some(variant) = &mut self
26696                            .r#payload
26697                        {
26698                            if let Rpc_::Payload::ReqOtaBegin(variant) = &mut *variant {
26699                                break &mut *variant;
26700                            }
26701                        }
26702                        self.r#payload = ::core::option::Option::Some(
26703                            Rpc_::Payload::ReqOtaBegin(
26704                                ::core::default::Default::default(),
26705                            ),
26706                        );
26707                    };
26708                    mut_ref.decode_len_delimited(decoder)?;
26709                }
26710                273u32 => {
26711                    let mut_ref = loop {
26712                        if let ::core::option::Option::Some(variant) = &mut self
26713                            .r#payload
26714                        {
26715                            if let Rpc_::Payload::ReqOtaWrite(variant) = &mut *variant {
26716                                break &mut *variant;
26717                            }
26718                        }
26719                        self.r#payload = ::core::option::Option::Some(
26720                            Rpc_::Payload::ReqOtaWrite(
26721                                ::core::default::Default::default(),
26722                            ),
26723                        );
26724                    };
26725                    mut_ref.decode_len_delimited(decoder)?;
26726                }
26727                274u32 => {
26728                    let mut_ref = loop {
26729                        if let ::core::option::Option::Some(variant) = &mut self
26730                            .r#payload
26731                        {
26732                            if let Rpc_::Payload::ReqOtaEnd(variant) = &mut *variant {
26733                                break &mut *variant;
26734                            }
26735                        }
26736                        self.r#payload = ::core::option::Option::Some(
26737                            Rpc_::Payload::ReqOtaEnd(::core::default::Default::default()),
26738                        );
26739                    };
26740                    mut_ref.decode_len_delimited(decoder)?;
26741                }
26742                275u32 => {
26743                    let mut_ref = loop {
26744                        if let ::core::option::Option::Some(variant) = &mut self
26745                            .r#payload
26746                        {
26747                            if let Rpc_::Payload::ReqSetWifiMaxTxPower(variant) = &mut *variant {
26748                                break &mut *variant;
26749                            }
26750                        }
26751                        self.r#payload = ::core::option::Option::Some(
26752                            Rpc_::Payload::ReqSetWifiMaxTxPower(
26753                                ::core::default::Default::default(),
26754                            ),
26755                        );
26756                    };
26757                    mut_ref.decode_len_delimited(decoder)?;
26758                }
26759                276u32 => {
26760                    let mut_ref = loop {
26761                        if let ::core::option::Option::Some(variant) = &mut self
26762                            .r#payload
26763                        {
26764                            if let Rpc_::Payload::ReqGetWifiMaxTxPower(variant) = &mut *variant {
26765                                break &mut *variant;
26766                            }
26767                        }
26768                        self.r#payload = ::core::option::Option::Some(
26769                            Rpc_::Payload::ReqGetWifiMaxTxPower(
26770                                ::core::default::Default::default(),
26771                            ),
26772                        );
26773                    };
26774                    mut_ref.decode_len_delimited(decoder)?;
26775                }
26776                277u32 => {
26777                    let mut_ref = loop {
26778                        if let ::core::option::Option::Some(variant) = &mut self
26779                            .r#payload
26780                        {
26781                            if let Rpc_::Payload::ReqConfigHeartbeat(variant) = &mut *variant {
26782                                break &mut *variant;
26783                            }
26784                        }
26785                        self.r#payload = ::core::option::Option::Some(
26786                            Rpc_::Payload::ReqConfigHeartbeat(
26787                                ::core::default::Default::default(),
26788                            ),
26789                        );
26790                    };
26791                    mut_ref.decode_len_delimited(decoder)?;
26792                }
26793                278u32 => {
26794                    let mut_ref = loop {
26795                        if let ::core::option::Option::Some(variant) = &mut self
26796                            .r#payload
26797                        {
26798                            if let Rpc_::Payload::ReqWifiInit(variant) = &mut *variant {
26799                                break &mut *variant;
26800                            }
26801                        }
26802                        self.r#payload = ::core::option::Option::Some(
26803                            Rpc_::Payload::ReqWifiInit(
26804                                ::core::default::Default::default(),
26805                            ),
26806                        );
26807                    };
26808                    mut_ref.decode_len_delimited(decoder)?;
26809                }
26810                279u32 => {
26811                    let mut_ref = loop {
26812                        if let ::core::option::Option::Some(variant) = &mut self
26813                            .r#payload
26814                        {
26815                            if let Rpc_::Payload::ReqWifiDeinit(variant) = &mut *variant {
26816                                break &mut *variant;
26817                            }
26818                        }
26819                        self.r#payload = ::core::option::Option::Some(
26820                            Rpc_::Payload::ReqWifiDeinit(
26821                                ::core::default::Default::default(),
26822                            ),
26823                        );
26824                    };
26825                    mut_ref.decode_len_delimited(decoder)?;
26826                }
26827                280u32 => {
26828                    let mut_ref = loop {
26829                        if let ::core::option::Option::Some(variant) = &mut self
26830                            .r#payload
26831                        {
26832                            if let Rpc_::Payload::ReqWifiStart(variant) = &mut *variant {
26833                                break &mut *variant;
26834                            }
26835                        }
26836                        self.r#payload = ::core::option::Option::Some(
26837                            Rpc_::Payload::ReqWifiStart(
26838                                ::core::default::Default::default(),
26839                            ),
26840                        );
26841                    };
26842                    mut_ref.decode_len_delimited(decoder)?;
26843                }
26844                281u32 => {
26845                    let mut_ref = loop {
26846                        if let ::core::option::Option::Some(variant) = &mut self
26847                            .r#payload
26848                        {
26849                            if let Rpc_::Payload::ReqWifiStop(variant) = &mut *variant {
26850                                break &mut *variant;
26851                            }
26852                        }
26853                        self.r#payload = ::core::option::Option::Some(
26854                            Rpc_::Payload::ReqWifiStop(
26855                                ::core::default::Default::default(),
26856                            ),
26857                        );
26858                    };
26859                    mut_ref.decode_len_delimited(decoder)?;
26860                }
26861                282u32 => {
26862                    let mut_ref = loop {
26863                        if let ::core::option::Option::Some(variant) = &mut self
26864                            .r#payload
26865                        {
26866                            if let Rpc_::Payload::ReqWifiConnect(variant) = &mut *variant {
26867                                break &mut *variant;
26868                            }
26869                        }
26870                        self.r#payload = ::core::option::Option::Some(
26871                            Rpc_::Payload::ReqWifiConnect(
26872                                ::core::default::Default::default(),
26873                            ),
26874                        );
26875                    };
26876                    mut_ref.decode_len_delimited(decoder)?;
26877                }
26878                283u32 => {
26879                    let mut_ref = loop {
26880                        if let ::core::option::Option::Some(variant) = &mut self
26881                            .r#payload
26882                        {
26883                            if let Rpc_::Payload::ReqWifiDisconnect(variant) = &mut *variant {
26884                                break &mut *variant;
26885                            }
26886                        }
26887                        self.r#payload = ::core::option::Option::Some(
26888                            Rpc_::Payload::ReqWifiDisconnect(
26889                                ::core::default::Default::default(),
26890                            ),
26891                        );
26892                    };
26893                    mut_ref.decode_len_delimited(decoder)?;
26894                }
26895                284u32 => {
26896                    let mut_ref = loop {
26897                        if let ::core::option::Option::Some(variant) = &mut self
26898                            .r#payload
26899                        {
26900                            if let Rpc_::Payload::ReqWifiSetConfig(variant) = &mut *variant {
26901                                break &mut *variant;
26902                            }
26903                        }
26904                        self.r#payload = ::core::option::Option::Some(
26905                            Rpc_::Payload::ReqWifiSetConfig(
26906                                ::core::default::Default::default(),
26907                            ),
26908                        );
26909                    };
26910                    mut_ref.decode_len_delimited(decoder)?;
26911                }
26912                285u32 => {
26913                    let mut_ref = loop {
26914                        if let ::core::option::Option::Some(variant) = &mut self
26915                            .r#payload
26916                        {
26917                            if let Rpc_::Payload::ReqWifiGetConfig(variant) = &mut *variant {
26918                                break &mut *variant;
26919                            }
26920                        }
26921                        self.r#payload = ::core::option::Option::Some(
26922                            Rpc_::Payload::ReqWifiGetConfig(
26923                                ::core::default::Default::default(),
26924                            ),
26925                        );
26926                    };
26927                    mut_ref.decode_len_delimited(decoder)?;
26928                }
26929                286u32 => {
26930                    let mut_ref = loop {
26931                        if let ::core::option::Option::Some(variant) = &mut self
26932                            .r#payload
26933                        {
26934                            if let Rpc_::Payload::ReqWifiScanStart(variant) = &mut *variant {
26935                                break &mut *variant;
26936                            }
26937                        }
26938                        self.r#payload = ::core::option::Option::Some(
26939                            Rpc_::Payload::ReqWifiScanStart(
26940                                ::core::default::Default::default(),
26941                            ),
26942                        );
26943                    };
26944                    mut_ref.decode_len_delimited(decoder)?;
26945                }
26946                287u32 => {
26947                    let mut_ref = loop {
26948                        if let ::core::option::Option::Some(variant) = &mut self
26949                            .r#payload
26950                        {
26951                            if let Rpc_::Payload::ReqWifiScanStop(variant) = &mut *variant {
26952                                break &mut *variant;
26953                            }
26954                        }
26955                        self.r#payload = ::core::option::Option::Some(
26956                            Rpc_::Payload::ReqWifiScanStop(
26957                                ::core::default::Default::default(),
26958                            ),
26959                        );
26960                    };
26961                    mut_ref.decode_len_delimited(decoder)?;
26962                }
26963                288u32 => {
26964                    let mut_ref = loop {
26965                        if let ::core::option::Option::Some(variant) = &mut self
26966                            .r#payload
26967                        {
26968                            if let Rpc_::Payload::ReqWifiScanGetApNum(variant) = &mut *variant {
26969                                break &mut *variant;
26970                            }
26971                        }
26972                        self.r#payload = ::core::option::Option::Some(
26973                            Rpc_::Payload::ReqWifiScanGetApNum(
26974                                ::core::default::Default::default(),
26975                            ),
26976                        );
26977                    };
26978                    mut_ref.decode_len_delimited(decoder)?;
26979                }
26980                289u32 => {
26981                    let mut_ref = loop {
26982                        if let ::core::option::Option::Some(variant) = &mut self
26983                            .r#payload
26984                        {
26985                            if let Rpc_::Payload::ReqWifiScanGetApRecords(variant) = &mut *variant {
26986                                break &mut *variant;
26987                            }
26988                        }
26989                        self.r#payload = ::core::option::Option::Some(
26990                            Rpc_::Payload::ReqWifiScanGetApRecords(
26991                                ::core::default::Default::default(),
26992                            ),
26993                        );
26994                    };
26995                    mut_ref.decode_len_delimited(decoder)?;
26996                }
26997                290u32 => {
26998                    let mut_ref = loop {
26999                        if let ::core::option::Option::Some(variant) = &mut self
27000                            .r#payload
27001                        {
27002                            if let Rpc_::Payload::ReqWifiClearApList(variant) = &mut *variant {
27003                                break &mut *variant;
27004                            }
27005                        }
27006                        self.r#payload = ::core::option::Option::Some(
27007                            Rpc_::Payload::ReqWifiClearApList(
27008                                ::core::default::Default::default(),
27009                            ),
27010                        );
27011                    };
27012                    mut_ref.decode_len_delimited(decoder)?;
27013                }
27014                291u32 => {
27015                    let mut_ref = loop {
27016                        if let ::core::option::Option::Some(variant) = &mut self
27017                            .r#payload
27018                        {
27019                            if let Rpc_::Payload::ReqWifiRestore(variant) = &mut *variant {
27020                                break &mut *variant;
27021                            }
27022                        }
27023                        self.r#payload = ::core::option::Option::Some(
27024                            Rpc_::Payload::ReqWifiRestore(
27025                                ::core::default::Default::default(),
27026                            ),
27027                        );
27028                    };
27029                    mut_ref.decode_len_delimited(decoder)?;
27030                }
27031                292u32 => {
27032                    let mut_ref = loop {
27033                        if let ::core::option::Option::Some(variant) = &mut self
27034                            .r#payload
27035                        {
27036                            if let Rpc_::Payload::ReqWifiClearFastConnect(variant) = &mut *variant {
27037                                break &mut *variant;
27038                            }
27039                        }
27040                        self.r#payload = ::core::option::Option::Some(
27041                            Rpc_::Payload::ReqWifiClearFastConnect(
27042                                ::core::default::Default::default(),
27043                            ),
27044                        );
27045                    };
27046                    mut_ref.decode_len_delimited(decoder)?;
27047                }
27048                293u32 => {
27049                    let mut_ref = loop {
27050                        if let ::core::option::Option::Some(variant) = &mut self
27051                            .r#payload
27052                        {
27053                            if let Rpc_::Payload::ReqWifiDeauthSta(variant) = &mut *variant {
27054                                break &mut *variant;
27055                            }
27056                        }
27057                        self.r#payload = ::core::option::Option::Some(
27058                            Rpc_::Payload::ReqWifiDeauthSta(
27059                                ::core::default::Default::default(),
27060                            ),
27061                        );
27062                    };
27063                    mut_ref.decode_len_delimited(decoder)?;
27064                }
27065                294u32 => {
27066                    let mut_ref = loop {
27067                        if let ::core::option::Option::Some(variant) = &mut self
27068                            .r#payload
27069                        {
27070                            if let Rpc_::Payload::ReqWifiStaGetApInfo(variant) = &mut *variant {
27071                                break &mut *variant;
27072                            }
27073                        }
27074                        self.r#payload = ::core::option::Option::Some(
27075                            Rpc_::Payload::ReqWifiStaGetApInfo(
27076                                ::core::default::Default::default(),
27077                            ),
27078                        );
27079                    };
27080                    mut_ref.decode_len_delimited(decoder)?;
27081                }
27082                297u32 => {
27083                    let mut_ref = loop {
27084                        if let ::core::option::Option::Some(variant) = &mut self
27085                            .r#payload
27086                        {
27087                            if let Rpc_::Payload::ReqWifiSetProtocol(variant) = &mut *variant {
27088                                break &mut *variant;
27089                            }
27090                        }
27091                        self.r#payload = ::core::option::Option::Some(
27092                            Rpc_::Payload::ReqWifiSetProtocol(
27093                                ::core::default::Default::default(),
27094                            ),
27095                        );
27096                    };
27097                    mut_ref.decode_len_delimited(decoder)?;
27098                }
27099                298u32 => {
27100                    let mut_ref = loop {
27101                        if let ::core::option::Option::Some(variant) = &mut self
27102                            .r#payload
27103                        {
27104                            if let Rpc_::Payload::ReqWifiGetProtocol(variant) = &mut *variant {
27105                                break &mut *variant;
27106                            }
27107                        }
27108                        self.r#payload = ::core::option::Option::Some(
27109                            Rpc_::Payload::ReqWifiGetProtocol(
27110                                ::core::default::Default::default(),
27111                            ),
27112                        );
27113                    };
27114                    mut_ref.decode_len_delimited(decoder)?;
27115                }
27116                299u32 => {
27117                    let mut_ref = loop {
27118                        if let ::core::option::Option::Some(variant) = &mut self
27119                            .r#payload
27120                        {
27121                            if let Rpc_::Payload::ReqWifiSetBandwidth(variant) = &mut *variant {
27122                                break &mut *variant;
27123                            }
27124                        }
27125                        self.r#payload = ::core::option::Option::Some(
27126                            Rpc_::Payload::ReqWifiSetBandwidth(
27127                                ::core::default::Default::default(),
27128                            ),
27129                        );
27130                    };
27131                    mut_ref.decode_len_delimited(decoder)?;
27132                }
27133                300u32 => {
27134                    let mut_ref = loop {
27135                        if let ::core::option::Option::Some(variant) = &mut self
27136                            .r#payload
27137                        {
27138                            if let Rpc_::Payload::ReqWifiGetBandwidth(variant) = &mut *variant {
27139                                break &mut *variant;
27140                            }
27141                        }
27142                        self.r#payload = ::core::option::Option::Some(
27143                            Rpc_::Payload::ReqWifiGetBandwidth(
27144                                ::core::default::Default::default(),
27145                            ),
27146                        );
27147                    };
27148                    mut_ref.decode_len_delimited(decoder)?;
27149                }
27150                301u32 => {
27151                    let mut_ref = loop {
27152                        if let ::core::option::Option::Some(variant) = &mut self
27153                            .r#payload
27154                        {
27155                            if let Rpc_::Payload::ReqWifiSetChannel(variant) = &mut *variant {
27156                                break &mut *variant;
27157                            }
27158                        }
27159                        self.r#payload = ::core::option::Option::Some(
27160                            Rpc_::Payload::ReqWifiSetChannel(
27161                                ::core::default::Default::default(),
27162                            ),
27163                        );
27164                    };
27165                    mut_ref.decode_len_delimited(decoder)?;
27166                }
27167                302u32 => {
27168                    let mut_ref = loop {
27169                        if let ::core::option::Option::Some(variant) = &mut self
27170                            .r#payload
27171                        {
27172                            if let Rpc_::Payload::ReqWifiGetChannel(variant) = &mut *variant {
27173                                break &mut *variant;
27174                            }
27175                        }
27176                        self.r#payload = ::core::option::Option::Some(
27177                            Rpc_::Payload::ReqWifiGetChannel(
27178                                ::core::default::Default::default(),
27179                            ),
27180                        );
27181                    };
27182                    mut_ref.decode_len_delimited(decoder)?;
27183                }
27184                303u32 => {
27185                    let mut_ref = loop {
27186                        if let ::core::option::Option::Some(variant) = &mut self
27187                            .r#payload
27188                        {
27189                            if let Rpc_::Payload::ReqWifiSetCountry(variant) = &mut *variant {
27190                                break &mut *variant;
27191                            }
27192                        }
27193                        self.r#payload = ::core::option::Option::Some(
27194                            Rpc_::Payload::ReqWifiSetCountry(
27195                                ::core::default::Default::default(),
27196                            ),
27197                        );
27198                    };
27199                    mut_ref.decode_len_delimited(decoder)?;
27200                }
27201                304u32 => {
27202                    let mut_ref = loop {
27203                        if let ::core::option::Option::Some(variant) = &mut self
27204                            .r#payload
27205                        {
27206                            if let Rpc_::Payload::ReqWifiGetCountry(variant) = &mut *variant {
27207                                break &mut *variant;
27208                            }
27209                        }
27210                        self.r#payload = ::core::option::Option::Some(
27211                            Rpc_::Payload::ReqWifiGetCountry(
27212                                ::core::default::Default::default(),
27213                            ),
27214                        );
27215                    };
27216                    mut_ref.decode_len_delimited(decoder)?;
27217                }
27218                311u32 => {
27219                    let mut_ref = loop {
27220                        if let ::core::option::Option::Some(variant) = &mut self
27221                            .r#payload
27222                        {
27223                            if let Rpc_::Payload::ReqWifiApGetStaList(variant) = &mut *variant {
27224                                break &mut *variant;
27225                            }
27226                        }
27227                        self.r#payload = ::core::option::Option::Some(
27228                            Rpc_::Payload::ReqWifiApGetStaList(
27229                                ::core::default::Default::default(),
27230                            ),
27231                        );
27232                    };
27233                    mut_ref.decode_len_delimited(decoder)?;
27234                }
27235                312u32 => {
27236                    let mut_ref = loop {
27237                        if let ::core::option::Option::Some(variant) = &mut self
27238                            .r#payload
27239                        {
27240                            if let Rpc_::Payload::ReqWifiApGetStaAid(variant) = &mut *variant {
27241                                break &mut *variant;
27242                            }
27243                        }
27244                        self.r#payload = ::core::option::Option::Some(
27245                            Rpc_::Payload::ReqWifiApGetStaAid(
27246                                ::core::default::Default::default(),
27247                            ),
27248                        );
27249                    };
27250                    mut_ref.decode_len_delimited(decoder)?;
27251                }
27252                313u32 => {
27253                    let mut_ref = loop {
27254                        if let ::core::option::Option::Some(variant) = &mut self
27255                            .r#payload
27256                        {
27257                            if let Rpc_::Payload::ReqWifiSetStorage(variant) = &mut *variant {
27258                                break &mut *variant;
27259                            }
27260                        }
27261                        self.r#payload = ::core::option::Option::Some(
27262                            Rpc_::Payload::ReqWifiSetStorage(
27263                                ::core::default::Default::default(),
27264                            ),
27265                        );
27266                    };
27267                    mut_ref.decode_len_delimited(decoder)?;
27268                }
27269                334u32 => {
27270                    let mut_ref = loop {
27271                        if let ::core::option::Option::Some(variant) = &mut self
27272                            .r#payload
27273                        {
27274                            if let Rpc_::Payload::ReqWifiSetCountryCode(variant) = &mut *variant {
27275                                break &mut *variant;
27276                            }
27277                        }
27278                        self.r#payload = ::core::option::Option::Some(
27279                            Rpc_::Payload::ReqWifiSetCountryCode(
27280                                ::core::default::Default::default(),
27281                            ),
27282                        );
27283                    };
27284                    mut_ref.decode_len_delimited(decoder)?;
27285                }
27286                335u32 => {
27287                    let mut_ref = loop {
27288                        if let ::core::option::Option::Some(variant) = &mut self
27289                            .r#payload
27290                        {
27291                            if let Rpc_::Payload::ReqWifiGetCountryCode(variant) = &mut *variant {
27292                                break &mut *variant;
27293                            }
27294                        }
27295                        self.r#payload = ::core::option::Option::Some(
27296                            Rpc_::Payload::ReqWifiGetCountryCode(
27297                                ::core::default::Default::default(),
27298                            ),
27299                        );
27300                    };
27301                    mut_ref.decode_len_delimited(decoder)?;
27302                }
27303                338u32 => {
27304                    let mut_ref = loop {
27305                        if let ::core::option::Option::Some(variant) = &mut self
27306                            .r#payload
27307                        {
27308                            if let Rpc_::Payload::ReqWifiStaGetAid(variant) = &mut *variant {
27309                                break &mut *variant;
27310                            }
27311                        }
27312                        self.r#payload = ::core::option::Option::Some(
27313                            Rpc_::Payload::ReqWifiStaGetAid(
27314                                ::core::default::Default::default(),
27315                            ),
27316                        );
27317                    };
27318                    mut_ref.decode_len_delimited(decoder)?;
27319                }
27320                339u32 => {
27321                    let mut_ref = loop {
27322                        if let ::core::option::Option::Some(variant) = &mut self
27323                            .r#payload
27324                        {
27325                            if let Rpc_::Payload::ReqWifiStaGetNegotiatedPhymode(
27326                                variant,
27327                            ) = &mut *variant {
27328                                break &mut *variant;
27329                            }
27330                        }
27331                        self.r#payload = ::core::option::Option::Some(
27332                            Rpc_::Payload::ReqWifiStaGetNegotiatedPhymode(
27333                                ::core::default::Default::default(),
27334                            ),
27335                        );
27336                    };
27337                    mut_ref.decode_len_delimited(decoder)?;
27338                }
27339                341u32 => {
27340                    let mut_ref = loop {
27341                        if let ::core::option::Option::Some(variant) = &mut self
27342                            .r#payload
27343                        {
27344                            if let Rpc_::Payload::ReqWifiStaGetRssi(variant) = &mut *variant {
27345                                break &mut *variant;
27346                            }
27347                        }
27348                        self.r#payload = ::core::option::Option::Some(
27349                            Rpc_::Payload::ReqWifiStaGetRssi(
27350                                ::core::default::Default::default(),
27351                            ),
27352                        );
27353                    };
27354                    mut_ref.decode_len_delimited(decoder)?;
27355                }
27356                342u32 => {
27357                    let mut_ref = loop {
27358                        if let ::core::option::Option::Some(variant) = &mut self
27359                            .r#payload
27360                        {
27361                            if let Rpc_::Payload::ReqWifiSetProtocols(variant) = &mut *variant {
27362                                break &mut *variant;
27363                            }
27364                        }
27365                        self.r#payload = ::core::option::Option::Some(
27366                            Rpc_::Payload::ReqWifiSetProtocols(
27367                                ::core::default::Default::default(),
27368                            ),
27369                        );
27370                    };
27371                    mut_ref.decode_len_delimited(decoder)?;
27372                }
27373                343u32 => {
27374                    let mut_ref = loop {
27375                        if let ::core::option::Option::Some(variant) = &mut self
27376                            .r#payload
27377                        {
27378                            if let Rpc_::Payload::ReqWifiGetProtocols(variant) = &mut *variant {
27379                                break &mut *variant;
27380                            }
27381                        }
27382                        self.r#payload = ::core::option::Option::Some(
27383                            Rpc_::Payload::ReqWifiGetProtocols(
27384                                ::core::default::Default::default(),
27385                            ),
27386                        );
27387                    };
27388                    mut_ref.decode_len_delimited(decoder)?;
27389                }
27390                344u32 => {
27391                    let mut_ref = loop {
27392                        if let ::core::option::Option::Some(variant) = &mut self
27393                            .r#payload
27394                        {
27395                            if let Rpc_::Payload::ReqWifiSetBandwidths(variant) = &mut *variant {
27396                                break &mut *variant;
27397                            }
27398                        }
27399                        self.r#payload = ::core::option::Option::Some(
27400                            Rpc_::Payload::ReqWifiSetBandwidths(
27401                                ::core::default::Default::default(),
27402                            ),
27403                        );
27404                    };
27405                    mut_ref.decode_len_delimited(decoder)?;
27406                }
27407                345u32 => {
27408                    let mut_ref = loop {
27409                        if let ::core::option::Option::Some(variant) = &mut self
27410                            .r#payload
27411                        {
27412                            if let Rpc_::Payload::ReqWifiGetBandwidths(variant) = &mut *variant {
27413                                break &mut *variant;
27414                            }
27415                        }
27416                        self.r#payload = ::core::option::Option::Some(
27417                            Rpc_::Payload::ReqWifiGetBandwidths(
27418                                ::core::default::Default::default(),
27419                            ),
27420                        );
27421                    };
27422                    mut_ref.decode_len_delimited(decoder)?;
27423                }
27424                346u32 => {
27425                    let mut_ref = loop {
27426                        if let ::core::option::Option::Some(variant) = &mut self
27427                            .r#payload
27428                        {
27429                            if let Rpc_::Payload::ReqWifiSetBand(variant) = &mut *variant {
27430                                break &mut *variant;
27431                            }
27432                        }
27433                        self.r#payload = ::core::option::Option::Some(
27434                            Rpc_::Payload::ReqWifiSetBand(
27435                                ::core::default::Default::default(),
27436                            ),
27437                        );
27438                    };
27439                    mut_ref.decode_len_delimited(decoder)?;
27440                }
27441                347u32 => {
27442                    let mut_ref = loop {
27443                        if let ::core::option::Option::Some(variant) = &mut self
27444                            .r#payload
27445                        {
27446                            if let Rpc_::Payload::ReqWifiGetBand(variant) = &mut *variant {
27447                                break &mut *variant;
27448                            }
27449                        }
27450                        self.r#payload = ::core::option::Option::Some(
27451                            Rpc_::Payload::ReqWifiGetBand(
27452                                ::core::default::Default::default(),
27453                            ),
27454                        );
27455                    };
27456                    mut_ref.decode_len_delimited(decoder)?;
27457                }
27458                348u32 => {
27459                    let mut_ref = loop {
27460                        if let ::core::option::Option::Some(variant) = &mut self
27461                            .r#payload
27462                        {
27463                            if let Rpc_::Payload::ReqWifiSetBandmode(variant) = &mut *variant {
27464                                break &mut *variant;
27465                            }
27466                        }
27467                        self.r#payload = ::core::option::Option::Some(
27468                            Rpc_::Payload::ReqWifiSetBandmode(
27469                                ::core::default::Default::default(),
27470                            ),
27471                        );
27472                    };
27473                    mut_ref.decode_len_delimited(decoder)?;
27474                }
27475                349u32 => {
27476                    let mut_ref = loop {
27477                        if let ::core::option::Option::Some(variant) = &mut self
27478                            .r#payload
27479                        {
27480                            if let Rpc_::Payload::ReqWifiGetBandmode(variant) = &mut *variant {
27481                                break &mut *variant;
27482                            }
27483                        }
27484                        self.r#payload = ::core::option::Option::Some(
27485                            Rpc_::Payload::ReqWifiGetBandmode(
27486                                ::core::default::Default::default(),
27487                            ),
27488                        );
27489                    };
27490                    mut_ref.decode_len_delimited(decoder)?;
27491                }
27492                350u32 => {
27493                    let mut_ref = loop {
27494                        if let ::core::option::Option::Some(variant) = &mut self
27495                            .r#payload
27496                        {
27497                            if let Rpc_::Payload::ReqGetCoprocessorFwversion(variant) = &mut *variant {
27498                                break &mut *variant;
27499                            }
27500                        }
27501                        self.r#payload = ::core::option::Option::Some(
27502                            Rpc_::Payload::ReqGetCoprocessorFwversion(
27503                                ::core::default::Default::default(),
27504                            ),
27505                        );
27506                    };
27507                    mut_ref.decode_len_delimited(decoder)?;
27508                }
27509                351u32 => {
27510                    let mut_ref = loop {
27511                        if let ::core::option::Option::Some(variant) = &mut self
27512                            .r#payload
27513                        {
27514                            if let Rpc_::Payload::ReqWifiScanGetApRecord(variant) = &mut *variant {
27515                                break &mut *variant;
27516                            }
27517                        }
27518                        self.r#payload = ::core::option::Option::Some(
27519                            Rpc_::Payload::ReqWifiScanGetApRecord(
27520                                ::core::default::Default::default(),
27521                            ),
27522                        );
27523                    };
27524                    mut_ref.decode_len_delimited(decoder)?;
27525                }
27526                513u32 => {
27527                    let mut_ref = loop {
27528                        if let ::core::option::Option::Some(variant) = &mut self
27529                            .r#payload
27530                        {
27531                            if let Rpc_::Payload::RespGetMacAddress(variant) = &mut *variant {
27532                                break &mut *variant;
27533                            }
27534                        }
27535                        self.r#payload = ::core::option::Option::Some(
27536                            Rpc_::Payload::RespGetMacAddress(
27537                                ::core::default::Default::default(),
27538                            ),
27539                        );
27540                    };
27541                    mut_ref.decode_len_delimited(decoder)?;
27542                }
27543                514u32 => {
27544                    let mut_ref = loop {
27545                        if let ::core::option::Option::Some(variant) = &mut self
27546                            .r#payload
27547                        {
27548                            if let Rpc_::Payload::RespSetMacAddress(variant) = &mut *variant {
27549                                break &mut *variant;
27550                            }
27551                        }
27552                        self.r#payload = ::core::option::Option::Some(
27553                            Rpc_::Payload::RespSetMacAddress(
27554                                ::core::default::Default::default(),
27555                            ),
27556                        );
27557                    };
27558                    mut_ref.decode_len_delimited(decoder)?;
27559                }
27560                515u32 => {
27561                    let mut_ref = loop {
27562                        if let ::core::option::Option::Some(variant) = &mut self
27563                            .r#payload
27564                        {
27565                            if let Rpc_::Payload::RespGetWifiMode(variant) = &mut *variant {
27566                                break &mut *variant;
27567                            }
27568                        }
27569                        self.r#payload = ::core::option::Option::Some(
27570                            Rpc_::Payload::RespGetWifiMode(
27571                                ::core::default::Default::default(),
27572                            ),
27573                        );
27574                    };
27575                    mut_ref.decode_len_delimited(decoder)?;
27576                }
27577                516u32 => {
27578                    let mut_ref = loop {
27579                        if let ::core::option::Option::Some(variant) = &mut self
27580                            .r#payload
27581                        {
27582                            if let Rpc_::Payload::RespSetWifiMode(variant) = &mut *variant {
27583                                break &mut *variant;
27584                            }
27585                        }
27586                        self.r#payload = ::core::option::Option::Some(
27587                            Rpc_::Payload::RespSetWifiMode(
27588                                ::core::default::Default::default(),
27589                            ),
27590                        );
27591                    };
27592                    mut_ref.decode_len_delimited(decoder)?;
27593                }
27594                526u32 => {
27595                    let mut_ref = loop {
27596                        if let ::core::option::Option::Some(variant) = &mut self
27597                            .r#payload
27598                        {
27599                            if let Rpc_::Payload::RespWifiSetPs(variant) = &mut *variant {
27600                                break &mut *variant;
27601                            }
27602                        }
27603                        self.r#payload = ::core::option::Option::Some(
27604                            Rpc_::Payload::RespWifiSetPs(
27605                                ::core::default::Default::default(),
27606                            ),
27607                        );
27608                    };
27609                    mut_ref.decode_len_delimited(decoder)?;
27610                }
27611                527u32 => {
27612                    let mut_ref = loop {
27613                        if let ::core::option::Option::Some(variant) = &mut self
27614                            .r#payload
27615                        {
27616                            if let Rpc_::Payload::RespWifiGetPs(variant) = &mut *variant {
27617                                break &mut *variant;
27618                            }
27619                        }
27620                        self.r#payload = ::core::option::Option::Some(
27621                            Rpc_::Payload::RespWifiGetPs(
27622                                ::core::default::Default::default(),
27623                            ),
27624                        );
27625                    };
27626                    mut_ref.decode_len_delimited(decoder)?;
27627                }
27628                528u32 => {
27629                    let mut_ref = loop {
27630                        if let ::core::option::Option::Some(variant) = &mut self
27631                            .r#payload
27632                        {
27633                            if let Rpc_::Payload::RespOtaBegin(variant) = &mut *variant {
27634                                break &mut *variant;
27635                            }
27636                        }
27637                        self.r#payload = ::core::option::Option::Some(
27638                            Rpc_::Payload::RespOtaBegin(
27639                                ::core::default::Default::default(),
27640                            ),
27641                        );
27642                    };
27643                    mut_ref.decode_len_delimited(decoder)?;
27644                }
27645                529u32 => {
27646                    let mut_ref = loop {
27647                        if let ::core::option::Option::Some(variant) = &mut self
27648                            .r#payload
27649                        {
27650                            if let Rpc_::Payload::RespOtaWrite(variant) = &mut *variant {
27651                                break &mut *variant;
27652                            }
27653                        }
27654                        self.r#payload = ::core::option::Option::Some(
27655                            Rpc_::Payload::RespOtaWrite(
27656                                ::core::default::Default::default(),
27657                            ),
27658                        );
27659                    };
27660                    mut_ref.decode_len_delimited(decoder)?;
27661                }
27662                530u32 => {
27663                    let mut_ref = loop {
27664                        if let ::core::option::Option::Some(variant) = &mut self
27665                            .r#payload
27666                        {
27667                            if let Rpc_::Payload::RespOtaEnd(variant) = &mut *variant {
27668                                break &mut *variant;
27669                            }
27670                        }
27671                        self.r#payload = ::core::option::Option::Some(
27672                            Rpc_::Payload::RespOtaEnd(
27673                                ::core::default::Default::default(),
27674                            ),
27675                        );
27676                    };
27677                    mut_ref.decode_len_delimited(decoder)?;
27678                }
27679                531u32 => {
27680                    let mut_ref = loop {
27681                        if let ::core::option::Option::Some(variant) = &mut self
27682                            .r#payload
27683                        {
27684                            if let Rpc_::Payload::RespSetWifiMaxTxPower(variant) = &mut *variant {
27685                                break &mut *variant;
27686                            }
27687                        }
27688                        self.r#payload = ::core::option::Option::Some(
27689                            Rpc_::Payload::RespSetWifiMaxTxPower(
27690                                ::core::default::Default::default(),
27691                            ),
27692                        );
27693                    };
27694                    mut_ref.decode_len_delimited(decoder)?;
27695                }
27696                532u32 => {
27697                    let mut_ref = loop {
27698                        if let ::core::option::Option::Some(variant) = &mut self
27699                            .r#payload
27700                        {
27701                            if let Rpc_::Payload::RespGetWifiMaxTxPower(variant) = &mut *variant {
27702                                break &mut *variant;
27703                            }
27704                        }
27705                        self.r#payload = ::core::option::Option::Some(
27706                            Rpc_::Payload::RespGetWifiMaxTxPower(
27707                                ::core::default::Default::default(),
27708                            ),
27709                        );
27710                    };
27711                    mut_ref.decode_len_delimited(decoder)?;
27712                }
27713                533u32 => {
27714                    let mut_ref = loop {
27715                        if let ::core::option::Option::Some(variant) = &mut self
27716                            .r#payload
27717                        {
27718                            if let Rpc_::Payload::RespConfigHeartbeat(variant) = &mut *variant {
27719                                break &mut *variant;
27720                            }
27721                        }
27722                        self.r#payload = ::core::option::Option::Some(
27723                            Rpc_::Payload::RespConfigHeartbeat(
27724                                ::core::default::Default::default(),
27725                            ),
27726                        );
27727                    };
27728                    mut_ref.decode_len_delimited(decoder)?;
27729                }
27730                534u32 => {
27731                    let mut_ref = loop {
27732                        if let ::core::option::Option::Some(variant) = &mut self
27733                            .r#payload
27734                        {
27735                            if let Rpc_::Payload::RespWifiInit(variant) = &mut *variant {
27736                                break &mut *variant;
27737                            }
27738                        }
27739                        self.r#payload = ::core::option::Option::Some(
27740                            Rpc_::Payload::RespWifiInit(
27741                                ::core::default::Default::default(),
27742                            ),
27743                        );
27744                    };
27745                    mut_ref.decode_len_delimited(decoder)?;
27746                }
27747                535u32 => {
27748                    let mut_ref = loop {
27749                        if let ::core::option::Option::Some(variant) = &mut self
27750                            .r#payload
27751                        {
27752                            if let Rpc_::Payload::RespWifiDeinit(variant) = &mut *variant {
27753                                break &mut *variant;
27754                            }
27755                        }
27756                        self.r#payload = ::core::option::Option::Some(
27757                            Rpc_::Payload::RespWifiDeinit(
27758                                ::core::default::Default::default(),
27759                            ),
27760                        );
27761                    };
27762                    mut_ref.decode_len_delimited(decoder)?;
27763                }
27764                536u32 => {
27765                    let mut_ref = loop {
27766                        if let ::core::option::Option::Some(variant) = &mut self
27767                            .r#payload
27768                        {
27769                            if let Rpc_::Payload::RespWifiStart(variant) = &mut *variant {
27770                                break &mut *variant;
27771                            }
27772                        }
27773                        self.r#payload = ::core::option::Option::Some(
27774                            Rpc_::Payload::RespWifiStart(
27775                                ::core::default::Default::default(),
27776                            ),
27777                        );
27778                    };
27779                    mut_ref.decode_len_delimited(decoder)?;
27780                }
27781                537u32 => {
27782                    let mut_ref = loop {
27783                        if let ::core::option::Option::Some(variant) = &mut self
27784                            .r#payload
27785                        {
27786                            if let Rpc_::Payload::RespWifiStop(variant) = &mut *variant {
27787                                break &mut *variant;
27788                            }
27789                        }
27790                        self.r#payload = ::core::option::Option::Some(
27791                            Rpc_::Payload::RespWifiStop(
27792                                ::core::default::Default::default(),
27793                            ),
27794                        );
27795                    };
27796                    mut_ref.decode_len_delimited(decoder)?;
27797                }
27798                538u32 => {
27799                    let mut_ref = loop {
27800                        if let ::core::option::Option::Some(variant) = &mut self
27801                            .r#payload
27802                        {
27803                            if let Rpc_::Payload::RespWifiConnect(variant) = &mut *variant {
27804                                break &mut *variant;
27805                            }
27806                        }
27807                        self.r#payload = ::core::option::Option::Some(
27808                            Rpc_::Payload::RespWifiConnect(
27809                                ::core::default::Default::default(),
27810                            ),
27811                        );
27812                    };
27813                    mut_ref.decode_len_delimited(decoder)?;
27814                }
27815                539u32 => {
27816                    let mut_ref = loop {
27817                        if let ::core::option::Option::Some(variant) = &mut self
27818                            .r#payload
27819                        {
27820                            if let Rpc_::Payload::RespWifiDisconnect(variant) = &mut *variant {
27821                                break &mut *variant;
27822                            }
27823                        }
27824                        self.r#payload = ::core::option::Option::Some(
27825                            Rpc_::Payload::RespWifiDisconnect(
27826                                ::core::default::Default::default(),
27827                            ),
27828                        );
27829                    };
27830                    mut_ref.decode_len_delimited(decoder)?;
27831                }
27832                540u32 => {
27833                    let mut_ref = loop {
27834                        if let ::core::option::Option::Some(variant) = &mut self
27835                            .r#payload
27836                        {
27837                            if let Rpc_::Payload::RespWifiSetConfig(variant) = &mut *variant {
27838                                break &mut *variant;
27839                            }
27840                        }
27841                        self.r#payload = ::core::option::Option::Some(
27842                            Rpc_::Payload::RespWifiSetConfig(
27843                                ::core::default::Default::default(),
27844                            ),
27845                        );
27846                    };
27847                    mut_ref.decode_len_delimited(decoder)?;
27848                }
27849                541u32 => {
27850                    let mut_ref = loop {
27851                        if let ::core::option::Option::Some(variant) = &mut self
27852                            .r#payload
27853                        {
27854                            if let Rpc_::Payload::RespWifiGetConfig(variant) = &mut *variant {
27855                                break &mut *variant;
27856                            }
27857                        }
27858                        self.r#payload = ::core::option::Option::Some(
27859                            Rpc_::Payload::RespWifiGetConfig(
27860                                ::core::default::Default::default(),
27861                            ),
27862                        );
27863                    };
27864                    mut_ref.decode_len_delimited(decoder)?;
27865                }
27866                542u32 => {
27867                    let mut_ref = loop {
27868                        if let ::core::option::Option::Some(variant) = &mut self
27869                            .r#payload
27870                        {
27871                            if let Rpc_::Payload::RespWifiScanStart(variant) = &mut *variant {
27872                                break &mut *variant;
27873                            }
27874                        }
27875                        self.r#payload = ::core::option::Option::Some(
27876                            Rpc_::Payload::RespWifiScanStart(
27877                                ::core::default::Default::default(),
27878                            ),
27879                        );
27880                    };
27881                    mut_ref.decode_len_delimited(decoder)?;
27882                }
27883                543u32 => {
27884                    let mut_ref = loop {
27885                        if let ::core::option::Option::Some(variant) = &mut self
27886                            .r#payload
27887                        {
27888                            if let Rpc_::Payload::RespWifiScanStop(variant) = &mut *variant {
27889                                break &mut *variant;
27890                            }
27891                        }
27892                        self.r#payload = ::core::option::Option::Some(
27893                            Rpc_::Payload::RespWifiScanStop(
27894                                ::core::default::Default::default(),
27895                            ),
27896                        );
27897                    };
27898                    mut_ref.decode_len_delimited(decoder)?;
27899                }
27900                544u32 => {
27901                    let mut_ref = loop {
27902                        if let ::core::option::Option::Some(variant) = &mut self
27903                            .r#payload
27904                        {
27905                            if let Rpc_::Payload::RespWifiScanGetApNum(variant) = &mut *variant {
27906                                break &mut *variant;
27907                            }
27908                        }
27909                        self.r#payload = ::core::option::Option::Some(
27910                            Rpc_::Payload::RespWifiScanGetApNum(
27911                                ::core::default::Default::default(),
27912                            ),
27913                        );
27914                    };
27915                    mut_ref.decode_len_delimited(decoder)?;
27916                }
27917                545u32 => {
27918                    let mut_ref = loop {
27919                        if let ::core::option::Option::Some(variant) = &mut self
27920                            .r#payload
27921                        {
27922                            if let Rpc_::Payload::RespWifiScanGetApRecords(variant) = &mut *variant {
27923                                break &mut *variant;
27924                            }
27925                        }
27926                        self.r#payload = ::core::option::Option::Some(
27927                            Rpc_::Payload::RespWifiScanGetApRecords(
27928                                ::core::default::Default::default(),
27929                            ),
27930                        );
27931                    };
27932                    mut_ref.decode_len_delimited(decoder)?;
27933                }
27934                546u32 => {
27935                    let mut_ref = loop {
27936                        if let ::core::option::Option::Some(variant) = &mut self
27937                            .r#payload
27938                        {
27939                            if let Rpc_::Payload::RespWifiClearApList(variant) = &mut *variant {
27940                                break &mut *variant;
27941                            }
27942                        }
27943                        self.r#payload = ::core::option::Option::Some(
27944                            Rpc_::Payload::RespWifiClearApList(
27945                                ::core::default::Default::default(),
27946                            ),
27947                        );
27948                    };
27949                    mut_ref.decode_len_delimited(decoder)?;
27950                }
27951                547u32 => {
27952                    let mut_ref = loop {
27953                        if let ::core::option::Option::Some(variant) = &mut self
27954                            .r#payload
27955                        {
27956                            if let Rpc_::Payload::RespWifiRestore(variant) = &mut *variant {
27957                                break &mut *variant;
27958                            }
27959                        }
27960                        self.r#payload = ::core::option::Option::Some(
27961                            Rpc_::Payload::RespWifiRestore(
27962                                ::core::default::Default::default(),
27963                            ),
27964                        );
27965                    };
27966                    mut_ref.decode_len_delimited(decoder)?;
27967                }
27968                548u32 => {
27969                    let mut_ref = loop {
27970                        if let ::core::option::Option::Some(variant) = &mut self
27971                            .r#payload
27972                        {
27973                            if let Rpc_::Payload::RespWifiClearFastConnect(variant) = &mut *variant {
27974                                break &mut *variant;
27975                            }
27976                        }
27977                        self.r#payload = ::core::option::Option::Some(
27978                            Rpc_::Payload::RespWifiClearFastConnect(
27979                                ::core::default::Default::default(),
27980                            ),
27981                        );
27982                    };
27983                    mut_ref.decode_len_delimited(decoder)?;
27984                }
27985                549u32 => {
27986                    let mut_ref = loop {
27987                        if let ::core::option::Option::Some(variant) = &mut self
27988                            .r#payload
27989                        {
27990                            if let Rpc_::Payload::RespWifiDeauthSta(variant) = &mut *variant {
27991                                break &mut *variant;
27992                            }
27993                        }
27994                        self.r#payload = ::core::option::Option::Some(
27995                            Rpc_::Payload::RespWifiDeauthSta(
27996                                ::core::default::Default::default(),
27997                            ),
27998                        );
27999                    };
28000                    mut_ref.decode_len_delimited(decoder)?;
28001                }
28002                550u32 => {
28003                    let mut_ref = loop {
28004                        if let ::core::option::Option::Some(variant) = &mut self
28005                            .r#payload
28006                        {
28007                            if let Rpc_::Payload::RespWifiStaGetApInfo(variant) = &mut *variant {
28008                                break &mut *variant;
28009                            }
28010                        }
28011                        self.r#payload = ::core::option::Option::Some(
28012                            Rpc_::Payload::RespWifiStaGetApInfo(
28013                                ::core::default::Default::default(),
28014                            ),
28015                        );
28016                    };
28017                    mut_ref.decode_len_delimited(decoder)?;
28018                }
28019                553u32 => {
28020                    let mut_ref = loop {
28021                        if let ::core::option::Option::Some(variant) = &mut self
28022                            .r#payload
28023                        {
28024                            if let Rpc_::Payload::RespWifiSetProtocol(variant) = &mut *variant {
28025                                break &mut *variant;
28026                            }
28027                        }
28028                        self.r#payload = ::core::option::Option::Some(
28029                            Rpc_::Payload::RespWifiSetProtocol(
28030                                ::core::default::Default::default(),
28031                            ),
28032                        );
28033                    };
28034                    mut_ref.decode_len_delimited(decoder)?;
28035                }
28036                554u32 => {
28037                    let mut_ref = loop {
28038                        if let ::core::option::Option::Some(variant) = &mut self
28039                            .r#payload
28040                        {
28041                            if let Rpc_::Payload::RespWifiGetProtocol(variant) = &mut *variant {
28042                                break &mut *variant;
28043                            }
28044                        }
28045                        self.r#payload = ::core::option::Option::Some(
28046                            Rpc_::Payload::RespWifiGetProtocol(
28047                                ::core::default::Default::default(),
28048                            ),
28049                        );
28050                    };
28051                    mut_ref.decode_len_delimited(decoder)?;
28052                }
28053                555u32 => {
28054                    let mut_ref = loop {
28055                        if let ::core::option::Option::Some(variant) = &mut self
28056                            .r#payload
28057                        {
28058                            if let Rpc_::Payload::RespWifiSetBandwidth(variant) = &mut *variant {
28059                                break &mut *variant;
28060                            }
28061                        }
28062                        self.r#payload = ::core::option::Option::Some(
28063                            Rpc_::Payload::RespWifiSetBandwidth(
28064                                ::core::default::Default::default(),
28065                            ),
28066                        );
28067                    };
28068                    mut_ref.decode_len_delimited(decoder)?;
28069                }
28070                556u32 => {
28071                    let mut_ref = loop {
28072                        if let ::core::option::Option::Some(variant) = &mut self
28073                            .r#payload
28074                        {
28075                            if let Rpc_::Payload::RespWifiGetBandwidth(variant) = &mut *variant {
28076                                break &mut *variant;
28077                            }
28078                        }
28079                        self.r#payload = ::core::option::Option::Some(
28080                            Rpc_::Payload::RespWifiGetBandwidth(
28081                                ::core::default::Default::default(),
28082                            ),
28083                        );
28084                    };
28085                    mut_ref.decode_len_delimited(decoder)?;
28086                }
28087                557u32 => {
28088                    let mut_ref = loop {
28089                        if let ::core::option::Option::Some(variant) = &mut self
28090                            .r#payload
28091                        {
28092                            if let Rpc_::Payload::RespWifiSetChannel(variant) = &mut *variant {
28093                                break &mut *variant;
28094                            }
28095                        }
28096                        self.r#payload = ::core::option::Option::Some(
28097                            Rpc_::Payload::RespWifiSetChannel(
28098                                ::core::default::Default::default(),
28099                            ),
28100                        );
28101                    };
28102                    mut_ref.decode_len_delimited(decoder)?;
28103                }
28104                558u32 => {
28105                    let mut_ref = loop {
28106                        if let ::core::option::Option::Some(variant) = &mut self
28107                            .r#payload
28108                        {
28109                            if let Rpc_::Payload::RespWifiGetChannel(variant) = &mut *variant {
28110                                break &mut *variant;
28111                            }
28112                        }
28113                        self.r#payload = ::core::option::Option::Some(
28114                            Rpc_::Payload::RespWifiGetChannel(
28115                                ::core::default::Default::default(),
28116                            ),
28117                        );
28118                    };
28119                    mut_ref.decode_len_delimited(decoder)?;
28120                }
28121                559u32 => {
28122                    let mut_ref = loop {
28123                        if let ::core::option::Option::Some(variant) = &mut self
28124                            .r#payload
28125                        {
28126                            if let Rpc_::Payload::RespWifiSetCountry(variant) = &mut *variant {
28127                                break &mut *variant;
28128                            }
28129                        }
28130                        self.r#payload = ::core::option::Option::Some(
28131                            Rpc_::Payload::RespWifiSetCountry(
28132                                ::core::default::Default::default(),
28133                            ),
28134                        );
28135                    };
28136                    mut_ref.decode_len_delimited(decoder)?;
28137                }
28138                560u32 => {
28139                    let mut_ref = loop {
28140                        if let ::core::option::Option::Some(variant) = &mut self
28141                            .r#payload
28142                        {
28143                            if let Rpc_::Payload::RespWifiGetCountry(variant) = &mut *variant {
28144                                break &mut *variant;
28145                            }
28146                        }
28147                        self.r#payload = ::core::option::Option::Some(
28148                            Rpc_::Payload::RespWifiGetCountry(
28149                                ::core::default::Default::default(),
28150                            ),
28151                        );
28152                    };
28153                    mut_ref.decode_len_delimited(decoder)?;
28154                }
28155                567u32 => {
28156                    let mut_ref = loop {
28157                        if let ::core::option::Option::Some(variant) = &mut self
28158                            .r#payload
28159                        {
28160                            if let Rpc_::Payload::RespWifiApGetStaList(variant) = &mut *variant {
28161                                break &mut *variant;
28162                            }
28163                        }
28164                        self.r#payload = ::core::option::Option::Some(
28165                            Rpc_::Payload::RespWifiApGetStaList(
28166                                ::core::default::Default::default(),
28167                            ),
28168                        );
28169                    };
28170                    mut_ref.decode_len_delimited(decoder)?;
28171                }
28172                568u32 => {
28173                    let mut_ref = loop {
28174                        if let ::core::option::Option::Some(variant) = &mut self
28175                            .r#payload
28176                        {
28177                            if let Rpc_::Payload::RespWifiApGetStaAid(variant) = &mut *variant {
28178                                break &mut *variant;
28179                            }
28180                        }
28181                        self.r#payload = ::core::option::Option::Some(
28182                            Rpc_::Payload::RespWifiApGetStaAid(
28183                                ::core::default::Default::default(),
28184                            ),
28185                        );
28186                    };
28187                    mut_ref.decode_len_delimited(decoder)?;
28188                }
28189                569u32 => {
28190                    let mut_ref = loop {
28191                        if let ::core::option::Option::Some(variant) = &mut self
28192                            .r#payload
28193                        {
28194                            if let Rpc_::Payload::RespWifiSetStorage(variant) = &mut *variant {
28195                                break &mut *variant;
28196                            }
28197                        }
28198                        self.r#payload = ::core::option::Option::Some(
28199                            Rpc_::Payload::RespWifiSetStorage(
28200                                ::core::default::Default::default(),
28201                            ),
28202                        );
28203                    };
28204                    mut_ref.decode_len_delimited(decoder)?;
28205                }
28206                590u32 => {
28207                    let mut_ref = loop {
28208                        if let ::core::option::Option::Some(variant) = &mut self
28209                            .r#payload
28210                        {
28211                            if let Rpc_::Payload::RespWifiSetCountryCode(variant) = &mut *variant {
28212                                break &mut *variant;
28213                            }
28214                        }
28215                        self.r#payload = ::core::option::Option::Some(
28216                            Rpc_::Payload::RespWifiSetCountryCode(
28217                                ::core::default::Default::default(),
28218                            ),
28219                        );
28220                    };
28221                    mut_ref.decode_len_delimited(decoder)?;
28222                }
28223                591u32 => {
28224                    let mut_ref = loop {
28225                        if let ::core::option::Option::Some(variant) = &mut self
28226                            .r#payload
28227                        {
28228                            if let Rpc_::Payload::RespWifiGetCountryCode(variant) = &mut *variant {
28229                                break &mut *variant;
28230                            }
28231                        }
28232                        self.r#payload = ::core::option::Option::Some(
28233                            Rpc_::Payload::RespWifiGetCountryCode(
28234                                ::core::default::Default::default(),
28235                            ),
28236                        );
28237                    };
28238                    mut_ref.decode_len_delimited(decoder)?;
28239                }
28240                594u32 => {
28241                    let mut_ref = loop {
28242                        if let ::core::option::Option::Some(variant) = &mut self
28243                            .r#payload
28244                        {
28245                            if let Rpc_::Payload::RespWifiStaGetAid(variant) = &mut *variant {
28246                                break &mut *variant;
28247                            }
28248                        }
28249                        self.r#payload = ::core::option::Option::Some(
28250                            Rpc_::Payload::RespWifiStaGetAid(
28251                                ::core::default::Default::default(),
28252                            ),
28253                        );
28254                    };
28255                    mut_ref.decode_len_delimited(decoder)?;
28256                }
28257                595u32 => {
28258                    let mut_ref = loop {
28259                        if let ::core::option::Option::Some(variant) = &mut self
28260                            .r#payload
28261                        {
28262                            if let Rpc_::Payload::RespWifiStaGetNegotiatedPhymode(
28263                                variant,
28264                            ) = &mut *variant {
28265                                break &mut *variant;
28266                            }
28267                        }
28268                        self.r#payload = ::core::option::Option::Some(
28269                            Rpc_::Payload::RespWifiStaGetNegotiatedPhymode(
28270                                ::core::default::Default::default(),
28271                            ),
28272                        );
28273                    };
28274                    mut_ref.decode_len_delimited(decoder)?;
28275                }
28276                597u32 => {
28277                    let mut_ref = loop {
28278                        if let ::core::option::Option::Some(variant) = &mut self
28279                            .r#payload
28280                        {
28281                            if let Rpc_::Payload::RespWifiStaGetRssi(variant) = &mut *variant {
28282                                break &mut *variant;
28283                            }
28284                        }
28285                        self.r#payload = ::core::option::Option::Some(
28286                            Rpc_::Payload::RespWifiStaGetRssi(
28287                                ::core::default::Default::default(),
28288                            ),
28289                        );
28290                    };
28291                    mut_ref.decode_len_delimited(decoder)?;
28292                }
28293                598u32 => {
28294                    let mut_ref = loop {
28295                        if let ::core::option::Option::Some(variant) = &mut self
28296                            .r#payload
28297                        {
28298                            if let Rpc_::Payload::RespWifiSetProtocols(variant) = &mut *variant {
28299                                break &mut *variant;
28300                            }
28301                        }
28302                        self.r#payload = ::core::option::Option::Some(
28303                            Rpc_::Payload::RespWifiSetProtocols(
28304                                ::core::default::Default::default(),
28305                            ),
28306                        );
28307                    };
28308                    mut_ref.decode_len_delimited(decoder)?;
28309                }
28310                599u32 => {
28311                    let mut_ref = loop {
28312                        if let ::core::option::Option::Some(variant) = &mut self
28313                            .r#payload
28314                        {
28315                            if let Rpc_::Payload::RespWifiGetProtocols(variant) = &mut *variant {
28316                                break &mut *variant;
28317                            }
28318                        }
28319                        self.r#payload = ::core::option::Option::Some(
28320                            Rpc_::Payload::RespWifiGetProtocols(
28321                                ::core::default::Default::default(),
28322                            ),
28323                        );
28324                    };
28325                    mut_ref.decode_len_delimited(decoder)?;
28326                }
28327                600u32 => {
28328                    let mut_ref = loop {
28329                        if let ::core::option::Option::Some(variant) = &mut self
28330                            .r#payload
28331                        {
28332                            if let Rpc_::Payload::RespWifiSetBandwidths(variant) = &mut *variant {
28333                                break &mut *variant;
28334                            }
28335                        }
28336                        self.r#payload = ::core::option::Option::Some(
28337                            Rpc_::Payload::RespWifiSetBandwidths(
28338                                ::core::default::Default::default(),
28339                            ),
28340                        );
28341                    };
28342                    mut_ref.decode_len_delimited(decoder)?;
28343                }
28344                601u32 => {
28345                    let mut_ref = loop {
28346                        if let ::core::option::Option::Some(variant) = &mut self
28347                            .r#payload
28348                        {
28349                            if let Rpc_::Payload::RespWifiGetBandwidths(variant) = &mut *variant {
28350                                break &mut *variant;
28351                            }
28352                        }
28353                        self.r#payload = ::core::option::Option::Some(
28354                            Rpc_::Payload::RespWifiGetBandwidths(
28355                                ::core::default::Default::default(),
28356                            ),
28357                        );
28358                    };
28359                    mut_ref.decode_len_delimited(decoder)?;
28360                }
28361                602u32 => {
28362                    let mut_ref = loop {
28363                        if let ::core::option::Option::Some(variant) = &mut self
28364                            .r#payload
28365                        {
28366                            if let Rpc_::Payload::RespWifiSetBand(variant) = &mut *variant {
28367                                break &mut *variant;
28368                            }
28369                        }
28370                        self.r#payload = ::core::option::Option::Some(
28371                            Rpc_::Payload::RespWifiSetBand(
28372                                ::core::default::Default::default(),
28373                            ),
28374                        );
28375                    };
28376                    mut_ref.decode_len_delimited(decoder)?;
28377                }
28378                603u32 => {
28379                    let mut_ref = loop {
28380                        if let ::core::option::Option::Some(variant) = &mut self
28381                            .r#payload
28382                        {
28383                            if let Rpc_::Payload::RespWifiGetBand(variant) = &mut *variant {
28384                                break &mut *variant;
28385                            }
28386                        }
28387                        self.r#payload = ::core::option::Option::Some(
28388                            Rpc_::Payload::RespWifiGetBand(
28389                                ::core::default::Default::default(),
28390                            ),
28391                        );
28392                    };
28393                    mut_ref.decode_len_delimited(decoder)?;
28394                }
28395                604u32 => {
28396                    let mut_ref = loop {
28397                        if let ::core::option::Option::Some(variant) = &mut self
28398                            .r#payload
28399                        {
28400                            if let Rpc_::Payload::RespWifiSetBandmode(variant) = &mut *variant {
28401                                break &mut *variant;
28402                            }
28403                        }
28404                        self.r#payload = ::core::option::Option::Some(
28405                            Rpc_::Payload::RespWifiSetBandmode(
28406                                ::core::default::Default::default(),
28407                            ),
28408                        );
28409                    };
28410                    mut_ref.decode_len_delimited(decoder)?;
28411                }
28412                605u32 => {
28413                    let mut_ref = loop {
28414                        if let ::core::option::Option::Some(variant) = &mut self
28415                            .r#payload
28416                        {
28417                            if let Rpc_::Payload::RespWifiGetBandmode(variant) = &mut *variant {
28418                                break &mut *variant;
28419                            }
28420                        }
28421                        self.r#payload = ::core::option::Option::Some(
28422                            Rpc_::Payload::RespWifiGetBandmode(
28423                                ::core::default::Default::default(),
28424                            ),
28425                        );
28426                    };
28427                    mut_ref.decode_len_delimited(decoder)?;
28428                }
28429                606u32 => {
28430                    let mut_ref = loop {
28431                        if let ::core::option::Option::Some(variant) = &mut self
28432                            .r#payload
28433                        {
28434                            if let Rpc_::Payload::RespGetCoprocessorFwversion(variant) = &mut *variant {
28435                                break &mut *variant;
28436                            }
28437                        }
28438                        self.r#payload = ::core::option::Option::Some(
28439                            Rpc_::Payload::RespGetCoprocessorFwversion(
28440                                ::core::default::Default::default(),
28441                            ),
28442                        );
28443                    };
28444                    mut_ref.decode_len_delimited(decoder)?;
28445                }
28446                607u32 => {
28447                    let mut_ref = loop {
28448                        if let ::core::option::Option::Some(variant) = &mut self
28449                            .r#payload
28450                        {
28451                            if let Rpc_::Payload::RespWifiScanGetApRecord(variant) = &mut *variant {
28452                                break &mut *variant;
28453                            }
28454                        }
28455                        self.r#payload = ::core::option::Option::Some(
28456                            Rpc_::Payload::RespWifiScanGetApRecord(
28457                                ::core::default::Default::default(),
28458                            ),
28459                        );
28460                    };
28461                    mut_ref.decode_len_delimited(decoder)?;
28462                }
28463                769u32 => {
28464                    let mut_ref = loop {
28465                        if let ::core::option::Option::Some(variant) = &mut self
28466                            .r#payload
28467                        {
28468                            if let Rpc_::Payload::EventEspInit(variant) = &mut *variant {
28469                                break &mut *variant;
28470                            }
28471                        }
28472                        self.r#payload = ::core::option::Option::Some(
28473                            Rpc_::Payload::EventEspInit(
28474                                ::core::default::Default::default(),
28475                            ),
28476                        );
28477                    };
28478                    mut_ref.decode_len_delimited(decoder)?;
28479                }
28480                770u32 => {
28481                    let mut_ref = loop {
28482                        if let ::core::option::Option::Some(variant) = &mut self
28483                            .r#payload
28484                        {
28485                            if let Rpc_::Payload::EventHeartbeat(variant) = &mut *variant {
28486                                break &mut *variant;
28487                            }
28488                        }
28489                        self.r#payload = ::core::option::Option::Some(
28490                            Rpc_::Payload::EventHeartbeat(
28491                                ::core::default::Default::default(),
28492                            ),
28493                        );
28494                    };
28495                    mut_ref.decode_len_delimited(decoder)?;
28496                }
28497                771u32 => {
28498                    let mut_ref = loop {
28499                        if let ::core::option::Option::Some(variant) = &mut self
28500                            .r#payload
28501                        {
28502                            if let Rpc_::Payload::EventApStaConnected(variant) = &mut *variant {
28503                                break &mut *variant;
28504                            }
28505                        }
28506                        self.r#payload = ::core::option::Option::Some(
28507                            Rpc_::Payload::EventApStaConnected(
28508                                ::core::default::Default::default(),
28509                            ),
28510                        );
28511                    };
28512                    mut_ref.decode_len_delimited(decoder)?;
28513                }
28514                772u32 => {
28515                    let mut_ref = loop {
28516                        if let ::core::option::Option::Some(variant) = &mut self
28517                            .r#payload
28518                        {
28519                            if let Rpc_::Payload::EventApStaDisconnected(variant) = &mut *variant {
28520                                break &mut *variant;
28521                            }
28522                        }
28523                        self.r#payload = ::core::option::Option::Some(
28524                            Rpc_::Payload::EventApStaDisconnected(
28525                                ::core::default::Default::default(),
28526                            ),
28527                        );
28528                    };
28529                    mut_ref.decode_len_delimited(decoder)?;
28530                }
28531                773u32 => {
28532                    let mut_ref = loop {
28533                        if let ::core::option::Option::Some(variant) = &mut self
28534                            .r#payload
28535                        {
28536                            if let Rpc_::Payload::EventWifiEventNoArgs(variant) = &mut *variant {
28537                                break &mut *variant;
28538                            }
28539                        }
28540                        self.r#payload = ::core::option::Option::Some(
28541                            Rpc_::Payload::EventWifiEventNoArgs(
28542                                ::core::default::Default::default(),
28543                            ),
28544                        );
28545                    };
28546                    mut_ref.decode_len_delimited(decoder)?;
28547                }
28548                774u32 => {
28549                    let mut_ref = loop {
28550                        if let ::core::option::Option::Some(variant) = &mut self
28551                            .r#payload
28552                        {
28553                            if let Rpc_::Payload::EventStaScanDone(variant) = &mut *variant {
28554                                break &mut *variant;
28555                            }
28556                        }
28557                        self.r#payload = ::core::option::Option::Some(
28558                            Rpc_::Payload::EventStaScanDone(
28559                                ::core::default::Default::default(),
28560                            ),
28561                        );
28562                    };
28563                    mut_ref.decode_len_delimited(decoder)?;
28564                }
28565                775u32 => {
28566                    let mut_ref = loop {
28567                        if let ::core::option::Option::Some(variant) = &mut self
28568                            .r#payload
28569                        {
28570                            if let Rpc_::Payload::EventStaConnected(variant) = &mut *variant {
28571                                break &mut *variant;
28572                            }
28573                        }
28574                        self.r#payload = ::core::option::Option::Some(
28575                            Rpc_::Payload::EventStaConnected(
28576                                ::core::default::Default::default(),
28577                            ),
28578                        );
28579                    };
28580                    mut_ref.decode_len_delimited(decoder)?;
28581                }
28582                776u32 => {
28583                    let mut_ref = loop {
28584                        if let ::core::option::Option::Some(variant) = &mut self
28585                            .r#payload
28586                        {
28587                            if let Rpc_::Payload::EventStaDisconnected(variant) = &mut *variant {
28588                                break &mut *variant;
28589                            }
28590                        }
28591                        self.r#payload = ::core::option::Option::Some(
28592                            Rpc_::Payload::EventStaDisconnected(
28593                                ::core::default::Default::default(),
28594                            ),
28595                        );
28596                    };
28597                    mut_ref.decode_len_delimited(decoder)?;
28598                }
28599                _ => {
28600                    decoder.skip_wire_value(tag.wire_type())?;
28601                }
28602            }
28603        }
28604        Ok(())
28605    }
28606}
28607impl ::micropb::MessageEncode for Rpc {
28608    const MAX_SIZE: ::core::option::Option<usize> = 'msg: {
28609        let mut max_size = 0;
28610        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28611            ::core::option::Option::Some(10usize), | size | size + 1usize
28612        ) {
28613            max_size += size;
28614        } else {
28615            break 'msg (::core::option::Option::<usize>::None);
28616        };
28617        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28618            ::core::option::Option::Some(10usize), | size | size + 1usize
28619        ) {
28620            max_size += size;
28621        } else {
28622            break 'msg (::core::option::Option::<usize>::None);
28623        };
28624        if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28625            ::core::option::Option::Some(5usize), | size | size + 1usize
28626        ) {
28627            max_size += size;
28628        } else {
28629            break 'msg (::core::option::Option::<usize>::None);
28630        };
28631        if let ::core::option::Option::Some(size) = 'oneof: {
28632            let mut max_size = 0;
28633            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28634                ::micropb::const_map!(< Rpc_Req_GetMacAddress as ::micropb::MessageEncode
28635                > ::MAX_SIZE, | size | ::micropb::size::sizeof_len_record(size)), | size
28636                | size + 2usize
28637            ) {
28638                if size > max_size {
28639                    max_size = size;
28640                }
28641            } else {
28642                break 'oneof (::core::option::Option::<usize>::None);
28643            }
28644            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28645                ::micropb::const_map!(< Rpc_Req_SetMacAddress as ::micropb::MessageEncode
28646                > ::MAX_SIZE, | size | ::micropb::size::sizeof_len_record(size)), | size
28647                | size + 2usize
28648            ) {
28649                if size > max_size {
28650                    max_size = size;
28651                }
28652            } else {
28653                break 'oneof (::core::option::Option::<usize>::None);
28654            }
28655            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28656                ::micropb::const_map!(< Rpc_Req_GetMode as ::micropb::MessageEncode >
28657                ::MAX_SIZE, | size | ::micropb::size::sizeof_len_record(size)), | size |
28658                size + 2usize
28659            ) {
28660                if size > max_size {
28661                    max_size = size;
28662                }
28663            } else {
28664                break 'oneof (::core::option::Option::<usize>::None);
28665            }
28666            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28667                ::micropb::const_map!(< Rpc_Req_SetMode as ::micropb::MessageEncode >
28668                ::MAX_SIZE, | size | ::micropb::size::sizeof_len_record(size)), | size |
28669                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!(< Rpc_Req_SetPs as ::micropb::MessageEncode >
28679                ::MAX_SIZE, | size | ::micropb::size::sizeof_len_record(size)), | size |
28680                size + 2usize
28681            ) {
28682                if size > max_size {
28683                    max_size = size;
28684                }
28685            } else {
28686                break 'oneof (::core::option::Option::<usize>::None);
28687            }
28688            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28689                ::micropb::const_map!(< Rpc_Req_GetPs as ::micropb::MessageEncode >
28690                ::MAX_SIZE, | size | ::micropb::size::sizeof_len_record(size)), | size |
28691                size + 2usize
28692            ) {
28693                if size > max_size {
28694                    max_size = size;
28695                }
28696            } else {
28697                break 'oneof (::core::option::Option::<usize>::None);
28698            }
28699            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28700                ::micropb::const_map!(< Rpc_Req_OTABegin as ::micropb::MessageEncode >
28701                ::MAX_SIZE, | size | ::micropb::size::sizeof_len_record(size)), | size |
28702                size + 2usize
28703            ) {
28704                if size > max_size {
28705                    max_size = size;
28706                }
28707            } else {
28708                break 'oneof (::core::option::Option::<usize>::None);
28709            }
28710            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28711                ::micropb::const_map!(< Rpc_Req_OTAWrite as ::micropb::MessageEncode >
28712                ::MAX_SIZE, | size | ::micropb::size::sizeof_len_record(size)), | size |
28713                size + 2usize
28714            ) {
28715                if size > max_size {
28716                    max_size = size;
28717                }
28718            } else {
28719                break 'oneof (::core::option::Option::<usize>::None);
28720            }
28721            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28722                ::micropb::const_map!(< Rpc_Req_OTAEnd as ::micropb::MessageEncode >
28723                ::MAX_SIZE, | size | ::micropb::size::sizeof_len_record(size)), | size |
28724                size + 2usize
28725            ) {
28726                if size > max_size {
28727                    max_size = size;
28728                }
28729            } else {
28730                break 'oneof (::core::option::Option::<usize>::None);
28731            }
28732            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28733                ::micropb::const_map!(< Rpc_Req_WifiSetMaxTxPower as
28734                ::micropb::MessageEncode > ::MAX_SIZE, | size |
28735                ::micropb::size::sizeof_len_record(size)), | size | size + 2usize
28736            ) {
28737                if size > max_size {
28738                    max_size = size;
28739                }
28740            } else {
28741                break 'oneof (::core::option::Option::<usize>::None);
28742            }
28743            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28744                ::micropb::const_map!(< Rpc_Req_WifiGetMaxTxPower as
28745                ::micropb::MessageEncode > ::MAX_SIZE, | size |
28746                ::micropb::size::sizeof_len_record(size)), | size | size + 2usize
28747            ) {
28748                if size > max_size {
28749                    max_size = size;
28750                }
28751            } else {
28752                break 'oneof (::core::option::Option::<usize>::None);
28753            }
28754            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28755                ::micropb::const_map!(< Rpc_Req_ConfigHeartbeat as
28756                ::micropb::MessageEncode > ::MAX_SIZE, | size |
28757                ::micropb::size::sizeof_len_record(size)), | size | size + 2usize
28758            ) {
28759                if size > max_size {
28760                    max_size = size;
28761                }
28762            } else {
28763                break 'oneof (::core::option::Option::<usize>::None);
28764            }
28765            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28766                ::micropb::const_map!(< Rpc_Req_WifiInit as ::micropb::MessageEncode >
28767                ::MAX_SIZE, | size | ::micropb::size::sizeof_len_record(size)), | size |
28768                size + 2usize
28769            ) {
28770                if size > max_size {
28771                    max_size = size;
28772                }
28773            } else {
28774                break 'oneof (::core::option::Option::<usize>::None);
28775            }
28776            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28777                ::micropb::const_map!(< Rpc_Req_WifiDeinit as ::micropb::MessageEncode >
28778                ::MAX_SIZE, | size | ::micropb::size::sizeof_len_record(size)), | size |
28779                size + 2usize
28780            ) {
28781                if size > max_size {
28782                    max_size = size;
28783                }
28784            } else {
28785                break 'oneof (::core::option::Option::<usize>::None);
28786            }
28787            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28788                ::micropb::const_map!(< Rpc_Req_WifiStart as ::micropb::MessageEncode >
28789                ::MAX_SIZE, | size | ::micropb::size::sizeof_len_record(size)), | size |
28790                size + 2usize
28791            ) {
28792                if size > max_size {
28793                    max_size = size;
28794                }
28795            } else {
28796                break 'oneof (::core::option::Option::<usize>::None);
28797            }
28798            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28799                ::micropb::const_map!(< Rpc_Req_WifiStop as ::micropb::MessageEncode >
28800                ::MAX_SIZE, | size | ::micropb::size::sizeof_len_record(size)), | size |
28801                size + 2usize
28802            ) {
28803                if size > max_size {
28804                    max_size = size;
28805                }
28806            } else {
28807                break 'oneof (::core::option::Option::<usize>::None);
28808            }
28809            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28810                ::micropb::const_map!(< Rpc_Req_WifiConnect as ::micropb::MessageEncode >
28811                ::MAX_SIZE, | size | ::micropb::size::sizeof_len_record(size)), | size |
28812                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!(< Rpc_Req_WifiDisconnect as
28822                ::micropb::MessageEncode > ::MAX_SIZE, | size |
28823                ::micropb::size::sizeof_len_record(size)), | size | size + 2usize
28824            ) {
28825                if size > max_size {
28826                    max_size = size;
28827                }
28828            } else {
28829                break 'oneof (::core::option::Option::<usize>::None);
28830            }
28831            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28832                ::micropb::const_map!(< Rpc_Req_WifiSetConfig as ::micropb::MessageEncode
28833                > ::MAX_SIZE, | size | ::micropb::size::sizeof_len_record(size)), | size
28834                | size + 2usize
28835            ) {
28836                if size > max_size {
28837                    max_size = size;
28838                }
28839            } else {
28840                break 'oneof (::core::option::Option::<usize>::None);
28841            }
28842            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28843                ::micropb::const_map!(< Rpc_Req_WifiGetConfig as ::micropb::MessageEncode
28844                > ::MAX_SIZE, | size | ::micropb::size::sizeof_len_record(size)), | size
28845                | size + 2usize
28846            ) {
28847                if size > max_size {
28848                    max_size = size;
28849                }
28850            } else {
28851                break 'oneof (::core::option::Option::<usize>::None);
28852            }
28853            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28854                ::micropb::const_map!(< Rpc_Req_WifiScanStart as ::micropb::MessageEncode
28855                > ::MAX_SIZE, | size | ::micropb::size::sizeof_len_record(size)), | size
28856                | size + 2usize
28857            ) {
28858                if size > max_size {
28859                    max_size = size;
28860                }
28861            } else {
28862                break 'oneof (::core::option::Option::<usize>::None);
28863            }
28864            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28865                ::micropb::const_map!(< Rpc_Req_WifiScanStop as ::micropb::MessageEncode
28866                > ::MAX_SIZE, | size | ::micropb::size::sizeof_len_record(size)), | size
28867                | size + 2usize
28868            ) {
28869                if size > max_size {
28870                    max_size = size;
28871                }
28872            } else {
28873                break 'oneof (::core::option::Option::<usize>::None);
28874            }
28875            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28876                ::micropb::const_map!(< Rpc_Req_WifiScanGetApNum as
28877                ::micropb::MessageEncode > ::MAX_SIZE, | size |
28878                ::micropb::size::sizeof_len_record(size)), | size | size + 2usize
28879            ) {
28880                if size > max_size {
28881                    max_size = size;
28882                }
28883            } else {
28884                break 'oneof (::core::option::Option::<usize>::None);
28885            }
28886            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28887                ::micropb::const_map!(< Rpc_Req_WifiScanGetApRecords as
28888                ::micropb::MessageEncode > ::MAX_SIZE, | size |
28889                ::micropb::size::sizeof_len_record(size)), | size | size + 2usize
28890            ) {
28891                if size > max_size {
28892                    max_size = size;
28893                }
28894            } else {
28895                break 'oneof (::core::option::Option::<usize>::None);
28896            }
28897            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28898                ::micropb::const_map!(< Rpc_Req_WifiClearApList as
28899                ::micropb::MessageEncode > ::MAX_SIZE, | size |
28900                ::micropb::size::sizeof_len_record(size)), | size | size + 2usize
28901            ) {
28902                if size > max_size {
28903                    max_size = size;
28904                }
28905            } else {
28906                break 'oneof (::core::option::Option::<usize>::None);
28907            }
28908            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28909                ::micropb::const_map!(< Rpc_Req_WifiRestore as ::micropb::MessageEncode >
28910                ::MAX_SIZE, | size | ::micropb::size::sizeof_len_record(size)), | size |
28911                size + 2usize
28912            ) {
28913                if size > max_size {
28914                    max_size = size;
28915                }
28916            } else {
28917                break 'oneof (::core::option::Option::<usize>::None);
28918            }
28919            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28920                ::micropb::const_map!(< Rpc_Req_WifiClearFastConnect as
28921                ::micropb::MessageEncode > ::MAX_SIZE, | size |
28922                ::micropb::size::sizeof_len_record(size)), | size | size + 2usize
28923            ) {
28924                if size > max_size {
28925                    max_size = size;
28926                }
28927            } else {
28928                break 'oneof (::core::option::Option::<usize>::None);
28929            }
28930            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28931                ::micropb::const_map!(< Rpc_Req_WifiDeauthSta as ::micropb::MessageEncode
28932                > ::MAX_SIZE, | size | ::micropb::size::sizeof_len_record(size)), | size
28933                | size + 2usize
28934            ) {
28935                if size > max_size {
28936                    max_size = size;
28937                }
28938            } else {
28939                break 'oneof (::core::option::Option::<usize>::None);
28940            }
28941            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28942                ::micropb::const_map!(< Rpc_Req_WifiStaGetApInfo as
28943                ::micropb::MessageEncode > ::MAX_SIZE, | size |
28944                ::micropb::size::sizeof_len_record(size)), | size | size + 2usize
28945            ) {
28946                if size > max_size {
28947                    max_size = size;
28948                }
28949            } else {
28950                break 'oneof (::core::option::Option::<usize>::None);
28951            }
28952            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28953                ::micropb::const_map!(< Rpc_Req_WifiSetProtocol as
28954                ::micropb::MessageEncode > ::MAX_SIZE, | size |
28955                ::micropb::size::sizeof_len_record(size)), | 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!(< Rpc_Req_WifiGetProtocol as
28965                ::micropb::MessageEncode > ::MAX_SIZE, | size |
28966                ::micropb::size::sizeof_len_record(size)), | size | size + 2usize
28967            ) {
28968                if size > max_size {
28969                    max_size = size;
28970                }
28971            } else {
28972                break 'oneof (::core::option::Option::<usize>::None);
28973            }
28974            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28975                ::micropb::const_map!(< Rpc_Req_WifiSetBandwidth as
28976                ::micropb::MessageEncode > ::MAX_SIZE, | size |
28977                ::micropb::size::sizeof_len_record(size)), | size | size + 2usize
28978            ) {
28979                if size > max_size {
28980                    max_size = size;
28981                }
28982            } else {
28983                break 'oneof (::core::option::Option::<usize>::None);
28984            }
28985            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28986                ::micropb::const_map!(< Rpc_Req_WifiGetBandwidth as
28987                ::micropb::MessageEncode > ::MAX_SIZE, | size |
28988                ::micropb::size::sizeof_len_record(size)), | size | size + 2usize
28989            ) {
28990                if size > max_size {
28991                    max_size = size;
28992                }
28993            } else {
28994                break 'oneof (::core::option::Option::<usize>::None);
28995            }
28996            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
28997                ::micropb::const_map!(< Rpc_Req_WifiSetChannel as
28998                ::micropb::MessageEncode > ::MAX_SIZE, | size |
28999                ::micropb::size::sizeof_len_record(size)), | size | size + 2usize
29000            ) {
29001                if size > max_size {
29002                    max_size = size;
29003                }
29004            } else {
29005                break 'oneof (::core::option::Option::<usize>::None);
29006            }
29007            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29008                ::micropb::const_map!(< Rpc_Req_WifiGetChannel as
29009                ::micropb::MessageEncode > ::MAX_SIZE, | size |
29010                ::micropb::size::sizeof_len_record(size)), | size | size + 2usize
29011            ) {
29012                if size > max_size {
29013                    max_size = size;
29014                }
29015            } else {
29016                break 'oneof (::core::option::Option::<usize>::None);
29017            }
29018            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29019                ::micropb::const_map!(< Rpc_Req_WifiSetCountry as
29020                ::micropb::MessageEncode > ::MAX_SIZE, | size |
29021                ::micropb::size::sizeof_len_record(size)), | size | size + 2usize
29022            ) {
29023                if size > max_size {
29024                    max_size = size;
29025                }
29026            } else {
29027                break 'oneof (::core::option::Option::<usize>::None);
29028            }
29029            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29030                ::micropb::const_map!(< Rpc_Req_WifiGetCountry as
29031                ::micropb::MessageEncode > ::MAX_SIZE, | size |
29032                ::micropb::size::sizeof_len_record(size)), | size | size + 2usize
29033            ) {
29034                if size > max_size {
29035                    max_size = size;
29036                }
29037            } else {
29038                break 'oneof (::core::option::Option::<usize>::None);
29039            }
29040            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29041                ::micropb::const_map!(< Rpc_Req_WifiApGetStaList as
29042                ::micropb::MessageEncode > ::MAX_SIZE, | size |
29043                ::micropb::size::sizeof_len_record(size)), | size | size + 2usize
29044            ) {
29045                if size > max_size {
29046                    max_size = size;
29047                }
29048            } else {
29049                break 'oneof (::core::option::Option::<usize>::None);
29050            }
29051            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29052                ::micropb::const_map!(< Rpc_Req_WifiApGetStaAid as
29053                ::micropb::MessageEncode > ::MAX_SIZE, | size |
29054                ::micropb::size::sizeof_len_record(size)), | size | size + 2usize
29055            ) {
29056                if size > max_size {
29057                    max_size = size;
29058                }
29059            } else {
29060                break 'oneof (::core::option::Option::<usize>::None);
29061            }
29062            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29063                ::micropb::const_map!(< Rpc_Req_WifiSetStorage as
29064                ::micropb::MessageEncode > ::MAX_SIZE, | size |
29065                ::micropb::size::sizeof_len_record(size)), | size | size + 2usize
29066            ) {
29067                if size > max_size {
29068                    max_size = size;
29069                }
29070            } else {
29071                break 'oneof (::core::option::Option::<usize>::None);
29072            }
29073            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29074                ::micropb::const_map!(< Rpc_Req_WifiSetCountryCode as
29075                ::micropb::MessageEncode > ::MAX_SIZE, | size |
29076                ::micropb::size::sizeof_len_record(size)), | size | size + 2usize
29077            ) {
29078                if size > max_size {
29079                    max_size = size;
29080                }
29081            } else {
29082                break 'oneof (::core::option::Option::<usize>::None);
29083            }
29084            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29085                ::micropb::const_map!(< Rpc_Req_WifiGetCountryCode as
29086                ::micropb::MessageEncode > ::MAX_SIZE, | size |
29087                ::micropb::size::sizeof_len_record(size)), | size | size + 2usize
29088            ) {
29089                if size > max_size {
29090                    max_size = size;
29091                }
29092            } else {
29093                break 'oneof (::core::option::Option::<usize>::None);
29094            }
29095            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29096                ::micropb::const_map!(< Rpc_Req_WifiStaGetAid as ::micropb::MessageEncode
29097                > ::MAX_SIZE, | size | ::micropb::size::sizeof_len_record(size)), | size
29098                | 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!(< Rpc_Req_WifiStaGetNegotiatedPhymode as
29108                ::micropb::MessageEncode > ::MAX_SIZE, | size |
29109                ::micropb::size::sizeof_len_record(size)), | size | size + 2usize
29110            ) {
29111                if size > max_size {
29112                    max_size = size;
29113                }
29114            } else {
29115                break 'oneof (::core::option::Option::<usize>::None);
29116            }
29117            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29118                ::micropb::const_map!(< Rpc_Req_WifiStaGetRssi as
29119                ::micropb::MessageEncode > ::MAX_SIZE, | size |
29120                ::micropb::size::sizeof_len_record(size)), | size | size + 2usize
29121            ) {
29122                if size > max_size {
29123                    max_size = size;
29124                }
29125            } else {
29126                break 'oneof (::core::option::Option::<usize>::None);
29127            }
29128            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29129                ::micropb::const_map!(< Rpc_Req_WifiSetProtocols as
29130                ::micropb::MessageEncode > ::MAX_SIZE, | size |
29131                ::micropb::size::sizeof_len_record(size)), | size | size + 2usize
29132            ) {
29133                if size > max_size {
29134                    max_size = size;
29135                }
29136            } else {
29137                break 'oneof (::core::option::Option::<usize>::None);
29138            }
29139            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29140                ::micropb::const_map!(< Rpc_Req_WifiGetProtocols as
29141                ::micropb::MessageEncode > ::MAX_SIZE, | size |
29142                ::micropb::size::sizeof_len_record(size)), | size | size + 2usize
29143            ) {
29144                if size > max_size {
29145                    max_size = size;
29146                }
29147            } else {
29148                break 'oneof (::core::option::Option::<usize>::None);
29149            }
29150            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29151                ::micropb::const_map!(< Rpc_Req_WifiSetBandwidths as
29152                ::micropb::MessageEncode > ::MAX_SIZE, | size |
29153                ::micropb::size::sizeof_len_record(size)), | size | size + 2usize
29154            ) {
29155                if size > max_size {
29156                    max_size = size;
29157                }
29158            } else {
29159                break 'oneof (::core::option::Option::<usize>::None);
29160            }
29161            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29162                ::micropb::const_map!(< Rpc_Req_WifiGetBandwidths as
29163                ::micropb::MessageEncode > ::MAX_SIZE, | size |
29164                ::micropb::size::sizeof_len_record(size)), | size | size + 2usize
29165            ) {
29166                if size > max_size {
29167                    max_size = size;
29168                }
29169            } else {
29170                break 'oneof (::core::option::Option::<usize>::None);
29171            }
29172            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29173                ::micropb::const_map!(< Rpc_Req_WifiSetBand as ::micropb::MessageEncode >
29174                ::MAX_SIZE, | size | ::micropb::size::sizeof_len_record(size)), | size |
29175                size + 2usize
29176            ) {
29177                if size > max_size {
29178                    max_size = size;
29179                }
29180            } else {
29181                break 'oneof (::core::option::Option::<usize>::None);
29182            }
29183            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29184                ::micropb::const_map!(< Rpc_Req_WifiGetBand as ::micropb::MessageEncode >
29185                ::MAX_SIZE, | size | ::micropb::size::sizeof_len_record(size)), | size |
29186                size + 2usize
29187            ) {
29188                if size > max_size {
29189                    max_size = size;
29190                }
29191            } else {
29192                break 'oneof (::core::option::Option::<usize>::None);
29193            }
29194            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29195                ::micropb::const_map!(< Rpc_Req_WifiSetBandMode as
29196                ::micropb::MessageEncode > ::MAX_SIZE, | size |
29197                ::micropb::size::sizeof_len_record(size)), | size | size + 2usize
29198            ) {
29199                if size > max_size {
29200                    max_size = size;
29201                }
29202            } else {
29203                break 'oneof (::core::option::Option::<usize>::None);
29204            }
29205            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29206                ::micropb::const_map!(< Rpc_Req_WifiGetBandMode as
29207                ::micropb::MessageEncode > ::MAX_SIZE, | size |
29208                ::micropb::size::sizeof_len_record(size)), | size | size + 2usize
29209            ) {
29210                if size > max_size {
29211                    max_size = size;
29212                }
29213            } else {
29214                break 'oneof (::core::option::Option::<usize>::None);
29215            }
29216            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29217                ::micropb::const_map!(< Rpc_Req_GetCoprocessorFwVersion as
29218                ::micropb::MessageEncode > ::MAX_SIZE, | size |
29219                ::micropb::size::sizeof_len_record(size)), | size | size + 2usize
29220            ) {
29221                if size > max_size {
29222                    max_size = size;
29223                }
29224            } else {
29225                break 'oneof (::core::option::Option::<usize>::None);
29226            }
29227            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29228                ::micropb::const_map!(< Rpc_Req_WifiScanGetApRecord as
29229                ::micropb::MessageEncode > ::MAX_SIZE, | size |
29230                ::micropb::size::sizeof_len_record(size)), | size | size + 2usize
29231            ) {
29232                if size > max_size {
29233                    max_size = size;
29234                }
29235            } else {
29236                break 'oneof (::core::option::Option::<usize>::None);
29237            }
29238            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29239                ::micropb::const_map!(< Rpc_Resp_GetMacAddress as
29240                ::micropb::MessageEncode > ::MAX_SIZE, | size |
29241                ::micropb::size::sizeof_len_record(size)), | 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!(< Rpc_Resp_SetMacAddress as
29251                ::micropb::MessageEncode > ::MAX_SIZE, | size |
29252                ::micropb::size::sizeof_len_record(size)), | size | size + 2usize
29253            ) {
29254                if size > max_size {
29255                    max_size = size;
29256                }
29257            } else {
29258                break 'oneof (::core::option::Option::<usize>::None);
29259            }
29260            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29261                ::micropb::const_map!(< Rpc_Resp_GetMode as ::micropb::MessageEncode >
29262                ::MAX_SIZE, | size | ::micropb::size::sizeof_len_record(size)), | size |
29263                size + 2usize
29264            ) {
29265                if size > max_size {
29266                    max_size = size;
29267                }
29268            } else {
29269                break 'oneof (::core::option::Option::<usize>::None);
29270            }
29271            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29272                ::micropb::const_map!(< Rpc_Resp_SetMode as ::micropb::MessageEncode >
29273                ::MAX_SIZE, | size | ::micropb::size::sizeof_len_record(size)), | size |
29274                size + 2usize
29275            ) {
29276                if size > max_size {
29277                    max_size = size;
29278                }
29279            } else {
29280                break 'oneof (::core::option::Option::<usize>::None);
29281            }
29282            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29283                ::micropb::const_map!(< Rpc_Resp_SetPs as ::micropb::MessageEncode >
29284                ::MAX_SIZE, | size | ::micropb::size::sizeof_len_record(size)), | size |
29285                size + 2usize
29286            ) {
29287                if size > max_size {
29288                    max_size = size;
29289                }
29290            } else {
29291                break 'oneof (::core::option::Option::<usize>::None);
29292            }
29293            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29294                ::micropb::const_map!(< Rpc_Resp_GetPs as ::micropb::MessageEncode >
29295                ::MAX_SIZE, | size | ::micropb::size::sizeof_len_record(size)), | size |
29296                size + 2usize
29297            ) {
29298                if size > max_size {
29299                    max_size = size;
29300                }
29301            } else {
29302                break 'oneof (::core::option::Option::<usize>::None);
29303            }
29304            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29305                ::micropb::const_map!(< Rpc_Resp_OTABegin as ::micropb::MessageEncode >
29306                ::MAX_SIZE, | size | ::micropb::size::sizeof_len_record(size)), | size |
29307                size + 2usize
29308            ) {
29309                if size > max_size {
29310                    max_size = size;
29311                }
29312            } else {
29313                break 'oneof (::core::option::Option::<usize>::None);
29314            }
29315            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29316                ::micropb::const_map!(< Rpc_Resp_OTAWrite as ::micropb::MessageEncode >
29317                ::MAX_SIZE, | size | ::micropb::size::sizeof_len_record(size)), | size |
29318                size + 2usize
29319            ) {
29320                if size > max_size {
29321                    max_size = size;
29322                }
29323            } else {
29324                break 'oneof (::core::option::Option::<usize>::None);
29325            }
29326            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29327                ::micropb::const_map!(< Rpc_Resp_OTAEnd as ::micropb::MessageEncode >
29328                ::MAX_SIZE, | size | ::micropb::size::sizeof_len_record(size)), | size |
29329                size + 2usize
29330            ) {
29331                if size > max_size {
29332                    max_size = size;
29333                }
29334            } else {
29335                break 'oneof (::core::option::Option::<usize>::None);
29336            }
29337            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29338                ::micropb::const_map!(< Rpc_Resp_WifiSetMaxTxPower as
29339                ::micropb::MessageEncode > ::MAX_SIZE, | size |
29340                ::micropb::size::sizeof_len_record(size)), | size | size + 2usize
29341            ) {
29342                if size > max_size {
29343                    max_size = size;
29344                }
29345            } else {
29346                break 'oneof (::core::option::Option::<usize>::None);
29347            }
29348            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29349                ::micropb::const_map!(< Rpc_Resp_WifiGetMaxTxPower as
29350                ::micropb::MessageEncode > ::MAX_SIZE, | size |
29351                ::micropb::size::sizeof_len_record(size)), | size | size + 2usize
29352            ) {
29353                if size > max_size {
29354                    max_size = size;
29355                }
29356            } else {
29357                break 'oneof (::core::option::Option::<usize>::None);
29358            }
29359            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29360                ::micropb::const_map!(< Rpc_Resp_ConfigHeartbeat as
29361                ::micropb::MessageEncode > ::MAX_SIZE, | size |
29362                ::micropb::size::sizeof_len_record(size)), | size | size + 2usize
29363            ) {
29364                if size > max_size {
29365                    max_size = size;
29366                }
29367            } else {
29368                break 'oneof (::core::option::Option::<usize>::None);
29369            }
29370            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29371                ::micropb::const_map!(< Rpc_Resp_WifiInit as ::micropb::MessageEncode >
29372                ::MAX_SIZE, | size | ::micropb::size::sizeof_len_record(size)), | size |
29373                size + 2usize
29374            ) {
29375                if size > max_size {
29376                    max_size = size;
29377                }
29378            } else {
29379                break 'oneof (::core::option::Option::<usize>::None);
29380            }
29381            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29382                ::micropb::const_map!(< Rpc_Resp_WifiDeinit as ::micropb::MessageEncode >
29383                ::MAX_SIZE, | size | ::micropb::size::sizeof_len_record(size)), | size |
29384                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!(< Rpc_Resp_WifiStart as ::micropb::MessageEncode >
29394                ::MAX_SIZE, | size | ::micropb::size::sizeof_len_record(size)), | size |
29395                size + 2usize
29396            ) {
29397                if size > max_size {
29398                    max_size = size;
29399                }
29400            } else {
29401                break 'oneof (::core::option::Option::<usize>::None);
29402            }
29403            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29404                ::micropb::const_map!(< Rpc_Resp_WifiStop as ::micropb::MessageEncode >
29405                ::MAX_SIZE, | size | ::micropb::size::sizeof_len_record(size)), | size |
29406                size + 2usize
29407            ) {
29408                if size > max_size {
29409                    max_size = size;
29410                }
29411            } else {
29412                break 'oneof (::core::option::Option::<usize>::None);
29413            }
29414            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29415                ::micropb::const_map!(< Rpc_Resp_WifiConnect as ::micropb::MessageEncode
29416                > ::MAX_SIZE, | size | ::micropb::size::sizeof_len_record(size)), | size
29417                | size + 2usize
29418            ) {
29419                if size > max_size {
29420                    max_size = size;
29421                }
29422            } else {
29423                break 'oneof (::core::option::Option::<usize>::None);
29424            }
29425            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29426                ::micropb::const_map!(< Rpc_Resp_WifiDisconnect as
29427                ::micropb::MessageEncode > ::MAX_SIZE, | size |
29428                ::micropb::size::sizeof_len_record(size)), | size | size + 2usize
29429            ) {
29430                if size > max_size {
29431                    max_size = size;
29432                }
29433            } else {
29434                break 'oneof (::core::option::Option::<usize>::None);
29435            }
29436            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29437                ::micropb::const_map!(< Rpc_Resp_WifiSetConfig as
29438                ::micropb::MessageEncode > ::MAX_SIZE, | size |
29439                ::micropb::size::sizeof_len_record(size)), | size | size + 2usize
29440            ) {
29441                if size > max_size {
29442                    max_size = size;
29443                }
29444            } else {
29445                break 'oneof (::core::option::Option::<usize>::None);
29446            }
29447            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29448                ::micropb::const_map!(< Rpc_Resp_WifiGetConfig as
29449                ::micropb::MessageEncode > ::MAX_SIZE, | size |
29450                ::micropb::size::sizeof_len_record(size)), | size | size + 2usize
29451            ) {
29452                if size > max_size {
29453                    max_size = size;
29454                }
29455            } else {
29456                break 'oneof (::core::option::Option::<usize>::None);
29457            }
29458            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29459                ::micropb::const_map!(< Rpc_Resp_WifiScanStart as
29460                ::micropb::MessageEncode > ::MAX_SIZE, | size |
29461                ::micropb::size::sizeof_len_record(size)), | size | size + 2usize
29462            ) {
29463                if size > max_size {
29464                    max_size = size;
29465                }
29466            } else {
29467                break 'oneof (::core::option::Option::<usize>::None);
29468            }
29469            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29470                ::micropb::const_map!(< Rpc_Resp_WifiScanStop as ::micropb::MessageEncode
29471                > ::MAX_SIZE, | size | ::micropb::size::sizeof_len_record(size)), | size
29472                | size + 2usize
29473            ) {
29474                if size > max_size {
29475                    max_size = size;
29476                }
29477            } else {
29478                break 'oneof (::core::option::Option::<usize>::None);
29479            }
29480            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29481                ::micropb::const_map!(< Rpc_Resp_WifiScanGetApNum as
29482                ::micropb::MessageEncode > ::MAX_SIZE, | size |
29483                ::micropb::size::sizeof_len_record(size)), | size | size + 2usize
29484            ) {
29485                if size > max_size {
29486                    max_size = size;
29487                }
29488            } else {
29489                break 'oneof (::core::option::Option::<usize>::None);
29490            }
29491            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29492                ::micropb::const_map!(< Rpc_Resp_WifiScanGetApRecords as
29493                ::micropb::MessageEncode > ::MAX_SIZE, | size |
29494                ::micropb::size::sizeof_len_record(size)), | size | size + 2usize
29495            ) {
29496                if size > max_size {
29497                    max_size = size;
29498                }
29499            } else {
29500                break 'oneof (::core::option::Option::<usize>::None);
29501            }
29502            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29503                ::micropb::const_map!(< Rpc_Resp_WifiClearApList as
29504                ::micropb::MessageEncode > ::MAX_SIZE, | size |
29505                ::micropb::size::sizeof_len_record(size)), | size | size + 2usize
29506            ) {
29507                if size > max_size {
29508                    max_size = size;
29509                }
29510            } else {
29511                break 'oneof (::core::option::Option::<usize>::None);
29512            }
29513            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29514                ::micropb::const_map!(< Rpc_Resp_WifiRestore as ::micropb::MessageEncode
29515                > ::MAX_SIZE, | size | ::micropb::size::sizeof_len_record(size)), | size
29516                | size + 2usize
29517            ) {
29518                if size > max_size {
29519                    max_size = size;
29520                }
29521            } else {
29522                break 'oneof (::core::option::Option::<usize>::None);
29523            }
29524            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29525                ::micropb::const_map!(< Rpc_Resp_WifiClearFastConnect as
29526                ::micropb::MessageEncode > ::MAX_SIZE, | size |
29527                ::micropb::size::sizeof_len_record(size)), | 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!(< Rpc_Resp_WifiDeauthSta as
29537                ::micropb::MessageEncode > ::MAX_SIZE, | size |
29538                ::micropb::size::sizeof_len_record(size)), | size | size + 2usize
29539            ) {
29540                if size > max_size {
29541                    max_size = size;
29542                }
29543            } else {
29544                break 'oneof (::core::option::Option::<usize>::None);
29545            }
29546            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29547                ::micropb::const_map!(< Rpc_Resp_WifiStaGetApInfo as
29548                ::micropb::MessageEncode > ::MAX_SIZE, | size |
29549                ::micropb::size::sizeof_len_record(size)), | size | size + 2usize
29550            ) {
29551                if size > max_size {
29552                    max_size = size;
29553                }
29554            } else {
29555                break 'oneof (::core::option::Option::<usize>::None);
29556            }
29557            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29558                ::micropb::const_map!(< Rpc_Resp_WifiSetProtocol as
29559                ::micropb::MessageEncode > ::MAX_SIZE, | size |
29560                ::micropb::size::sizeof_len_record(size)), | size | size + 2usize
29561            ) {
29562                if size > max_size {
29563                    max_size = size;
29564                }
29565            } else {
29566                break 'oneof (::core::option::Option::<usize>::None);
29567            }
29568            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29569                ::micropb::const_map!(< Rpc_Resp_WifiGetProtocol as
29570                ::micropb::MessageEncode > ::MAX_SIZE, | size |
29571                ::micropb::size::sizeof_len_record(size)), | size | size + 2usize
29572            ) {
29573                if size > max_size {
29574                    max_size = size;
29575                }
29576            } else {
29577                break 'oneof (::core::option::Option::<usize>::None);
29578            }
29579            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29580                ::micropb::const_map!(< Rpc_Resp_WifiSetBandwidth as
29581                ::micropb::MessageEncode > ::MAX_SIZE, | size |
29582                ::micropb::size::sizeof_len_record(size)), | size | size + 2usize
29583            ) {
29584                if size > max_size {
29585                    max_size = size;
29586                }
29587            } else {
29588                break 'oneof (::core::option::Option::<usize>::None);
29589            }
29590            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29591                ::micropb::const_map!(< Rpc_Resp_WifiGetBandwidth as
29592                ::micropb::MessageEncode > ::MAX_SIZE, | size |
29593                ::micropb::size::sizeof_len_record(size)), | size | size + 2usize
29594            ) {
29595                if size > max_size {
29596                    max_size = size;
29597                }
29598            } else {
29599                break 'oneof (::core::option::Option::<usize>::None);
29600            }
29601            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29602                ::micropb::const_map!(< Rpc_Resp_WifiSetChannel as
29603                ::micropb::MessageEncode > ::MAX_SIZE, | size |
29604                ::micropb::size::sizeof_len_record(size)), | size | size + 2usize
29605            ) {
29606                if size > max_size {
29607                    max_size = size;
29608                }
29609            } else {
29610                break 'oneof (::core::option::Option::<usize>::None);
29611            }
29612            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29613                ::micropb::const_map!(< Rpc_Resp_WifiGetChannel as
29614                ::micropb::MessageEncode > ::MAX_SIZE, | size |
29615                ::micropb::size::sizeof_len_record(size)), | size | size + 2usize
29616            ) {
29617                if size > max_size {
29618                    max_size = size;
29619                }
29620            } else {
29621                break 'oneof (::core::option::Option::<usize>::None);
29622            }
29623            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29624                ::micropb::const_map!(< Rpc_Resp_WifiSetCountry as
29625                ::micropb::MessageEncode > ::MAX_SIZE, | size |
29626                ::micropb::size::sizeof_len_record(size)), | size | size + 2usize
29627            ) {
29628                if size > max_size {
29629                    max_size = size;
29630                }
29631            } else {
29632                break 'oneof (::core::option::Option::<usize>::None);
29633            }
29634            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29635                ::micropb::const_map!(< Rpc_Resp_WifiGetCountry as
29636                ::micropb::MessageEncode > ::MAX_SIZE, | size |
29637                ::micropb::size::sizeof_len_record(size)), | size | size + 2usize
29638            ) {
29639                if size > max_size {
29640                    max_size = size;
29641                }
29642            } else {
29643                break 'oneof (::core::option::Option::<usize>::None);
29644            }
29645            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29646                ::micropb::const_map!(< Rpc_Resp_WifiApGetStaList as
29647                ::micropb::MessageEncode > ::MAX_SIZE, | size |
29648                ::micropb::size::sizeof_len_record(size)), | size | size + 2usize
29649            ) {
29650                if size > max_size {
29651                    max_size = size;
29652                }
29653            } else {
29654                break 'oneof (::core::option::Option::<usize>::None);
29655            }
29656            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29657                ::micropb::const_map!(< Rpc_Resp_WifiApGetStaAid as
29658                ::micropb::MessageEncode > ::MAX_SIZE, | size |
29659                ::micropb::size::sizeof_len_record(size)), | size | size + 2usize
29660            ) {
29661                if size > max_size {
29662                    max_size = size;
29663                }
29664            } else {
29665                break 'oneof (::core::option::Option::<usize>::None);
29666            }
29667            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29668                ::micropb::const_map!(< Rpc_Resp_WifiSetStorage as
29669                ::micropb::MessageEncode > ::MAX_SIZE, | size |
29670                ::micropb::size::sizeof_len_record(size)), | 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!(< Rpc_Resp_WifiSetCountryCode as
29680                ::micropb::MessageEncode > ::MAX_SIZE, | size |
29681                ::micropb::size::sizeof_len_record(size)), | size | size + 2usize
29682            ) {
29683                if size > max_size {
29684                    max_size = size;
29685                }
29686            } else {
29687                break 'oneof (::core::option::Option::<usize>::None);
29688            }
29689            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29690                ::micropb::const_map!(< Rpc_Resp_WifiGetCountryCode as
29691                ::micropb::MessageEncode > ::MAX_SIZE, | size |
29692                ::micropb::size::sizeof_len_record(size)), | size | size + 2usize
29693            ) {
29694                if size > max_size {
29695                    max_size = size;
29696                }
29697            } else {
29698                break 'oneof (::core::option::Option::<usize>::None);
29699            }
29700            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29701                ::micropb::const_map!(< Rpc_Resp_WifiStaGetAid as
29702                ::micropb::MessageEncode > ::MAX_SIZE, | size |
29703                ::micropb::size::sizeof_len_record(size)), | size | size + 2usize
29704            ) {
29705                if size > max_size {
29706                    max_size = size;
29707                }
29708            } else {
29709                break 'oneof (::core::option::Option::<usize>::None);
29710            }
29711            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29712                ::micropb::const_map!(< Rpc_Resp_WifiStaGetNegotiatedPhymode as
29713                ::micropb::MessageEncode > ::MAX_SIZE, | size |
29714                ::micropb::size::sizeof_len_record(size)), | size | size + 2usize
29715            ) {
29716                if size > max_size {
29717                    max_size = size;
29718                }
29719            } else {
29720                break 'oneof (::core::option::Option::<usize>::None);
29721            }
29722            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29723                ::micropb::const_map!(< Rpc_Resp_WifiStaGetRssi as
29724                ::micropb::MessageEncode > ::MAX_SIZE, | size |
29725                ::micropb::size::sizeof_len_record(size)), | size | size + 2usize
29726            ) {
29727                if size > max_size {
29728                    max_size = size;
29729                }
29730            } else {
29731                break 'oneof (::core::option::Option::<usize>::None);
29732            }
29733            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29734                ::micropb::const_map!(< Rpc_Resp_WifiSetProtocols as
29735                ::micropb::MessageEncode > ::MAX_SIZE, | size |
29736                ::micropb::size::sizeof_len_record(size)), | size | size + 2usize
29737            ) {
29738                if size > max_size {
29739                    max_size = size;
29740                }
29741            } else {
29742                break 'oneof (::core::option::Option::<usize>::None);
29743            }
29744            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29745                ::micropb::const_map!(< Rpc_Resp_WifiGetProtocols as
29746                ::micropb::MessageEncode > ::MAX_SIZE, | size |
29747                ::micropb::size::sizeof_len_record(size)), | size | size + 2usize
29748            ) {
29749                if size > max_size {
29750                    max_size = size;
29751                }
29752            } else {
29753                break 'oneof (::core::option::Option::<usize>::None);
29754            }
29755            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29756                ::micropb::const_map!(< Rpc_Resp_WifiSetBandwidths as
29757                ::micropb::MessageEncode > ::MAX_SIZE, | size |
29758                ::micropb::size::sizeof_len_record(size)), | size | size + 2usize
29759            ) {
29760                if size > max_size {
29761                    max_size = size;
29762                }
29763            } else {
29764                break 'oneof (::core::option::Option::<usize>::None);
29765            }
29766            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29767                ::micropb::const_map!(< Rpc_Resp_WifiGetBandwidths as
29768                ::micropb::MessageEncode > ::MAX_SIZE, | size |
29769                ::micropb::size::sizeof_len_record(size)), | size | size + 2usize
29770            ) {
29771                if size > max_size {
29772                    max_size = size;
29773                }
29774            } else {
29775                break 'oneof (::core::option::Option::<usize>::None);
29776            }
29777            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29778                ::micropb::const_map!(< Rpc_Resp_WifiSetBand as ::micropb::MessageEncode
29779                > ::MAX_SIZE, | size | ::micropb::size::sizeof_len_record(size)), | size
29780                | size + 2usize
29781            ) {
29782                if size > max_size {
29783                    max_size = size;
29784                }
29785            } else {
29786                break 'oneof (::core::option::Option::<usize>::None);
29787            }
29788            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29789                ::micropb::const_map!(< Rpc_Resp_WifiGetBand as ::micropb::MessageEncode
29790                > ::MAX_SIZE, | size | ::micropb::size::sizeof_len_record(size)), | size
29791                | size + 2usize
29792            ) {
29793                if size > max_size {
29794                    max_size = size;
29795                }
29796            } else {
29797                break 'oneof (::core::option::Option::<usize>::None);
29798            }
29799            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29800                ::micropb::const_map!(< Rpc_Resp_WifiSetBandMode as
29801                ::micropb::MessageEncode > ::MAX_SIZE, | size |
29802                ::micropb::size::sizeof_len_record(size)), | size | size + 2usize
29803            ) {
29804                if size > max_size {
29805                    max_size = size;
29806                }
29807            } else {
29808                break 'oneof (::core::option::Option::<usize>::None);
29809            }
29810            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29811                ::micropb::const_map!(< Rpc_Resp_WifiGetBandMode as
29812                ::micropb::MessageEncode > ::MAX_SIZE, | size |
29813                ::micropb::size::sizeof_len_record(size)), | size | size + 2usize
29814            ) {
29815                if size > max_size {
29816                    max_size = size;
29817                }
29818            } else {
29819                break 'oneof (::core::option::Option::<usize>::None);
29820            }
29821            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29822                ::micropb::const_map!(< Rpc_Resp_GetCoprocessorFwVersion as
29823                ::micropb::MessageEncode > ::MAX_SIZE, | size |
29824                ::micropb::size::sizeof_len_record(size)), | size | size + 2usize
29825            ) {
29826                if size > max_size {
29827                    max_size = size;
29828                }
29829            } else {
29830                break 'oneof (::core::option::Option::<usize>::None);
29831            }
29832            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29833                ::micropb::const_map!(< Rpc_Resp_WifiScanGetApRecord as
29834                ::micropb::MessageEncode > ::MAX_SIZE, | size |
29835                ::micropb::size::sizeof_len_record(size)), | size | size + 2usize
29836            ) {
29837                if size > max_size {
29838                    max_size = size;
29839                }
29840            } else {
29841                break 'oneof (::core::option::Option::<usize>::None);
29842            }
29843            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29844                ::micropb::const_map!(< Rpc_Event_ESPInit as ::micropb::MessageEncode >
29845                ::MAX_SIZE, | size | ::micropb::size::sizeof_len_record(size)), | size |
29846                size + 2usize
29847            ) {
29848                if size > max_size {
29849                    max_size = size;
29850                }
29851            } else {
29852                break 'oneof (::core::option::Option::<usize>::None);
29853            }
29854            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29855                ::micropb::const_map!(< Rpc_Event_Heartbeat as ::micropb::MessageEncode >
29856                ::MAX_SIZE, | size | ::micropb::size::sizeof_len_record(size)), | size |
29857                size + 2usize
29858            ) {
29859                if size > max_size {
29860                    max_size = size;
29861                }
29862            } else {
29863                break 'oneof (::core::option::Option::<usize>::None);
29864            }
29865            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29866                ::micropb::const_map!(< Rpc_Event_AP_StaConnected as
29867                ::micropb::MessageEncode > ::MAX_SIZE, | size |
29868                ::micropb::size::sizeof_len_record(size)), | size | size + 2usize
29869            ) {
29870                if size > max_size {
29871                    max_size = size;
29872                }
29873            } else {
29874                break 'oneof (::core::option::Option::<usize>::None);
29875            }
29876            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29877                ::micropb::const_map!(< Rpc_Event_AP_StaDisconnected as
29878                ::micropb::MessageEncode > ::MAX_SIZE, | size |
29879                ::micropb::size::sizeof_len_record(size)), | size | size + 2usize
29880            ) {
29881                if size > max_size {
29882                    max_size = size;
29883                }
29884            } else {
29885                break 'oneof (::core::option::Option::<usize>::None);
29886            }
29887            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29888                ::micropb::const_map!(< Rpc_Event_WifiEventNoArgs as
29889                ::micropb::MessageEncode > ::MAX_SIZE, | size |
29890                ::micropb::size::sizeof_len_record(size)), | size | size + 2usize
29891            ) {
29892                if size > max_size {
29893                    max_size = size;
29894                }
29895            } else {
29896                break 'oneof (::core::option::Option::<usize>::None);
29897            }
29898            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29899                ::micropb::const_map!(< Rpc_Event_StaScanDone as ::micropb::MessageEncode
29900                > ::MAX_SIZE, | size | ::micropb::size::sizeof_len_record(size)), | size
29901                | size + 2usize
29902            ) {
29903                if size > max_size {
29904                    max_size = size;
29905                }
29906            } else {
29907                break 'oneof (::core::option::Option::<usize>::None);
29908            }
29909            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29910                ::micropb::const_map!(< Rpc_Event_StaConnected as
29911                ::micropb::MessageEncode > ::MAX_SIZE, | size |
29912                ::micropb::size::sizeof_len_record(size)), | size | size + 2usize
29913            ) {
29914                if size > max_size {
29915                    max_size = size;
29916                }
29917            } else {
29918                break 'oneof (::core::option::Option::<usize>::None);
29919            }
29920            if let ::core::option::Option::Some(size) = ::micropb::const_map!(
29921                ::micropb::const_map!(< Rpc_Event_StaDisconnected as
29922                ::micropb::MessageEncode > ::MAX_SIZE, | size |
29923                ::micropb::size::sizeof_len_record(size)), | size | size + 2usize
29924            ) {
29925                if size > max_size {
29926                    max_size = size;
29927                }
29928            } else {
29929                break 'oneof (::core::option::Option::<usize>::None);
29930            }
29931            ::core::option::Option::Some(max_size)
29932        } {
29933            max_size += size;
29934        } else {
29935            break 'msg (::core::option::Option::<usize>::None);
29936        };
29937        ::core::option::Option::Some(max_size)
29938    };
29939    fn encode<IMPL_MICROPB_WRITE: ::micropb::PbWrite>(
29940        &self,
29941        encoder: &mut ::micropb::PbEncoder<IMPL_MICROPB_WRITE>,
29942    ) -> Result<(), IMPL_MICROPB_WRITE::Error> {
29943        use ::micropb::{PbMap, FieldEncode};
29944        {
29945            let val_ref = &self.r#msg_type;
29946            if val_ref.0 != 0 {
29947                encoder.encode_varint32(8u32)?;
29948                encoder.encode_int32(val_ref.0 as _)?;
29949            }
29950        }
29951        {
29952            let val_ref = &self.r#msg_id;
29953            if val_ref.0 != 0 {
29954                encoder.encode_varint32(16u32)?;
29955                encoder.encode_int32(val_ref.0 as _)?;
29956            }
29957        }
29958        {
29959            let val_ref = &self.r#uid;
29960            if *val_ref != 0 {
29961                encoder.encode_varint32(24u32)?;
29962                encoder.encode_varint32(*val_ref as _)?;
29963            }
29964        }
29965        if let Some(oneof) = &self.r#payload {
29966            match &*oneof {
29967                Rpc_::Payload::ReqGetMacAddress(val_ref) => {
29968                    let val_ref = &*val_ref;
29969                    encoder.encode_varint32(2058u32)?;
29970                    val_ref.encode_len_delimited(encoder)?;
29971                }
29972                Rpc_::Payload::ReqSetMacAddress(val_ref) => {
29973                    let val_ref = &*val_ref;
29974                    encoder.encode_varint32(2066u32)?;
29975                    val_ref.encode_len_delimited(encoder)?;
29976                }
29977                Rpc_::Payload::ReqGetWifiMode(val_ref) => {
29978                    let val_ref = &*val_ref;
29979                    encoder.encode_varint32(2074u32)?;
29980                    val_ref.encode_len_delimited(encoder)?;
29981                }
29982                Rpc_::Payload::ReqSetWifiMode(val_ref) => {
29983                    let val_ref = &*val_ref;
29984                    encoder.encode_varint32(2082u32)?;
29985                    val_ref.encode_len_delimited(encoder)?;
29986                }
29987                Rpc_::Payload::ReqWifiSetPs(val_ref) => {
29988                    let val_ref = &*val_ref;
29989                    encoder.encode_varint32(2162u32)?;
29990                    val_ref.encode_len_delimited(encoder)?;
29991                }
29992                Rpc_::Payload::ReqWifiGetPs(val_ref) => {
29993                    let val_ref = &*val_ref;
29994                    encoder.encode_varint32(2170u32)?;
29995                    val_ref.encode_len_delimited(encoder)?;
29996                }
29997                Rpc_::Payload::ReqOtaBegin(val_ref) => {
29998                    let val_ref = &*val_ref;
29999                    encoder.encode_varint32(2178u32)?;
30000                    val_ref.encode_len_delimited(encoder)?;
30001                }
30002                Rpc_::Payload::ReqOtaWrite(val_ref) => {
30003                    let val_ref = &*val_ref;
30004                    encoder.encode_varint32(2186u32)?;
30005                    val_ref.encode_len_delimited(encoder)?;
30006                }
30007                Rpc_::Payload::ReqOtaEnd(val_ref) => {
30008                    let val_ref = &*val_ref;
30009                    encoder.encode_varint32(2194u32)?;
30010                    val_ref.encode_len_delimited(encoder)?;
30011                }
30012                Rpc_::Payload::ReqSetWifiMaxTxPower(val_ref) => {
30013                    let val_ref = &*val_ref;
30014                    encoder.encode_varint32(2202u32)?;
30015                    val_ref.encode_len_delimited(encoder)?;
30016                }
30017                Rpc_::Payload::ReqGetWifiMaxTxPower(val_ref) => {
30018                    let val_ref = &*val_ref;
30019                    encoder.encode_varint32(2210u32)?;
30020                    val_ref.encode_len_delimited(encoder)?;
30021                }
30022                Rpc_::Payload::ReqConfigHeartbeat(val_ref) => {
30023                    let val_ref = &*val_ref;
30024                    encoder.encode_varint32(2218u32)?;
30025                    val_ref.encode_len_delimited(encoder)?;
30026                }
30027                Rpc_::Payload::ReqWifiInit(val_ref) => {
30028                    let val_ref = &*val_ref;
30029                    encoder.encode_varint32(2226u32)?;
30030                    val_ref.encode_len_delimited(encoder)?;
30031                }
30032                Rpc_::Payload::ReqWifiDeinit(val_ref) => {
30033                    let val_ref = &*val_ref;
30034                    encoder.encode_varint32(2234u32)?;
30035                    val_ref.encode_len_delimited(encoder)?;
30036                }
30037                Rpc_::Payload::ReqWifiStart(val_ref) => {
30038                    let val_ref = &*val_ref;
30039                    encoder.encode_varint32(2242u32)?;
30040                    val_ref.encode_len_delimited(encoder)?;
30041                }
30042                Rpc_::Payload::ReqWifiStop(val_ref) => {
30043                    let val_ref = &*val_ref;
30044                    encoder.encode_varint32(2250u32)?;
30045                    val_ref.encode_len_delimited(encoder)?;
30046                }
30047                Rpc_::Payload::ReqWifiConnect(val_ref) => {
30048                    let val_ref = &*val_ref;
30049                    encoder.encode_varint32(2258u32)?;
30050                    val_ref.encode_len_delimited(encoder)?;
30051                }
30052                Rpc_::Payload::ReqWifiDisconnect(val_ref) => {
30053                    let val_ref = &*val_ref;
30054                    encoder.encode_varint32(2266u32)?;
30055                    val_ref.encode_len_delimited(encoder)?;
30056                }
30057                Rpc_::Payload::ReqWifiSetConfig(val_ref) => {
30058                    let val_ref = &*val_ref;
30059                    encoder.encode_varint32(2274u32)?;
30060                    val_ref.encode_len_delimited(encoder)?;
30061                }
30062                Rpc_::Payload::ReqWifiGetConfig(val_ref) => {
30063                    let val_ref = &*val_ref;
30064                    encoder.encode_varint32(2282u32)?;
30065                    val_ref.encode_len_delimited(encoder)?;
30066                }
30067                Rpc_::Payload::ReqWifiScanStart(val_ref) => {
30068                    let val_ref = &*val_ref;
30069                    encoder.encode_varint32(2290u32)?;
30070                    val_ref.encode_len_delimited(encoder)?;
30071                }
30072                Rpc_::Payload::ReqWifiScanStop(val_ref) => {
30073                    let val_ref = &*val_ref;
30074                    encoder.encode_varint32(2298u32)?;
30075                    val_ref.encode_len_delimited(encoder)?;
30076                }
30077                Rpc_::Payload::ReqWifiScanGetApNum(val_ref) => {
30078                    let val_ref = &*val_ref;
30079                    encoder.encode_varint32(2306u32)?;
30080                    val_ref.encode_len_delimited(encoder)?;
30081                }
30082                Rpc_::Payload::ReqWifiScanGetApRecords(val_ref) => {
30083                    let val_ref = &*val_ref;
30084                    encoder.encode_varint32(2314u32)?;
30085                    val_ref.encode_len_delimited(encoder)?;
30086                }
30087                Rpc_::Payload::ReqWifiClearApList(val_ref) => {
30088                    let val_ref = &*val_ref;
30089                    encoder.encode_varint32(2322u32)?;
30090                    val_ref.encode_len_delimited(encoder)?;
30091                }
30092                Rpc_::Payload::ReqWifiRestore(val_ref) => {
30093                    let val_ref = &*val_ref;
30094                    encoder.encode_varint32(2330u32)?;
30095                    val_ref.encode_len_delimited(encoder)?;
30096                }
30097                Rpc_::Payload::ReqWifiClearFastConnect(val_ref) => {
30098                    let val_ref = &*val_ref;
30099                    encoder.encode_varint32(2338u32)?;
30100                    val_ref.encode_len_delimited(encoder)?;
30101                }
30102                Rpc_::Payload::ReqWifiDeauthSta(val_ref) => {
30103                    let val_ref = &*val_ref;
30104                    encoder.encode_varint32(2346u32)?;
30105                    val_ref.encode_len_delimited(encoder)?;
30106                }
30107                Rpc_::Payload::ReqWifiStaGetApInfo(val_ref) => {
30108                    let val_ref = &*val_ref;
30109                    encoder.encode_varint32(2354u32)?;
30110                    val_ref.encode_len_delimited(encoder)?;
30111                }
30112                Rpc_::Payload::ReqWifiSetProtocol(val_ref) => {
30113                    let val_ref = &*val_ref;
30114                    encoder.encode_varint32(2378u32)?;
30115                    val_ref.encode_len_delimited(encoder)?;
30116                }
30117                Rpc_::Payload::ReqWifiGetProtocol(val_ref) => {
30118                    let val_ref = &*val_ref;
30119                    encoder.encode_varint32(2386u32)?;
30120                    val_ref.encode_len_delimited(encoder)?;
30121                }
30122                Rpc_::Payload::ReqWifiSetBandwidth(val_ref) => {
30123                    let val_ref = &*val_ref;
30124                    encoder.encode_varint32(2394u32)?;
30125                    val_ref.encode_len_delimited(encoder)?;
30126                }
30127                Rpc_::Payload::ReqWifiGetBandwidth(val_ref) => {
30128                    let val_ref = &*val_ref;
30129                    encoder.encode_varint32(2402u32)?;
30130                    val_ref.encode_len_delimited(encoder)?;
30131                }
30132                Rpc_::Payload::ReqWifiSetChannel(val_ref) => {
30133                    let val_ref = &*val_ref;
30134                    encoder.encode_varint32(2410u32)?;
30135                    val_ref.encode_len_delimited(encoder)?;
30136                }
30137                Rpc_::Payload::ReqWifiGetChannel(val_ref) => {
30138                    let val_ref = &*val_ref;
30139                    encoder.encode_varint32(2418u32)?;
30140                    val_ref.encode_len_delimited(encoder)?;
30141                }
30142                Rpc_::Payload::ReqWifiSetCountry(val_ref) => {
30143                    let val_ref = &*val_ref;
30144                    encoder.encode_varint32(2426u32)?;
30145                    val_ref.encode_len_delimited(encoder)?;
30146                }
30147                Rpc_::Payload::ReqWifiGetCountry(val_ref) => {
30148                    let val_ref = &*val_ref;
30149                    encoder.encode_varint32(2434u32)?;
30150                    val_ref.encode_len_delimited(encoder)?;
30151                }
30152                Rpc_::Payload::ReqWifiApGetStaList(val_ref) => {
30153                    let val_ref = &*val_ref;
30154                    encoder.encode_varint32(2490u32)?;
30155                    val_ref.encode_len_delimited(encoder)?;
30156                }
30157                Rpc_::Payload::ReqWifiApGetStaAid(val_ref) => {
30158                    let val_ref = &*val_ref;
30159                    encoder.encode_varint32(2498u32)?;
30160                    val_ref.encode_len_delimited(encoder)?;
30161                }
30162                Rpc_::Payload::ReqWifiSetStorage(val_ref) => {
30163                    let val_ref = &*val_ref;
30164                    encoder.encode_varint32(2506u32)?;
30165                    val_ref.encode_len_delimited(encoder)?;
30166                }
30167                Rpc_::Payload::ReqWifiSetCountryCode(val_ref) => {
30168                    let val_ref = &*val_ref;
30169                    encoder.encode_varint32(2674u32)?;
30170                    val_ref.encode_len_delimited(encoder)?;
30171                }
30172                Rpc_::Payload::ReqWifiGetCountryCode(val_ref) => {
30173                    let val_ref = &*val_ref;
30174                    encoder.encode_varint32(2682u32)?;
30175                    val_ref.encode_len_delimited(encoder)?;
30176                }
30177                Rpc_::Payload::ReqWifiStaGetAid(val_ref) => {
30178                    let val_ref = &*val_ref;
30179                    encoder.encode_varint32(2706u32)?;
30180                    val_ref.encode_len_delimited(encoder)?;
30181                }
30182                Rpc_::Payload::ReqWifiStaGetNegotiatedPhymode(val_ref) => {
30183                    let val_ref = &*val_ref;
30184                    encoder.encode_varint32(2714u32)?;
30185                    val_ref.encode_len_delimited(encoder)?;
30186                }
30187                Rpc_::Payload::ReqWifiStaGetRssi(val_ref) => {
30188                    let val_ref = &*val_ref;
30189                    encoder.encode_varint32(2730u32)?;
30190                    val_ref.encode_len_delimited(encoder)?;
30191                }
30192                Rpc_::Payload::ReqWifiSetProtocols(val_ref) => {
30193                    let val_ref = &*val_ref;
30194                    encoder.encode_varint32(2738u32)?;
30195                    val_ref.encode_len_delimited(encoder)?;
30196                }
30197                Rpc_::Payload::ReqWifiGetProtocols(val_ref) => {
30198                    let val_ref = &*val_ref;
30199                    encoder.encode_varint32(2746u32)?;
30200                    val_ref.encode_len_delimited(encoder)?;
30201                }
30202                Rpc_::Payload::ReqWifiSetBandwidths(val_ref) => {
30203                    let val_ref = &*val_ref;
30204                    encoder.encode_varint32(2754u32)?;
30205                    val_ref.encode_len_delimited(encoder)?;
30206                }
30207                Rpc_::Payload::ReqWifiGetBandwidths(val_ref) => {
30208                    let val_ref = &*val_ref;
30209                    encoder.encode_varint32(2762u32)?;
30210                    val_ref.encode_len_delimited(encoder)?;
30211                }
30212                Rpc_::Payload::ReqWifiSetBand(val_ref) => {
30213                    let val_ref = &*val_ref;
30214                    encoder.encode_varint32(2770u32)?;
30215                    val_ref.encode_len_delimited(encoder)?;
30216                }
30217                Rpc_::Payload::ReqWifiGetBand(val_ref) => {
30218                    let val_ref = &*val_ref;
30219                    encoder.encode_varint32(2778u32)?;
30220                    val_ref.encode_len_delimited(encoder)?;
30221                }
30222                Rpc_::Payload::ReqWifiSetBandmode(val_ref) => {
30223                    let val_ref = &*val_ref;
30224                    encoder.encode_varint32(2786u32)?;
30225                    val_ref.encode_len_delimited(encoder)?;
30226                }
30227                Rpc_::Payload::ReqWifiGetBandmode(val_ref) => {
30228                    let val_ref = &*val_ref;
30229                    encoder.encode_varint32(2794u32)?;
30230                    val_ref.encode_len_delimited(encoder)?;
30231                }
30232                Rpc_::Payload::ReqGetCoprocessorFwversion(val_ref) => {
30233                    let val_ref = &*val_ref;
30234                    encoder.encode_varint32(2802u32)?;
30235                    val_ref.encode_len_delimited(encoder)?;
30236                }
30237                Rpc_::Payload::ReqWifiScanGetApRecord(val_ref) => {
30238                    let val_ref = &*val_ref;
30239                    encoder.encode_varint32(2810u32)?;
30240                    val_ref.encode_len_delimited(encoder)?;
30241                }
30242                Rpc_::Payload::RespGetMacAddress(val_ref) => {
30243                    let val_ref = &*val_ref;
30244                    encoder.encode_varint32(4106u32)?;
30245                    val_ref.encode_len_delimited(encoder)?;
30246                }
30247                Rpc_::Payload::RespSetMacAddress(val_ref) => {
30248                    let val_ref = &*val_ref;
30249                    encoder.encode_varint32(4114u32)?;
30250                    val_ref.encode_len_delimited(encoder)?;
30251                }
30252                Rpc_::Payload::RespGetWifiMode(val_ref) => {
30253                    let val_ref = &*val_ref;
30254                    encoder.encode_varint32(4122u32)?;
30255                    val_ref.encode_len_delimited(encoder)?;
30256                }
30257                Rpc_::Payload::RespSetWifiMode(val_ref) => {
30258                    let val_ref = &*val_ref;
30259                    encoder.encode_varint32(4130u32)?;
30260                    val_ref.encode_len_delimited(encoder)?;
30261                }
30262                Rpc_::Payload::RespWifiSetPs(val_ref) => {
30263                    let val_ref = &*val_ref;
30264                    encoder.encode_varint32(4210u32)?;
30265                    val_ref.encode_len_delimited(encoder)?;
30266                }
30267                Rpc_::Payload::RespWifiGetPs(val_ref) => {
30268                    let val_ref = &*val_ref;
30269                    encoder.encode_varint32(4218u32)?;
30270                    val_ref.encode_len_delimited(encoder)?;
30271                }
30272                Rpc_::Payload::RespOtaBegin(val_ref) => {
30273                    let val_ref = &*val_ref;
30274                    encoder.encode_varint32(4226u32)?;
30275                    val_ref.encode_len_delimited(encoder)?;
30276                }
30277                Rpc_::Payload::RespOtaWrite(val_ref) => {
30278                    let val_ref = &*val_ref;
30279                    encoder.encode_varint32(4234u32)?;
30280                    val_ref.encode_len_delimited(encoder)?;
30281                }
30282                Rpc_::Payload::RespOtaEnd(val_ref) => {
30283                    let val_ref = &*val_ref;
30284                    encoder.encode_varint32(4242u32)?;
30285                    val_ref.encode_len_delimited(encoder)?;
30286                }
30287                Rpc_::Payload::RespSetWifiMaxTxPower(val_ref) => {
30288                    let val_ref = &*val_ref;
30289                    encoder.encode_varint32(4250u32)?;
30290                    val_ref.encode_len_delimited(encoder)?;
30291                }
30292                Rpc_::Payload::RespGetWifiMaxTxPower(val_ref) => {
30293                    let val_ref = &*val_ref;
30294                    encoder.encode_varint32(4258u32)?;
30295                    val_ref.encode_len_delimited(encoder)?;
30296                }
30297                Rpc_::Payload::RespConfigHeartbeat(val_ref) => {
30298                    let val_ref = &*val_ref;
30299                    encoder.encode_varint32(4266u32)?;
30300                    val_ref.encode_len_delimited(encoder)?;
30301                }
30302                Rpc_::Payload::RespWifiInit(val_ref) => {
30303                    let val_ref = &*val_ref;
30304                    encoder.encode_varint32(4274u32)?;
30305                    val_ref.encode_len_delimited(encoder)?;
30306                }
30307                Rpc_::Payload::RespWifiDeinit(val_ref) => {
30308                    let val_ref = &*val_ref;
30309                    encoder.encode_varint32(4282u32)?;
30310                    val_ref.encode_len_delimited(encoder)?;
30311                }
30312                Rpc_::Payload::RespWifiStart(val_ref) => {
30313                    let val_ref = &*val_ref;
30314                    encoder.encode_varint32(4290u32)?;
30315                    val_ref.encode_len_delimited(encoder)?;
30316                }
30317                Rpc_::Payload::RespWifiStop(val_ref) => {
30318                    let val_ref = &*val_ref;
30319                    encoder.encode_varint32(4298u32)?;
30320                    val_ref.encode_len_delimited(encoder)?;
30321                }
30322                Rpc_::Payload::RespWifiConnect(val_ref) => {
30323                    let val_ref = &*val_ref;
30324                    encoder.encode_varint32(4306u32)?;
30325                    val_ref.encode_len_delimited(encoder)?;
30326                }
30327                Rpc_::Payload::RespWifiDisconnect(val_ref) => {
30328                    let val_ref = &*val_ref;
30329                    encoder.encode_varint32(4314u32)?;
30330                    val_ref.encode_len_delimited(encoder)?;
30331                }
30332                Rpc_::Payload::RespWifiSetConfig(val_ref) => {
30333                    let val_ref = &*val_ref;
30334                    encoder.encode_varint32(4322u32)?;
30335                    val_ref.encode_len_delimited(encoder)?;
30336                }
30337                Rpc_::Payload::RespWifiGetConfig(val_ref) => {
30338                    let val_ref = &*val_ref;
30339                    encoder.encode_varint32(4330u32)?;
30340                    val_ref.encode_len_delimited(encoder)?;
30341                }
30342                Rpc_::Payload::RespWifiScanStart(val_ref) => {
30343                    let val_ref = &*val_ref;
30344                    encoder.encode_varint32(4338u32)?;
30345                    val_ref.encode_len_delimited(encoder)?;
30346                }
30347                Rpc_::Payload::RespWifiScanStop(val_ref) => {
30348                    let val_ref = &*val_ref;
30349                    encoder.encode_varint32(4346u32)?;
30350                    val_ref.encode_len_delimited(encoder)?;
30351                }
30352                Rpc_::Payload::RespWifiScanGetApNum(val_ref) => {
30353                    let val_ref = &*val_ref;
30354                    encoder.encode_varint32(4354u32)?;
30355                    val_ref.encode_len_delimited(encoder)?;
30356                }
30357                Rpc_::Payload::RespWifiScanGetApRecords(val_ref) => {
30358                    let val_ref = &*val_ref;
30359                    encoder.encode_varint32(4362u32)?;
30360                    val_ref.encode_len_delimited(encoder)?;
30361                }
30362                Rpc_::Payload::RespWifiClearApList(val_ref) => {
30363                    let val_ref = &*val_ref;
30364                    encoder.encode_varint32(4370u32)?;
30365                    val_ref.encode_len_delimited(encoder)?;
30366                }
30367                Rpc_::Payload::RespWifiRestore(val_ref) => {
30368                    let val_ref = &*val_ref;
30369                    encoder.encode_varint32(4378u32)?;
30370                    val_ref.encode_len_delimited(encoder)?;
30371                }
30372                Rpc_::Payload::RespWifiClearFastConnect(val_ref) => {
30373                    let val_ref = &*val_ref;
30374                    encoder.encode_varint32(4386u32)?;
30375                    val_ref.encode_len_delimited(encoder)?;
30376                }
30377                Rpc_::Payload::RespWifiDeauthSta(val_ref) => {
30378                    let val_ref = &*val_ref;
30379                    encoder.encode_varint32(4394u32)?;
30380                    val_ref.encode_len_delimited(encoder)?;
30381                }
30382                Rpc_::Payload::RespWifiStaGetApInfo(val_ref) => {
30383                    let val_ref = &*val_ref;
30384                    encoder.encode_varint32(4402u32)?;
30385                    val_ref.encode_len_delimited(encoder)?;
30386                }
30387                Rpc_::Payload::RespWifiSetProtocol(val_ref) => {
30388                    let val_ref = &*val_ref;
30389                    encoder.encode_varint32(4426u32)?;
30390                    val_ref.encode_len_delimited(encoder)?;
30391                }
30392                Rpc_::Payload::RespWifiGetProtocol(val_ref) => {
30393                    let val_ref = &*val_ref;
30394                    encoder.encode_varint32(4434u32)?;
30395                    val_ref.encode_len_delimited(encoder)?;
30396                }
30397                Rpc_::Payload::RespWifiSetBandwidth(val_ref) => {
30398                    let val_ref = &*val_ref;
30399                    encoder.encode_varint32(4442u32)?;
30400                    val_ref.encode_len_delimited(encoder)?;
30401                }
30402                Rpc_::Payload::RespWifiGetBandwidth(val_ref) => {
30403                    let val_ref = &*val_ref;
30404                    encoder.encode_varint32(4450u32)?;
30405                    val_ref.encode_len_delimited(encoder)?;
30406                }
30407                Rpc_::Payload::RespWifiSetChannel(val_ref) => {
30408                    let val_ref = &*val_ref;
30409                    encoder.encode_varint32(4458u32)?;
30410                    val_ref.encode_len_delimited(encoder)?;
30411                }
30412                Rpc_::Payload::RespWifiGetChannel(val_ref) => {
30413                    let val_ref = &*val_ref;
30414                    encoder.encode_varint32(4466u32)?;
30415                    val_ref.encode_len_delimited(encoder)?;
30416                }
30417                Rpc_::Payload::RespWifiSetCountry(val_ref) => {
30418                    let val_ref = &*val_ref;
30419                    encoder.encode_varint32(4474u32)?;
30420                    val_ref.encode_len_delimited(encoder)?;
30421                }
30422                Rpc_::Payload::RespWifiGetCountry(val_ref) => {
30423                    let val_ref = &*val_ref;
30424                    encoder.encode_varint32(4482u32)?;
30425                    val_ref.encode_len_delimited(encoder)?;
30426                }
30427                Rpc_::Payload::RespWifiApGetStaList(val_ref) => {
30428                    let val_ref = &*val_ref;
30429                    encoder.encode_varint32(4538u32)?;
30430                    val_ref.encode_len_delimited(encoder)?;
30431                }
30432                Rpc_::Payload::RespWifiApGetStaAid(val_ref) => {
30433                    let val_ref = &*val_ref;
30434                    encoder.encode_varint32(4546u32)?;
30435                    val_ref.encode_len_delimited(encoder)?;
30436                }
30437                Rpc_::Payload::RespWifiSetStorage(val_ref) => {
30438                    let val_ref = &*val_ref;
30439                    encoder.encode_varint32(4554u32)?;
30440                    val_ref.encode_len_delimited(encoder)?;
30441                }
30442                Rpc_::Payload::RespWifiSetCountryCode(val_ref) => {
30443                    let val_ref = &*val_ref;
30444                    encoder.encode_varint32(4722u32)?;
30445                    val_ref.encode_len_delimited(encoder)?;
30446                }
30447                Rpc_::Payload::RespWifiGetCountryCode(val_ref) => {
30448                    let val_ref = &*val_ref;
30449                    encoder.encode_varint32(4730u32)?;
30450                    val_ref.encode_len_delimited(encoder)?;
30451                }
30452                Rpc_::Payload::RespWifiStaGetAid(val_ref) => {
30453                    let val_ref = &*val_ref;
30454                    encoder.encode_varint32(4754u32)?;
30455                    val_ref.encode_len_delimited(encoder)?;
30456                }
30457                Rpc_::Payload::RespWifiStaGetNegotiatedPhymode(val_ref) => {
30458                    let val_ref = &*val_ref;
30459                    encoder.encode_varint32(4762u32)?;
30460                    val_ref.encode_len_delimited(encoder)?;
30461                }
30462                Rpc_::Payload::RespWifiStaGetRssi(val_ref) => {
30463                    let val_ref = &*val_ref;
30464                    encoder.encode_varint32(4778u32)?;
30465                    val_ref.encode_len_delimited(encoder)?;
30466                }
30467                Rpc_::Payload::RespWifiSetProtocols(val_ref) => {
30468                    let val_ref = &*val_ref;
30469                    encoder.encode_varint32(4786u32)?;
30470                    val_ref.encode_len_delimited(encoder)?;
30471                }
30472                Rpc_::Payload::RespWifiGetProtocols(val_ref) => {
30473                    let val_ref = &*val_ref;
30474                    encoder.encode_varint32(4794u32)?;
30475                    val_ref.encode_len_delimited(encoder)?;
30476                }
30477                Rpc_::Payload::RespWifiSetBandwidths(val_ref) => {
30478                    let val_ref = &*val_ref;
30479                    encoder.encode_varint32(4802u32)?;
30480                    val_ref.encode_len_delimited(encoder)?;
30481                }
30482                Rpc_::Payload::RespWifiGetBandwidths(val_ref) => {
30483                    let val_ref = &*val_ref;
30484                    encoder.encode_varint32(4810u32)?;
30485                    val_ref.encode_len_delimited(encoder)?;
30486                }
30487                Rpc_::Payload::RespWifiSetBand(val_ref) => {
30488                    let val_ref = &*val_ref;
30489                    encoder.encode_varint32(4818u32)?;
30490                    val_ref.encode_len_delimited(encoder)?;
30491                }
30492                Rpc_::Payload::RespWifiGetBand(val_ref) => {
30493                    let val_ref = &*val_ref;
30494                    encoder.encode_varint32(4826u32)?;
30495                    val_ref.encode_len_delimited(encoder)?;
30496                }
30497                Rpc_::Payload::RespWifiSetBandmode(val_ref) => {
30498                    let val_ref = &*val_ref;
30499                    encoder.encode_varint32(4834u32)?;
30500                    val_ref.encode_len_delimited(encoder)?;
30501                }
30502                Rpc_::Payload::RespWifiGetBandmode(val_ref) => {
30503                    let val_ref = &*val_ref;
30504                    encoder.encode_varint32(4842u32)?;
30505                    val_ref.encode_len_delimited(encoder)?;
30506                }
30507                Rpc_::Payload::RespGetCoprocessorFwversion(val_ref) => {
30508                    let val_ref = &*val_ref;
30509                    encoder.encode_varint32(4850u32)?;
30510                    val_ref.encode_len_delimited(encoder)?;
30511                }
30512                Rpc_::Payload::RespWifiScanGetApRecord(val_ref) => {
30513                    let val_ref = &*val_ref;
30514                    encoder.encode_varint32(4858u32)?;
30515                    val_ref.encode_len_delimited(encoder)?;
30516                }
30517                Rpc_::Payload::EventEspInit(val_ref) => {
30518                    let val_ref = &*val_ref;
30519                    encoder.encode_varint32(6154u32)?;
30520                    val_ref.encode_len_delimited(encoder)?;
30521                }
30522                Rpc_::Payload::EventHeartbeat(val_ref) => {
30523                    let val_ref = &*val_ref;
30524                    encoder.encode_varint32(6162u32)?;
30525                    val_ref.encode_len_delimited(encoder)?;
30526                }
30527                Rpc_::Payload::EventApStaConnected(val_ref) => {
30528                    let val_ref = &*val_ref;
30529                    encoder.encode_varint32(6170u32)?;
30530                    val_ref.encode_len_delimited(encoder)?;
30531                }
30532                Rpc_::Payload::EventApStaDisconnected(val_ref) => {
30533                    let val_ref = &*val_ref;
30534                    encoder.encode_varint32(6178u32)?;
30535                    val_ref.encode_len_delimited(encoder)?;
30536                }
30537                Rpc_::Payload::EventWifiEventNoArgs(val_ref) => {
30538                    let val_ref = &*val_ref;
30539                    encoder.encode_varint32(6186u32)?;
30540                    val_ref.encode_len_delimited(encoder)?;
30541                }
30542                Rpc_::Payload::EventStaScanDone(val_ref) => {
30543                    let val_ref = &*val_ref;
30544                    encoder.encode_varint32(6194u32)?;
30545                    val_ref.encode_len_delimited(encoder)?;
30546                }
30547                Rpc_::Payload::EventStaConnected(val_ref) => {
30548                    let val_ref = &*val_ref;
30549                    encoder.encode_varint32(6202u32)?;
30550                    val_ref.encode_len_delimited(encoder)?;
30551                }
30552                Rpc_::Payload::EventStaDisconnected(val_ref) => {
30553                    let val_ref = &*val_ref;
30554                    encoder.encode_varint32(6210u32)?;
30555                    val_ref.encode_len_delimited(encoder)?;
30556                }
30557            }
30558        }
30559        Ok(())
30560    }
30561    fn compute_size(&self) -> usize {
30562        use ::micropb::{PbMap, FieldEncode};
30563        let mut size = 0;
30564        {
30565            let val_ref = &self.r#msg_type;
30566            if val_ref.0 != 0 {
30567                size += 1usize + ::micropb::size::sizeof_int32(val_ref.0 as _);
30568            }
30569        }
30570        {
30571            let val_ref = &self.r#msg_id;
30572            if val_ref.0 != 0 {
30573                size += 1usize + ::micropb::size::sizeof_int32(val_ref.0 as _);
30574            }
30575        }
30576        {
30577            let val_ref = &self.r#uid;
30578            if *val_ref != 0 {
30579                size += 1usize + ::micropb::size::sizeof_varint32(*val_ref as _);
30580            }
30581        }
30582        if let Some(oneof) = &self.r#payload {
30583            match &*oneof {
30584                Rpc_::Payload::ReqGetMacAddress(val_ref) => {
30585                    let val_ref = &*val_ref;
30586                    size
30587                        += 2usize
30588                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30589                }
30590                Rpc_::Payload::ReqSetMacAddress(val_ref) => {
30591                    let val_ref = &*val_ref;
30592                    size
30593                        += 2usize
30594                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30595                }
30596                Rpc_::Payload::ReqGetWifiMode(val_ref) => {
30597                    let val_ref = &*val_ref;
30598                    size
30599                        += 2usize
30600                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30601                }
30602                Rpc_::Payload::ReqSetWifiMode(val_ref) => {
30603                    let val_ref = &*val_ref;
30604                    size
30605                        += 2usize
30606                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30607                }
30608                Rpc_::Payload::ReqWifiSetPs(val_ref) => {
30609                    let val_ref = &*val_ref;
30610                    size
30611                        += 2usize
30612                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30613                }
30614                Rpc_::Payload::ReqWifiGetPs(val_ref) => {
30615                    let val_ref = &*val_ref;
30616                    size
30617                        += 2usize
30618                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30619                }
30620                Rpc_::Payload::ReqOtaBegin(val_ref) => {
30621                    let val_ref = &*val_ref;
30622                    size
30623                        += 2usize
30624                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30625                }
30626                Rpc_::Payload::ReqOtaWrite(val_ref) => {
30627                    let val_ref = &*val_ref;
30628                    size
30629                        += 2usize
30630                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30631                }
30632                Rpc_::Payload::ReqOtaEnd(val_ref) => {
30633                    let val_ref = &*val_ref;
30634                    size
30635                        += 2usize
30636                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30637                }
30638                Rpc_::Payload::ReqSetWifiMaxTxPower(val_ref) => {
30639                    let val_ref = &*val_ref;
30640                    size
30641                        += 2usize
30642                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30643                }
30644                Rpc_::Payload::ReqGetWifiMaxTxPower(val_ref) => {
30645                    let val_ref = &*val_ref;
30646                    size
30647                        += 2usize
30648                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30649                }
30650                Rpc_::Payload::ReqConfigHeartbeat(val_ref) => {
30651                    let val_ref = &*val_ref;
30652                    size
30653                        += 2usize
30654                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30655                }
30656                Rpc_::Payload::ReqWifiInit(val_ref) => {
30657                    let val_ref = &*val_ref;
30658                    size
30659                        += 2usize
30660                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30661                }
30662                Rpc_::Payload::ReqWifiDeinit(val_ref) => {
30663                    let val_ref = &*val_ref;
30664                    size
30665                        += 2usize
30666                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30667                }
30668                Rpc_::Payload::ReqWifiStart(val_ref) => {
30669                    let val_ref = &*val_ref;
30670                    size
30671                        += 2usize
30672                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30673                }
30674                Rpc_::Payload::ReqWifiStop(val_ref) => {
30675                    let val_ref = &*val_ref;
30676                    size
30677                        += 2usize
30678                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30679                }
30680                Rpc_::Payload::ReqWifiConnect(val_ref) => {
30681                    let val_ref = &*val_ref;
30682                    size
30683                        += 2usize
30684                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30685                }
30686                Rpc_::Payload::ReqWifiDisconnect(val_ref) => {
30687                    let val_ref = &*val_ref;
30688                    size
30689                        += 2usize
30690                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30691                }
30692                Rpc_::Payload::ReqWifiSetConfig(val_ref) => {
30693                    let val_ref = &*val_ref;
30694                    size
30695                        += 2usize
30696                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30697                }
30698                Rpc_::Payload::ReqWifiGetConfig(val_ref) => {
30699                    let val_ref = &*val_ref;
30700                    size
30701                        += 2usize
30702                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30703                }
30704                Rpc_::Payload::ReqWifiScanStart(val_ref) => {
30705                    let val_ref = &*val_ref;
30706                    size
30707                        += 2usize
30708                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30709                }
30710                Rpc_::Payload::ReqWifiScanStop(val_ref) => {
30711                    let val_ref = &*val_ref;
30712                    size
30713                        += 2usize
30714                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30715                }
30716                Rpc_::Payload::ReqWifiScanGetApNum(val_ref) => {
30717                    let val_ref = &*val_ref;
30718                    size
30719                        += 2usize
30720                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30721                }
30722                Rpc_::Payload::ReqWifiScanGetApRecords(val_ref) => {
30723                    let val_ref = &*val_ref;
30724                    size
30725                        += 2usize
30726                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30727                }
30728                Rpc_::Payload::ReqWifiClearApList(val_ref) => {
30729                    let val_ref = &*val_ref;
30730                    size
30731                        += 2usize
30732                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30733                }
30734                Rpc_::Payload::ReqWifiRestore(val_ref) => {
30735                    let val_ref = &*val_ref;
30736                    size
30737                        += 2usize
30738                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30739                }
30740                Rpc_::Payload::ReqWifiClearFastConnect(val_ref) => {
30741                    let val_ref = &*val_ref;
30742                    size
30743                        += 2usize
30744                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30745                }
30746                Rpc_::Payload::ReqWifiDeauthSta(val_ref) => {
30747                    let val_ref = &*val_ref;
30748                    size
30749                        += 2usize
30750                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30751                }
30752                Rpc_::Payload::ReqWifiStaGetApInfo(val_ref) => {
30753                    let val_ref = &*val_ref;
30754                    size
30755                        += 2usize
30756                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30757                }
30758                Rpc_::Payload::ReqWifiSetProtocol(val_ref) => {
30759                    let val_ref = &*val_ref;
30760                    size
30761                        += 2usize
30762                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30763                }
30764                Rpc_::Payload::ReqWifiGetProtocol(val_ref) => {
30765                    let val_ref = &*val_ref;
30766                    size
30767                        += 2usize
30768                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30769                }
30770                Rpc_::Payload::ReqWifiSetBandwidth(val_ref) => {
30771                    let val_ref = &*val_ref;
30772                    size
30773                        += 2usize
30774                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30775                }
30776                Rpc_::Payload::ReqWifiGetBandwidth(val_ref) => {
30777                    let val_ref = &*val_ref;
30778                    size
30779                        += 2usize
30780                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30781                }
30782                Rpc_::Payload::ReqWifiSetChannel(val_ref) => {
30783                    let val_ref = &*val_ref;
30784                    size
30785                        += 2usize
30786                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30787                }
30788                Rpc_::Payload::ReqWifiGetChannel(val_ref) => {
30789                    let val_ref = &*val_ref;
30790                    size
30791                        += 2usize
30792                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30793                }
30794                Rpc_::Payload::ReqWifiSetCountry(val_ref) => {
30795                    let val_ref = &*val_ref;
30796                    size
30797                        += 2usize
30798                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30799                }
30800                Rpc_::Payload::ReqWifiGetCountry(val_ref) => {
30801                    let val_ref = &*val_ref;
30802                    size
30803                        += 2usize
30804                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30805                }
30806                Rpc_::Payload::ReqWifiApGetStaList(val_ref) => {
30807                    let val_ref = &*val_ref;
30808                    size
30809                        += 2usize
30810                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30811                }
30812                Rpc_::Payload::ReqWifiApGetStaAid(val_ref) => {
30813                    let val_ref = &*val_ref;
30814                    size
30815                        += 2usize
30816                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30817                }
30818                Rpc_::Payload::ReqWifiSetStorage(val_ref) => {
30819                    let val_ref = &*val_ref;
30820                    size
30821                        += 2usize
30822                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30823                }
30824                Rpc_::Payload::ReqWifiSetCountryCode(val_ref) => {
30825                    let val_ref = &*val_ref;
30826                    size
30827                        += 2usize
30828                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30829                }
30830                Rpc_::Payload::ReqWifiGetCountryCode(val_ref) => {
30831                    let val_ref = &*val_ref;
30832                    size
30833                        += 2usize
30834                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30835                }
30836                Rpc_::Payload::ReqWifiStaGetAid(val_ref) => {
30837                    let val_ref = &*val_ref;
30838                    size
30839                        += 2usize
30840                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30841                }
30842                Rpc_::Payload::ReqWifiStaGetNegotiatedPhymode(val_ref) => {
30843                    let val_ref = &*val_ref;
30844                    size
30845                        += 2usize
30846                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30847                }
30848                Rpc_::Payload::ReqWifiStaGetRssi(val_ref) => {
30849                    let val_ref = &*val_ref;
30850                    size
30851                        += 2usize
30852                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30853                }
30854                Rpc_::Payload::ReqWifiSetProtocols(val_ref) => {
30855                    let val_ref = &*val_ref;
30856                    size
30857                        += 2usize
30858                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30859                }
30860                Rpc_::Payload::ReqWifiGetProtocols(val_ref) => {
30861                    let val_ref = &*val_ref;
30862                    size
30863                        += 2usize
30864                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30865                }
30866                Rpc_::Payload::ReqWifiSetBandwidths(val_ref) => {
30867                    let val_ref = &*val_ref;
30868                    size
30869                        += 2usize
30870                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30871                }
30872                Rpc_::Payload::ReqWifiGetBandwidths(val_ref) => {
30873                    let val_ref = &*val_ref;
30874                    size
30875                        += 2usize
30876                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30877                }
30878                Rpc_::Payload::ReqWifiSetBand(val_ref) => {
30879                    let val_ref = &*val_ref;
30880                    size
30881                        += 2usize
30882                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30883                }
30884                Rpc_::Payload::ReqWifiGetBand(val_ref) => {
30885                    let val_ref = &*val_ref;
30886                    size
30887                        += 2usize
30888                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30889                }
30890                Rpc_::Payload::ReqWifiSetBandmode(val_ref) => {
30891                    let val_ref = &*val_ref;
30892                    size
30893                        += 2usize
30894                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30895                }
30896                Rpc_::Payload::ReqWifiGetBandmode(val_ref) => {
30897                    let val_ref = &*val_ref;
30898                    size
30899                        += 2usize
30900                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30901                }
30902                Rpc_::Payload::ReqGetCoprocessorFwversion(val_ref) => {
30903                    let val_ref = &*val_ref;
30904                    size
30905                        += 2usize
30906                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30907                }
30908                Rpc_::Payload::ReqWifiScanGetApRecord(val_ref) => {
30909                    let val_ref = &*val_ref;
30910                    size
30911                        += 2usize
30912                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30913                }
30914                Rpc_::Payload::RespGetMacAddress(val_ref) => {
30915                    let val_ref = &*val_ref;
30916                    size
30917                        += 2usize
30918                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30919                }
30920                Rpc_::Payload::RespSetMacAddress(val_ref) => {
30921                    let val_ref = &*val_ref;
30922                    size
30923                        += 2usize
30924                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30925                }
30926                Rpc_::Payload::RespGetWifiMode(val_ref) => {
30927                    let val_ref = &*val_ref;
30928                    size
30929                        += 2usize
30930                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30931                }
30932                Rpc_::Payload::RespSetWifiMode(val_ref) => {
30933                    let val_ref = &*val_ref;
30934                    size
30935                        += 2usize
30936                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30937                }
30938                Rpc_::Payload::RespWifiSetPs(val_ref) => {
30939                    let val_ref = &*val_ref;
30940                    size
30941                        += 2usize
30942                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30943                }
30944                Rpc_::Payload::RespWifiGetPs(val_ref) => {
30945                    let val_ref = &*val_ref;
30946                    size
30947                        += 2usize
30948                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30949                }
30950                Rpc_::Payload::RespOtaBegin(val_ref) => {
30951                    let val_ref = &*val_ref;
30952                    size
30953                        += 2usize
30954                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30955                }
30956                Rpc_::Payload::RespOtaWrite(val_ref) => {
30957                    let val_ref = &*val_ref;
30958                    size
30959                        += 2usize
30960                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30961                }
30962                Rpc_::Payload::RespOtaEnd(val_ref) => {
30963                    let val_ref = &*val_ref;
30964                    size
30965                        += 2usize
30966                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30967                }
30968                Rpc_::Payload::RespSetWifiMaxTxPower(val_ref) => {
30969                    let val_ref = &*val_ref;
30970                    size
30971                        += 2usize
30972                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30973                }
30974                Rpc_::Payload::RespGetWifiMaxTxPower(val_ref) => {
30975                    let val_ref = &*val_ref;
30976                    size
30977                        += 2usize
30978                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30979                }
30980                Rpc_::Payload::RespConfigHeartbeat(val_ref) => {
30981                    let val_ref = &*val_ref;
30982                    size
30983                        += 2usize
30984                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30985                }
30986                Rpc_::Payload::RespWifiInit(val_ref) => {
30987                    let val_ref = &*val_ref;
30988                    size
30989                        += 2usize
30990                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30991                }
30992                Rpc_::Payload::RespWifiDeinit(val_ref) => {
30993                    let val_ref = &*val_ref;
30994                    size
30995                        += 2usize
30996                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
30997                }
30998                Rpc_::Payload::RespWifiStart(val_ref) => {
30999                    let val_ref = &*val_ref;
31000                    size
31001                        += 2usize
31002                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
31003                }
31004                Rpc_::Payload::RespWifiStop(val_ref) => {
31005                    let val_ref = &*val_ref;
31006                    size
31007                        += 2usize
31008                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
31009                }
31010                Rpc_::Payload::RespWifiConnect(val_ref) => {
31011                    let val_ref = &*val_ref;
31012                    size
31013                        += 2usize
31014                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
31015                }
31016                Rpc_::Payload::RespWifiDisconnect(val_ref) => {
31017                    let val_ref = &*val_ref;
31018                    size
31019                        += 2usize
31020                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
31021                }
31022                Rpc_::Payload::RespWifiSetConfig(val_ref) => {
31023                    let val_ref = &*val_ref;
31024                    size
31025                        += 2usize
31026                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
31027                }
31028                Rpc_::Payload::RespWifiGetConfig(val_ref) => {
31029                    let val_ref = &*val_ref;
31030                    size
31031                        += 2usize
31032                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
31033                }
31034                Rpc_::Payload::RespWifiScanStart(val_ref) => {
31035                    let val_ref = &*val_ref;
31036                    size
31037                        += 2usize
31038                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
31039                }
31040                Rpc_::Payload::RespWifiScanStop(val_ref) => {
31041                    let val_ref = &*val_ref;
31042                    size
31043                        += 2usize
31044                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
31045                }
31046                Rpc_::Payload::RespWifiScanGetApNum(val_ref) => {
31047                    let val_ref = &*val_ref;
31048                    size
31049                        += 2usize
31050                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
31051                }
31052                Rpc_::Payload::RespWifiScanGetApRecords(val_ref) => {
31053                    let val_ref = &*val_ref;
31054                    size
31055                        += 2usize
31056                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
31057                }
31058                Rpc_::Payload::RespWifiClearApList(val_ref) => {
31059                    let val_ref = &*val_ref;
31060                    size
31061                        += 2usize
31062                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
31063                }
31064                Rpc_::Payload::RespWifiRestore(val_ref) => {
31065                    let val_ref = &*val_ref;
31066                    size
31067                        += 2usize
31068                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
31069                }
31070                Rpc_::Payload::RespWifiClearFastConnect(val_ref) => {
31071                    let val_ref = &*val_ref;
31072                    size
31073                        += 2usize
31074                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
31075                }
31076                Rpc_::Payload::RespWifiDeauthSta(val_ref) => {
31077                    let val_ref = &*val_ref;
31078                    size
31079                        += 2usize
31080                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
31081                }
31082                Rpc_::Payload::RespWifiStaGetApInfo(val_ref) => {
31083                    let val_ref = &*val_ref;
31084                    size
31085                        += 2usize
31086                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
31087                }
31088                Rpc_::Payload::RespWifiSetProtocol(val_ref) => {
31089                    let val_ref = &*val_ref;
31090                    size
31091                        += 2usize
31092                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
31093                }
31094                Rpc_::Payload::RespWifiGetProtocol(val_ref) => {
31095                    let val_ref = &*val_ref;
31096                    size
31097                        += 2usize
31098                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
31099                }
31100                Rpc_::Payload::RespWifiSetBandwidth(val_ref) => {
31101                    let val_ref = &*val_ref;
31102                    size
31103                        += 2usize
31104                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
31105                }
31106                Rpc_::Payload::RespWifiGetBandwidth(val_ref) => {
31107                    let val_ref = &*val_ref;
31108                    size
31109                        += 2usize
31110                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
31111                }
31112                Rpc_::Payload::RespWifiSetChannel(val_ref) => {
31113                    let val_ref = &*val_ref;
31114                    size
31115                        += 2usize
31116                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
31117                }
31118                Rpc_::Payload::RespWifiGetChannel(val_ref) => {
31119                    let val_ref = &*val_ref;
31120                    size
31121                        += 2usize
31122                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
31123                }
31124                Rpc_::Payload::RespWifiSetCountry(val_ref) => {
31125                    let val_ref = &*val_ref;
31126                    size
31127                        += 2usize
31128                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
31129                }
31130                Rpc_::Payload::RespWifiGetCountry(val_ref) => {
31131                    let val_ref = &*val_ref;
31132                    size
31133                        += 2usize
31134                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
31135                }
31136                Rpc_::Payload::RespWifiApGetStaList(val_ref) => {
31137                    let val_ref = &*val_ref;
31138                    size
31139                        += 2usize
31140                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
31141                }
31142                Rpc_::Payload::RespWifiApGetStaAid(val_ref) => {
31143                    let val_ref = &*val_ref;
31144                    size
31145                        += 2usize
31146                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
31147                }
31148                Rpc_::Payload::RespWifiSetStorage(val_ref) => {
31149                    let val_ref = &*val_ref;
31150                    size
31151                        += 2usize
31152                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
31153                }
31154                Rpc_::Payload::RespWifiSetCountryCode(val_ref) => {
31155                    let val_ref = &*val_ref;
31156                    size
31157                        += 2usize
31158                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
31159                }
31160                Rpc_::Payload::RespWifiGetCountryCode(val_ref) => {
31161                    let val_ref = &*val_ref;
31162                    size
31163                        += 2usize
31164                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
31165                }
31166                Rpc_::Payload::RespWifiStaGetAid(val_ref) => {
31167                    let val_ref = &*val_ref;
31168                    size
31169                        += 2usize
31170                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
31171                }
31172                Rpc_::Payload::RespWifiStaGetNegotiatedPhymode(val_ref) => {
31173                    let val_ref = &*val_ref;
31174                    size
31175                        += 2usize
31176                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
31177                }
31178                Rpc_::Payload::RespWifiStaGetRssi(val_ref) => {
31179                    let val_ref = &*val_ref;
31180                    size
31181                        += 2usize
31182                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
31183                }
31184                Rpc_::Payload::RespWifiSetProtocols(val_ref) => {
31185                    let val_ref = &*val_ref;
31186                    size
31187                        += 2usize
31188                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
31189                }
31190                Rpc_::Payload::RespWifiGetProtocols(val_ref) => {
31191                    let val_ref = &*val_ref;
31192                    size
31193                        += 2usize
31194                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
31195                }
31196                Rpc_::Payload::RespWifiSetBandwidths(val_ref) => {
31197                    let val_ref = &*val_ref;
31198                    size
31199                        += 2usize
31200                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
31201                }
31202                Rpc_::Payload::RespWifiGetBandwidths(val_ref) => {
31203                    let val_ref = &*val_ref;
31204                    size
31205                        += 2usize
31206                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
31207                }
31208                Rpc_::Payload::RespWifiSetBand(val_ref) => {
31209                    let val_ref = &*val_ref;
31210                    size
31211                        += 2usize
31212                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
31213                }
31214                Rpc_::Payload::RespWifiGetBand(val_ref) => {
31215                    let val_ref = &*val_ref;
31216                    size
31217                        += 2usize
31218                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
31219                }
31220                Rpc_::Payload::RespWifiSetBandmode(val_ref) => {
31221                    let val_ref = &*val_ref;
31222                    size
31223                        += 2usize
31224                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
31225                }
31226                Rpc_::Payload::RespWifiGetBandmode(val_ref) => {
31227                    let val_ref = &*val_ref;
31228                    size
31229                        += 2usize
31230                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
31231                }
31232                Rpc_::Payload::RespGetCoprocessorFwversion(val_ref) => {
31233                    let val_ref = &*val_ref;
31234                    size
31235                        += 2usize
31236                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
31237                }
31238                Rpc_::Payload::RespWifiScanGetApRecord(val_ref) => {
31239                    let val_ref = &*val_ref;
31240                    size
31241                        += 2usize
31242                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
31243                }
31244                Rpc_::Payload::EventEspInit(val_ref) => {
31245                    let val_ref = &*val_ref;
31246                    size
31247                        += 2usize
31248                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
31249                }
31250                Rpc_::Payload::EventHeartbeat(val_ref) => {
31251                    let val_ref = &*val_ref;
31252                    size
31253                        += 2usize
31254                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
31255                }
31256                Rpc_::Payload::EventApStaConnected(val_ref) => {
31257                    let val_ref = &*val_ref;
31258                    size
31259                        += 2usize
31260                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
31261                }
31262                Rpc_::Payload::EventApStaDisconnected(val_ref) => {
31263                    let val_ref = &*val_ref;
31264                    size
31265                        += 2usize
31266                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
31267                }
31268                Rpc_::Payload::EventWifiEventNoArgs(val_ref) => {
31269                    let val_ref = &*val_ref;
31270                    size
31271                        += 2usize
31272                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
31273                }
31274                Rpc_::Payload::EventStaScanDone(val_ref) => {
31275                    let val_ref = &*val_ref;
31276                    size
31277                        += 2usize
31278                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
31279                }
31280                Rpc_::Payload::EventStaConnected(val_ref) => {
31281                    let val_ref = &*val_ref;
31282                    size
31283                        += 2usize
31284                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
31285                }
31286                Rpc_::Payload::EventStaDisconnected(val_ref) => {
31287                    let val_ref = &*val_ref;
31288                    size
31289                        += 2usize
31290                            + ::micropb::size::sizeof_len_record(val_ref.compute_size());
31291                }
31292            }
31293        }
31294        size
31295    }
31296}
31297#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
31298#[repr(transparent)]
31299pub struct Rpc_WifiBw(pub i32);
31300impl Rpc_WifiBw {
31301    pub const BwInvalid: Self = Self(0);
31302    pub const Ht20: Self = Self(1);
31303    pub const Ht40: Self = Self(2);
31304}
31305impl core::default::Default for Rpc_WifiBw {
31306    fn default() -> Self {
31307        Self(0)
31308    }
31309}
31310impl core::convert::From<i32> for Rpc_WifiBw {
31311    fn from(val: i32) -> Self {
31312        Self(val)
31313    }
31314}
31315#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
31316#[repr(transparent)]
31317pub struct Rpc_WifiPowerSave(pub i32);
31318impl Rpc_WifiPowerSave {
31319    pub const PsInvalid: Self = Self(0);
31320    pub const MinModem: Self = Self(1);
31321    pub const MaxModem: Self = Self(2);
31322}
31323impl core::default::Default for Rpc_WifiPowerSave {
31324    fn default() -> Self {
31325        Self(0)
31326    }
31327}
31328impl core::convert::From<i32> for Rpc_WifiPowerSave {
31329    fn from(val: i32) -> Self {
31330        Self(val)
31331    }
31332}
31333#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
31334#[repr(transparent)]
31335pub struct Rpc_WifiSecProt(pub i32);
31336impl Rpc_WifiSecProt {
31337    pub const Open: Self = Self(0);
31338    pub const Wep: Self = Self(1);
31339    pub const WpaPsk: Self = Self(2);
31340    pub const Wpa2Psk: Self = Self(3);
31341    pub const WpaWpa2Psk: Self = Self(4);
31342    pub const Wpa2Enterprise: Self = Self(5);
31343    pub const Wpa3Psk: Self = Self(6);
31344    pub const Wpa2Wpa3Psk: Self = Self(7);
31345}
31346impl core::default::Default for Rpc_WifiSecProt {
31347    fn default() -> Self {
31348        Self(0)
31349    }
31350}
31351impl core::convert::From<i32> for Rpc_WifiSecProt {
31352    fn from(val: i32) -> Self {
31353        Self(val)
31354    }
31355}
31356#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
31357#[repr(transparent)]
31358pub struct Rpc_Status(pub i32);
31359impl Rpc_Status {
31360    pub const Connected: Self = Self(0);
31361    pub const NotConnected: Self = Self(1);
31362    pub const NoApFound: Self = Self(2);
31363    pub const ConnectionFail: Self = Self(3);
31364    pub const InvalidArgument: Self = Self(4);
31365    pub const OutOfRange: Self = Self(5);
31366}
31367impl core::default::Default for Rpc_Status {
31368    fn default() -> Self {
31369        Self(0)
31370    }
31371}
31372impl core::convert::From<i32> for Rpc_Status {
31373    fn from(val: i32) -> Self {
31374        Self(val)
31375    }
31376}
31377#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
31378#[repr(transparent)]
31379pub struct RpcType(pub i32);
31380impl RpcType {
31381    pub const MsgTypeInvalid: Self = Self(0);
31382    pub const Req: Self = Self(1);
31383    pub const Resp: Self = Self(2);
31384    pub const Event: Self = Self(3);
31385    pub const MsgTypeMax: Self = Self(4);
31386}
31387impl core::default::Default for RpcType {
31388    fn default() -> Self {
31389        Self(0)
31390    }
31391}
31392impl core::convert::From<i32> for RpcType {
31393    fn from(val: i32) -> Self {
31394        Self(val)
31395    }
31396}
31397#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
31398#[repr(transparent)]
31399pub struct RpcId(pub i32);
31400impl RpcId {
31401    pub const MsgIdInvalid: Self = Self(0);
31402    pub const ReqBase: Self = Self(256);
31403    pub const ReqGetMacAddress: Self = Self(257);
31404    pub const ReqSetMacAddress: Self = Self(258);
31405    pub const ReqGetWifiMode: Self = Self(259);
31406    pub const ReqSetWifiMode: Self = Self(260);
31407    pub const ReqWifiSetPs: Self = Self(270);
31408    pub const ReqWifiGetPs: Self = Self(271);
31409    pub const ReqOtaBegin: Self = Self(272);
31410    pub const ReqOtaWrite: Self = Self(273);
31411    pub const ReqOtaEnd: Self = Self(274);
31412    pub const ReqWifiSetMaxTxPower: Self = Self(275);
31413    pub const ReqWifiGetMaxTxPower: Self = Self(276);
31414    pub const ReqConfigHeartbeat: Self = Self(277);
31415    pub const ReqWifiInit: Self = Self(278);
31416    pub const ReqWifiDeinit: Self = Self(279);
31417    pub const ReqWifiStart: Self = Self(280);
31418    pub const ReqWifiStop: Self = Self(281);
31419    pub const ReqWifiConnect: Self = Self(282);
31420    pub const ReqWifiDisconnect: Self = Self(283);
31421    pub const ReqWifiSetConfig: Self = Self(284);
31422    pub const ReqWifiGetConfig: Self = Self(285);
31423    pub const ReqWifiScanStart: Self = Self(286);
31424    pub const ReqWifiScanStop: Self = Self(287);
31425    pub const ReqWifiScanGetApNum: Self = Self(288);
31426    pub const ReqWifiScanGetApRecords: Self = Self(289);
31427    pub const ReqWifiClearApList: Self = Self(290);
31428    pub const ReqWifiRestore: Self = Self(291);
31429    pub const ReqWifiClearFastConnect: Self = Self(292);
31430    pub const ReqWifiDeauthSta: Self = Self(293);
31431    pub const ReqWifiStaGetApInfo: Self = Self(294);
31432    pub const ReqWifiSetProtocol: Self = Self(297);
31433    pub const ReqWifiGetProtocol: Self = Self(298);
31434    pub const ReqWifiSetBandwidth: Self = Self(299);
31435    pub const ReqWifiGetBandwidth: Self = Self(300);
31436    pub const ReqWifiSetChannel: Self = Self(301);
31437    pub const ReqWifiGetChannel: Self = Self(302);
31438    pub const ReqWifiSetCountry: Self = Self(303);
31439    pub const ReqWifiGetCountry: Self = Self(304);
31440    pub const ReqWifiSetPromiscuous: Self = Self(305);
31441    pub const ReqWifiGetPromiscuous: Self = Self(306);
31442    pub const ReqWifiSetPromiscuousFilter: Self = Self(307);
31443    pub const ReqWifiGetPromiscuousFilter: Self = Self(308);
31444    pub const ReqWifiSetPromiscuousCtrlFilter: Self = Self(309);
31445    pub const ReqWifiGetPromiscuousCtrlFilter: Self = Self(310);
31446    pub const ReqWifiApGetStaList: Self = Self(311);
31447    pub const ReqWifiApGetStaAid: Self = Self(312);
31448    pub const ReqWifiSetStorage: Self = Self(313);
31449    pub const ReqWifiSetVendorIe: Self = Self(314);
31450    pub const ReqWifiSetEventMask: Self = Self(315);
31451    pub const ReqWifiGetEventMask: Self = Self(316);
31452    pub const ReqWifi80211Tx: Self = Self(317);
31453    pub const ReqWifiSetCsiConfig: Self = Self(318);
31454    pub const ReqWifiSetCsi: Self = Self(319);
31455    pub const ReqWifiSetAntGpio: Self = Self(320);
31456    pub const ReqWifiGetAntGpio: Self = Self(321);
31457    pub const ReqWifiSetAnt: Self = Self(322);
31458    pub const ReqWifiGetAnt: Self = Self(323);
31459    pub const ReqWifiGetTsfTime: Self = Self(324);
31460    pub const ReqWifiSetInactiveTime: Self = Self(325);
31461    pub const ReqWifiGetInactiveTime: Self = Self(326);
31462    pub const ReqWifiStatisDump: Self = Self(327);
31463    pub const ReqWifiSetRssiThreshold: Self = Self(328);
31464    pub const ReqWifiFtmInitiateSession: Self = Self(329);
31465    pub const ReqWifiFtmEndSession: Self = Self(330);
31466    pub const ReqWifiFtmRespSetOffset: Self = Self(331);
31467    pub const ReqWifiConfig11BRate: Self = Self(332);
31468    pub const ReqWifiConnectionlessModuleSetWakeInterval: Self = Self(333);
31469    pub const ReqWifiSetCountryCode: Self = Self(334);
31470    pub const ReqWifiGetCountryCode: Self = Self(335);
31471    pub const ReqWifiConfig80211TxRate: Self = Self(336);
31472    pub const ReqWifiDisablePmfConfig: Self = Self(337);
31473    pub const ReqWifiStaGetAid: Self = Self(338);
31474    pub const ReqWifiStaGetNegotiatedPhymode: Self = Self(339);
31475    pub const ReqWifiSetDynamicCs: Self = Self(340);
31476    pub const ReqWifiStaGetRssi: Self = Self(341);
31477    pub const ReqWifiSetProtocols: Self = Self(342);
31478    pub const ReqWifiGetProtocols: Self = Self(343);
31479    pub const ReqWifiSetBandwidths: Self = Self(344);
31480    pub const ReqWifiGetBandwidths: Self = Self(345);
31481    pub const ReqWifiSetBand: Self = Self(346);
31482    pub const ReqWifiGetBand: Self = Self(347);
31483    pub const ReqWifiSetBandMode: Self = Self(348);
31484    pub const ReqWifiGetBandMode: Self = Self(349);
31485    pub const ReqGetCoprocessorFwVersion: Self = Self(350);
31486    pub const ReqWifiScanGetApRecord: Self = Self(351);
31487    pub const ReqMax: Self = Self(352);
31488    pub const RespBase: Self = Self(512);
31489    pub const RespGetMacAddress: Self = Self(513);
31490    pub const RespSetMacAddress: Self = Self(514);
31491    pub const RespGetWifiMode: Self = Self(515);
31492    pub const RespSetWifiMode: Self = Self(516);
31493    pub const RespWifiSetPs: Self = Self(526);
31494    pub const RespWifiGetPs: Self = Self(527);
31495    pub const RespOtaBegin: Self = Self(528);
31496    pub const RespOtaWrite: Self = Self(529);
31497    pub const RespOtaEnd: Self = Self(530);
31498    pub const RespWifiSetMaxTxPower: Self = Self(531);
31499    pub const RespWifiGetMaxTxPower: Self = Self(532);
31500    pub const RespConfigHeartbeat: Self = Self(533);
31501    pub const RespWifiInit: Self = Self(534);
31502    pub const RespWifiDeinit: Self = Self(535);
31503    pub const RespWifiStart: Self = Self(536);
31504    pub const RespWifiStop: Self = Self(537);
31505    pub const RespWifiConnect: Self = Self(538);
31506    pub const RespWifiDisconnect: Self = Self(539);
31507    pub const RespWifiSetConfig: Self = Self(540);
31508    pub const RespWifiGetConfig: Self = Self(541);
31509    pub const RespWifiScanStart: Self = Self(542);
31510    pub const RespWifiScanStop: Self = Self(543);
31511    pub const RespWifiScanGetApNum: Self = Self(544);
31512    pub const RespWifiScanGetApRecords: Self = Self(545);
31513    pub const RespWifiClearApList: Self = Self(546);
31514    pub const RespWifiRestore: Self = Self(547);
31515    pub const RespWifiClearFastConnect: Self = Self(548);
31516    pub const RespWifiDeauthSta: Self = Self(549);
31517    pub const RespWifiStaGetApInfo: Self = Self(550);
31518    pub const RespWifiSetProtocol: Self = Self(553);
31519    pub const RespWifiGetProtocol: Self = Self(554);
31520    pub const RespWifiSetBandwidth: Self = Self(555);
31521    pub const RespWifiGetBandwidth: Self = Self(556);
31522    pub const RespWifiSetChannel: Self = Self(557);
31523    pub const RespWifiGetChannel: Self = Self(558);
31524    pub const RespWifiSetCountry: Self = Self(559);
31525    pub const RespWifiGetCountry: Self = Self(560);
31526    pub const RespWifiSetPromiscuous: Self = Self(561);
31527    pub const RespWifiGetPromiscuous: Self = Self(562);
31528    pub const RespWifiSetPromiscuousFilter: Self = Self(563);
31529    pub const RespWifiGetPromiscuousFilter: Self = Self(564);
31530    pub const RespWifiSetPromiscuousCtrlFilter: Self = Self(565);
31531    pub const RespWifiGetPromiscuousCtrlFilter: Self = Self(566);
31532    pub const RespWifiApGetStaList: Self = Self(567);
31533    pub const RespWifiApGetStaAid: Self = Self(568);
31534    pub const RespWifiSetStorage: Self = Self(569);
31535    pub const RespWifiSetVendorIe: Self = Self(570);
31536    pub const RespWifiSetEventMask: Self = Self(571);
31537    pub const RespWifiGetEventMask: Self = Self(572);
31538    pub const RespWifi80211Tx: Self = Self(573);
31539    pub const RespWifiSetCsiConfig: Self = Self(574);
31540    pub const RespWifiSetCsi: Self = Self(575);
31541    pub const RespWifiSetAntGpio: Self = Self(576);
31542    pub const RespWifiGetAntGpio: Self = Self(577);
31543    pub const RespWifiSetAnt: Self = Self(578);
31544    pub const RespWifiGetAnt: Self = Self(579);
31545    pub const RespWifiGetTsfTime: Self = Self(580);
31546    pub const RespWifiSetInactiveTime: Self = Self(581);
31547    pub const RespWifiGetInactiveTime: Self = Self(582);
31548    pub const RespWifiStatisDump: Self = Self(583);
31549    pub const RespWifiSetRssiThreshold: Self = Self(584);
31550    pub const RespWifiFtmInitiateSession: Self = Self(585);
31551    pub const RespWifiFtmEndSession: Self = Self(586);
31552    pub const RespWifiFtmRespSetOffset: Self = Self(587);
31553    pub const RespWifiConfig11BRate: Self = Self(588);
31554    pub const RespWifiConnectionlessModuleSetWakeInterval: Self = Self(589);
31555    pub const RespWifiSetCountryCode: Self = Self(590);
31556    pub const RespWifiGetCountryCode: Self = Self(591);
31557    pub const RespWifiConfig80211TxRate: Self = Self(592);
31558    pub const RespWifiDisablePmfConfig: Self = Self(593);
31559    pub const RespWifiStaGetAid: Self = Self(594);
31560    pub const RespWifiStaGetNegotiatedPhymode: Self = Self(595);
31561    pub const RespWifiSetDynamicCs: Self = Self(596);
31562    pub const RespWifiStaGetRssi: Self = Self(597);
31563    pub const RespWifiSetProtocols: Self = Self(598);
31564    pub const RespWifiGetProtocols: Self = Self(599);
31565    pub const RespWifiSetBandwidths: Self = Self(600);
31566    pub const RespWifiGetBandwidths: Self = Self(601);
31567    pub const RespWifiSetBand: Self = Self(602);
31568    pub const RespWifiGetBand: Self = Self(603);
31569    pub const RespWifiSetBandMode: Self = Self(604);
31570    pub const RespWifiGetBandMode: Self = Self(605);
31571    pub const RespGetCoprocessorFwVersion: Self = Self(606);
31572    pub const RespWifiScanGetApRecord: Self = Self(607);
31573    pub const RespMax: Self = Self(608);
31574    pub const EventBase: Self = Self(768);
31575    pub const EventEspInit: Self = Self(769);
31576    pub const EventHeartbeat: Self = Self(770);
31577    pub const EventApStaConnected: Self = Self(771);
31578    pub const EventApStaDisconnected: Self = Self(772);
31579    pub const EventWifiEventNoArgs: Self = Self(773);
31580    pub const EventStaScanDone: Self = Self(774);
31581    pub const EventStaConnected: Self = Self(775);
31582    pub const EventStaDisconnected: Self = Self(776);
31583    pub const EventMax: Self = Self(777);
31584}
31585impl core::default::Default for RpcId {
31586    fn default() -> Self {
31587        Self(0)
31588    }
31589}
31590impl core::convert::From<i32> for RpcId {
31591    fn from(val: i32) -> Self {
31592        Self(val)
31593    }
31594}