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  {
140 
145  typedef enum
146  {
148  DVB_S2X
150 
155  typedef enum
156  {
160 
164  typedef enum
165  {
170 
175  typedef enum
176  {
206 
422 
423  static inline void GetAvailableModcodsFwdLink(std::vector<SatModcod_t>& modcods)
424  {
433  // modcods.push_back (SAT_MODCOD_QPSK_1_TO_3);
434  modcods.push_back(SAT_MODCOD_QPSK_1_TO_2);
435  modcods.push_back(SAT_MODCOD_QPSK_3_TO_5);
436  modcods.push_back(SAT_MODCOD_QPSK_2_TO_3);
437  modcods.push_back(SAT_MODCOD_QPSK_3_TO_4);
438  modcods.push_back(SAT_MODCOD_QPSK_4_TO_5);
439  modcods.push_back(SAT_MODCOD_QPSK_5_TO_6);
440  modcods.push_back(SAT_MODCOD_QPSK_8_TO_9);
441  modcods.push_back(SAT_MODCOD_QPSK_9_TO_10);
442  modcods.push_back(SAT_MODCOD_8PSK_3_TO_5);
443  modcods.push_back(SAT_MODCOD_8PSK_2_TO_3);
444  modcods.push_back(SAT_MODCOD_8PSK_3_TO_4);
445  modcods.push_back(SAT_MODCOD_8PSK_5_TO_6);
446  modcods.push_back(SAT_MODCOD_8PSK_8_TO_9);
447  modcods.push_back(SAT_MODCOD_8PSK_9_TO_10);
448  modcods.push_back(SAT_MODCOD_16APSK_2_TO_3);
449  modcods.push_back(SAT_MODCOD_16APSK_3_TO_4);
450  modcods.push_back(SAT_MODCOD_16APSK_4_TO_5);
451  modcods.push_back(SAT_MODCOD_16APSK_5_TO_6);
452  modcods.push_back(SAT_MODCOD_16APSK_8_TO_9);
453  modcods.push_back(SAT_MODCOD_16APSK_9_TO_10);
454  // modcods.push_back (SAT_MODCOD_16QAM_3_TO_4);
455  // modcods.push_back (SAT_MODCOD_16QAM_5_TO_6);
456  modcods.push_back(SAT_MODCOD_32APSK_3_TO_4);
457  modcods.push_back(SAT_MODCOD_32APSK_4_TO_5);
458  modcods.push_back(SAT_MODCOD_32APSK_5_TO_6);
459  modcods.push_back(SAT_MODCOD_32APSK_8_TO_9);
460  }
461 
462  static inline void GetAvailableModcodsFwdLinkS2X(std::vector<SatModcod_t>& modcods,
464  bool pilots)
465  {
466  switch (type)
467  {
470  break;
473  break;
475  NS_FATAL_ERROR("Cannot use SHORT_AND_NORMAL_FRAMES mode in DVB-S2X");
476  default:
477  NS_FATAL_ERROR("Unknown SatEnums::BbFrameUsageMode_t type");
478  }
479  }
480 
481  static inline void GetAvailableModcodsFwdLinkS2XNormalFrames(std::vector<SatModcod_t>& modcods,
482  bool pilots)
483  {
490  if (pilots)
491  {
492  modcods.push_back(SAT_MODCOD_S2X_QPSK_1_TO_4_NORMAL_PILOTS);
494  modcods.push_back(SAT_MODCOD_S2X_QPSK_1_TO_3_NORMAL_PILOTS);
495  modcods.push_back(SAT_MODCOD_S2X_QPSK_2_TO_5_NORMAL_PILOTS);
497  modcods.push_back(SAT_MODCOD_S2X_QPSK_1_TO_2_NORMAL_PILOTS);
499  modcods.push_back(SAT_MODCOD_S2X_QPSK_3_TO_5_NORMAL_PILOTS);
500  modcods.push_back(SAT_MODCOD_S2X_QPSK_2_TO_3_NORMAL_PILOTS);
501  modcods.push_back(SAT_MODCOD_S2X_QPSK_3_TO_4_NORMAL_PILOTS);
502  modcods.push_back(SAT_MODCOD_S2X_QPSK_4_TO_5_NORMAL_PILOTS);
503  modcods.push_back(SAT_MODCOD_S2X_QPSK_5_TO_6_NORMAL_PILOTS);
504  modcods.push_back(SAT_MODCOD_S2X_QPSK_8_TO_9_NORMAL_PILOTS);
506  modcods.push_back(SAT_MODCOD_S2X_8PSK_3_TO_5_NORMAL_PILOTS);
508  modcods.push_back(SAT_MODCOD_S2X_8PSK_2_TO_3_NORMAL_PILOTS);
511  modcods.push_back(SAT_MODCOD_S2X_8PSK_3_TO_4_NORMAL_PILOTS);
512  modcods.push_back(SAT_MODCOD_S2X_8PSK_5_TO_6_NORMAL_PILOTS);
513  modcods.push_back(SAT_MODCOD_S2X_8PSK_8_TO_9_NORMAL_PILOTS);
558  }
559  else
560  {
627  }
628  }
629 
630  static inline void GetAvailableModcodsFwdLinkS2XShortFrames(std::vector<SatModcod_t>& modcods,
631  bool pilots)
632  {
639  if (pilots)
640  {
642  modcods.push_back(SAT_MODCOD_S2X_QPSK_1_TO_4_SHORT_PILOTS);
643  modcods.push_back(SAT_MODCOD_S2X_QPSK_4_TO_15_SHORT_PILOTS);
645  modcods.push_back(SAT_MODCOD_S2X_QPSK_1_TO_3_SHORT_PILOTS);
646  modcods.push_back(SAT_MODCOD_S2X_QPSK_2_TO_5_SHORT_PILOTS);
647  modcods.push_back(SAT_MODCOD_S2X_QPSK_7_TO_15_SHORT_PILOTS);
648  modcods.push_back(SAT_MODCOD_S2X_QPSK_1_TO_2_SHORT_PILOTS);
649  modcods.push_back(SAT_MODCOD_S2X_QPSK_8_TO_15_SHORT_PILOTS);
650  modcods.push_back(SAT_MODCOD_S2X_QPSK_3_TO_5_SHORT_PILOTS);
651  modcods.push_back(SAT_MODCOD_S2X_QPSK_2_TO_3_SHORT_PILOTS);
653  modcods.push_back(SAT_MODCOD_S2X_QPSK_3_TO_4_SHORT_PILOTS);
654  modcods.push_back(SAT_MODCOD_S2X_QPSK_4_TO_5_SHORT_PILOTS);
655  modcods.push_back(SAT_MODCOD_S2X_QPSK_5_TO_6_SHORT_PILOTS);
656  modcods.push_back(SAT_MODCOD_S2X_QPSK_8_TO_9_SHORT_PILOTS);
657  modcods.push_back(SAT_MODCOD_S2X_8PSK_7_TO_15_SHORT_PILOTS);
658  modcods.push_back(SAT_MODCOD_S2X_8PSK_8_TO_15_SHORT_PILOTS);
660  modcods.push_back(SAT_MODCOD_S2X_8PSK_3_TO_5_SHORT_PILOTS);
661  modcods.push_back(SAT_MODCOD_S2X_8PSK_2_TO_3_SHORT_PILOTS);
663  modcods.push_back(SAT_MODCOD_S2X_8PSK_3_TO_4_SHORT_PILOTS);
664  modcods.push_back(SAT_MODCOD_S2X_8PSK_5_TO_6_SHORT_PILOTS);
665  modcods.push_back(SAT_MODCOD_S2X_8PSK_8_TO_9_SHORT_PILOTS);
682  }
683  else
684  {
726  }
727  }
728 
729  static inline void GetAvailableModcodsRtnLink(std::vector<SatModcod_t>& modcods)
730  {
736  modcods.push_back(SAT_MODCOD_QPSK_1_TO_3);
737  modcods.push_back(SAT_MODCOD_QPSK_1_TO_2);
738  modcods.push_back(SAT_MODCOD_QPSK_2_TO_3);
739  modcods.push_back(SAT_MODCOD_QPSK_3_TO_4);
740  modcods.push_back(SAT_MODCOD_QPSK_4_TO_5);
741  modcods.push_back(SAT_MODCOD_QPSK_5_TO_6);
742  modcods.push_back(SAT_MODCOD_8PSK_2_TO_3);
743  modcods.push_back(SAT_MODCOD_8PSK_3_TO_4);
744  modcods.push_back(SAT_MODCOD_8PSK_5_TO_6);
745  modcods.push_back(SAT_MODCOD_16QAM_3_TO_4);
746  modcods.push_back(SAT_MODCOD_16QAM_5_TO_6);
747  }
748 
749  static inline std::string GetModcodTypeName(SatModcod_t modcod)
750  {
751  switch (modcod)
752  {
753  case SAT_NONVALID_MODCOD:
754  return "SAT_NONVALID_MODCOD";
756  return "QPSK_1_TO_3";
758  return "QPSK_1_TO_2";
760  return "QPSK_2_TO_3";
762  return "QPSK_3_TO_4";
764  return "QPSK_3_TO_5";
766  return "QPSK_4_TO_5";
768  return "QPSK_5_TO_6";
770  return "QPSK_8_TO_9";
772  return "QPSK_9_TO_10";
774  return "8PSK_2_TO_3";
776  return "8PSK_3_TO_4";
778  return "8PSK_3_TO_5";
780  return "8PSK_5_TO_6";
782  return "8PSK_8_TO_9";
784  return "8PSK_9_TO_10";
786  return "16APSK_2_TO_3";
788  return "16APSK_3_TO_4";
790  return "16APSK_4_TO_5";
792  return "16APSK_5_TO_6";
794  return "16APSK_8_TO_9";
796  return "16APSK_9_TO_10";
798  return "16QAM_3_TO_4";
800  return "16QAM_5_TO_6";
802  return "32APSK_3_TO_4";
804  return "32APSK_4_TO_5";
806  return "32APSK_5_TO_6";
808  return "32APSK_8_TO_9";
810  return "BPSK_1_TO_3";
812  return "QPSK_11_TO_45_SHORT_NOPILOTS";
814  return "QPSK_11_TO_45_SHORT_PILOTS";
816  return "QPSK_1_TO_4_NORMAL_NOPILOTS";
818  return "QPSK_1_TO_4_NORMAL_PILOTS";
820  return "QPSK_1_TO_4_SHORT_NOPILOTS";
822  return "QPSK_1_TO_4_SHORT_PILOTS";
824  return "QPSK_4_TO_15_SHORT_NOPILOTS";
826  return "QPSK_4_TO_15_SHORT_PILOTS";
828  return "QPSK_13_TO_45_NORMAL_NOPILOTS";
830  return "QPSK_13_TO_45_NORMAL_PILOTS";
832  return "QPSK_14_TO_45_SHORT_NOPILOTS";
834  return "QPSK_14_TO_45_SHORT_PILOTS";
836  return "QPSK_1_TO_3_NORMAL_NOPILOTS";
838  return "QPSK_1_TO_3_NORMAL_PILOTS";
840  return "QPSK_1_TO_3_SHORT_NOPILOTS";
842  return "QPSK_1_TO_3_SHORT_PILOTS";
844  return "QPSK_2_TO_5_NORMAL_NOPILOTS";
846  return "QPSK_2_TO_5_NORMAL_PILOTS";
848  return "QPSK_2_TO_5_SHORT_NOPILOTS";
850  return "QPSK_2_TO_5_SHORT_PILOTS";
852  return "QPSK_9_TO_20_NORMAL_NOPILOTS";
854  return "QPSK_9_TO_20_NORMAL_PILOTS";
856  return "QPSK_7_TO_15_SHORT_NOPILOTS";
858  return "QPSK_7_TO_15_SHORT_PILOTS";
860  return "QPSK_1_TO_2_NORMAL_NOPILOTS";
862  return "QPSK_1_TO_2_NORMAL_PILOTS";
864  return "QPSK_1_TO_2_SHORT_NOPILOTS";
866  return "QPSK_1_TO_2_SHORT_PILOTS";
868  return "QPSK_8_TO_15_SHORT_NOPILOTS";
870  return "QPSK_8_TO_15_SHORT_PILOTS";
872  return "QPSK_11_TO_20_NORMAL_NOPILOTS";
874  return "QPSK_11_TO_20_NORMAL_PILOTS";
876  return "QPSK_3_TO_5_NORMAL_NOPILOTS";
878  return "QPSK_3_TO_5_NORMAL_PILOTS";
880  return "QPSK_3_TO_5_SHORT_NOPILOTS";
882  return "QPSK_3_TO_5_SHORT_PILOTS";
884  return "QPSK_2_TO_3_NORMAL_NOPILOTS";
886  return "QPSK_2_TO_3_NORMAL_PILOTS";
888  return "QPSK_2_TO_3_SHORT_NOPILOTS";
890  return "QPSK_2_TO_3_SHORT_PILOTS";
892  return "QPSK_32_TO_45_SHORT_NOPILOTS";
894  return "QPSK_32_TO_45_SHORT_PILOTS";
896  return "QPSK_3_TO_4_NORMAL_NOPILOTS";
898  return "QPSK_3_TO_4_NORMAL_PILOTS";
900  return "QPSK_3_TO_4_SHORT_NOPILOTS";
902  return "QPSK_3_TO_4_SHORT_PILOTS";
904  return "QPSK_4_TO_5_NORMAL_NOPILOTS";
906  return "QPSK_4_TO_5_NORMAL_PILOTS";
908  return "QPSK_4_TO_5_SHORT_NOPILOTS";
910  return "QPSK_4_TO_5_SHORT_PILOTS";
912  return "QPSK_5_TO_6_NORMAL_NOPILOTS";
914  return "QPSK_5_TO_6_NORMAL_PILOTS";
916  return "QPSK_5_TO_6_SHORT_NOPILOTS";
918  return "QPSK_5_TO_6_SHORT_PILOTS";
920  return "QPSK_8_TO_9_NORMAL_NOPILOTS";
922  return "QPSK_8_TO_9_NORMAL_PILOTS";
924  return "QPSK_8_TO_9_SHORT_NOPILOTS";
926  return "QPSK_8_TO_9_SHORT_PILOTS";
928  return "QPSK_9_TO_10_NORMAL_NOPILOTS";
930  return "QPSK_9_TO_10_NORMAL_PILOTS";
932  return "8PSK_7_TO_15_SHORT_NOPILOTS";
934  return "8PSK_7_TO_15_SHORT_PILOTS";
936  return "8PSK_8_TO_15_SHORT_NOPILOTS";
938  return "8PSK_8_TO_15_SHORT_PILOTS";
940  return "8PSK_26_TO_45_SHORT_NOPILOTS";
942  return "8PSK_26_TO_45_SHORT_PILOTS";
944  return "8PSK_3_TO_5_NORMAL_NOPILOTS";
946  return "8PSK_3_TO_5_NORMAL_PILOTS";
948  return "8PSK_3_TO_5_SHORT_NOPILOTS";
950  return "8PSK_3_TO_5_SHORT_PILOTS";
952  return "8PSK_23_TO_36_NORMAL_NOPILOTS";
954  return "8PSK_23_TO_36_NORMAL_PILOTS";
956  return "8PSK_2_TO_3_NORMAL_NOPILOTS";
958  return "8PSK_2_TO_3_NORMAL_PILOTS";
960  return "8PSK_2_TO_3_SHORT_NOPILOTS";
962  return "8PSK_2_TO_3_SHORT_PILOTS";
964  return "8PSK_25_TO_36_NORMAL_NOPILOTS";
966  return "8PSK_25_TO_36_NORMAL_PILOTS";
968  return "8PSK_32_TO_45_SHORT_NOPILOTS";
970  return "8PSK_32_TO_45_SHORT_PILOTS";
972  return "8PSK_13_TO_18_NORMAL_NOPILOTS";
974  return "8PSK_13_TO_18_NORMAL_PILOTS";
976  return "8PSK_3_TO_4_NORMAL_NOPILOTS";
978  return "8PSK_3_TO_4_NORMAL_PILOTS";
980  return "8PSK_3_TO_4_SHORT_NOPILOTS";
982  return "8PSK_3_TO_4_SHORT_PILOTS";
984  return "8PSK_5_TO_6_NORMAL_NOPILOTS";
986  return "8PSK_5_TO_6_NORMAL_PILOTS";
988  return "8PSK_5_TO_6_SHORT_NOPILOTS";
990  return "8PSK_5_TO_6_SHORT_PILOTS";
992  return "8PSK_8_TO_9_NORMAL_NOPILOTS";
994  return "8PSK_8_TO_9_NORMAL_PILOTS";
996  return "8PSK_8_TO_9_SHORT_NOPILOTS";
998  return "8PSK_8_TO_9_SHORT_PILOTS";
1000  return "8PSK_9_TO_10_NORMAL_NOPILOTS";
1002  return "8PSK_9_TO_10_NORMAL_PILOTS";
1004  return "8APSK_5_TO_9_L_NORMAL_NOPILOTS";
1006  return "8APSK_5_TO_9_L_NORMAL_PILOTS";
1008  return "8APSK_26_TO_45_L_NORMAL_NOPILOTS";
1010  return "8APSK_26_TO_45_L_NORMAL_PILOTS";
1012  return "16APSK_7_TO_15_SHORT_NOPILOTS";
1014  return "16APSK_7_TO_15_SHORT_PILOTS";
1016  return "16APSK_1_TO_2_L_NORMAL_NOPILOTS";
1018  return "16APSK_1_TO_2_L_NORMAL_PILOTS";
1020  return "16APSK_8_TO_15_L_NORMAL_NOPILOTS";
1022  return "16APSK_8_TO_15_L_NORMAL_PILOTS";
1024  return "16APSK_8_TO_15_SHORT_NOPILOTS";
1026  return "16APSK_8_TO_15_SHORT_PILOTS";
1028  return "16APSK_5_TO_9_L_NORMAL_NOPILOTS";
1030  return "16APSK_5_TO_9_L_NORMAL_PILOTS";
1032  return "16APSK_26_TO_45_NORMAL_NOPILOTS";
1034  return "16APSK_26_TO_45_NORMAL_PILOTS";
1036  return "16APSK_26_TO_45_SHORT_NOPILOTS";
1038  return "16APSK_26_TO_45_SHORT_PILOTS";
1040  return "16APSK_3_TO_5_NORMAL_NOPILOTS";
1042  return "16APSK_3_TO_5_NORMAL_PILOTS";
1044  return "16APSK_3_TO_5_L_NORMAL_NOPILOTS";
1046  return "16APSK_3_TO_5_L_NORMAL_PILOTS";
1048  return "16APSK_3_TO_5_SHORT_NOPILOTS";
1050  return "16APSK_3_TO_5_SHORT_PILOTS";
1052  return "16APSK_28_TO_45_NORMAL_NOPILOTS";
1054  return "16APSK_28_TO_45_NORMAL_PILOTS";
1056  return "16APSK_23_TO_36_NORMAL_NOPILOTS";
1058  return "16APSK_23_TO_36_NORMAL_PILOTS";
1060  return "16APSK_2_TO_3_L_NORMAL_NOPILOTS";
1062  return "16APSK_2_TO_3_L_NORMAL_PILOTS";
1064  return "16APSK_2_TO_3_NORMAL_NOPILOTS";
1066  return "16APSK_2_TO_3_NORMAL_PILOTS";
1068  return "16APSK_2_TO_3_SHORT_NOPILOTS";
1070  return "16APSK_2_TO_3_SHORT_PILOTS";
1072  return "16APSK_25_TO_36_NORMAL_NOPILOTS";
1074  return "16APSK_25_TO_36_NORMAL_PILOTS";
1076  return "16APSK_32_TO_45_SHORT_NOPILOTS";
1078  return "16APSK_32_TO_45_SHORT_PILOTS";
1080  return "16APSK_13_TO_18_NORMAL_NOPILOTS";
1082  return "16APSK_13_TO_18_NORMAL_PILOTS";
1084  return "16APSK_3_TO_4_NORMAL_NOPILOTS";
1086  return "16APSK_3_TO_4_NORMAL_PILOTS";
1088  return "16APSK_3_TO_4_SHORT_NOPILOTS";
1090  return "16APSK_3_TO_4_SHORT_PILOTS";
1092  return "16APSK_7_TO_9_NORMAL_NOPILOTS";
1094  return "16APSK_7_TO_9_NORMAL_PILOTS";
1096  return "16APSK_4_TO_5_NORMAL_NOPILOTS";
1098  return "16APSK_4_TO_5_NORMAL_PILOTS";
1100  return "16APSK_4_TO_5_SHORT_NOPILOTS";
1102  return "16APSK_4_TO_5_SHORT_PILOTS";
1104  return "16APSK_5_TO_6_NORMAL_NOPILOTS";
1106  return "16APSK_5_TO_6_NORMAL_PILOTS";
1108  return "16APSK_5_TO_6_SHORT_NOPILOTS";
1110  return "16APSK_5_TO_6_SHORT_PILOTS";
1112  return "16APSK_77_TO_90_NORMAL_NOPILOTS";
1114  return "16APSK_77_TO_90_NORMAL_PILOTS";
1116  return "16APSK_8_TO_9_NORMAL_NOPILOTS";
1118  return "16APSK_8_TO_9_NORMAL_PILOTS";
1120  return "16APSK_8_TO_9_SHORT_NOPILOTS";
1122  return "16APSK_8_TO_9_SHORT_PILOTS";
1124  return "16APSK_9_TO_10_NORMAL_NOPILOTS";
1126  return "16APSK_9_TO_10_NORMAL_PILOTS";
1128  return "32APSK_2_TO_3_L_NORMAL_NOPILOTS";
1130  return "32APSK_2_TO_3_L_NORMAL_PILOTS";
1132  return "32APSK_2_TO_3_SHORT_NOPILOTS";
1134  return "32APSK_2_TO_3_SHORT_PILOTS";
1136  return "32APSK_32_TO_45_NORMAL_NOPILOTS";
1138  return "32APSK_32_TO_45_NORMAL_PILOTS";
1140  return "32APSK_32_TO_45_SHORT_NOPILOTS";
1142  return "32APSK_32_TO_45_SHORT_PILOTS";
1144  return "32APSK_11_TO_15_NORMAL_NOPILOTS";
1146  return "32APSK_11_TO_15_NORMAL_PILOTS";
1148  return "32APSK_3_TO_4_NORMAL_NOPILOTS";
1150  return "32APSK_3_TO_4_NORMAL_PILOTS";
1152  return "32APSK_3_TO_4_SHORT_NOPILOTS";
1154  return "32APSK_3_TO_4_SHORT_PILOTS";
1156  return "32APSK_7_TO_9_NORMAL_NOPILOTS";
1158  return "32APSK_7_TO_9_NORMAL_PILOTS";
1160  return "32APSK_4_TO_5_NORMAL_NOPILOTS";
1162  return "32APSK_4_TO_5_NORMAL_PILOTS";
1164  return "32APSK_4_TO_5_SHORT_NOPILOTS";
1166  return "32APSK_4_TO_5_SHORT_PILOTS";
1168  return "32APSK_5_TO_6_NORMAL_NOPILOTS";
1170  return "32APSK_5_TO_6_NORMAL_PILOTS";
1172  return "32APSK_5_TO_6_SHORT_NOPILOTS";
1174  return "32APSK_5_TO_6_SHORT_PILOTS";
1176  return "32APSK_8_TO_9_NORMAL_NOPILOTS";
1178  return "32APSK_8_TO_9_NORMAL_PILOTS";
1180  return "32APSK_8_TO_9_SHORT_NOPILOTS";
1182  return "32APSK_8_TO_9_SHORT_PILOTS";
1184  return "32APSK_9_TO_10_NORMAL_NOPILOTS";
1186  return "32APSK_9_TO_10_NORMAL_PILOTS";
1188  return "64APSK_32_TO_45_L_NORMAL_NOPILOTS";
1190  return "64APSK_32_TO_45_L_NORMAL_PILOTS";
1192  return "64APSK_11_TO_15_NORMAL_NOPILOTS";
1194  return "64APSK_11_TO_15_NORMAL_PILOTS";
1196  return "64APSK_7_TO_9_NORMAL_NOPILOTS";
1198  return "64APSK_7_TO_9_NORMAL_PILOTS";
1200  return "64APSK_4_TO_5_NORMAL_NOPILOTS";
1202  return "64APSK_4_TO_5_NORMAL_PILOTS";
1204  return "64APSK_5_TO_6_NORMAL_NOPILOTS";
1206  return "64APSK_5_TO_6_NORMAL_PILOTS";
1208  return "128APSK_3_TO_4_NORMAL_NOPILOTS";
1210  return "128APSK_3_TO_4_NORMAL_PILOTS";
1212  return "128APSK_7_TO_9_NORMAL_NOPILOTS";
1214  return "128APSK_7_TO_9_NORMAL_PILOTS";
1216  return "256APSK_29_TO_45_L_NORMAL_NOPILOTS";
1218  return "256APSK_29_TO_45_L_NORMAL_PILOTS";
1220  return "256APSK_2_TO_3_L_NORMAL_NOPILOTS";
1222  return "256APSK_2_TO_3_L_NORMAL_PILOTS";
1224  return "256APSK_31_TO_45_L_NORMAL_NOPILOTS";
1226  return "256APSK_31_TO_45_L_NORMAL_PILOTS";
1228  return "256APSK_32_TO_45_NORMAL_NOPILOTS";
1230  return "256APSK_32_TO_45_NORMAL_PILOTS";
1232  return "256APSK_11_TO_15_L_NORMAL_NOPILOTS";
1234  return "256APSK_11_TO_15_L_NORMAL_PILOTS";
1236  return "256APSK_3_TO_4_NORMAL_NOPILOTS";
1238  return "256APSK_3_TO_4_NORMAL_PILOTS";
1239  default: {
1240  NS_FATAL_ERROR("SatEnums::GetModcodTypeName - Invalid modcod type");
1241  break;
1242  }
1243  }
1244  NS_FATAL_ERROR("SatEnums::GetModcodTypeName - Invalid modcod type");
1245  return "";
1246  }
1247 
1248  static inline SatModcod_t GetModcodFromName(const std::string name)
1249  {
1250  if (name == "SAT_NONVALID_MODCOD")
1251  return SAT_NONVALID_MODCOD;
1252  // DVB-S2X ModCods
1253  if (name == "SAT_MODCOD_S2X_QPSK_11_TO_45_SHORT_NOPILOTS")
1255  if (name == "SAT_MODCOD_S2X_QPSK_11_TO_45_SHORT_PILOTS")
1257  if (name == "SAT_MODCOD_S2X_QPSK_1_TO_4_NORMAL_NOPILOTS")
1259  if (name == "SAT_MODCOD_S2X_QPSK_1_TO_4_NORMAL_PILOTS")
1261  if (name == "SAT_MODCOD_S2X_QPSK_1_TO_4_SHORT_NOPILOTS")
1263  if (name == "SAT_MODCOD_S2X_QPSK_1_TO_4_SHORT_PILOTS")
1265  if (name == "SAT_MODCOD_S2X_QPSK_4_TO_15_SHORT_NOPILOTS")
1267  if (name == "SAT_MODCOD_S2X_QPSK_4_TO_15_SHORT_PILOTS")
1269  if (name == "SAT_MODCOD_S2X_QPSK_13_TO_45_NORMAL_NOPILOTS")
1271  if (name == "SAT_MODCOD_S2X_QPSK_13_TO_45_NORMAL_PILOTS")
1273  if (name == "SAT_MODCOD_S2X_QPSK_14_TO_45_SHORT_NOPILOTS")
1275  if (name == "SAT_MODCOD_S2X_QPSK_14_TO_45_SHORT_PILOTS")
1277  if (name == "SAT_MODCOD_S2X_QPSK_1_TO_3_NORMAL_NOPILOTS")
1279  if (name == "SAT_MODCOD_S2X_QPSK_1_TO_3_NORMAL_PILOTS")
1281  if (name == "SAT_MODCOD_S2X_QPSK_1_TO_3_SHORT_NOPILOTS")
1283  if (name == "SAT_MODCOD_S2X_QPSK_1_TO_3_SHORT_PILOTS")
1285  if (name == "SAT_MODCOD_S2X_QPSK_2_TO_5_NORMAL_NOPILOTS")
1287  if (name == "SAT_MODCOD_S2X_QPSK_2_TO_5_NORMAL_PILOTS")
1289  if (name == "SAT_MODCOD_S2X_QPSK_2_TO_5_SHORT_NOPILOTS")
1291  if (name == "SAT_MODCOD_S2X_QPSK_2_TO_5_SHORT_PILOTS")
1293  if (name == "SAT_MODCOD_S2X_QPSK_9_TO_20_NORMAL_NOPILOTS")
1295  if (name == "SAT_MODCOD_S2X_QPSK_9_TO_20_NORMAL_PILOTS")
1297  if (name == "SAT_MODCOD_S2X_QPSK_7_TO_15_SHORT_NOPILOTS")
1299  if (name == "SAT_MODCOD_S2X_QPSK_7_TO_15_SHORT_PILOTS")
1301  if (name == "SAT_MODCOD_S2X_QPSK_1_TO_2_NORMAL_NOPILOTS")
1303  if (name == "SAT_MODCOD_S2X_QPSK_1_TO_2_NORMAL_PILOTS")
1305  if (name == "SAT_MODCOD_S2X_QPSK_1_TO_2_SHORT_NOPILOTS")
1307  if (name == "SAT_MODCOD_S2X_QPSK_1_TO_2_SHORT_PILOTS")
1309  if (name == "SAT_MODCOD_S2X_QPSK_8_TO_15_SHORT_NOPILOTS")
1311  if (name == "SAT_MODCOD_S2X_QPSK_8_TO_15_SHORT_PILOTS")
1313  if (name == "SAT_MODCOD_S2X_QPSK_11_TO_20_NORMAL_NOPILOTS")
1315  if (name == "SAT_MODCOD_S2X_QPSK_11_TO_20_NORMAL_PILOTS")
1317  if (name == "SAT_MODCOD_S2X_QPSK_3_TO_5_NORMAL_NOPILOTS")
1319  if (name == "SAT_MODCOD_S2X_QPSK_3_TO_5_NORMAL_PILOTS")
1321  if (name == "SAT_MODCOD_S2X_QPSK_3_TO_5_SHORT_NOPILOTS")
1323  if (name == "SAT_MODCOD_S2X_QPSK_3_TO_5_SHORT_PILOTS")
1325  if (name == "SAT_MODCOD_S2X_QPSK_2_TO_3_NORMAL_NOPILOTS")
1327  if (name == "SAT_MODCOD_S2X_QPSK_2_TO_3_NORMAL_PILOTS")
1329  if (name == "SAT_MODCOD_S2X_QPSK_2_TO_3_SHORT_NOPILOTS")
1331  if (name == "SAT_MODCOD_S2X_QPSK_2_TO_3_SHORT_PILOTS")
1333  if (name == "SAT_MODCOD_S2X_QPSK_32_TO_45_SHORT_NOPILOTS")
1335  if (name == "SAT_MODCOD_S2X_QPSK_32_TO_45_SHORT_PILOTS")
1337  if (name == "SAT_MODCOD_S2X_QPSK_3_TO_4_NORMAL_NOPILOTS")
1339  if (name == "SAT_MODCOD_S2X_QPSK_3_TO_4_NORMAL_PILOTS")
1341  if (name == "SAT_MODCOD_S2X_QPSK_3_TO_4_SHORT_NOPILOTS")
1343  if (name == "SAT_MODCOD_S2X_QPSK_3_TO_4_SHORT_PILOTS")
1345  if (name == "SAT_MODCOD_S2X_QPSK_4_TO_5_NORMAL_NOPILOTS")
1347  if (name == "SAT_MODCOD_S2X_QPSK_4_TO_5_NORMAL_PILOTS")
1349  if (name == "SAT_MODCOD_S2X_QPSK_4_TO_5_SHORT_NOPILOTS")
1351  if (name == "SAT_MODCOD_S2X_QPSK_4_TO_5_SHORT_PILOTS")
1353  if (name == "SAT_MODCOD_S2X_QPSK_5_TO_6_NORMAL_NOPILOTS")
1355  if (name == "SAT_MODCOD_S2X_QPSK_5_TO_6_NORMAL_PILOTS")
1357  if (name == "SAT_MODCOD_S2X_QPSK_5_TO_6_SHORT_NOPILOTS")
1359  if (name == "SAT_MODCOD_S2X_QPSK_5_TO_6_SHORT_PILOTS")
1361  if (name == "SAT_MODCOD_S2X_QPSK_8_TO_9_NORMAL_NOPILOTS")
1363  if (name == "SAT_MODCOD_S2X_QPSK_8_TO_9_NORMAL_PILOTS")
1365  if (name == "SAT_MODCOD_S2X_QPSK_8_TO_9_SHORT_NOPILOTS")
1367  if (name == "SAT_MODCOD_S2X_QPSK_8_TO_9_SHORT_PILOTS")
1369  if (name == "SAT_MODCOD_S2X_QPSK_9_TO_10_NORMAL_NOPILOTS")
1371  if (name == "SAT_MODCOD_S2X_QPSK_9_TO_10_NORMAL_PILOTS")
1373  if (name == "SAT_MODCOD_S2X_8PSK_7_TO_15_SHORT_NOPILOTS")
1375  if (name == "SAT_MODCOD_S2X_8PSK_7_TO_15_SHORT_PILOTS")
1377  if (name == "SAT_MODCOD_S2X_8PSK_8_TO_15_SHORT_NOPILOTS")
1379  if (name == "SAT_MODCOD_S2X_8PSK_8_TO_15_SHORT_PILOTS")
1381  if (name == "SAT_MODCOD_S2X_8PSK_26_TO_45_SHORT_NOPILOTS")
1383  if (name == "SAT_MODCOD_S2X_8PSK_26_TO_45_SHORT_PILOTS")
1385  if (name == "SAT_MODCOD_S2X_8PSK_3_TO_5_NORMAL_NOPILOTS")
1387  if (name == "SAT_MODCOD_S2X_8PSK_3_TO_5_NORMAL_PILOTS")
1389  if (name == "SAT_MODCOD_S2X_8PSK_3_TO_5_SHORT_NOPILOTS")
1391  if (name == "SAT_MODCOD_S2X_8PSK_3_TO_5_SHORT_PILOTS")
1393  if (name == "SAT_MODCOD_S2X_8PSK_23_TO_36_NORMAL_NOPILOTS")
1395  if (name == "SAT_MODCOD_S2X_8PSK_23_TO_36_NORMAL_PILOTS")
1397  if (name == "SAT_MODCOD_S2X_8PSK_2_TO_3_NORMAL_NOPILOTS")
1399  if (name == "SAT_MODCOD_S2X_8PSK_2_TO_3_NORMAL_PILOTS")
1401  if (name == "SAT_MODCOD_S2X_8PSK_2_TO_3_SHORT_NOPILOTS")
1403  if (name == "SAT_MODCOD_S2X_8PSK_2_TO_3_SHORT_PILOTS")
1405  if (name == "SAT_MODCOD_S2X_8PSK_25_TO_36_NORMAL_NOPILOTS")
1407  if (name == "SAT_MODCOD_S2X_8PSK_25_TO_36_NORMAL_PILOTS")
1409  if (name == "SAT_MODCOD_S2X_8PSK_32_TO_45_SHORT_NOPILOTS")
1411  if (name == "SAT_MODCOD_S2X_8PSK_32_TO_45_SHORT_PILOTS")
1413  if (name == "SAT_MODCOD_S2X_8PSK_13_TO_18_NORMAL_NOPILOTS")
1415  if (name == "SAT_MODCOD_S2X_8PSK_13_TO_18_NORMAL_PILOTS")
1417  if (name == "SAT_MODCOD_S2X_8PSK_3_TO_4_NORMAL_NOPILOTS")
1419  if (name == "SAT_MODCOD_S2X_8PSK_3_TO_4_NORMAL_PILOTS")
1421  if (name == "SAT_MODCOD_S2X_8PSK_3_TO_4_SHORT_NOPILOTS")
1423  if (name == "SAT_MODCOD_S2X_8PSK_3_TO_4_SHORT_PILOTS")
1425  if (name == "SAT_MODCOD_S2X_8PSK_5_TO_6_NORMAL_NOPILOTS")
1427  if (name == "SAT_MODCOD_S2X_8PSK_5_TO_6_NORMAL_PILOTS")
1429  if (name == "SAT_MODCOD_S2X_8PSK_5_TO_6_SHORT_NOPILOTS")
1431  if (name == "SAT_MODCOD_S2X_8PSK_5_TO_6_SHORT_PILOTS")
1433  if (name == "SAT_MODCOD_S2X_8PSK_8_TO_9_NORMAL_NOPILOTS")
1435  if (name == "SAT_MODCOD_S2X_8PSK_8_TO_9_NORMAL_PILOTS")
1437  if (name == "SAT_MODCOD_S2X_8PSK_8_TO_9_SHORT_NOPILOTS")
1439  if (name == "SAT_MODCOD_S2X_8PSK_8_TO_9_SHORT_PILOTS")
1441  if (name == "SAT_MODCOD_S2X_8PSK_9_TO_10_NORMAL_NOPILOTS")
1443  if (name == "SAT_MODCOD_S2X_8PSK_9_TO_10_NORMAL_PILOTS")
1445  if (name == "SAT_MODCOD_S2X_8APSK_5_TO_9_L_NORMAL_NOPILOTS")
1447  if (name == "SAT_MODCOD_S2X_8APSK_5_TO_9_L_NORMAL_PILOTS")
1449  if (name == "SAT_MODCOD_S2X_8APSK_26_TO_45_L_NORMAL_NOPILOTS")
1451  if (name == "SAT_MODCOD_S2X_8APSK_26_TO_45_L_NORMAL_PILOTS")
1453  if (name == "SAT_MODCOD_S2X_16APSK_7_TO_15_SHORT_NOPILOTS")
1455  if (name == "SAT_MODCOD_S2X_16APSK_7_TO_15_SHORT_PILOTS")
1457  if (name == "SAT_MODCOD_S2X_16APSK_1_TO_2_L_NORMAL_NOPILOTS")
1459  if (name == "SAT_MODCOD_S2X_16APSK_1_TO_2_L_NORMAL_PILOTS")
1461  if (name == "SAT_MODCOD_S2X_16APSK_8_TO_15_L_NORMAL_NOPILOTS")
1463  if (name == "SAT_MODCOD_S2X_16APSK_8_TO_15_L_NORMAL_PILOTS")
1465  if (name == "SAT_MODCOD_S2X_16APSK_8_TO_15_SHORT_NOPILOTS")
1467  if (name == "SAT_MODCOD_S2X_16APSK_8_TO_15_SHORT_PILOTS")
1469  if (name == "SAT_MODCOD_S2X_16APSK_5_TO_9_L_NORMAL_NOPILOTS")
1471  if (name == "SAT_MODCOD_S2X_16APSK_5_TO_9_L_NORMAL_PILOTS")
1473  if (name == "SAT_MODCOD_S2X_16APSK_26_TO_45_NORMAL_NOPILOTS")
1475  if (name == "SAT_MODCOD_S2X_16APSK_26_TO_45_NORMAL_PILOTS")
1477  if (name == "SAT_MODCOD_S2X_16APSK_26_TO_45_SHORT_NOPILOTS")
1479  if (name == "SAT_MODCOD_S2X_16APSK_26_TO_45_SHORT_PILOTS")
1481  if (name == "SAT_MODCOD_S2X_16APSK_3_TO_5_NORMAL_NOPILOTS")
1483  if (name == "SAT_MODCOD_S2X_16APSK_3_TO_5_NORMAL_PILOTS")
1485  if (name == "SAT_MODCOD_S2X_16APSK_3_TO_5_L_NORMAL_NOPILOTS")
1487  if (name == "SAT_MODCOD_S2X_16APSK_3_TO_5_L_NORMAL_PILOTS")
1489  if (name == "SAT_MODCOD_S2X_16APSK_3_TO_5_SHORT_NOPILOTS")
1491  if (name == "SAT_MODCOD_S2X_16APSK_3_TO_5_SHORT_PILOTS")
1493  if (name == "SAT_MODCOD_S2X_16APSK_28_TO_45_NORMAL_NOPILOTS")
1495  if (name == "SAT_MODCOD_S2X_16APSK_28_TO_45_NORMAL_PILOTS")
1497  if (name == "SAT_MODCOD_S2X_16APSK_23_TO_36_NORMAL_NOPILOTS")
1499  if (name == "SAT_MODCOD_S2X_16APSK_23_TO_36_NORMAL_PILOTS")
1501  if (name == "SAT_MODCOD_S2X_16APSK_2_TO_3_L_NORMAL_NOPILOTS")
1503  if (name == "SAT_MODCOD_S2X_16APSK_2_TO_3_L_NORMAL_PILOTS")
1505  if (name == "SAT_MODCOD_S2X_16APSK_2_TO_3_NORMAL_NOPILOTS")
1507  if (name == "SAT_MODCOD_S2X_16APSK_2_TO_3_NORMAL_PILOTS")
1509  if (name == "SAT_MODCOD_S2X_16APSK_2_TO_3_SHORT_NOPILOTS")
1511  if (name == "SAT_MODCOD_S2X_16APSK_2_TO_3_SHORT_PILOTS")
1513  if (name == "SAT_MODCOD_S2X_16APSK_25_TO_36_NORMAL_NOPILOTS")
1515  if (name == "SAT_MODCOD_S2X_16APSK_25_TO_36_NORMAL_PILOTS")
1517  if (name == "SAT_MODCOD_S2X_16APSK_32_TO_45_SHORT_NOPILOTS")
1519  if (name == "SAT_MODCOD_S2X_16APSK_32_TO_45_SHORT_PILOTS")
1521  if (name == "SAT_MODCOD_S2X_16APSK_13_TO_18_NORMAL_NOPILOTS")
1523  if (name == "SAT_MODCOD_S2X_16APSK_13_TO_18_NORMAL_PILOTS")
1525  if (name == "SAT_MODCOD_S2X_16APSK_3_TO_4_NORMAL_NOPILOTS")
1527  if (name == "SAT_MODCOD_S2X_16APSK_3_TO_4_NORMAL_PILOTS")
1529  if (name == "SAT_MODCOD_S2X_16APSK_3_TO_4_SHORT_NOPILOTS")
1531  if (name == "SAT_MODCOD_S2X_16APSK_3_TO_4_SHORT_PILOTS")
1533  if (name == "SAT_MODCOD_S2X_16APSK_7_TO_9_NORMAL_NOPILOTS")
1535  if (name == "SAT_MODCOD_S2X_16APSK_7_TO_9_NORMAL_PILOTS")
1537  if (name == "SAT_MODCOD_S2X_16APSK_4_TO_5_NORMAL_NOPILOTS")
1539  if (name == "SAT_MODCOD_S2X_16APSK_4_TO_5_NORMAL_PILOTS")
1541  if (name == "SAT_MODCOD_S2X_16APSK_4_TO_5_SHORT_NOPILOTS")
1543  if (name == "SAT_MODCOD_S2X_16APSK_4_TO_5_SHORT_PILOTS")
1545  if (name == "SAT_MODCOD_S2X_16APSK_5_TO_6_NORMAL_NOPILOTS")
1547  if (name == "SAT_MODCOD_S2X_16APSK_5_TO_6_NORMAL_PILOTS")
1549  if (name == "SAT_MODCOD_S2X_16APSK_5_TO_6_SHORT_NOPILOTS")
1551  if (name == "SAT_MODCOD_S2X_16APSK_5_TO_6_SHORT_PILOTS")
1553  if (name == "SAT_MODCOD_S2X_16APSK_77_TO_90_NORMAL_NOPILOTS")
1555  if (name == "SAT_MODCOD_S2X_16APSK_77_TO_90_NORMAL_PILOTS")
1557  if (name == "SAT_MODCOD_S2X_16APSK_8_TO_9_NORMAL_NOPILOTS")
1559  if (name == "SAT_MODCOD_S2X_16APSK_8_TO_9_NORMAL_PILOTS")
1561  if (name == "SAT_MODCOD_S2X_16APSK_8_TO_9_SHORT_NOPILOTS")
1563  if (name == "SAT_MODCOD_S2X_16APSK_8_TO_9_SHORT_PILOTS")
1565  if (name == "SAT_MODCOD_S2X_16APSK_9_TO_10_NORMAL_NOPILOTS")
1567  if (name == "SAT_MODCOD_S2X_16APSK_9_TO_10_NORMAL_PILOTS")
1569  if (name == "SAT_MODCOD_S2X_32APSK_2_TO_3_L_NORMAL_NOPILOTS")
1571  if (name == "SAT_MODCOD_S2X_32APSK_2_TO_3_L_NORMAL_PILOTS")
1573  if (name == "SAT_MODCOD_S2X_32APSK_2_TO_3_SHORT_NOPILOTS")
1575  if (name == "SAT_MODCOD_S2X_32APSK_2_TO_3_SHORT_PILOTS")
1577  if (name == "SAT_MODCOD_S2X_32APSK_32_TO_45_NORMAL_NOPILOTS")
1579  if (name == "SAT_MODCOD_S2X_32APSK_32_TO_45_NORMAL_PILOTS")
1581  if (name == "SAT_MODCOD_S2X_32APSK_32_TO_45_SHORT_NOPILOTS")
1583  if (name == "SAT_MODCOD_S2X_32APSK_32_TO_45_SHORT_PILOTS")
1585  if (name == "SAT_MODCOD_S2X_32APSK_11_TO_15_NORMAL_NOPILOTS")
1587  if (name == "SAT_MODCOD_S2X_32APSK_11_TO_15_NORMAL_PILOTS")
1589  if (name == "SAT_MODCOD_S2X_32APSK_3_TO_4_NORMAL_NOPILOTS")
1591  if (name == "SAT_MODCOD_S2X_32APSK_3_TO_4_NORMAL_PILOTS")
1593  if (name == "SAT_MODCOD_S2X_32APSK_3_TO_4_SHORT_NOPILOTS")
1595  if (name == "SAT_MODCOD_S2X_32APSK_3_TO_4_SHORT_PILOTS")
1597  if (name == "SAT_MODCOD_S2X_32APSK_7_TO_9_NORMAL_NOPILOTS")
1599  if (name == "SAT_MODCOD_S2X_32APSK_7_TO_9_NORMAL_PILOTS")
1601  if (name == "SAT_MODCOD_S2X_32APSK_4_TO_5_NORMAL_NOPILOTS")
1603  if (name == "SAT_MODCOD_S2X_32APSK_4_TO_5_NORMAL_PILOTS")
1605  if (name == "SAT_MODCOD_S2X_32APSK_4_TO_5_SHORT_NOPILOTS")
1607  if (name == "SAT_MODCOD_S2X_32APSK_4_TO_5_SHORT_PILOTS")
1609  if (name == "SAT_MODCOD_S2X_32APSK_5_TO_6_NORMAL_NOPILOTS")
1611  if (name == "SAT_MODCOD_S2X_32APSK_5_TO_6_NORMAL_PILOTS")
1613  if (name == "SAT_MODCOD_S2X_32APSK_5_TO_6_SHORT_NOPILOTS")
1615  if (name == "SAT_MODCOD_S2X_32APSK_5_TO_6_SHORT_PILOTS")
1617  if (name == "SAT_MODCOD_S2X_32APSK_8_TO_9_NORMAL_NOPILOTS")
1619  if (name == "SAT_MODCOD_S2X_32APSK_8_TO_9_NORMAL_PILOTS")
1621  if (name == "SAT_MODCOD_S2X_32APSK_8_TO_9_SHORT_NOPILOTS")
1623  if (name == "SAT_MODCOD_S2X_32APSK_8_TO_9_SHORT_PILOTS")
1625  if (name == "SAT_MODCOD_S2X_32APSK_9_TO_10_NORMAL_NOPILOTS")
1627  if (name == "SAT_MODCOD_S2X_32APSK_9_TO_10_NORMAL_PILOTS")
1629  if (name == "SAT_MODCOD_S2X_64APSK_32_TO_45_L_NORMAL_NOPILOTS")
1631  if (name == "SAT_MODCOD_S2X_64APSK_32_TO_45_L_NORMAL_PILOTS")
1633  if (name == "SAT_MODCOD_S2X_64APSK_11_TO_15_NORMAL_NOPILOTS")
1635  if (name == "SAT_MODCOD_S2X_64APSK_11_TO_15_NORMAL_PILOTS")
1637  if (name == "SAT_MODCOD_S2X_64APSK_7_TO_9_NORMAL_NOPILOTS")
1639  if (name == "SAT_MODCOD_S2X_64APSK_7_TO_9_NORMAL_PILOTS")
1641  if (name == "SAT_MODCOD_S2X_64APSK_4_TO_5_NORMAL_NOPILOTS")
1643  if (name == "SAT_MODCOD_S2X_64APSK_4_TO_5_NORMAL_PILOTS")
1645  if (name == "SAT_MODCOD_S2X_64APSK_5_TO_6_NORMAL_NOPILOTS")
1647  if (name == "SAT_MODCOD_S2X_64APSK_5_TO_6_NORMAL_PILOTS")
1649  if (name == "SAT_MODCOD_S2X_128APSK_3_TO_4_NORMAL_NOPILOTS")
1651  if (name == "SAT_MODCOD_S2X_128APSK_3_TO_4_NORMAL_PILOTS")
1653  if (name == "SAT_MODCOD_S2X_128APSK_7_TO_9_NORMAL_NOPILOTS")
1655  if (name == "SAT_MODCOD_S2X_128APSK_7_TO_9_NORMAL_PILOTS")
1657  if (name == "SAT_MODCOD_S2X_256APSK_29_TO_45_L_NORMAL_NOPILOTS")
1659  if (name == "SAT_MODCOD_S2X_256APSK_29_TO_45_L_NORMAL_PILOTS")
1661  if (name == "SAT_MODCOD_S2X_256APSK_2_TO_3_L_NORMAL_NOPILOTS")
1663  if (name == "SAT_MODCOD_S2X_256APSK_2_TO_3_L_NORMAL_PILOTS")
1665  if (name == "SAT_MODCOD_S2X_256APSK_31_TO_45_L_NORMAL_NOPILOTS")
1667  if (name == "SAT_MODCOD_S2X_256APSK_31_TO_45_L_NORMAL_PILOTS")
1669  if (name == "SAT_MODCOD_S2X_256APSK_32_TO_45_NORMAL_NOPILOTS")
1671  if (name == "SAT_MODCOD_S2X_256APSK_32_TO_45_NORMAL_PILOTS")
1673  if (name == "SAT_MODCOD_S2X_256APSK_11_TO_15_L_NORMAL_NOPILOTS")
1675  if (name == "SAT_MODCOD_S2X_256APSK_11_TO_15_L_NORMAL_PILOTS")
1677  if (name == "SAT_MODCOD_S2X_256APSK_3_TO_4_NORMAL_NOPILOTS")
1679  if (name == "SAT_MODCOD_S2X_256APSK_3_TO_4_NORMAL_PILOTS")
1681  // DVB-S2 ModCods
1682  if (name == "SAT_MODCOD_QPSK_1_TO_3")
1683  return SAT_MODCOD_QPSK_1_TO_3;
1684  if (name == "SAT_MODCOD_QPSK_1_TO_2")
1685  return SAT_MODCOD_QPSK_1_TO_2;
1686  if (name == "SAT_MODCOD_QPSK_2_TO_3")
1687  return SAT_MODCOD_QPSK_2_TO_3;
1688  if (name == "SAT_MODCOD_QPSK_3_TO_4")
1689  return SAT_MODCOD_QPSK_3_TO_4;
1690  if (name == "SAT_MODCOD_QPSK_3_TO_5")
1691  return SAT_MODCOD_QPSK_3_TO_5;
1692  if (name == "SAT_MODCOD_QPSK_4_TO_5")
1693  return SAT_MODCOD_QPSK_4_TO_5;
1694  if (name == "SAT_MODCOD_QPSK_5_TO_6")
1695  return SAT_MODCOD_QPSK_5_TO_6;
1696  if (name == "SAT_MODCOD_QPSK_8_TO_9")
1697  return SAT_MODCOD_QPSK_8_TO_9;
1698  if (name == "SAT_MODCOD_QPSK_9_TO_10")
1699  return SAT_MODCOD_QPSK_9_TO_10;
1700  if (name == "SAT_MODCOD_8PSK_2_TO_3")
1701  return SAT_MODCOD_8PSK_2_TO_3;
1702  if (name == "SAT_MODCOD_8PSK_3_TO_4")
1703  return SAT_MODCOD_8PSK_3_TO_4;
1704  if (name == "SAT_MODCOD_8PSK_3_TO_5")
1705  return SAT_MODCOD_8PSK_3_TO_5;
1706  if (name == "SAT_MODCOD_8PSK_5_TO_6")
1707  return SAT_MODCOD_8PSK_5_TO_6;
1708  if (name == "SAT_MODCOD_8PSK_8_TO_9")
1709  return SAT_MODCOD_8PSK_8_TO_9;
1710  if (name == "SAT_MODCOD_8PSK_9_TO_10")
1711  return SAT_MODCOD_8PSK_9_TO_10;
1712  if (name == "SAT_MODCOD_16APSK_2_TO_3")
1713  return SAT_MODCOD_16APSK_2_TO_3;
1714  if (name == "SAT_MODCOD_16APSK_3_TO_4")
1715  return SAT_MODCOD_16APSK_3_TO_4;
1716  if (name == "SAT_MODCOD_16APSK_4_TO_5")
1717  return SAT_MODCOD_16APSK_4_TO_5;
1718  if (name == "SAT_MODCOD_16APSK_5_TO_6")
1719  return SAT_MODCOD_16APSK_5_TO_6;
1720  if (name == "SAT_MODCOD_16APSK_8_TO_9")
1721  return SAT_MODCOD_16APSK_8_TO_9;
1722  if (name == "SAT_MODCOD_16APSK_9_TO_10")
1724  if (name == "SAT_MODCOD_16QAM_3_TO_4")
1725  return SAT_MODCOD_16QAM_3_TO_4;
1726  if (name == "SAT_MODCOD_16QAM_5_TO_6")
1727  return SAT_MODCOD_16QAM_5_TO_6;
1728  if (name == "SAT_MODCOD_32APSK_3_TO_4")
1729  return SAT_MODCOD_32APSK_3_TO_4;
1730  if (name == "SAT_MODCOD_32APSK_4_TO_5")
1731  return SAT_MODCOD_32APSK_4_TO_5;
1732  if (name == "SAT_MODCOD_32APSK_5_TO_6")
1733  return SAT_MODCOD_32APSK_5_TO_6;
1734  if (name == "SAT_MODCOD_32APSK_8_TO_9")
1735  return SAT_MODCOD_32APSK_8_TO_9;
1736  NS_FATAL_ERROR("Cannot fing ModCod: " + name);
1737  return SAT_NONVALID_MODCOD;
1738  }
1739 
1745  typedef enum
1746  {
1750  DUMMY_FRAME = 3
1752 
1753  static inline std::string GetFrameTypeName(SatBbFrameType_t frameType)
1754  {
1755  std::string typeName = "UNDEFINED_FRAME";
1756 
1757  switch (frameType)
1758  {
1759  case SHORT_FRAME:
1760  typeName = "SHORT_FRAME";
1761  break;
1762 
1763  case NORMAL_FRAME:
1764  typeName = "NORMAL_FRAME";
1765  break;
1766 
1767  case DUMMY_FRAME:
1768  typeName = "DUMMY_FRAME";
1769  break;
1770 
1771  default:
1772  NS_FATAL_ERROR("SatEnums::GetFrameTypeName - Invalid frame type");
1773  break;
1774  }
1775 
1776  return typeName;
1777  }
1778 
1784  typedef enum
1785  {
1787  EF_FID = 1,
1788  AF_FID = 2,
1789  BE_FID = 3,
1790  NUM_FIDS = 4
1792 
1796  typedef enum
1797  {
1803 
1807  typedef enum
1808  {
1810  DA_RBDC = 1,
1811  DA_VBDC = 2,
1812  DA_AVBDC = 3
1814 
1816  {
1817  switch (cac)
1818  {
1819  case DA_UNKNOWN: {
1820  return "UNKNOWN";
1821  }
1822  case DA_RBDC: {
1823  return "RBDC";
1824  }
1825  case DA_VBDC: {
1826  return "VBDC";
1827  }
1828  case DA_AVBDC: {
1829  return "AVBDC";
1830  }
1831  default: {
1832  NS_FATAL_ERROR("SatEnums::GetCapacityAllocationCategory - invalid CAC");
1833  break;
1834  }
1835  }
1836  NS_FATAL_ERROR("SatEnums::GetCapacityAllocationCategory - invalid CAC");
1837  return "";
1838  }
1839 
1840  static inline void GetAvailableBbFrameTypes(std::vector<SatBbFrameType_t>& frameTypes)
1841  {
1842  frameTypes.push_back(SHORT_FRAME);
1843  frameTypes.push_back(NORMAL_FRAME);
1844  }
1845 
1850  typedef enum
1851  {
1856 
1857  static inline std::string GetChannelTypeName(ChannelType_t channelType)
1858  {
1859  switch (channelType)
1860  {
1861  case UNKNOWN_CH: {
1862  return "UNKNOWN_CH";
1863  }
1864  case FORWARD_FEEDER_CH: {
1865  return "FORWARD_FEEDER_CH";
1866  }
1867  case FORWARD_USER_CH: {
1868  return "FORWARD_USER_CH";
1869  }
1870  case RETURN_USER_CH: {
1871  return "RETURN_USER_CH";
1872  }
1873  case RETURN_FEEDER_CH: {
1874  return "RETURN_FEEDER_CH";
1875  }
1876  default: {
1877  NS_FATAL_ERROR("SatEnums::GetChannelTypeName - Invalid channel type");
1878  break;
1879  }
1880  }
1881  NS_FATAL_ERROR("SatEnums::GetChannelTypeName - Invalid channel type");
1882  return "";
1883  }
1884 
1890  typedef enum
1891  {
1895  PACKET_DROP = 3
1897 
1898  static inline std::string GetPacketEventName(SatPacketEvent_t packetEvent)
1899  {
1900  switch (packetEvent)
1901  {
1902  case PACKET_SENT: {
1903  return "SND";
1904  }
1905  case PACKET_RECV: {
1906  return "RCV";
1907  }
1908  case PACKET_ENQUE: {
1909  return "ENQ";
1910  }
1911  case PACKET_DROP: {
1912  return "DRP";
1913  }
1914  default: {
1915  NS_FATAL_ERROR("SatEnums::GetPacketEventName - Invalid packet event");
1916  break;
1917  }
1918  }
1919  NS_FATAL_ERROR("SatEnums::GetPacketEventName - Invalid packet event");
1920  return "";
1921  }
1922 
1928  typedef enum
1929  {
1930  NT_UT = 0,
1931  NT_SAT = 1,
1932  NT_GW = 2,
1933  NT_NCC = 3,
1934  NT_TER = 4,
1935  NT_UNDEFINED = 5
1937 
1938  static inline std::string GetNodeTypeName(SatNodeType_t nodeType)
1939  {
1940  switch (nodeType)
1941  {
1942  case NT_UT: {
1943  return "UT";
1944  }
1945  case NT_SAT: {
1946  return "SAT";
1947  }
1948  case NT_GW: {
1949  return "GW";
1950  }
1951  case NT_NCC: {
1952  return "NCC";
1953  }
1954  case NT_TER: {
1955  return "TER";
1956  }
1957  case NT_UNDEFINED: {
1958  return "UNDEF";
1959  }
1960  default: {
1961  NS_FATAL_ERROR("SatEnums::GetNodeTypeName - Invalid node type");
1962  break;
1963  }
1964  }
1965  NS_FATAL_ERROR("SatEnums::GetNodeTypeName - Invalid node type");
1966  return "";
1967  }
1968 
1974  typedef enum
1975  {
1978  LD_UNDEFINED = 2
1980 
1981  static inline std::string GetLinkDirName(SatLinkDir_t linkDir)
1982  {
1983  switch (linkDir)
1984  {
1985  case LD_FORWARD: {
1986  return "FWD";
1987  }
1988  case LD_RETURN: {
1989  return "RTN";
1990  }
1991  case LD_UNDEFINED: {
1992  return "UNDEF";
1993  }
1994  default: {
1995  NS_FATAL_ERROR("SatEnums::GetLinkDirName - Invalid link direction");
1996  break;
1997  }
1998  }
1999  NS_FATAL_ERROR("SatEnums::GetLinkDirName - Invalid link direction");
2000  return "";
2001  }
2002 
2008  typedef enum
2009  {
2010  LL_ND = 0,
2011  LL_LLC = 1,
2012  LL_MAC = 2,
2013  LL_PHY = 3,
2014  LL_CH = 4,
2015  } SatLogLevel_t;
2016 
2017  static inline std::string GetLogLevelName(SatLogLevel_t logLevel)
2018  {
2019  switch (logLevel)
2020  {
2021  case LL_ND: {
2022  return "ND";
2023  }
2024  case LL_LLC: {
2025  return "LLC";
2026  }
2027  case LL_MAC: {
2028  return "MAC";
2029  }
2030  case LL_PHY: {
2031  return "PHY";
2032  }
2033  case LL_CH: {
2034  return "CH";
2035  }
2036  default: {
2037  NS_FATAL_ERROR("SatEnums::GetLogLevelName - Invalid log level");
2038  break;
2039  }
2040  }
2041  NS_FATAL_ERROR("SatEnums::GetLogLevelName - Invalid log level");
2042  return "";
2043  }
2044 
2050  typedef enum
2051  {
2056 
2057  static inline std::string GetRandomAccessTriggerTypeName(RandomAccessTriggerType_t triggerType)
2058  {
2059  switch (triggerType)
2060  {
2062  return "RA_TRIGGER_TYPE_SLOTTED_ALOHA";
2063  }
2064  case RA_TRIGGER_TYPE_CRDSA: {
2065  return "RA_TRIGGER_TYPE_CRDSA";
2066  }
2067  case RA_TRIGGER_TYPE_ESSA: {
2068  return "RA_TRIGGER_TYPE_ESSA";
2069  }
2070  default: {
2071  NS_FATAL_ERROR("SatEnums::GetRandomAccessTriggerTypeName - Invalid trigger type");
2072  break;
2073  }
2074  }
2075  NS_FATAL_ERROR("SatEnums::GetRandomAccessTriggerTypeName - Invalid trigger type");
2076  return "";
2077  }
2078 
2083  typedef enum
2084  {
2090  RA_MODEL_ESSA = 5
2092 
2093  static inline std::string GetRandomAccessModelName(RandomAccessModel_t model)
2094  {
2095  switch (model)
2096  {
2097  case RA_MODEL_OFF: {
2098  return "RA_MODEL_OFF";
2099  }
2100  case RA_MODEL_SLOTTED_ALOHA: {
2101  return "RA_MODEL_SLOTTED_ALOHA";
2102  }
2103  case RA_MODEL_CRDSA: {
2104  return "RA_MODEL_CRDSA";
2105  }
2107  return "RA_MODEL_RCS2_SPECIFICATION";
2108  }
2109  case RA_MODEL_ESSA: {
2110  return "RA_MODEL_ESSA";
2111  }
2112  default: {
2113  NS_FATAL_ERROR("SatEnums::GetRandomAccessModelName - Invalid model");
2114  break;
2115  }
2116  }
2117  NS_FATAL_ERROR("SatEnums::GetRandomAccessModelName - Invalid model");
2118  return "";
2119  }
2120 
2126  typedef enum
2127  {
2133 
2134  static inline std::string GetRandomAccessOpportunityTypeName(
2135  RandomAccessTxOpportunityType_t opportunityType)
2136  {
2137  switch (opportunityType)
2138  {
2140  return "RA_TX_OPPORTUNITY_DO_NOTHING";
2141  }
2143  return "RA_TX_OPPORTUNITY_SLOTTED_ALOHA";
2144  }
2145  case RA_TX_OPPORTUNITY_CRDSA: {
2146  return "RA_TX_OPPORTUNITY_CRDSA";
2147  }
2148  case RA_TX_OPPORTUNITY_ESSA: {
2149  return "RA_TX_OPPORTUNITY_ESSA";
2150  }
2151  default: {
2152  NS_FATAL_ERROR(
2153  "SatEnums::GetRandomAccessOpportunityTypeName - Invalid opportunity type");
2154  break;
2155  }
2156  }
2157  NS_FATAL_ERROR("SatEnums::GetRandomAccessOpportunityTypeName - Invalid opportunity type");
2158  return "";
2159  }
2160 
2165  typedef enum
2166  {
2171  PACKET_TYPE_LOGON = 4
2173 
2174  static inline std::string GetPacketTypeName(PacketType_t packetType)
2175  {
2176  switch (packetType)
2177  {
2179  return "PACKET_TYPE_DEDICATED_ACCESS";
2180  }
2182  return "PACKET_TYPE_SLOTTED_ALOHA";
2183  }
2184  case PACKET_TYPE_CRDSA: {
2185  return "PACKET_TYPE_CRDSA";
2186  }
2187  case PACKET_TYPE_ESSA: {
2188  return "PACKET_TYPE_CRDSA";
2189  }
2190  default: {
2191  NS_FATAL_ERROR("SatEnums::GetPacketTypeName - Invalid packet type");
2192  break;
2193  }
2194  }
2195  NS_FATAL_ERROR("SatEnums::GetPacketTypeName - Invalid packet type");
2196  return "";
2197  }
2198 
2204  typedef enum
2205  {
2208 
2209  static inline std::string GetRbdcCapacityRequestAlgorithmName(
2210  RbdcCapacityRequestAlgorithm_t rbdcAlgorithm)
2211  {
2212  switch (rbdcAlgorithm)
2213  {
2214  case CR_RBDC_LEGACY: {
2215  return "CR_RBDC_LEGACY";
2216  }
2217  default: {
2218  NS_FATAL_ERROR(
2219  "SatEnums::GetRbdcCapacityRequestAlgorithmName - Invalid algorithm name");
2220  break;
2221  }
2222  }
2223  NS_FATAL_ERROR("SatEnums::GetRbdcCapacityRequestAlgorithmName - Invalid algorithm name");
2224  return "";
2225  }
2226 
2232  typedef enum
2233  {
2236 
2237  static inline std::string GetVbdcCapacityRequestAlgorithmName(
2238  VbdcCapacityRequestAlgorithm_t vbdcAlgorithm)
2239  {
2240  switch (vbdcAlgorithm)
2241  {
2242  case CR_VBDC_LEGACY: {
2243  return "CR_VBDC_LEGACY";
2244  }
2245  default: {
2246  NS_FATAL_ERROR(
2247  "SatEnums::GetVbdcCapacityRequestAlgorithmName - Invalid algorithm name");
2248  break;
2249  }
2250  }
2251  NS_FATAL_ERROR("SatEnums::GetVbdcCapacityRequestAlgorithmName - Invalid algorithm name");
2252  return "";
2253  }
2254 
2259  typedef enum
2260  {
2263 
2269  typedef enum
2270  {
2271  LR_RCS2 = 0,
2272  LR_FSIM = 1,
2273  LR_LORA = 2
2275 
2276  private:
2283  virtual ~SatEnums() = 0;
2284 };
2285 
2286 } // namespace ns3
2287 
2288 #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.