satellite-enums.h
Go to the documentation of this file.
1 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2 /*
3  * Copyright (c) 2013 Magister Solutions Ltd
4  * Copyright (c) 2018 CNES
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License version 2 as
8  * published by the Free Software Foundation;
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program; if not, write to the Free Software
17  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18  *
19  * Author: Frans Laakso <frans.laakso@magister.fi>
20  * Author: Mathias Ettinger <mettinger@toulouse.viveris.fr>
21  */
22 
23 #ifndef SATELLITE_ENUMS_H
24 #define SATELLITE_ENUMS_H
25 
26 #include <ns3/fatal-error.h>
27 
28 #include <string>
29 #include <vector>
30 
31 namespace ns3
32 {
33 
41 class SatEnums
42 {
43  public:
48  typedef enum
49  {
56 
61  typedef enum
62  {
66 
71  typedef enum
72  {
77 
82  typedef enum
83  {
88 
94  typedef enum
95  {
97  REGENERATION_PHY, // regenerate only on physical layer, to compute is the packet is lost or
98  // not
99  REGENERATION_LINK, // regenerate on physical and MAC layers (only on return link). Satellite
100  // can perform packet TX scheduling and handle control messages
101  REGENERATION_NETWORK // regenerate all stack. The GSE/RLE encapsulation is removed at
102  // reception and added again when transmitting to next hop
104 
109  typedef enum
110  {
111  UNICAST, // Only one route for a pair source satellite / destination satellite, using
112  // shortest path (in hops)
113  ECMP, // Get all routes possible with minimum hops. For each incoming packet, the route is
114  // randomly selected among all available
116 
121  typedef enum
122  {
124  LORA
126 
131  typedef enum
132  {
137  GEO
139 
144  typedef enum
145  {
147  DVB_S2X
149 
154  typedef enum
155  {
159 
163  typedef enum
164  {
169 
174  typedef enum
175  {
205 
421 
422  static inline void GetAvailableModcodsFwdLink(std::vector<SatModcod_t>& modcods)
423  {
432  // modcods.push_back (SAT_MODCOD_QPSK_1_TO_3);
433  modcods.push_back(SAT_MODCOD_QPSK_1_TO_2);
434  modcods.push_back(SAT_MODCOD_QPSK_3_TO_5);
435  modcods.push_back(SAT_MODCOD_QPSK_2_TO_3);
436  modcods.push_back(SAT_MODCOD_QPSK_3_TO_4);
437  modcods.push_back(SAT_MODCOD_QPSK_4_TO_5);
438  modcods.push_back(SAT_MODCOD_QPSK_5_TO_6);
439  modcods.push_back(SAT_MODCOD_QPSK_8_TO_9);
440  modcods.push_back(SAT_MODCOD_QPSK_9_TO_10);
441  modcods.push_back(SAT_MODCOD_8PSK_3_TO_5);
442  modcods.push_back(SAT_MODCOD_8PSK_2_TO_3);
443  modcods.push_back(SAT_MODCOD_8PSK_3_TO_4);
444  modcods.push_back(SAT_MODCOD_8PSK_5_TO_6);
445  modcods.push_back(SAT_MODCOD_8PSK_8_TO_9);
446  modcods.push_back(SAT_MODCOD_8PSK_9_TO_10);
447  modcods.push_back(SAT_MODCOD_16APSK_2_TO_3);
448  modcods.push_back(SAT_MODCOD_16APSK_3_TO_4);
449  modcods.push_back(SAT_MODCOD_16APSK_4_TO_5);
450  modcods.push_back(SAT_MODCOD_16APSK_5_TO_6);
451  modcods.push_back(SAT_MODCOD_16APSK_8_TO_9);
452  modcods.push_back(SAT_MODCOD_16APSK_9_TO_10);
453  // modcods.push_back (SAT_MODCOD_16QAM_3_TO_4);
454  // modcods.push_back (SAT_MODCOD_16QAM_5_TO_6);
455  modcods.push_back(SAT_MODCOD_32APSK_3_TO_4);
456  modcods.push_back(SAT_MODCOD_32APSK_4_TO_5);
457  modcods.push_back(SAT_MODCOD_32APSK_5_TO_6);
458  modcods.push_back(SAT_MODCOD_32APSK_8_TO_9);
459  }
460 
461  static inline void GetAvailableModcodsFwdLinkS2X(std::vector<SatModcod_t>& modcods,
463  bool pilots)
464  {
465  switch (type)
466  {
469  break;
472  break;
474  NS_FATAL_ERROR("Cannot use SHORT_AND_NORMAL_FRAMES mode in DVB-S2X");
475  default:
476  NS_FATAL_ERROR("Unknown SatEnums::BbFrameUsageMode_t type");
477  }
478  }
479 
480  static inline void GetAvailableModcodsFwdLinkS2XNormalFrames(std::vector<SatModcod_t>& modcods,
481  bool pilots)
482  {
489  if (pilots)
490  {
491  modcods.push_back(SAT_MODCOD_S2X_QPSK_1_TO_4_NORMAL_PILOTS);
493  modcods.push_back(SAT_MODCOD_S2X_QPSK_1_TO_3_NORMAL_PILOTS);
494  modcods.push_back(SAT_MODCOD_S2X_QPSK_2_TO_5_NORMAL_PILOTS);
496  modcods.push_back(SAT_MODCOD_S2X_QPSK_1_TO_2_NORMAL_PILOTS);
498  modcods.push_back(SAT_MODCOD_S2X_QPSK_3_TO_5_NORMAL_PILOTS);
499  modcods.push_back(SAT_MODCOD_S2X_QPSK_2_TO_3_NORMAL_PILOTS);
500  modcods.push_back(SAT_MODCOD_S2X_QPSK_3_TO_4_NORMAL_PILOTS);
501  modcods.push_back(SAT_MODCOD_S2X_QPSK_4_TO_5_NORMAL_PILOTS);
502  modcods.push_back(SAT_MODCOD_S2X_QPSK_5_TO_6_NORMAL_PILOTS);
503  modcods.push_back(SAT_MODCOD_S2X_QPSK_8_TO_9_NORMAL_PILOTS);
505  modcods.push_back(SAT_MODCOD_S2X_8PSK_3_TO_5_NORMAL_PILOTS);
507  modcods.push_back(SAT_MODCOD_S2X_8PSK_2_TO_3_NORMAL_PILOTS);
510  modcods.push_back(SAT_MODCOD_S2X_8PSK_3_TO_4_NORMAL_PILOTS);
511  modcods.push_back(SAT_MODCOD_S2X_8PSK_5_TO_6_NORMAL_PILOTS);
512  modcods.push_back(SAT_MODCOD_S2X_8PSK_8_TO_9_NORMAL_PILOTS);
557  }
558  else
559  {
626  }
627  }
628 
629  static inline void GetAvailableModcodsFwdLinkS2XShortFrames(std::vector<SatModcod_t>& modcods,
630  bool pilots)
631  {
638  if (pilots)
639  {
641  modcods.push_back(SAT_MODCOD_S2X_QPSK_1_TO_4_SHORT_PILOTS);
642  modcods.push_back(SAT_MODCOD_S2X_QPSK_4_TO_15_SHORT_PILOTS);
644  modcods.push_back(SAT_MODCOD_S2X_QPSK_1_TO_3_SHORT_PILOTS);
645  modcods.push_back(SAT_MODCOD_S2X_QPSK_2_TO_5_SHORT_PILOTS);
646  modcods.push_back(SAT_MODCOD_S2X_QPSK_7_TO_15_SHORT_PILOTS);
647  modcods.push_back(SAT_MODCOD_S2X_QPSK_1_TO_2_SHORT_PILOTS);
648  modcods.push_back(SAT_MODCOD_S2X_QPSK_8_TO_15_SHORT_PILOTS);
649  modcods.push_back(SAT_MODCOD_S2X_QPSK_3_TO_5_SHORT_PILOTS);
650  modcods.push_back(SAT_MODCOD_S2X_QPSK_2_TO_3_SHORT_PILOTS);
652  modcods.push_back(SAT_MODCOD_S2X_QPSK_3_TO_4_SHORT_PILOTS);
653  modcods.push_back(SAT_MODCOD_S2X_QPSK_4_TO_5_SHORT_PILOTS);
654  modcods.push_back(SAT_MODCOD_S2X_QPSK_5_TO_6_SHORT_PILOTS);
655  modcods.push_back(SAT_MODCOD_S2X_QPSK_8_TO_9_SHORT_PILOTS);
656  modcods.push_back(SAT_MODCOD_S2X_8PSK_7_TO_15_SHORT_PILOTS);
657  modcods.push_back(SAT_MODCOD_S2X_8PSK_8_TO_15_SHORT_PILOTS);
659  modcods.push_back(SAT_MODCOD_S2X_8PSK_3_TO_5_SHORT_PILOTS);
660  modcods.push_back(SAT_MODCOD_S2X_8PSK_2_TO_3_SHORT_PILOTS);
662  modcods.push_back(SAT_MODCOD_S2X_8PSK_3_TO_4_SHORT_PILOTS);
663  modcods.push_back(SAT_MODCOD_S2X_8PSK_5_TO_6_SHORT_PILOTS);
664  modcods.push_back(SAT_MODCOD_S2X_8PSK_8_TO_9_SHORT_PILOTS);
681  }
682  else
683  {
725  }
726  }
727 
728  static inline void GetAvailableModcodsRtnLink(std::vector<SatModcod_t>& modcods)
729  {
735  modcods.push_back(SAT_MODCOD_QPSK_1_TO_3);
736  modcods.push_back(SAT_MODCOD_QPSK_1_TO_2);
737  modcods.push_back(SAT_MODCOD_QPSK_2_TO_3);
738  modcods.push_back(SAT_MODCOD_QPSK_3_TO_4);
739  modcods.push_back(SAT_MODCOD_QPSK_4_TO_5);
740  modcods.push_back(SAT_MODCOD_QPSK_5_TO_6);
741  modcods.push_back(SAT_MODCOD_8PSK_2_TO_3);
742  modcods.push_back(SAT_MODCOD_8PSK_3_TO_4);
743  modcods.push_back(SAT_MODCOD_8PSK_5_TO_6);
744  modcods.push_back(SAT_MODCOD_16QAM_3_TO_4);
745  modcods.push_back(SAT_MODCOD_16QAM_5_TO_6);
746  }
747 
748  static inline std::string GetModcodTypeName(SatModcod_t modcod)
749  {
750  switch (modcod)
751  {
752  case SAT_NONVALID_MODCOD:
753  return "SAT_NONVALID_MODCOD";
755  return "QPSK_1_TO_3";
757  return "QPSK_1_TO_2";
759  return "QPSK_2_TO_3";
761  return "QPSK_3_TO_4";
763  return "QPSK_3_TO_5";
765  return "QPSK_4_TO_5";
767  return "QPSK_5_TO_6";
769  return "QPSK_8_TO_9";
771  return "QPSK_9_TO_10";
773  return "8PSK_2_TO_3";
775  return "8PSK_3_TO_4";
777  return "8PSK_3_TO_5";
779  return "8PSK_5_TO_6";
781  return "8PSK_8_TO_9";
783  return "8PSK_9_TO_10";
785  return "16APSK_2_TO_3";
787  return "16APSK_3_TO_4";
789  return "16APSK_4_TO_5";
791  return "16APSK_5_TO_6";
793  return "16APSK_8_TO_9";
795  return "16APSK_9_TO_10";
797  return "16QAM_3_TO_4";
799  return "16QAM_5_TO_6";
801  return "32APSK_3_TO_4";
803  return "32APSK_4_TO_5";
805  return "32APSK_5_TO_6";
807  return "32APSK_8_TO_9";
809  return "BPSK_1_TO_3";
811  return "QPSK_11_TO_45_SHORT_NOPILOTS";
813  return "QPSK_11_TO_45_SHORT_PILOTS";
815  return "QPSK_1_TO_4_NORMAL_NOPILOTS";
817  return "QPSK_1_TO_4_NORMAL_PILOTS";
819  return "QPSK_1_TO_4_SHORT_NOPILOTS";
821  return "QPSK_1_TO_4_SHORT_PILOTS";
823  return "QPSK_4_TO_15_SHORT_NOPILOTS";
825  return "QPSK_4_TO_15_SHORT_PILOTS";
827  return "QPSK_13_TO_45_NORMAL_NOPILOTS";
829  return "QPSK_13_TO_45_NORMAL_PILOTS";
831  return "QPSK_14_TO_45_SHORT_NOPILOTS";
833  return "QPSK_14_TO_45_SHORT_PILOTS";
835  return "QPSK_1_TO_3_NORMAL_NOPILOTS";
837  return "QPSK_1_TO_3_NORMAL_PILOTS";
839  return "QPSK_1_TO_3_SHORT_NOPILOTS";
841  return "QPSK_1_TO_3_SHORT_PILOTS";
843  return "QPSK_2_TO_5_NORMAL_NOPILOTS";
845  return "QPSK_2_TO_5_NORMAL_PILOTS";
847  return "QPSK_2_TO_5_SHORT_NOPILOTS";
849  return "QPSK_2_TO_5_SHORT_PILOTS";
851  return "QPSK_9_TO_20_NORMAL_NOPILOTS";
853  return "QPSK_9_TO_20_NORMAL_PILOTS";
855  return "QPSK_7_TO_15_SHORT_NOPILOTS";
857  return "QPSK_7_TO_15_SHORT_PILOTS";
859  return "QPSK_1_TO_2_NORMAL_NOPILOTS";
861  return "QPSK_1_TO_2_NORMAL_PILOTS";
863  return "QPSK_1_TO_2_SHORT_NOPILOTS";
865  return "QPSK_1_TO_2_SHORT_PILOTS";
867  return "QPSK_8_TO_15_SHORT_NOPILOTS";
869  return "QPSK_8_TO_15_SHORT_PILOTS";
871  return "QPSK_11_TO_20_NORMAL_NOPILOTS";
873  return "QPSK_11_TO_20_NORMAL_PILOTS";
875  return "QPSK_3_TO_5_NORMAL_NOPILOTS";
877  return "QPSK_3_TO_5_NORMAL_PILOTS";
879  return "QPSK_3_TO_5_SHORT_NOPILOTS";
881  return "QPSK_3_TO_5_SHORT_PILOTS";
883  return "QPSK_2_TO_3_NORMAL_NOPILOTS";
885  return "QPSK_2_TO_3_NORMAL_PILOTS";
887  return "QPSK_2_TO_3_SHORT_NOPILOTS";
889  return "QPSK_2_TO_3_SHORT_PILOTS";
891  return "QPSK_32_TO_45_SHORT_NOPILOTS";
893  return "QPSK_32_TO_45_SHORT_PILOTS";
895  return "QPSK_3_TO_4_NORMAL_NOPILOTS";
897  return "QPSK_3_TO_4_NORMAL_PILOTS";
899  return "QPSK_3_TO_4_SHORT_NOPILOTS";
901  return "QPSK_3_TO_4_SHORT_PILOTS";
903  return "QPSK_4_TO_5_NORMAL_NOPILOTS";
905  return "QPSK_4_TO_5_NORMAL_PILOTS";
907  return "QPSK_4_TO_5_SHORT_NOPILOTS";
909  return "QPSK_4_TO_5_SHORT_PILOTS";
911  return "QPSK_5_TO_6_NORMAL_NOPILOTS";
913  return "QPSK_5_TO_6_NORMAL_PILOTS";
915  return "QPSK_5_TO_6_SHORT_NOPILOTS";
917  return "QPSK_5_TO_6_SHORT_PILOTS";
919  return "QPSK_8_TO_9_NORMAL_NOPILOTS";
921  return "QPSK_8_TO_9_NORMAL_PILOTS";
923  return "QPSK_8_TO_9_SHORT_NOPILOTS";
925  return "QPSK_8_TO_9_SHORT_PILOTS";
927  return "QPSK_9_TO_10_NORMAL_NOPILOTS";
929  return "QPSK_9_TO_10_NORMAL_PILOTS";
931  return "8PSK_7_TO_15_SHORT_NOPILOTS";
933  return "8PSK_7_TO_15_SHORT_PILOTS";
935  return "8PSK_8_TO_15_SHORT_NOPILOTS";
937  return "8PSK_8_TO_15_SHORT_PILOTS";
939  return "8PSK_26_TO_45_SHORT_NOPILOTS";
941  return "8PSK_26_TO_45_SHORT_PILOTS";
943  return "8PSK_3_TO_5_NORMAL_NOPILOTS";
945  return "8PSK_3_TO_5_NORMAL_PILOTS";
947  return "8PSK_3_TO_5_SHORT_NOPILOTS";
949  return "8PSK_3_TO_5_SHORT_PILOTS";
951  return "8PSK_23_TO_36_NORMAL_NOPILOTS";
953  return "8PSK_23_TO_36_NORMAL_PILOTS";
955  return "8PSK_2_TO_3_NORMAL_NOPILOTS";
957  return "8PSK_2_TO_3_NORMAL_PILOTS";
959  return "8PSK_2_TO_3_SHORT_NOPILOTS";
961  return "8PSK_2_TO_3_SHORT_PILOTS";
963  return "8PSK_25_TO_36_NORMAL_NOPILOTS";
965  return "8PSK_25_TO_36_NORMAL_PILOTS";
967  return "8PSK_32_TO_45_SHORT_NOPILOTS";
969  return "8PSK_32_TO_45_SHORT_PILOTS";
971  return "8PSK_13_TO_18_NORMAL_NOPILOTS";
973  return "8PSK_13_TO_18_NORMAL_PILOTS";
975  return "8PSK_3_TO_4_NORMAL_NOPILOTS";
977  return "8PSK_3_TO_4_NORMAL_PILOTS";
979  return "8PSK_3_TO_4_SHORT_NOPILOTS";
981  return "8PSK_3_TO_4_SHORT_PILOTS";
983  return "8PSK_5_TO_6_NORMAL_NOPILOTS";
985  return "8PSK_5_TO_6_NORMAL_PILOTS";
987  return "8PSK_5_TO_6_SHORT_NOPILOTS";
989  return "8PSK_5_TO_6_SHORT_PILOTS";
991  return "8PSK_8_TO_9_NORMAL_NOPILOTS";
993  return "8PSK_8_TO_9_NORMAL_PILOTS";
995  return "8PSK_8_TO_9_SHORT_NOPILOTS";
997  return "8PSK_8_TO_9_SHORT_PILOTS";
999  return "8PSK_9_TO_10_NORMAL_NOPILOTS";
1001  return "8PSK_9_TO_10_NORMAL_PILOTS";
1003  return "8APSK_5_TO_9_L_NORMAL_NOPILOTS";
1005  return "8APSK_5_TO_9_L_NORMAL_PILOTS";
1007  return "8APSK_26_TO_45_L_NORMAL_NOPILOTS";
1009  return "8APSK_26_TO_45_L_NORMAL_PILOTS";
1011  return "16APSK_7_TO_15_SHORT_NOPILOTS";
1013  return "16APSK_7_TO_15_SHORT_PILOTS";
1015  return "16APSK_1_TO_2_L_NORMAL_NOPILOTS";
1017  return "16APSK_1_TO_2_L_NORMAL_PILOTS";
1019  return "16APSK_8_TO_15_L_NORMAL_NOPILOTS";
1021  return "16APSK_8_TO_15_L_NORMAL_PILOTS";
1023  return "16APSK_8_TO_15_SHORT_NOPILOTS";
1025  return "16APSK_8_TO_15_SHORT_PILOTS";
1027  return "16APSK_5_TO_9_L_NORMAL_NOPILOTS";
1029  return "16APSK_5_TO_9_L_NORMAL_PILOTS";
1031  return "16APSK_26_TO_45_NORMAL_NOPILOTS";
1033  return "16APSK_26_TO_45_NORMAL_PILOTS";
1035  return "16APSK_26_TO_45_SHORT_NOPILOTS";
1037  return "16APSK_26_TO_45_SHORT_PILOTS";
1039  return "16APSK_3_TO_5_NORMAL_NOPILOTS";
1041  return "16APSK_3_TO_5_NORMAL_PILOTS";
1043  return "16APSK_3_TO_5_L_NORMAL_NOPILOTS";
1045  return "16APSK_3_TO_5_L_NORMAL_PILOTS";
1047  return "16APSK_3_TO_5_SHORT_NOPILOTS";
1049  return "16APSK_3_TO_5_SHORT_PILOTS";
1051  return "16APSK_28_TO_45_NORMAL_NOPILOTS";
1053  return "16APSK_28_TO_45_NORMAL_PILOTS";
1055  return "16APSK_23_TO_36_NORMAL_NOPILOTS";
1057  return "16APSK_23_TO_36_NORMAL_PILOTS";
1059  return "16APSK_2_TO_3_L_NORMAL_NOPILOTS";
1061  return "16APSK_2_TO_3_L_NORMAL_PILOTS";
1063  return "16APSK_2_TO_3_NORMAL_NOPILOTS";
1065  return "16APSK_2_TO_3_NORMAL_PILOTS";
1067  return "16APSK_2_TO_3_SHORT_NOPILOTS";
1069  return "16APSK_2_TO_3_SHORT_PILOTS";
1071  return "16APSK_25_TO_36_NORMAL_NOPILOTS";
1073  return "16APSK_25_TO_36_NORMAL_PILOTS";
1075  return "16APSK_32_TO_45_SHORT_NOPILOTS";
1077  return "16APSK_32_TO_45_SHORT_PILOTS";
1079  return "16APSK_13_TO_18_NORMAL_NOPILOTS";
1081  return "16APSK_13_TO_18_NORMAL_PILOTS";
1083  return "16APSK_3_TO_4_NORMAL_NOPILOTS";
1085  return "16APSK_3_TO_4_NORMAL_PILOTS";
1087  return "16APSK_3_TO_4_SHORT_NOPILOTS";
1089  return "16APSK_3_TO_4_SHORT_PILOTS";
1091  return "16APSK_7_TO_9_NORMAL_NOPILOTS";
1093  return "16APSK_7_TO_9_NORMAL_PILOTS";
1095  return "16APSK_4_TO_5_NORMAL_NOPILOTS";
1097  return "16APSK_4_TO_5_NORMAL_PILOTS";
1099  return "16APSK_4_TO_5_SHORT_NOPILOTS";
1101  return "16APSK_4_TO_5_SHORT_PILOTS";
1103  return "16APSK_5_TO_6_NORMAL_NOPILOTS";
1105  return "16APSK_5_TO_6_NORMAL_PILOTS";
1107  return "16APSK_5_TO_6_SHORT_NOPILOTS";
1109  return "16APSK_5_TO_6_SHORT_PILOTS";
1111  return "16APSK_77_TO_90_NORMAL_NOPILOTS";
1113  return "16APSK_77_TO_90_NORMAL_PILOTS";
1115  return "16APSK_8_TO_9_NORMAL_NOPILOTS";
1117  return "16APSK_8_TO_9_NORMAL_PILOTS";
1119  return "16APSK_8_TO_9_SHORT_NOPILOTS";
1121  return "16APSK_8_TO_9_SHORT_PILOTS";
1123  return "16APSK_9_TO_10_NORMAL_NOPILOTS";
1125  return "16APSK_9_TO_10_NORMAL_PILOTS";
1127  return "32APSK_2_TO_3_L_NORMAL_NOPILOTS";
1129  return "32APSK_2_TO_3_L_NORMAL_PILOTS";
1131  return "32APSK_2_TO_3_SHORT_NOPILOTS";
1133  return "32APSK_2_TO_3_SHORT_PILOTS";
1135  return "32APSK_32_TO_45_NORMAL_NOPILOTS";
1137  return "32APSK_32_TO_45_NORMAL_PILOTS";
1139  return "32APSK_32_TO_45_SHORT_NOPILOTS";
1141  return "32APSK_32_TO_45_SHORT_PILOTS";
1143  return "32APSK_11_TO_15_NORMAL_NOPILOTS";
1145  return "32APSK_11_TO_15_NORMAL_PILOTS";
1147  return "32APSK_3_TO_4_NORMAL_NOPILOTS";
1149  return "32APSK_3_TO_4_NORMAL_PILOTS";
1151  return "32APSK_3_TO_4_SHORT_NOPILOTS";
1153  return "32APSK_3_TO_4_SHORT_PILOTS";
1155  return "32APSK_7_TO_9_NORMAL_NOPILOTS";
1157  return "32APSK_7_TO_9_NORMAL_PILOTS";
1159  return "32APSK_4_TO_5_NORMAL_NOPILOTS";
1161  return "32APSK_4_TO_5_NORMAL_PILOTS";
1163  return "32APSK_4_TO_5_SHORT_NOPILOTS";
1165  return "32APSK_4_TO_5_SHORT_PILOTS";
1167  return "32APSK_5_TO_6_NORMAL_NOPILOTS";
1169  return "32APSK_5_TO_6_NORMAL_PILOTS";
1171  return "32APSK_5_TO_6_SHORT_NOPILOTS";
1173  return "32APSK_5_TO_6_SHORT_PILOTS";
1175  return "32APSK_8_TO_9_NORMAL_NOPILOTS";
1177  return "32APSK_8_TO_9_NORMAL_PILOTS";
1179  return "32APSK_8_TO_9_SHORT_NOPILOTS";
1181  return "32APSK_8_TO_9_SHORT_PILOTS";
1183  return "32APSK_9_TO_10_NORMAL_NOPILOTS";
1185  return "32APSK_9_TO_10_NORMAL_PILOTS";
1187  return "64APSK_32_TO_45_L_NORMAL_NOPILOTS";
1189  return "64APSK_32_TO_45_L_NORMAL_PILOTS";
1191  return "64APSK_11_TO_15_NORMAL_NOPILOTS";
1193  return "64APSK_11_TO_15_NORMAL_PILOTS";
1195  return "64APSK_7_TO_9_NORMAL_NOPILOTS";
1197  return "64APSK_7_TO_9_NORMAL_PILOTS";
1199  return "64APSK_4_TO_5_NORMAL_NOPILOTS";
1201  return "64APSK_4_TO_5_NORMAL_PILOTS";
1203  return "64APSK_5_TO_6_NORMAL_NOPILOTS";
1205  return "64APSK_5_TO_6_NORMAL_PILOTS";
1207  return "128APSK_3_TO_4_NORMAL_NOPILOTS";
1209  return "128APSK_3_TO_4_NORMAL_PILOTS";
1211  return "128APSK_7_TO_9_NORMAL_NOPILOTS";
1213  return "128APSK_7_TO_9_NORMAL_PILOTS";
1215  return "256APSK_29_TO_45_L_NORMAL_NOPILOTS";
1217  return "256APSK_29_TO_45_L_NORMAL_PILOTS";
1219  return "256APSK_2_TO_3_L_NORMAL_NOPILOTS";
1221  return "256APSK_2_TO_3_L_NORMAL_PILOTS";
1223  return "256APSK_31_TO_45_L_NORMAL_NOPILOTS";
1225  return "256APSK_31_TO_45_L_NORMAL_PILOTS";
1227  return "256APSK_32_TO_45_NORMAL_NOPILOTS";
1229  return "256APSK_32_TO_45_NORMAL_PILOTS";
1231  return "256APSK_11_TO_15_L_NORMAL_NOPILOTS";
1233  return "256APSK_11_TO_15_L_NORMAL_PILOTS";
1235  return "256APSK_3_TO_4_NORMAL_NOPILOTS";
1237  return "256APSK_3_TO_4_NORMAL_PILOTS";
1238  default: {
1239  NS_FATAL_ERROR("SatEnums::GetModcodTypeName - Invalid modcod type");
1240  break;
1241  }
1242  }
1243  NS_FATAL_ERROR("SatEnums::GetModcodTypeName - Invalid modcod type");
1244  return "";
1245  }
1246 
1247  static inline SatModcod_t GetModcodFromName(const std::string name)
1248  {
1249  if (name == "SAT_NONVALID_MODCOD")
1250  return SAT_NONVALID_MODCOD;
1251  // DVB-S2X ModCods
1252  if (name == "SAT_MODCOD_S2X_QPSK_11_TO_45_SHORT_NOPILOTS")
1254  if (name == "SAT_MODCOD_S2X_QPSK_11_TO_45_SHORT_PILOTS")
1256  if (name == "SAT_MODCOD_S2X_QPSK_1_TO_4_NORMAL_NOPILOTS")
1258  if (name == "SAT_MODCOD_S2X_QPSK_1_TO_4_NORMAL_PILOTS")
1260  if (name == "SAT_MODCOD_S2X_QPSK_1_TO_4_SHORT_NOPILOTS")
1262  if (name == "SAT_MODCOD_S2X_QPSK_1_TO_4_SHORT_PILOTS")
1264  if (name == "SAT_MODCOD_S2X_QPSK_4_TO_15_SHORT_NOPILOTS")
1266  if (name == "SAT_MODCOD_S2X_QPSK_4_TO_15_SHORT_PILOTS")
1268  if (name == "SAT_MODCOD_S2X_QPSK_13_TO_45_NORMAL_NOPILOTS")
1270  if (name == "SAT_MODCOD_S2X_QPSK_13_TO_45_NORMAL_PILOTS")
1272  if (name == "SAT_MODCOD_S2X_QPSK_14_TO_45_SHORT_NOPILOTS")
1274  if (name == "SAT_MODCOD_S2X_QPSK_14_TO_45_SHORT_PILOTS")
1276  if (name == "SAT_MODCOD_S2X_QPSK_1_TO_3_NORMAL_NOPILOTS")
1278  if (name == "SAT_MODCOD_S2X_QPSK_1_TO_3_NORMAL_PILOTS")
1280  if (name == "SAT_MODCOD_S2X_QPSK_1_TO_3_SHORT_NOPILOTS")
1282  if (name == "SAT_MODCOD_S2X_QPSK_1_TO_3_SHORT_PILOTS")
1284  if (name == "SAT_MODCOD_S2X_QPSK_2_TO_5_NORMAL_NOPILOTS")
1286  if (name == "SAT_MODCOD_S2X_QPSK_2_TO_5_NORMAL_PILOTS")
1288  if (name == "SAT_MODCOD_S2X_QPSK_2_TO_5_SHORT_NOPILOTS")
1290  if (name == "SAT_MODCOD_S2X_QPSK_2_TO_5_SHORT_PILOTS")
1292  if (name == "SAT_MODCOD_S2X_QPSK_9_TO_20_NORMAL_NOPILOTS")
1294  if (name == "SAT_MODCOD_S2X_QPSK_9_TO_20_NORMAL_PILOTS")
1296  if (name == "SAT_MODCOD_S2X_QPSK_7_TO_15_SHORT_NOPILOTS")
1298  if (name == "SAT_MODCOD_S2X_QPSK_7_TO_15_SHORT_PILOTS")
1300  if (name == "SAT_MODCOD_S2X_QPSK_1_TO_2_NORMAL_NOPILOTS")
1302  if (name == "SAT_MODCOD_S2X_QPSK_1_TO_2_NORMAL_PILOTS")
1304  if (name == "SAT_MODCOD_S2X_QPSK_1_TO_2_SHORT_NOPILOTS")
1306  if (name == "SAT_MODCOD_S2X_QPSK_1_TO_2_SHORT_PILOTS")
1308  if (name == "SAT_MODCOD_S2X_QPSK_8_TO_15_SHORT_NOPILOTS")
1310  if (name == "SAT_MODCOD_S2X_QPSK_8_TO_15_SHORT_PILOTS")
1312  if (name == "SAT_MODCOD_S2X_QPSK_11_TO_20_NORMAL_NOPILOTS")
1314  if (name == "SAT_MODCOD_S2X_QPSK_11_TO_20_NORMAL_PILOTS")
1316  if (name == "SAT_MODCOD_S2X_QPSK_3_TO_5_NORMAL_NOPILOTS")
1318  if (name == "SAT_MODCOD_S2X_QPSK_3_TO_5_NORMAL_PILOTS")
1320  if (name == "SAT_MODCOD_S2X_QPSK_3_TO_5_SHORT_NOPILOTS")
1322  if (name == "SAT_MODCOD_S2X_QPSK_3_TO_5_SHORT_PILOTS")
1324  if (name == "SAT_MODCOD_S2X_QPSK_2_TO_3_NORMAL_NOPILOTS")
1326  if (name == "SAT_MODCOD_S2X_QPSK_2_TO_3_NORMAL_PILOTS")
1328  if (name == "SAT_MODCOD_S2X_QPSK_2_TO_3_SHORT_NOPILOTS")
1330  if (name == "SAT_MODCOD_S2X_QPSK_2_TO_3_SHORT_PILOTS")
1332  if (name == "SAT_MODCOD_S2X_QPSK_32_TO_45_SHORT_NOPILOTS")
1334  if (name == "SAT_MODCOD_S2X_QPSK_32_TO_45_SHORT_PILOTS")
1336  if (name == "SAT_MODCOD_S2X_QPSK_3_TO_4_NORMAL_NOPILOTS")
1338  if (name == "SAT_MODCOD_S2X_QPSK_3_TO_4_NORMAL_PILOTS")
1340  if (name == "SAT_MODCOD_S2X_QPSK_3_TO_4_SHORT_NOPILOTS")
1342  if (name == "SAT_MODCOD_S2X_QPSK_3_TO_4_SHORT_PILOTS")
1344  if (name == "SAT_MODCOD_S2X_QPSK_4_TO_5_NORMAL_NOPILOTS")
1346  if (name == "SAT_MODCOD_S2X_QPSK_4_TO_5_NORMAL_PILOTS")
1348  if (name == "SAT_MODCOD_S2X_QPSK_4_TO_5_SHORT_NOPILOTS")
1350  if (name == "SAT_MODCOD_S2X_QPSK_4_TO_5_SHORT_PILOTS")
1352  if (name == "SAT_MODCOD_S2X_QPSK_5_TO_6_NORMAL_NOPILOTS")
1354  if (name == "SAT_MODCOD_S2X_QPSK_5_TO_6_NORMAL_PILOTS")
1356  if (name == "SAT_MODCOD_S2X_QPSK_5_TO_6_SHORT_NOPILOTS")
1358  if (name == "SAT_MODCOD_S2X_QPSK_5_TO_6_SHORT_PILOTS")
1360  if (name == "SAT_MODCOD_S2X_QPSK_8_TO_9_NORMAL_NOPILOTS")
1362  if (name == "SAT_MODCOD_S2X_QPSK_8_TO_9_NORMAL_PILOTS")
1364  if (name == "SAT_MODCOD_S2X_QPSK_8_TO_9_SHORT_NOPILOTS")
1366  if (name == "SAT_MODCOD_S2X_QPSK_8_TO_9_SHORT_PILOTS")
1368  if (name == "SAT_MODCOD_S2X_QPSK_9_TO_10_NORMAL_NOPILOTS")
1370  if (name == "SAT_MODCOD_S2X_QPSK_9_TO_10_NORMAL_PILOTS")
1372  if (name == "SAT_MODCOD_S2X_8PSK_7_TO_15_SHORT_NOPILOTS")
1374  if (name == "SAT_MODCOD_S2X_8PSK_7_TO_15_SHORT_PILOTS")
1376  if (name == "SAT_MODCOD_S2X_8PSK_8_TO_15_SHORT_NOPILOTS")
1378  if (name == "SAT_MODCOD_S2X_8PSK_8_TO_15_SHORT_PILOTS")
1380  if (name == "SAT_MODCOD_S2X_8PSK_26_TO_45_SHORT_NOPILOTS")
1382  if (name == "SAT_MODCOD_S2X_8PSK_26_TO_45_SHORT_PILOTS")
1384  if (name == "SAT_MODCOD_S2X_8PSK_3_TO_5_NORMAL_NOPILOTS")
1386  if (name == "SAT_MODCOD_S2X_8PSK_3_TO_5_NORMAL_PILOTS")
1388  if (name == "SAT_MODCOD_S2X_8PSK_3_TO_5_SHORT_NOPILOTS")
1390  if (name == "SAT_MODCOD_S2X_8PSK_3_TO_5_SHORT_PILOTS")
1392  if (name == "SAT_MODCOD_S2X_8PSK_23_TO_36_NORMAL_NOPILOTS")
1394  if (name == "SAT_MODCOD_S2X_8PSK_23_TO_36_NORMAL_PILOTS")
1396  if (name == "SAT_MODCOD_S2X_8PSK_2_TO_3_NORMAL_NOPILOTS")
1398  if (name == "SAT_MODCOD_S2X_8PSK_2_TO_3_NORMAL_PILOTS")
1400  if (name == "SAT_MODCOD_S2X_8PSK_2_TO_3_SHORT_NOPILOTS")
1402  if (name == "SAT_MODCOD_S2X_8PSK_2_TO_3_SHORT_PILOTS")
1404  if (name == "SAT_MODCOD_S2X_8PSK_25_TO_36_NORMAL_NOPILOTS")
1406  if (name == "SAT_MODCOD_S2X_8PSK_25_TO_36_NORMAL_PILOTS")
1408  if (name == "SAT_MODCOD_S2X_8PSK_32_TO_45_SHORT_NOPILOTS")
1410  if (name == "SAT_MODCOD_S2X_8PSK_32_TO_45_SHORT_PILOTS")
1412  if (name == "SAT_MODCOD_S2X_8PSK_13_TO_18_NORMAL_NOPILOTS")
1414  if (name == "SAT_MODCOD_S2X_8PSK_13_TO_18_NORMAL_PILOTS")
1416  if (name == "SAT_MODCOD_S2X_8PSK_3_TO_4_NORMAL_NOPILOTS")
1418  if (name == "SAT_MODCOD_S2X_8PSK_3_TO_4_NORMAL_PILOTS")
1420  if (name == "SAT_MODCOD_S2X_8PSK_3_TO_4_SHORT_NOPILOTS")
1422  if (name == "SAT_MODCOD_S2X_8PSK_3_TO_4_SHORT_PILOTS")
1424  if (name == "SAT_MODCOD_S2X_8PSK_5_TO_6_NORMAL_NOPILOTS")
1426  if (name == "SAT_MODCOD_S2X_8PSK_5_TO_6_NORMAL_PILOTS")
1428  if (name == "SAT_MODCOD_S2X_8PSK_5_TO_6_SHORT_NOPILOTS")
1430  if (name == "SAT_MODCOD_S2X_8PSK_5_TO_6_SHORT_PILOTS")
1432  if (name == "SAT_MODCOD_S2X_8PSK_8_TO_9_NORMAL_NOPILOTS")
1434  if (name == "SAT_MODCOD_S2X_8PSK_8_TO_9_NORMAL_PILOTS")
1436  if (name == "SAT_MODCOD_S2X_8PSK_8_TO_9_SHORT_NOPILOTS")
1438  if (name == "SAT_MODCOD_S2X_8PSK_8_TO_9_SHORT_PILOTS")
1440  if (name == "SAT_MODCOD_S2X_8PSK_9_TO_10_NORMAL_NOPILOTS")
1442  if (name == "SAT_MODCOD_S2X_8PSK_9_TO_10_NORMAL_PILOTS")
1444  if (name == "SAT_MODCOD_S2X_8APSK_5_TO_9_L_NORMAL_NOPILOTS")
1446  if (name == "SAT_MODCOD_S2X_8APSK_5_TO_9_L_NORMAL_PILOTS")
1448  if (name == "SAT_MODCOD_S2X_8APSK_26_TO_45_L_NORMAL_NOPILOTS")
1450  if (name == "SAT_MODCOD_S2X_8APSK_26_TO_45_L_NORMAL_PILOTS")
1452  if (name == "SAT_MODCOD_S2X_16APSK_7_TO_15_SHORT_NOPILOTS")
1454  if (name == "SAT_MODCOD_S2X_16APSK_7_TO_15_SHORT_PILOTS")
1456  if (name == "SAT_MODCOD_S2X_16APSK_1_TO_2_L_NORMAL_NOPILOTS")
1458  if (name == "SAT_MODCOD_S2X_16APSK_1_TO_2_L_NORMAL_PILOTS")
1460  if (name == "SAT_MODCOD_S2X_16APSK_8_TO_15_L_NORMAL_NOPILOTS")
1462  if (name == "SAT_MODCOD_S2X_16APSK_8_TO_15_L_NORMAL_PILOTS")
1464  if (name == "SAT_MODCOD_S2X_16APSK_8_TO_15_SHORT_NOPILOTS")
1466  if (name == "SAT_MODCOD_S2X_16APSK_8_TO_15_SHORT_PILOTS")
1468  if (name == "SAT_MODCOD_S2X_16APSK_5_TO_9_L_NORMAL_NOPILOTS")
1470  if (name == "SAT_MODCOD_S2X_16APSK_5_TO_9_L_NORMAL_PILOTS")
1472  if (name == "SAT_MODCOD_S2X_16APSK_26_TO_45_NORMAL_NOPILOTS")
1474  if (name == "SAT_MODCOD_S2X_16APSK_26_TO_45_NORMAL_PILOTS")
1476  if (name == "SAT_MODCOD_S2X_16APSK_26_TO_45_SHORT_NOPILOTS")
1478  if (name == "SAT_MODCOD_S2X_16APSK_26_TO_45_SHORT_PILOTS")
1480  if (name == "SAT_MODCOD_S2X_16APSK_3_TO_5_NORMAL_NOPILOTS")
1482  if (name == "SAT_MODCOD_S2X_16APSK_3_TO_5_NORMAL_PILOTS")
1484  if (name == "SAT_MODCOD_S2X_16APSK_3_TO_5_L_NORMAL_NOPILOTS")
1486  if (name == "SAT_MODCOD_S2X_16APSK_3_TO_5_L_NORMAL_PILOTS")
1488  if (name == "SAT_MODCOD_S2X_16APSK_3_TO_5_SHORT_NOPILOTS")
1490  if (name == "SAT_MODCOD_S2X_16APSK_3_TO_5_SHORT_PILOTS")
1492  if (name == "SAT_MODCOD_S2X_16APSK_28_TO_45_NORMAL_NOPILOTS")
1494  if (name == "SAT_MODCOD_S2X_16APSK_28_TO_45_NORMAL_PILOTS")
1496  if (name == "SAT_MODCOD_S2X_16APSK_23_TO_36_NORMAL_NOPILOTS")
1498  if (name == "SAT_MODCOD_S2X_16APSK_23_TO_36_NORMAL_PILOTS")
1500  if (name == "SAT_MODCOD_S2X_16APSK_2_TO_3_L_NORMAL_NOPILOTS")
1502  if (name == "SAT_MODCOD_S2X_16APSK_2_TO_3_L_NORMAL_PILOTS")
1504  if (name == "SAT_MODCOD_S2X_16APSK_2_TO_3_NORMAL_NOPILOTS")
1506  if (name == "SAT_MODCOD_S2X_16APSK_2_TO_3_NORMAL_PILOTS")
1508  if (name == "SAT_MODCOD_S2X_16APSK_2_TO_3_SHORT_NOPILOTS")
1510  if (name == "SAT_MODCOD_S2X_16APSK_2_TO_3_SHORT_PILOTS")
1512  if (name == "SAT_MODCOD_S2X_16APSK_25_TO_36_NORMAL_NOPILOTS")
1514  if (name == "SAT_MODCOD_S2X_16APSK_25_TO_36_NORMAL_PILOTS")
1516  if (name == "SAT_MODCOD_S2X_16APSK_32_TO_45_SHORT_NOPILOTS")
1518  if (name == "SAT_MODCOD_S2X_16APSK_32_TO_45_SHORT_PILOTS")
1520  if (name == "SAT_MODCOD_S2X_16APSK_13_TO_18_NORMAL_NOPILOTS")
1522  if (name == "SAT_MODCOD_S2X_16APSK_13_TO_18_NORMAL_PILOTS")
1524  if (name == "SAT_MODCOD_S2X_16APSK_3_TO_4_NORMAL_NOPILOTS")
1526  if (name == "SAT_MODCOD_S2X_16APSK_3_TO_4_NORMAL_PILOTS")
1528  if (name == "SAT_MODCOD_S2X_16APSK_3_TO_4_SHORT_NOPILOTS")
1530  if (name == "SAT_MODCOD_S2X_16APSK_3_TO_4_SHORT_PILOTS")
1532  if (name == "SAT_MODCOD_S2X_16APSK_7_TO_9_NORMAL_NOPILOTS")
1534  if (name == "SAT_MODCOD_S2X_16APSK_7_TO_9_NORMAL_PILOTS")
1536  if (name == "SAT_MODCOD_S2X_16APSK_4_TO_5_NORMAL_NOPILOTS")
1538  if (name == "SAT_MODCOD_S2X_16APSK_4_TO_5_NORMAL_PILOTS")
1540  if (name == "SAT_MODCOD_S2X_16APSK_4_TO_5_SHORT_NOPILOTS")
1542  if (name == "SAT_MODCOD_S2X_16APSK_4_TO_5_SHORT_PILOTS")
1544  if (name == "SAT_MODCOD_S2X_16APSK_5_TO_6_NORMAL_NOPILOTS")
1546  if (name == "SAT_MODCOD_S2X_16APSK_5_TO_6_NORMAL_PILOTS")
1548  if (name == "SAT_MODCOD_S2X_16APSK_5_TO_6_SHORT_NOPILOTS")
1550  if (name == "SAT_MODCOD_S2X_16APSK_5_TO_6_SHORT_PILOTS")
1552  if (name == "SAT_MODCOD_S2X_16APSK_77_TO_90_NORMAL_NOPILOTS")
1554  if (name == "SAT_MODCOD_S2X_16APSK_77_TO_90_NORMAL_PILOTS")
1556  if (name == "SAT_MODCOD_S2X_16APSK_8_TO_9_NORMAL_NOPILOTS")
1558  if (name == "SAT_MODCOD_S2X_16APSK_8_TO_9_NORMAL_PILOTS")
1560  if (name == "SAT_MODCOD_S2X_16APSK_8_TO_9_SHORT_NOPILOTS")
1562  if (name == "SAT_MODCOD_S2X_16APSK_8_TO_9_SHORT_PILOTS")
1564  if (name == "SAT_MODCOD_S2X_16APSK_9_TO_10_NORMAL_NOPILOTS")
1566  if (name == "SAT_MODCOD_S2X_16APSK_9_TO_10_NORMAL_PILOTS")
1568  if (name == "SAT_MODCOD_S2X_32APSK_2_TO_3_L_NORMAL_NOPILOTS")
1570  if (name == "SAT_MODCOD_S2X_32APSK_2_TO_3_L_NORMAL_PILOTS")
1572  if (name == "SAT_MODCOD_S2X_32APSK_2_TO_3_SHORT_NOPILOTS")
1574  if (name == "SAT_MODCOD_S2X_32APSK_2_TO_3_SHORT_PILOTS")
1576  if (name == "SAT_MODCOD_S2X_32APSK_32_TO_45_NORMAL_NOPILOTS")
1578  if (name == "SAT_MODCOD_S2X_32APSK_32_TO_45_NORMAL_PILOTS")
1580  if (name == "SAT_MODCOD_S2X_32APSK_32_TO_45_SHORT_NOPILOTS")
1582  if (name == "SAT_MODCOD_S2X_32APSK_32_TO_45_SHORT_PILOTS")
1584  if (name == "SAT_MODCOD_S2X_32APSK_11_TO_15_NORMAL_NOPILOTS")
1586  if (name == "SAT_MODCOD_S2X_32APSK_11_TO_15_NORMAL_PILOTS")
1588  if (name == "SAT_MODCOD_S2X_32APSK_3_TO_4_NORMAL_NOPILOTS")
1590  if (name == "SAT_MODCOD_S2X_32APSK_3_TO_4_NORMAL_PILOTS")
1592  if (name == "SAT_MODCOD_S2X_32APSK_3_TO_4_SHORT_NOPILOTS")
1594  if (name == "SAT_MODCOD_S2X_32APSK_3_TO_4_SHORT_PILOTS")
1596  if (name == "SAT_MODCOD_S2X_32APSK_7_TO_9_NORMAL_NOPILOTS")
1598  if (name == "SAT_MODCOD_S2X_32APSK_7_TO_9_NORMAL_PILOTS")
1600  if (name == "SAT_MODCOD_S2X_32APSK_4_TO_5_NORMAL_NOPILOTS")
1602  if (name == "SAT_MODCOD_S2X_32APSK_4_TO_5_NORMAL_PILOTS")
1604  if (name == "SAT_MODCOD_S2X_32APSK_4_TO_5_SHORT_NOPILOTS")
1606  if (name == "SAT_MODCOD_S2X_32APSK_4_TO_5_SHORT_PILOTS")
1608  if (name == "SAT_MODCOD_S2X_32APSK_5_TO_6_NORMAL_NOPILOTS")
1610  if (name == "SAT_MODCOD_S2X_32APSK_5_TO_6_NORMAL_PILOTS")
1612  if (name == "SAT_MODCOD_S2X_32APSK_5_TO_6_SHORT_NOPILOTS")
1614  if (name == "SAT_MODCOD_S2X_32APSK_5_TO_6_SHORT_PILOTS")
1616  if (name == "SAT_MODCOD_S2X_32APSK_8_TO_9_NORMAL_NOPILOTS")
1618  if (name == "SAT_MODCOD_S2X_32APSK_8_TO_9_NORMAL_PILOTS")
1620  if (name == "SAT_MODCOD_S2X_32APSK_8_TO_9_SHORT_NOPILOTS")
1622  if (name == "SAT_MODCOD_S2X_32APSK_8_TO_9_SHORT_PILOTS")
1624  if (name == "SAT_MODCOD_S2X_32APSK_9_TO_10_NORMAL_NOPILOTS")
1626  if (name == "SAT_MODCOD_S2X_32APSK_9_TO_10_NORMAL_PILOTS")
1628  if (name == "SAT_MODCOD_S2X_64APSK_32_TO_45_L_NORMAL_NOPILOTS")
1630  if (name == "SAT_MODCOD_S2X_64APSK_32_TO_45_L_NORMAL_PILOTS")
1632  if (name == "SAT_MODCOD_S2X_64APSK_11_TO_15_NORMAL_NOPILOTS")
1634  if (name == "SAT_MODCOD_S2X_64APSK_11_TO_15_NORMAL_PILOTS")
1636  if (name == "SAT_MODCOD_S2X_64APSK_7_TO_9_NORMAL_NOPILOTS")
1638  if (name == "SAT_MODCOD_S2X_64APSK_7_TO_9_NORMAL_PILOTS")
1640  if (name == "SAT_MODCOD_S2X_64APSK_4_TO_5_NORMAL_NOPILOTS")
1642  if (name == "SAT_MODCOD_S2X_64APSK_4_TO_5_NORMAL_PILOTS")
1644  if (name == "SAT_MODCOD_S2X_64APSK_5_TO_6_NORMAL_NOPILOTS")
1646  if (name == "SAT_MODCOD_S2X_64APSK_5_TO_6_NORMAL_PILOTS")
1648  if (name == "SAT_MODCOD_S2X_128APSK_3_TO_4_NORMAL_NOPILOTS")
1650  if (name == "SAT_MODCOD_S2X_128APSK_3_TO_4_NORMAL_PILOTS")
1652  if (name == "SAT_MODCOD_S2X_128APSK_7_TO_9_NORMAL_NOPILOTS")
1654  if (name == "SAT_MODCOD_S2X_128APSK_7_TO_9_NORMAL_PILOTS")
1656  if (name == "SAT_MODCOD_S2X_256APSK_29_TO_45_L_NORMAL_NOPILOTS")
1658  if (name == "SAT_MODCOD_S2X_256APSK_29_TO_45_L_NORMAL_PILOTS")
1660  if (name == "SAT_MODCOD_S2X_256APSK_2_TO_3_L_NORMAL_NOPILOTS")
1662  if (name == "SAT_MODCOD_S2X_256APSK_2_TO_3_L_NORMAL_PILOTS")
1664  if (name == "SAT_MODCOD_S2X_256APSK_31_TO_45_L_NORMAL_NOPILOTS")
1666  if (name == "SAT_MODCOD_S2X_256APSK_31_TO_45_L_NORMAL_PILOTS")
1668  if (name == "SAT_MODCOD_S2X_256APSK_32_TO_45_NORMAL_NOPILOTS")
1670  if (name == "SAT_MODCOD_S2X_256APSK_32_TO_45_NORMAL_PILOTS")
1672  if (name == "SAT_MODCOD_S2X_256APSK_11_TO_15_L_NORMAL_NOPILOTS")
1674  if (name == "SAT_MODCOD_S2X_256APSK_11_TO_15_L_NORMAL_PILOTS")
1676  if (name == "SAT_MODCOD_S2X_256APSK_3_TO_4_NORMAL_NOPILOTS")
1678  if (name == "SAT_MODCOD_S2X_256APSK_3_TO_4_NORMAL_PILOTS")
1680  // DVB-S2 ModCods
1681  if (name == "SAT_MODCOD_QPSK_1_TO_3")
1682  return SAT_MODCOD_QPSK_1_TO_3;
1683  if (name == "SAT_MODCOD_QPSK_1_TO_2")
1684  return SAT_MODCOD_QPSK_1_TO_2;
1685  if (name == "SAT_MODCOD_QPSK_2_TO_3")
1686  return SAT_MODCOD_QPSK_2_TO_3;
1687  if (name == "SAT_MODCOD_QPSK_3_TO_4")
1688  return SAT_MODCOD_QPSK_3_TO_4;
1689  if (name == "SAT_MODCOD_QPSK_3_TO_5")
1690  return SAT_MODCOD_QPSK_3_TO_5;
1691  if (name == "SAT_MODCOD_QPSK_4_TO_5")
1692  return SAT_MODCOD_QPSK_4_TO_5;
1693  if (name == "SAT_MODCOD_QPSK_5_TO_6")
1694  return SAT_MODCOD_QPSK_5_TO_6;
1695  if (name == "SAT_MODCOD_QPSK_8_TO_9")
1696  return SAT_MODCOD_QPSK_8_TO_9;
1697  if (name == "SAT_MODCOD_QPSK_9_TO_10")
1698  return SAT_MODCOD_QPSK_9_TO_10;
1699  if (name == "SAT_MODCOD_8PSK_2_TO_3")
1700  return SAT_MODCOD_8PSK_2_TO_3;
1701  if (name == "SAT_MODCOD_8PSK_3_TO_4")
1702  return SAT_MODCOD_8PSK_3_TO_4;
1703  if (name == "SAT_MODCOD_8PSK_3_TO_5")
1704  return SAT_MODCOD_8PSK_3_TO_5;
1705  if (name == "SAT_MODCOD_8PSK_5_TO_6")
1706  return SAT_MODCOD_8PSK_5_TO_6;
1707  if (name == "SAT_MODCOD_8PSK_8_TO_9")
1708  return SAT_MODCOD_8PSK_8_TO_9;
1709  if (name == "SAT_MODCOD_8PSK_9_TO_10")
1710  return SAT_MODCOD_8PSK_9_TO_10;
1711  if (name == "SAT_MODCOD_16APSK_2_TO_3")
1712  return SAT_MODCOD_16APSK_2_TO_3;
1713  if (name == "SAT_MODCOD_16APSK_3_TO_4")
1714  return SAT_MODCOD_16APSK_3_TO_4;
1715  if (name == "SAT_MODCOD_16APSK_4_TO_5")
1716  return SAT_MODCOD_16APSK_4_TO_5;
1717  if (name == "SAT_MODCOD_16APSK_5_TO_6")
1718  return SAT_MODCOD_16APSK_5_TO_6;
1719  if (name == "SAT_MODCOD_16APSK_8_TO_9")
1720  return SAT_MODCOD_16APSK_8_TO_9;
1721  if (name == "SAT_MODCOD_16APSK_9_TO_10")
1723  if (name == "SAT_MODCOD_16QAM_3_TO_4")
1724  return SAT_MODCOD_16QAM_3_TO_4;
1725  if (name == "SAT_MODCOD_16QAM_5_TO_6")
1726  return SAT_MODCOD_16QAM_5_TO_6;
1727  if (name == "SAT_MODCOD_32APSK_3_TO_4")
1728  return SAT_MODCOD_32APSK_3_TO_4;
1729  if (name == "SAT_MODCOD_32APSK_4_TO_5")
1730  return SAT_MODCOD_32APSK_4_TO_5;
1731  if (name == "SAT_MODCOD_32APSK_5_TO_6")
1732  return SAT_MODCOD_32APSK_5_TO_6;
1733  if (name == "SAT_MODCOD_32APSK_8_TO_9")
1734  return SAT_MODCOD_32APSK_8_TO_9;
1735  NS_FATAL_ERROR("Cannot fing ModCod: " + name);
1736  return SAT_NONVALID_MODCOD;
1737  }
1738 
1744  typedef enum
1745  {
1749  DUMMY_FRAME = 3
1751 
1752  static inline std::string GetFrameTypeName(SatBbFrameType_t frameType)
1753  {
1754  std::string typeName = "UNDEFINED_FRAME";
1755 
1756  switch (frameType)
1757  {
1758  case SHORT_FRAME:
1759  typeName = "SHORT_FRAME";
1760  break;
1761 
1762  case NORMAL_FRAME:
1763  typeName = "NORMAL_FRAME";
1764  break;
1765 
1766  case DUMMY_FRAME:
1767  typeName = "DUMMY_FRAME";
1768  break;
1769 
1770  default:
1771  NS_FATAL_ERROR("SatEnums::GetFrameTypeName - Invalid frame type");
1772  break;
1773  }
1774 
1775  return typeName;
1776  }
1777 
1783  typedef enum
1784  {
1786  EF_FID = 1,
1787  AF_FID = 2,
1788  BE_FID = 3,
1789  NUM_FIDS = 4
1791 
1795  typedef enum
1796  {
1802 
1806  typedef enum
1807  {
1809  DA_RBDC = 1,
1810  DA_VBDC = 2,
1811  DA_AVBDC = 3
1813 
1815  {
1816  switch (cac)
1817  {
1818  case DA_UNKNOWN: {
1819  return "UNKNOWN";
1820  }
1821  case DA_RBDC: {
1822  return "RBDC";
1823  }
1824  case DA_VBDC: {
1825  return "VBDC";
1826  }
1827  case DA_AVBDC: {
1828  return "AVBDC";
1829  }
1830  default: {
1831  NS_FATAL_ERROR("SatEnums::GetCapacityAllocationCategory - invalid CAC");
1832  break;
1833  }
1834  }
1835  NS_FATAL_ERROR("SatEnums::GetCapacityAllocationCategory - invalid CAC");
1836  return "";
1837  }
1838 
1839  static inline void GetAvailableBbFrameTypes(std::vector<SatBbFrameType_t>& frameTypes)
1840  {
1841  frameTypes.push_back(SHORT_FRAME);
1842  frameTypes.push_back(NORMAL_FRAME);
1843  }
1844 
1849  typedef enum
1850  {
1855 
1856  static inline std::string GetChannelTypeName(ChannelType_t channelType)
1857  {
1858  switch (channelType)
1859  {
1860  case UNKNOWN_CH: {
1861  return "UNKNOWN_CH";
1862  }
1863  case FORWARD_FEEDER_CH: {
1864  return "FORWARD_FEEDER_CH";
1865  }
1866  case FORWARD_USER_CH: {
1867  return "FORWARD_USER_CH";
1868  }
1869  case RETURN_USER_CH: {
1870  return "RETURN_USER_CH";
1871  }
1872  case RETURN_FEEDER_CH: {
1873  return "RETURN_FEEDER_CH";
1874  }
1875  default: {
1876  NS_FATAL_ERROR("SatEnums::GetChannelTypeName - Invalid channel type");
1877  break;
1878  }
1879  }
1880  NS_FATAL_ERROR("SatEnums::GetChannelTypeName - Invalid channel type");
1881  return "";
1882  }
1883 
1889  typedef enum
1890  {
1894  PACKET_DROP = 3
1896 
1897  static inline std::string GetPacketEventName(SatPacketEvent_t packetEvent)
1898  {
1899  switch (packetEvent)
1900  {
1901  case PACKET_SENT: {
1902  return "SND";
1903  }
1904  case PACKET_RECV: {
1905  return "RCV";
1906  }
1907  case PACKET_ENQUE: {
1908  return "ENQ";
1909  }
1910  case PACKET_DROP: {
1911  return "DRP";
1912  }
1913  default: {
1914  NS_FATAL_ERROR("SatEnums::GetPacketEventName - Invalid packet event");
1915  break;
1916  }
1917  }
1918  NS_FATAL_ERROR("SatEnums::GetPacketEventName - Invalid packet event");
1919  return "";
1920  }
1921 
1927  typedef enum
1928  {
1929  NT_UT = 0,
1930  NT_SAT = 1,
1931  NT_GW = 2,
1932  NT_NCC = 3,
1933  NT_TER = 4,
1934  NT_UNDEFINED = 5
1936 
1937  static inline std::string GetNodeTypeName(SatNodeType_t nodeType)
1938  {
1939  switch (nodeType)
1940  {
1941  case NT_UT: {
1942  return "UT";
1943  }
1944  case NT_SAT: {
1945  return "SAT";
1946  }
1947  case NT_GW: {
1948  return "GW";
1949  }
1950  case NT_NCC: {
1951  return "NCC";
1952  }
1953  case NT_TER: {
1954  return "TER";
1955  }
1956  case NT_UNDEFINED: {
1957  return "UNDEF";
1958  }
1959  default: {
1960  NS_FATAL_ERROR("SatEnums::GetNodeTypeName - Invalid node type");
1961  break;
1962  }
1963  }
1964  NS_FATAL_ERROR("SatEnums::GetNodeTypeName - Invalid node type");
1965  return "";
1966  }
1967 
1973  typedef enum
1974  {
1977  LD_UNDEFINED = 2
1979 
1980  static inline std::string GetLinkDirName(SatLinkDir_t linkDir)
1981  {
1982  switch (linkDir)
1983  {
1984  case LD_FORWARD: {
1985  return "FWD";
1986  }
1987  case LD_RETURN: {
1988  return "RTN";
1989  }
1990  case LD_UNDEFINED: {
1991  return "UNDEF";
1992  }
1993  default: {
1994  NS_FATAL_ERROR("SatEnums::GetLinkDirName - Invalid link direction");
1995  break;
1996  }
1997  }
1998  NS_FATAL_ERROR("SatEnums::GetLinkDirName - Invalid link direction");
1999  return "";
2000  }
2001 
2007  typedef enum
2008  {
2009  LL_ND = 0,
2010  LL_LLC = 1,
2011  LL_MAC = 2,
2012  LL_PHY = 3,
2013  LL_CH = 4,
2014  } SatLogLevel_t;
2015 
2016  static inline std::string GetLogLevelName(SatLogLevel_t logLevel)
2017  {
2018  switch (logLevel)
2019  {
2020  case LL_ND: {
2021  return "ND";
2022  }
2023  case LL_LLC: {
2024  return "LLC";
2025  }
2026  case LL_MAC: {
2027  return "MAC";
2028  }
2029  case LL_PHY: {
2030  return "PHY";
2031  }
2032  case LL_CH: {
2033  return "CH";
2034  }
2035  default: {
2036  NS_FATAL_ERROR("SatEnums::GetLogLevelName - Invalid log level");
2037  break;
2038  }
2039  }
2040  NS_FATAL_ERROR("SatEnums::GetLogLevelName - Invalid log level");
2041  return "";
2042  }
2043 
2049  typedef enum
2050  {
2055 
2056  static inline std::string GetRandomAccessTriggerTypeName(RandomAccessTriggerType_t triggerType)
2057  {
2058  switch (triggerType)
2059  {
2061  return "RA_TRIGGER_TYPE_SLOTTED_ALOHA";
2062  }
2063  case RA_TRIGGER_TYPE_CRDSA: {
2064  return "RA_TRIGGER_TYPE_CRDSA";
2065  }
2066  case RA_TRIGGER_TYPE_ESSA: {
2067  return "RA_TRIGGER_TYPE_ESSA";
2068  }
2069  default: {
2070  NS_FATAL_ERROR("SatEnums::GetRandomAccessTriggerTypeName - Invalid trigger type");
2071  break;
2072  }
2073  }
2074  NS_FATAL_ERROR("SatEnums::GetRandomAccessTriggerTypeName - Invalid trigger type");
2075  return "";
2076  }
2077 
2082  typedef enum
2083  {
2089  RA_MODEL_ESSA = 5
2091 
2092  static inline std::string GetRandomAccessModelName(RandomAccessModel_t model)
2093  {
2094  switch (model)
2095  {
2096  case RA_MODEL_OFF: {
2097  return "RA_MODEL_OFF";
2098  }
2099  case RA_MODEL_SLOTTED_ALOHA: {
2100  return "RA_MODEL_SLOTTED_ALOHA";
2101  }
2102  case RA_MODEL_CRDSA: {
2103  return "RA_MODEL_CRDSA";
2104  }
2106  return "RA_MODEL_RCS2_SPECIFICATION";
2107  }
2108  case RA_MODEL_ESSA: {
2109  return "RA_MODEL_ESSA";
2110  }
2111  default: {
2112  NS_FATAL_ERROR("SatEnums::GetRandomAccessModelName - Invalid model");
2113  break;
2114  }
2115  }
2116  NS_FATAL_ERROR("SatEnums::GetRandomAccessModelName - Invalid model");
2117  return "";
2118  }
2119 
2125  typedef enum
2126  {
2132 
2133  static inline std::string GetRandomAccessOpportunityTypeName(
2134  RandomAccessTxOpportunityType_t opportunityType)
2135  {
2136  switch (opportunityType)
2137  {
2139  return "RA_TX_OPPORTUNITY_DO_NOTHING";
2140  }
2142  return "RA_TX_OPPORTUNITY_SLOTTED_ALOHA";
2143  }
2144  case RA_TX_OPPORTUNITY_CRDSA: {
2145  return "RA_TX_OPPORTUNITY_CRDSA";
2146  }
2147  case RA_TX_OPPORTUNITY_ESSA: {
2148  return "RA_TX_OPPORTUNITY_ESSA";
2149  }
2150  default: {
2151  NS_FATAL_ERROR(
2152  "SatEnums::GetRandomAccessOpportunityTypeName - Invalid opportunity type");
2153  break;
2154  }
2155  }
2156  NS_FATAL_ERROR("SatEnums::GetRandomAccessOpportunityTypeName - Invalid opportunity type");
2157  return "";
2158  }
2159 
2164  typedef enum
2165  {
2170  PACKET_TYPE_LOGON = 4
2172 
2173  static inline std::string GetPacketTypeName(PacketType_t packetType)
2174  {
2175  switch (packetType)
2176  {
2178  return "PACKET_TYPE_DEDICATED_ACCESS";
2179  }
2181  return "PACKET_TYPE_SLOTTED_ALOHA";
2182  }
2183  case PACKET_TYPE_CRDSA: {
2184  return "PACKET_TYPE_CRDSA";
2185  }
2186  case PACKET_TYPE_ESSA: {
2187  return "PACKET_TYPE_CRDSA";
2188  }
2189  default: {
2190  NS_FATAL_ERROR("SatEnums::GetPacketTypeName - Invalid packet type");
2191  break;
2192  }
2193  }
2194  NS_FATAL_ERROR("SatEnums::GetPacketTypeName - Invalid packet type");
2195  return "";
2196  }
2197 
2203  typedef enum
2204  {
2207 
2208  static inline std::string GetRbdcCapacityRequestAlgorithmName(
2209  RbdcCapacityRequestAlgorithm_t rbdcAlgorithm)
2210  {
2211  switch (rbdcAlgorithm)
2212  {
2213  case CR_RBDC_LEGACY: {
2214  return "CR_RBDC_LEGACY";
2215  }
2216  default: {
2217  NS_FATAL_ERROR(
2218  "SatEnums::GetRbdcCapacityRequestAlgorithmName - Invalid algorithm name");
2219  break;
2220  }
2221  }
2222  NS_FATAL_ERROR("SatEnums::GetRbdcCapacityRequestAlgorithmName - Invalid algorithm name");
2223  return "";
2224  }
2225 
2231  typedef enum
2232  {
2235 
2236  static inline std::string GetVbdcCapacityRequestAlgorithmName(
2237  VbdcCapacityRequestAlgorithm_t vbdcAlgorithm)
2238  {
2239  switch (vbdcAlgorithm)
2240  {
2241  case CR_VBDC_LEGACY: {
2242  return "CR_VBDC_LEGACY";
2243  }
2244  default: {
2245  NS_FATAL_ERROR(
2246  "SatEnums::GetVbdcCapacityRequestAlgorithmName - Invalid algorithm name");
2247  break;
2248  }
2249  }
2250  NS_FATAL_ERROR("SatEnums::GetVbdcCapacityRequestAlgorithmName - Invalid algorithm name");
2251  return "";
2252  }
2253 
2258  typedef enum
2259  {
2262 
2268  typedef enum
2269  {
2270  LR_RCS2 = 0,
2271  LR_FSIM = 1,
2272  LR_LORA = 2
2274 
2275  private:
2282  virtual ~SatEnums() = 0;
2283 };
2284 
2285 } // namespace ns3
2286 
2287 #endif /* SATELLITE_ENUMS_H */
SatEnums class is for simplifying the use of enumerators in the satellite module.
static SatModcod_t GetModcodFromName(const std::string name)
SatLinkDir_t
Link direction used for packet tracing.
static void GetAvailableModcodsFwdLinkS2XNormalFrames(std::vector< SatModcod_t > &modcods, bool pilots)
static void GetAvailableBbFrameTypes(std::vector< SatBbFrameType_t > &frameTypes)
SatBbFrameType_t
BB frame type used in DVB-S2 FWD link.
static std::string GetNodeTypeName(SatNodeType_t nodeType)
SatLoraNodeType_t
Specifies standard used and the king of node.
static std::string GetFrameTypeName(SatBbFrameType_t frameType)
SatModcod_t
Modulation scheme and coding rate for DVB-S2.
@ SAT_MODCOD_S2X_16APSK_2_TO_3_SHORT_NOPILOTS
@ SAT_MODCOD_S2X_QPSK_9_TO_10_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_16APSK_2_TO_3_NORMAL_PILOTS
@ SAT_MODCOD_S2X_256APSK_32_TO_45_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_32APSK_5_TO_6_SHORT_PILOTS
@ SAT_MODCOD_S2X_8PSK_3_TO_5_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_128APSK_7_TO_9_NORMAL_PILOTS
@ SAT_MODCOD_S2X_16APSK_8_TO_15_SHORT_NOPILOTS
@ SAT_MODCOD_S2X_8PSK_8_TO_15_SHORT_NOPILOTS
@ SAT_MODCOD_S2X_256APSK_11_TO_15_L_NORMAL_PILOTS
@ SAT_MODCOD_S2X_QPSK_4_TO_5_SHORT_NOPILOTS
@ SAT_MODCOD_S2X_QPSK_1_TO_3_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_256APSK_3_TO_4_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_QPSK_1_TO_3_NORMAL_PILOTS
@ SAT_MODCOD_S2X_16APSK_4_TO_5_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_32APSK_32_TO_45_SHORT_NOPILOTS
@ SAT_MODCOD_S2X_QPSK_13_TO_45_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_16APSK_7_TO_15_SHORT_PILOTS
@ SAT_MODCOD_S2X_16APSK_1_TO_2_L_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_QPSK_2_TO_5_SHORT_PILOTS
@ SAT_MODCOD_S2X_16APSK_32_TO_45_SHORT_NOPILOTS
@ SAT_MODCOD_S2X_32APSK_5_TO_6_NORMAL_PILOTS
@ SAT_MODCOD_S2X_16APSK_7_TO_9_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_QPSK_8_TO_9_SHORT_NOPILOTS
@ SAT_MODCOD_S2X_8PSK_3_TO_4_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_8PSK_23_TO_36_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_QPSK_1_TO_2_SHORT_NOPILOTS
@ SAT_MODCOD_S2X_QPSK_3_TO_5_NORMAL_PILOTS
@ SAT_MODCOD_S2X_256APSK_11_TO_15_L_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_64APSK_32_TO_45_L_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_16APSK_1_TO_2_L_NORMAL_PILOTS
@ SAT_MODCOD_S2X_QPSK_2_TO_5_SHORT_NOPILOTS
@ SAT_MODCOD_S2X_8PSK_5_TO_6_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_16APSK_9_TO_10_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_QPSK_8_TO_15_SHORT_PILOTS
@ SAT_MODCOD_S2X_16APSK_25_TO_36_NORMAL_PILOTS
@ SAT_MODCOD_S2X_QPSK_32_TO_45_SHORT_NOPILOTS
@ SAT_MODCOD_S2X_QPSK_1_TO_3_SHORT_NOPILOTS
@ SAT_MODCOD_S2X_16APSK_5_TO_9_L_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_64APSK_32_TO_45_L_NORMAL_PILOTS
@ SAT_MODCOD_S2X_128APSK_3_TO_4_NORMAL_PILOTS
@ SAT_MODCOD_S2X_32APSK_8_TO_9_SHORT_NOPILOTS
@ SAT_MODCOD_S2X_8PSK_13_TO_18_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_8APSK_5_TO_9_L_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_QPSK_1_TO_4_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_16APSK_32_TO_45_SHORT_PILOTS
@ SAT_MODCOD_S2X_32APSK_32_TO_45_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_8APSK_26_TO_45_L_NORMAL_PILOTS
@ SAT_MODCOD_S2X_32APSK_2_TO_3_SHORT_NOPILOTS
@ SAT_MODCOD_S2X_128APSK_3_TO_4_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_32APSK_4_TO_5_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_16APSK_8_TO_15_L_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_16APSK_5_TO_6_NORMAL_PILOTS
@ SAT_MODCOD_S2X_16APSK_4_TO_5_SHORT_NOPILOTS
@ SAT_MODCOD_S2X_8PSK_3_TO_5_SHORT_NOPILOTS
@ SAT_MODCOD_S2X_16APSK_26_TO_45_SHORT_PILOTS
@ SAT_MODCOD_S2X_32APSK_9_TO_10_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_64APSK_11_TO_15_NORMAL_PILOTS
@ SAT_MODCOD_S2X_8PSK_5_TO_6_SHORT_NOPILOTS
@ SAT_MODCOD_S2X_8PSK_8_TO_9_SHORT_NOPILOTS
@ SAT_MODCOD_S2X_8PSK_23_TO_36_NORMAL_PILOTS
@ SAT_MODCOD_S2X_QPSK_4_TO_5_NORMAL_PILOTS
@ SAT_MODCOD_S2X_16APSK_3_TO_5_NORMAL_PILOTS
@ SAT_MODCOD_S2X_8PSK_3_TO_4_SHORT_NOPILOTS
@ SAT_MODCOD_S2X_64APSK_7_TO_9_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_8PSK_8_TO_9_NORMAL_PILOTS
@ SAT_MODCOD_S2X_32APSK_2_TO_3_L_NORMAL_PILOTS
@ SAT_MODCOD_S2X_32APSK_4_TO_5_NORMAL_PILOTS
@ SAT_MODCOD_S2X_16APSK_2_TO_3_SHORT_PILOTS
@ SAT_MODCOD_S2X_16APSK_5_TO_6_SHORT_NOPILOTS
@ SAT_MODCOD_S2X_16APSK_3_TO_5_L_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_8PSK_2_TO_3_SHORT_PILOTS
@ SAT_MODCOD_S2X_QPSK_8_TO_9_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_16APSK_28_TO_45_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_16APSK_23_TO_36_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_16APSK_3_TO_4_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_8PSK_25_TO_36_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_8PSK_3_TO_5_NORMAL_PILOTS
@ SAT_MODCOD_S2X_QPSK_2_TO_3_SHORT_NOPILOTS
@ SAT_MODCOD_S2X_QPSK_14_TO_45_SHORT_PILOTS
@ SAT_MODCOD_S2X_QPSK_5_TO_6_SHORT_PILOTS
@ SAT_MODCOD_S2X_16APSK_3_TO_5_SHORT_NOPILOTS
@ SAT_MODCOD_S2X_QPSK_5_TO_6_SHORT_NOPILOTS
@ SAT_MODCOD_S2X_8PSK_32_TO_45_SHORT_PILOTS
@ SAT_MODCOD_S2X_16APSK_5_TO_6_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_32APSK_3_TO_4_NORMAL_PILOTS
@ SAT_MODCOD_S2X_QPSK_4_TO_15_SHORT_NOPILOTS
@ SAT_MODCOD_S2X_8PSK_5_TO_6_NORMAL_PILOTS
@ SAT_MODCOD_S2X_QPSK_11_TO_20_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_QPSK_3_TO_4_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_32APSK_32_TO_45_SHORT_PILOTS
@ SAT_MODCOD_S2X_QPSK_7_TO_15_SHORT_PILOTS
@ SAT_MODCOD_S2X_QPSK_11_TO_20_NORMAL_PILOTS
@ SAT_MODCOD_S2X_16APSK_4_TO_5_NORMAL_PILOTS
@ SAT_MODCOD_S2X_256APSK_29_TO_45_L_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_64APSK_11_TO_15_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_16APSK_8_TO_9_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_16APSK_2_TO_3_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_QPSK_5_TO_6_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_16APSK_8_TO_9_NORMAL_PILOTS
@ SAT_MODCOD_S2X_QPSK_2_TO_3_NORMAL_PILOTS
@ SAT_MODCOD_S2X_QPSK_3_TO_5_SHORT_NOPILOTS
@ SAT_MODCOD_S2X_16APSK_7_TO_15_SHORT_NOPILOTS
@ SAT_MODCOD_S2X_256APSK_31_TO_45_L_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_8PSK_8_TO_9_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_QPSK_7_TO_15_SHORT_NOPILOTS
@ SAT_MODCOD_S2X_16APSK_4_TO_5_SHORT_PILOTS
@ SAT_MODCOD_S2X_16APSK_28_TO_45_NORMAL_PILOTS
@ SAT_MODCOD_S2X_32APSK_3_TO_4_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_QPSK_13_TO_45_NORMAL_PILOTS
@ SAT_MODCOD_S2X_8PSK_3_TO_5_SHORT_PILOTS
@ SAT_MODCOD_S2X_64APSK_5_TO_6_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_32APSK_5_TO_6_SHORT_NOPILOTS
@ SAT_MODCOD_S2X_32APSK_2_TO_3_L_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_16APSK_25_TO_36_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_8PSK_5_TO_6_SHORT_PILOTS
@ SAT_MODCOD_S2X_32APSK_11_TO_15_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_32APSK_4_TO_5_SHORT_NOPILOTS
@ SAT_MODCOD_S2X_16APSK_5_TO_6_SHORT_PILOTS
@ SAT_MODCOD_S2X_32APSK_32_TO_45_NORMAL_PILOTS
@ SAT_MODCOD_S2X_QPSK_4_TO_5_SHORT_PILOTS
@ SAT_MODCOD_S2X_16APSK_3_TO_4_SHORT_NOPILOTS
@ SAT_MODCOD_S2X_8APSK_5_TO_9_L_NORMAL_PILOTS
@ SAT_MODCOD_S2X_16APSK_13_TO_18_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_8PSK_8_TO_15_SHORT_PILOTS
@ SAT_MODCOD_S2X_16APSK_3_TO_5_L_NORMAL_PILOTS
@ SAT_MODCOD_S2X_32APSK_5_TO_6_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_QPSK_4_TO_5_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_16APSK_3_TO_5_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_256APSK_31_TO_45_L_NORMAL_PILOTS
@ SAT_MODCOD_S2X_16APSK_8_TO_9_SHORT_PILOTS
@ SAT_MODCOD_S2X_256APSK_32_TO_45_NORMAL_PILOTS
@ SAT_MODCOD_S2X_QPSK_3_TO_5_SHORT_PILOTS
@ SAT_MODCOD_S2X_QPSK_5_TO_6_NORMAL_PILOTS
@ SAT_MODCOD_S2X_32APSK_7_TO_9_NORMAL_PILOTS
@ SAT_MODCOD_S2X_8PSK_7_TO_15_SHORT_PILOTS
@ SAT_MODCOD_S2X_64APSK_5_TO_6_NORMAL_PILOTS
@ SAT_MODCOD_S2X_16APSK_9_TO_10_NORMAL_PILOTS
@ SAT_MODCOD_S2X_16APSK_13_TO_18_NORMAL_PILOTS
@ SAT_MODCOD_S2X_QPSK_9_TO_20_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_8APSK_26_TO_45_L_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_64APSK_7_TO_9_NORMAL_PILOTS
@ SAT_MODCOD_S2X_QPSK_3_TO_4_NORMAL_PILOTS
@ SAT_MODCOD_S2X_QPSK_9_TO_20_NORMAL_PILOTS
@ SAT_MODCOD_S2X_16APSK_3_TO_4_SHORT_PILOTS
@ SAT_MODCOD_S2X_256APSK_2_TO_3_L_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_16APSK_26_TO_45_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_32APSK_2_TO_3_SHORT_PILOTS
@ SAT_MODCOD_S2X_256APSK_29_TO_45_L_NORMAL_PILOTS
@ SAT_MODCOD_S2X_256APSK_2_TO_3_L_NORMAL_PILOTS
@ SAT_MODCOD_S2X_64APSK_4_TO_5_NORMAL_PILOTS
@ SAT_MODCOD_S2X_8PSK_3_TO_4_NORMAL_PILOTS
@ SAT_MODCOD_S2X_16APSK_8_TO_15_SHORT_PILOTS
@ SAT_MODCOD_S2X_16APSK_5_TO_9_L_NORMAL_PILOTS
@ SAT_MODCOD_S2X_16APSK_3_TO_4_NORMAL_PILOTS
@ SAT_MODCOD_S2X_8PSK_2_TO_3_SHORT_NOPILOTS
@ SAT_MODCOD_S2X_8PSK_13_TO_18_NORMAL_PILOTS
@ SAT_MODCOD_S2X_16APSK_77_TO_90_NORMAL_PILOTS
@ SAT_MODCOD_S2X_QPSK_1_TO_4_NORMAL_PILOTS
@ SAT_MODCOD_S2X_16APSK_8_TO_9_SHORT_NOPILOTS
@ SAT_MODCOD_S2X_32APSK_9_TO_10_NORMAL_PILOTS
@ SAT_MODCOD_S2X_32APSK_8_TO_9_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_16APSK_2_TO_3_L_NORMAL_PILOTS
@ SAT_MODCOD_S2X_QPSK_2_TO_5_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_8PSK_32_TO_45_SHORT_NOPILOTS
@ SAT_MODCOD_S2X_QPSK_2_TO_3_SHORT_PILOTS
@ SAT_MODCOD_S2X_32APSK_7_TO_9_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_QPSK_32_TO_45_SHORT_PILOTS
@ SAT_MODCOD_S2X_QPSK_3_TO_4_SHORT_PILOTS
@ SAT_MODCOD_S2X_QPSK_3_TO_4_SHORT_NOPILOTS
@ SAT_MODCOD_S2X_8PSK_25_TO_36_NORMAL_PILOTS
@ SAT_MODCOD_S2X_QPSK_1_TO_3_SHORT_PILOTS
@ SAT_MODCOD_S2X_QPSK_3_TO_5_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_8PSK_3_TO_4_SHORT_PILOTS
@ SAT_MODCOD_S2X_16APSK_7_TO_9_NORMAL_PILOTS
@ SAT_MODCOD_S2X_8PSK_8_TO_9_SHORT_PILOTS
@ SAT_MODCOD_S2X_QPSK_1_TO_2_NORMAL_PILOTS
@ SAT_MODCOD_S2X_64APSK_4_TO_5_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_QPSK_2_TO_5_NORMAL_PILOTS
@ SAT_MODCOD_S2X_32APSK_8_TO_9_NORMAL_PILOTS
@ SAT_MODCOD_S2X_QPSK_8_TO_9_NORMAL_PILOTS
@ SAT_MODCOD_S2X_8PSK_2_TO_3_NORMAL_PILOTS
@ SAT_MODCOD_S2X_8PSK_2_TO_3_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_QPSK_2_TO_3_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_QPSK_4_TO_15_SHORT_PILOTS
@ SAT_MODCOD_S2X_16APSK_2_TO_3_L_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_16APSK_23_TO_36_NORMAL_PILOTS
@ SAT_MODCOD_S2X_16APSK_26_TO_45_SHORT_NOPILOTS
@ SAT_MODCOD_S2X_8PSK_26_TO_45_SHORT_NOPILOTS
@ SAT_MODCOD_S2X_16APSK_3_TO_5_SHORT_PILOTS
@ SAT_MODCOD_S2X_QPSK_8_TO_9_SHORT_PILOTS
@ SAT_MODCOD_S2X_QPSK_14_TO_45_SHORT_NOPILOTS
@ SAT_MODCOD_S2X_QPSK_1_TO_4_SHORT_PILOTS
@ SAT_MODCOD_S2X_16APSK_26_TO_45_NORMAL_PILOTS
@ SAT_MODCOD_S2X_QPSK_1_TO_2_SHORT_PILOTS
@ SAT_MODCOD_S2X_32APSK_8_TO_9_SHORT_PILOTS
@ SAT_MODCOD_S2X_8PSK_26_TO_45_SHORT_PILOTS
@ SAT_MODCOD_S2X_8PSK_9_TO_10_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_8PSK_9_TO_10_NORMAL_PILOTS
@ SAT_MODCOD_S2X_QPSK_8_TO_15_SHORT_NOPILOTS
@ SAT_MODCOD_S2X_32APSK_3_TO_4_SHORT_NOPILOTS
@ SAT_MODCOD_S2X_QPSK_1_TO_2_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_QPSK_11_TO_45_SHORT_PILOTS
@ SAT_MODCOD_S2X_16APSK_8_TO_15_L_NORMAL_PILOTS
@ SAT_MODCOD_S2X_32APSK_11_TO_15_NORMAL_PILOTS
@ SAT_MODCOD_S2X_32APSK_3_TO_4_SHORT_PILOTS
@ SAT_MODCOD_S2X_8PSK_7_TO_15_SHORT_NOPILOTS
@ SAT_MODCOD_S2X_QPSK_1_TO_4_SHORT_NOPILOTS
@ SAT_MODCOD_S2X_128APSK_7_TO_9_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_QPSK_9_TO_10_NORMAL_PILOTS
@ SAT_MODCOD_S2X_QPSK_11_TO_45_SHORT_NOPILOTS
@ SAT_MODCOD_S2X_16APSK_77_TO_90_NORMAL_NOPILOTS
@ SAT_MODCOD_S2X_32APSK_4_TO_5_SHORT_PILOTS
@ SAT_MODCOD_S2X_256APSK_3_TO_4_NORMAL_PILOTS
SatNodeType_t
Node type used for packet tracing.
static std::string GetLinkDirName(SatLinkDir_t linkDir)
LinkResults_t
Return link Link result types.
ChannelType_t
Types of channel.
static std::string GetRandomAccessModelName(RandomAccessModel_t model)
CarrierBandwidthType_t
Types of bandwidth.
static std::string GetChannelTypeName(ChannelType_t channelType)
static std::string GetRandomAccessTriggerTypeName(RandomAccessTriggerType_t triggerType)
SatCapacityAllocationCategory_t
Definition for different types of Capacity Request (CR) messages.
SatPacketEvent_t
Packet event used for packet tracing.
static void GetAvailableModcodsFwdLinkS2X(std::vector< SatModcod_t > &modcods, SatEnums::BbFrameUsageMode_t type, bool pilots)
RandomAccessTxOpportunityType_t
Random access Tx opportunity types.
IslArbiterType_t
Choose the arbiter to use to route packets on ISLs.
static std::string GetVbdcCapacityRequestAlgorithmName(VbdcCapacityRequestAlgorithm_t vbdcAlgorithm)
static std::string GetPacketEventName(SatPacketEvent_t packetEvent)
SatFlowId_t
Lower layer flow identifiers.
virtual ~SatEnums()=0
Destructor.
SatWaveFormBurstLength_t
Definition for different types of Capacity Request (CR) messages.
static std::string GetPacketTypeName(PacketType_t packetType)
static std::string GetLogLevelName(SatLogLevel_t logLevel)
static void GetAvailableModcodsRtnLink(std::vector< SatModcod_t > &modcods)
SatLogLevel_t
Log level used for packet tracing.
static std::string GetRbdcCapacityRequestAlgorithmName(RbdcCapacityRequestAlgorithm_t rbdcAlgorithm)
RxPowerCalculationMode_t
Modes of Rx power calculation.
static std::string GetRandomAccessOpportunityTypeName(RandomAccessTxOpportunityType_t opportunityType)
FwdSchedulingAlgorithm_t
The scheduling algorithm used to fill the BBFrames.
PropagationDelayModel_t
Propagation delay model.
static void GetAvailableModcodsFwdLinkS2XShortFrames(std::vector< SatModcod_t > &modcods, bool pilots)
static std::string GetModcodTypeName(SatModcod_t modcod)
BbFrameUsageMode_t
BBFrame usage modes.
@ SHORT_AND_NORMAL_FRAMES
SHORT_AND_NORMAL_FRAMES.
@ SHORT_FRAMES
SHORT_FRAMES.
@ NORMAL_FRAMES
NORMAL_FRAMES.
Standard_t
The global standard used.
RandomAccessModel_t
The defined random access models.
PacketType_t
Packet types.
FadingModel_t
Fading models.
static std::string GetCapacityAllocationCategory(SatCapacityAllocationCategory_t cac)
RegenerationMode_t
The regeneration mode used in satellites.
DvbVersion_t
The scheduling algorithm used to fill the BBFrames.
static void GetAvailableModcodsFwdLink(std::vector< SatModcod_t > &modcods)
RandomAccessTriggerType_t
The defined random access trigger types.
SatArqSequenceNumber is handling the sequence numbers for the ARQ process.