@@ -111,18 +111,66 @@ pub enum ChannelDataField {
111111 CATRINA0Energy ,
112112 CATRINA1Energy ,
113113 CATRINA2Energy ,
114+ CATRINA3Energy ,
115+ CATRINA4Energy ,
116+ CATRINA5Energy ,
117+ CATRINA6Energy ,
118+ CATRINA7Energy ,
119+ CATRINA8Energy ,
120+ CATRINA9Energy ,
121+ CATRINA10Energy ,
122+ CATRINA11Energy ,
123+ CATRINA12Energy ,
124+ CATRINA13Energy ,
125+ CATRINA14Energy ,
114126
115127 CATRINA0Short ,
116128 CATRINA1Short ,
117129 CATRINA2Short ,
130+ CATRINA3Short ,
131+ CATRINA4Short ,
132+ CATRINA5Short ,
133+ CATRINA6Short ,
134+ CATRINA7Short ,
135+ CATRINA8Short ,
136+ CATRINA9Short ,
137+ CATRINA10Short ,
138+ CATRINA11Short ,
139+ CATRINA12Short ,
140+ CATRINA13Short ,
141+ CATRINA14Short ,
118142
119143 CATRINA0Time ,
120144 CATRINA1Time ,
121145 CATRINA2Time ,
146+ CATRINA3Time ,
147+ CATRINA4Time ,
148+ CATRINA5Time ,
149+ CATRINA6Time ,
150+ CATRINA7Time ,
151+ CATRINA8Time ,
152+ CATRINA9Time ,
153+ CATRINA10Time ,
154+ CATRINA11Time ,
155+ CATRINA12Time ,
156+ CATRINA13Time ,
157+ CATRINA14Time ,
122158
123159 CATRINA0PSD ,
124160 CATRINA1PSD ,
125161 CATRINA2PSD ,
162+ CATRINA3PSD ,
163+ CATRINA4PSD ,
164+ CATRINA5PSD ,
165+ CATRINA6PSD ,
166+ CATRINA7PSD ,
167+ CATRINA8PSD ,
168+ CATRINA9PSD ,
169+ CATRINA10PSD ,
170+ CATRINA11PSD ,
171+ CATRINA12PSD ,
172+ CATRINA13PSD ,
173+ CATRINA14PSD ,
126174
127175 RF ,
128176}
@@ -346,6 +394,90 @@ impl ChannelDataField {
346394 channel_map. contains_channel_type ( ChannelType :: CATRINA2 )
347395 }
348396
397+ ChannelDataField :: CATRINA3Energy
398+ | ChannelDataField :: CATRINA3Short
399+ | ChannelDataField :: CATRINA3Time
400+ | ChannelDataField :: CATRINA3PSD => {
401+ channel_map. contains_channel_type ( ChannelType :: CATRINA3 )
402+ }
403+
404+ ChannelDataField :: CATRINA4Energy
405+ | ChannelDataField :: CATRINA4Short
406+ | ChannelDataField :: CATRINA4Time
407+ | ChannelDataField :: CATRINA4PSD => {
408+ channel_map. contains_channel_type ( ChannelType :: CATRINA4 )
409+ }
410+
411+ ChannelDataField :: CATRINA5Energy
412+ | ChannelDataField :: CATRINA5Short
413+ | ChannelDataField :: CATRINA5Time
414+ | ChannelDataField :: CATRINA5PSD => {
415+ channel_map. contains_channel_type ( ChannelType :: CATRINA5 )
416+ }
417+
418+ ChannelDataField :: CATRINA6Energy
419+ | ChannelDataField :: CATRINA6Short
420+ | ChannelDataField :: CATRINA6Time
421+ | ChannelDataField :: CATRINA6PSD => {
422+ channel_map. contains_channel_type ( ChannelType :: CATRINA6 )
423+ }
424+
425+ ChannelDataField :: CATRINA7Energy
426+ | ChannelDataField :: CATRINA7Short
427+ | ChannelDataField :: CATRINA7Time
428+ | ChannelDataField :: CATRINA7PSD => {
429+ channel_map. contains_channel_type ( ChannelType :: CATRINA7 )
430+ }
431+
432+ ChannelDataField :: CATRINA8Energy
433+ | ChannelDataField :: CATRINA8Short
434+ | ChannelDataField :: CATRINA8Time
435+ | ChannelDataField :: CATRINA8PSD => {
436+ channel_map. contains_channel_type ( ChannelType :: CATRINA8 )
437+ }
438+
439+ ChannelDataField :: CATRINA9Energy
440+ | ChannelDataField :: CATRINA9Short
441+ | ChannelDataField :: CATRINA9Time
442+ | ChannelDataField :: CATRINA9PSD => {
443+ channel_map. contains_channel_type ( ChannelType :: CATRINA9 )
444+ }
445+
446+ ChannelDataField :: CATRINA10Energy
447+ | ChannelDataField :: CATRINA10Short
448+ | ChannelDataField :: CATRINA10Time
449+ | ChannelDataField :: CATRINA10PSD => {
450+ channel_map. contains_channel_type ( ChannelType :: CATRINA10 )
451+ }
452+
453+ ChannelDataField :: CATRINA11Energy
454+ | ChannelDataField :: CATRINA11Short
455+ | ChannelDataField :: CATRINA11Time
456+ | ChannelDataField :: CATRINA11PSD => {
457+ channel_map. contains_channel_type ( ChannelType :: CATRINA11 )
458+ }
459+
460+ ChannelDataField :: CATRINA12Energy
461+ | ChannelDataField :: CATRINA12Short
462+ | ChannelDataField :: CATRINA12Time
463+ | ChannelDataField :: CATRINA12PSD => {
464+ channel_map. contains_channel_type ( ChannelType :: CATRINA12 )
465+ }
466+
467+ ChannelDataField :: CATRINA13Energy
468+ | ChannelDataField :: CATRINA13Short
469+ | ChannelDataField :: CATRINA13Time
470+ | ChannelDataField :: CATRINA13PSD => {
471+ channel_map. contains_channel_type ( ChannelType :: CATRINA13 )
472+ }
473+
474+ ChannelDataField :: CATRINA14Energy
475+ | ChannelDataField :: CATRINA14Short
476+ | ChannelDataField :: CATRINA14Time
477+ | ChannelDataField :: CATRINA14PSD => {
478+ channel_map. contains_channel_type ( ChannelType :: CATRINA14 )
479+ }
480+
349481 ChannelDataField :: RF => {
350482 channel_map. contains_channel_type ( ChannelType :: RF )
351483 }
@@ -659,6 +791,126 @@ impl ChannelData {
659791 self . set_value ( & ChannelDataField :: CATRINA2PSD , psd) ;
660792 }
661793
794+ ChannelType :: CATRINA3 => {
795+ self . set_value ( & ChannelDataField :: CATRINA3Energy , hit. energy ) ;
796+ self . set_value ( & ChannelDataField :: CATRINA3Short , hit. energy_short ) ;
797+ self . set_value ( & ChannelDataField :: CATRINA3Time , hit. timestamp ) ;
798+ let long = hit. energy ;
799+ let short = hit. energy_short ;
800+ let psd = ( long - short) / long;
801+ self . set_value ( & ChannelDataField :: CATRINA3PSD , psd) ;
802+ }
803+
804+ ChannelType :: CATRINA4 => {
805+ self . set_value ( & ChannelDataField :: CATRINA4Energy , hit. energy ) ;
806+ self . set_value ( & ChannelDataField :: CATRINA4Short , hit. energy_short ) ;
807+ self . set_value ( & ChannelDataField :: CATRINA4Time , hit. timestamp ) ;
808+ let long = hit. energy ;
809+ let short = hit. energy_short ;
810+ let psd = ( long - short) / long;
811+ self . set_value ( & ChannelDataField :: CATRINA4PSD , psd) ;
812+ }
813+
814+ ChannelType :: CATRINA5 => {
815+ self . set_value ( & ChannelDataField :: CATRINA5Energy , hit. energy ) ;
816+ self . set_value ( & ChannelDataField :: CATRINA5Short , hit. energy_short ) ;
817+ self . set_value ( & ChannelDataField :: CATRINA5Time , hit. timestamp ) ;
818+ let long = hit. energy ;
819+ let short = hit. energy_short ;
820+ let psd = ( long - short) / long;
821+ self . set_value ( & ChannelDataField :: CATRINA5PSD , psd) ;
822+ }
823+
824+ ChannelType :: CATRINA6 => {
825+ self . set_value ( & ChannelDataField :: CATRINA6Energy , hit. energy ) ;
826+ self . set_value ( & ChannelDataField :: CATRINA6Short , hit. energy_short ) ;
827+ self . set_value ( & ChannelDataField :: CATRINA6Time , hit. timestamp ) ;
828+ let long = hit. energy ;
829+ let short = hit. energy_short ;
830+ let psd = ( long - short) / long;
831+ self . set_value ( & ChannelDataField :: CATRINA6PSD , psd) ;
832+ }
833+
834+ ChannelType :: CATRINA7 => {
835+ self . set_value ( & ChannelDataField :: CATRINA7Energy , hit. energy ) ;
836+ self . set_value ( & ChannelDataField :: CATRINA7Short , hit. energy_short ) ;
837+ self . set_value ( & ChannelDataField :: CATRINA7Time , hit. timestamp ) ;
838+ let long = hit. energy ;
839+ let short = hit. energy_short ;
840+ let psd = ( long - short) / long;
841+ self . set_value ( & ChannelDataField :: CATRINA7PSD , psd) ;
842+ }
843+
844+ ChannelType :: CATRINA8 => {
845+ self . set_value ( & ChannelDataField :: CATRINA8Energy , hit. energy ) ;
846+ self . set_value ( & ChannelDataField :: CATRINA8Short , hit. energy_short ) ;
847+ self . set_value ( & ChannelDataField :: CATRINA8Time , hit. timestamp ) ;
848+ let long = hit. energy ;
849+ let short = hit. energy_short ;
850+ let psd = ( long - short) / long;
851+ self . set_value ( & ChannelDataField :: CATRINA8PSD , psd) ;
852+ }
853+
854+ ChannelType :: CATRINA9 => {
855+ self . set_value ( & ChannelDataField :: CATRINA9Energy , hit. energy ) ;
856+ self . set_value ( & ChannelDataField :: CATRINA9Short , hit. energy_short ) ;
857+ self . set_value ( & ChannelDataField :: CATRINA9Time , hit. timestamp ) ;
858+ let long = hit. energy ;
859+ let short = hit. energy_short ;
860+ let psd = ( long - short) / long;
861+ self . set_value ( & ChannelDataField :: CATRINA9PSD , psd) ;
862+ }
863+
864+ ChannelType :: CATRINA10 => {
865+ self . set_value ( & ChannelDataField :: CATRINA10Energy , hit. energy ) ;
866+ self . set_value ( & ChannelDataField :: CATRINA10Short , hit. energy_short ) ;
867+ self . set_value ( & ChannelDataField :: CATRINA10Time , hit. timestamp ) ;
868+ let long = hit. energy ;
869+ let short = hit. energy_short ;
870+ let psd = ( long - short) / long;
871+ self . set_value ( & ChannelDataField :: CATRINA10PSD , psd) ;
872+ }
873+
874+ ChannelType :: CATRINA11 => {
875+ self . set_value ( & ChannelDataField :: CATRINA11Energy , hit. energy ) ;
876+ self . set_value ( & ChannelDataField :: CATRINA11Short , hit. energy_short ) ;
877+ self . set_value ( & ChannelDataField :: CATRINA11Time , hit. timestamp ) ;
878+ let long = hit. energy ;
879+ let short = hit. energy_short ;
880+ let psd = ( long - short) / long;
881+ self . set_value ( & ChannelDataField :: CATRINA11PSD , psd) ;
882+ }
883+
884+ ChannelType :: CATRINA12 => {
885+ self . set_value ( & ChannelDataField :: CATRINA12Energy , hit. energy ) ;
886+ self . set_value ( & ChannelDataField :: CATRINA12Short , hit. energy_short ) ;
887+ self . set_value ( & ChannelDataField :: CATRINA12Time , hit. timestamp ) ;
888+ let long = hit. energy ;
889+ let short = hit. energy_short ;
890+ let psd = ( long - short) / long;
891+ self . set_value ( & ChannelDataField :: CATRINA12PSD , psd) ;
892+ }
893+
894+ ChannelType :: CATRINA13 => {
895+ self . set_value ( & ChannelDataField :: CATRINA13Energy , hit. energy ) ;
896+ self . set_value ( & ChannelDataField :: CATRINA13Short , hit. energy_short ) ;
897+ self . set_value ( & ChannelDataField :: CATRINA13Time , hit. timestamp ) ;
898+ let long = hit. energy ;
899+ let short = hit. energy_short ;
900+ let psd = ( long - short) / long;
901+ self . set_value ( & ChannelDataField :: CATRINA13PSD , psd) ;
902+ }
903+
904+ ChannelType :: CATRINA14 => {
905+ self . set_value ( & ChannelDataField :: CATRINA14Energy , hit. energy ) ;
906+ self . set_value ( & ChannelDataField :: CATRINA14Short , hit. energy_short ) ;
907+ self . set_value ( & ChannelDataField :: CATRINA14Time , hit. timestamp ) ;
908+ let long = hit. energy ;
909+ let short = hit. energy_short ;
910+ let psd = ( long - short) / long;
911+ self . set_value ( & ChannelDataField :: CATRINA14PSD , psd) ;
912+ }
913+
662914 ChannelType :: RF => {
663915 self . set_value ( & ChannelDataField :: RF , hit. timestamp ) ;
664916 }
0 commit comments