Merge "[Feature][ZXW-124] add qser sim/sms demo"
diff --git a/cap/zx297520v3/sources/meta-zxic-custom/recipes-lynq/lynq-qser-network-demo/files/lynq-qser-network-demo.cpp b/cap/zx297520v3/sources/meta-zxic-custom/recipes-lynq/lynq-qser-network-demo/files/lynq-qser-network-demo.cpp
index e3c672c..dabfb0e 100755
--- a/cap/zx297520v3/sources/meta-zxic-custom/recipes-lynq/lynq-qser-network-demo/files/lynq-qser-network-demo.cpp
+++ b/cap/zx297520v3/sources/meta-zxic-custom/recipes-lynq/lynq-qser-network-demo/files/lynq-qser-network-demo.cpp
@@ -323,8 +323,8 @@
             QSER_NW_CONFIG_INFO_T     t_info = {0};

             

             int mask = 0;

-            printf("please input event mask hex(TDSCDMA | LTE | EVDO | CDMA | WCDMA | GSM): \n");

-            scanf("%x", &mask);

+            printf("please input decimal format number,  whose hex format is (TDSCDMA | LTE | EVDO | CDMA | WCDMA | GSM) : \n");

+            scanf("%d", &mask);

             t_info.preferred_nw_mode = mask;

             

             ret = qser_nw_set_config_p(h_nw, &t_info);

diff --git a/cap/zx297520v3/src/lynq/lib/liblynq-qser-network/lynq_qser_network.cpp b/cap/zx297520v3/src/lynq/lib/liblynq-qser-network/lynq_qser_network.cpp
index 15b4b33..ec4097c 100755
--- a/cap/zx297520v3/src/lynq/lib/liblynq-qser-network/lynq_qser_network.cpp
+++ b/cap/zx297520v3/src/lynq/lib/liblynq-qser-network/lynq_qser_network.cpp
@@ -21,26 +21,75 @@
 
 nw_client_handle_type g_ph_hw = INVALID_CLIENT_HANDLE;
 
+#if 0
+typedef enum {
+    PREF_NET_TYPE_GSM_WCDMA                = 0, /* GSM/WCDMA (WCDMA preferred) */
+    PREF_NET_TYPE_GSM_ONLY                 = 1, /* GSM only */
+    PREF_NET_TYPE_WCDMA                    = 2, /* WCDMA  */
+    PREF_NET_TYPE_GSM_WCDMA_AUTO           = 3, /* GSM/WCDMA (auto mode, according to PRL) */
+    PREF_NET_TYPE_CDMA_EVDO_AUTO           = 4, /* CDMA and EvDo (auto mode, according to PRL) */
+    PREF_NET_TYPE_CDMA_ONLY                = 5, /* CDMA only */
+    PREF_NET_TYPE_EVDO_ONLY                = 6, /* EvDo only */
+    PREF_NET_TYPE_GSM_WCDMA_CDMA_EVDO_AUTO = 7, /* GSM/WCDMA, CDMA, and EvDo (auto mode, according to PRL) */
+    PREF_NET_TYPE_LTE_CDMA_EVDO            = 8, /* LTE, CDMA and EvDo */
+    PREF_NET_TYPE_LTE_GSM_WCDMA            = 9, /* LTE, GSM/WCDMA */
+    PREF_NET_TYPE_LTE_CMDA_EVDO_GSM_WCDMA  = 10, /* LTE, CDMA, EvDo, GSM/WCDMA */
+    PREF_NET_TYPE_LTE_ONLY                 = 11, /* LTE only */
+    PREF_NET_TYPE_LTE_WCDMA                = 12,  /* LTE/WCDMA */
+    PREF_NET_TYPE_TD_SCDMA_ONLY            = 13, /* TD-SCDMA only */
+    PREF_NET_TYPE_TD_SCDMA_WCDMA           = 14, /* TD-SCDMA and WCDMA */
+    PREF_NET_TYPE_TD_SCDMA_LTE             = 15, /* TD-SCDMA and LTE */
+    PREF_NET_TYPE_TD_SCDMA_GSM             = 16, /* TD-SCDMA and GSM */
+    PREF_NET_TYPE_TD_SCDMA_GSM_LTE         = 17, /* TD-SCDMA,GSM and LTE */
+    PREF_NET_TYPE_TD_SCDMA_GSM_WCDMA       = 18, /* TD-SCDMA, GSM/WCDMA */
+    PREF_NET_TYPE_TD_SCDMA_WCDMA_LTE       = 19, /* TD-SCDMA, WCDMA and LTE */
+    PREF_NET_TYPE_TD_SCDMA_GSM_WCDMA_LTE   = 20, /* TD-SCDMA, GSM/WCDMA and LTE */
+    PREF_NET_TYPE_TD_SCDMA_GSM_WCDMA_CDMA_EVDO_AUTO  = 21, /* TD-SCDMA, GSM/WCDMA, CDMA and EvDo */
+    PREF_NET_TYPE_TD_SCDMA_LTE_CDMA_EVDO_GSM_WCDMA   = 22,  /* TD-SCDMA, LTE, CDMA, EvDo GSM/WCDMA */
+    PREF_NET_TYPE_NR_ONLY                  = 23, /* NR 5G only mode */
+    PREF_NET_TYPE_NR_LTE                   = 24, /* NR 5G, LTE */
+    PREF_NET_TYPE_NR_LTE_CDMA_EVDO         = 25, /* NR 5G, LTE, CDMA and EvDo */
+    PREF_NET_TYPE_NR_LTE_GSM_WCDMA         = 26, /* NR 5G, LTE, GSM and WCDMA */
+    PREF_NET_TYPE_NR_LTE_CDMA_EVDO_GSM_WCDMA = 27, /* NR 5G, LTE, CDMA, EvDo, GSM and WCDMA */
+    PREF_NET_TYPE_NR_LTE_WCDMA             = 28, /* NR 5G, LTE and WCDMA */
+    PREF_NET_TYPE_NR_LTE_TDSCDMA           = 29, /* NR 5G, LTE and TDSCDMA */
+    PREF_NET_TYPE_NR_LTE_TDSCDMA_GSM       = 30, /* NR 5G, LTE, TD-SCDMA and GSM */
+    PREF_NET_TYPE_NR_LTE_TDSCDMA_WCDMA       = 31, /* NR 5G, LTE, TD-SCDMA, WCDMA */
+    PREF_NET_TYPE_NR_LTE_TDSCDMA_GSM_WCDMA = 32, /* NR 5G, LTE, TD-SCDMA, GSM and WCDMA */
+    PREF_NET_TYPE_NR_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA = 33 /* NR 5G, LTE, TD-SCDMA, CDMA, EVDO, GSM and WCDMA */
+} RIL_PreferredNetworkType;
+#endif
+
 int switch_preferred_nw_mode(const uint64_t preferred_nw_mode)
 {
-    int map[13]={
-            0xffff,    // "0 : GSM/WCDMA (WCDMA preferred)"
-            QSER_NW_MODE_GSM, // "1 : GSM only"
-            QSER_NW_MODE_WCDMA, // "2 : WCDMA"
-            QSER_NW_MODE_GSM | QSER_NW_MODE_WCDMA, // "3 : GSM/WCDMA (auto mode, according to PRL)"
-            QSER_NW_MODE_CDMA | QSER_NW_MODE_EVDO, // "4 : CDMA and EvDo (auto mode, according to PRL)"
-            QSER_NW_MODE_CDMA, // "5 : CDMA only"
-            QSER_NW_MODE_EVDO, // "6 : EvDo only"
-            QSER_NW_MODE_GSM | QSER_NW_MODE_WCDMA | QSER_NW_MODE_CDMA | QSER_NW_MODE_EVDO, // "7 : GSM/WCDMA, CDMA, and EvDo (auto mode, according to PRL)"
-            QSER_NW_MODE_LTE | QSER_NW_MODE_CDMA | QSER_NW_MODE_EVDO, // "8 : LTE, CDMA and EvDo"
-            QSER_NW_MODE_LTE | QSER_NW_MODE_GSM | QSER_NW_MODE_WCDMA, // "9 : LTE, GSM/WCDMA"
-            QSER_NW_MODE_LTE | QSER_NW_MODE_CDMA | QSER_NW_MODE_EVDO| QSER_NW_MODE_GSM | QSER_NW_MODE_WCDMA, // "10: LTE, CDMA, EvDo, GSM/WCDMA"
-            QSER_NW_MODE_LTE , // "11: LTE only"
-            QSER_NW_MODE_LTE | QSER_NW_MODE_WCDMA, // "12: LTE/WCDMA"            
+    uint32_t map[23]={    
+            0xffff,                                                               //PREF_NET_TYPE_GSM_WCDMA                = 0, /* GSM/WCDMA (WCDMA preferred) */
+            QSER_NW_MODE_GSM,                                                     //PREF_NET_TYPE_GSM_ONLY                 = 1, /* GSM only */
+            QSER_NW_MODE_WCDMA,                                                   //PREF_NET_TYPE_WCDMA                    = 2, /* WCDMA  */
+            QSER_NW_MODE_GSM | QSER_NW_MODE_WCDMA,                                //PREF_NET_TYPE_GSM_WCDMA_AUTO          = 3, /* GSM/WCDMA (auto mode, according to PRL) */
+            QSER_NW_MODE_CDMA | QSER_NW_MODE_EVDO,                                //PREF_NET_TYPE_CDMA_EVDO_AUTO           = 4, /* CDMA and EvDo (auto mode, according to PRL) */
+            QSER_NW_MODE_CDMA,                                                    //PREF_NET_TYPE_CDMA_ONLY                = 5, /* CDMA only */
+            QSER_NW_MODE_EVDO,                                                    // PREF_NET_TYPE_EVDO_ONLY                = 6, /* EvDo only */
+            QSER_NW_MODE_GSM | QSER_NW_MODE_WCDMA | QSER_NW_MODE_CDMA | QSER_NW_MODE_EVDO, //  PREF_NET_TYPE_GSM_WCDMA_CDMA_EVDO_AUTO = 7, /* GSM/WCDMA, CDMA, and EvDo (auto mode, according to PRL) */
+            QSER_NW_MODE_LTE | QSER_NW_MODE_CDMA | QSER_NW_MODE_EVDO,             //PREF_NET_TYPE_LTE_CDMA_EVDO            = 8 "8 : LTE, CDMA and EvDo"
+            QSER_NW_MODE_LTE | QSER_NW_MODE_GSM | QSER_NW_MODE_WCDMA,             //PREF_NET_TYPE_LTE_GSM_WCDMA            = 9, /* LTE, GSM/WCDMA */
+            QSER_NW_MODE_LTE | QSER_NW_MODE_CDMA | QSER_NW_MODE_EVDO| QSER_NW_MODE_GSM | QSER_NW_MODE_WCDMA, //PREF_NET_TYPE_LTE_CMDA_EVDO_GSM_WCDMA  = 10, /* LTE, CDMA, EvDo, GSM/WCDMA */
+            QSER_NW_MODE_LTE ,                                                   //PREF_NET_TYPE_LTE_ONLY                 = 11, /* LTE only */
+            QSER_NW_MODE_LTE | QSER_NW_MODE_WCDMA,                               //PREF_NET_TYPE_LTE_WCDMA                = 12,  /* LTE/WCDMA */   
+            QSER_NW_MODE_TDSCDMA ,                                               //PREF_NET_TYPE_TD_SCDMA_ONLY            = 13, /* TD-SCDMA only */  
+            QSER_NW_MODE_TDSCDMA | QSER_NW_MODE_WCDMA ,                          //PREF_NET_TYPE_TD_SCDMA_WCDMA           = 14, /* TD-SCDMA and WCDMA */      
+            QSER_NW_MODE_TDSCDMA | QSER_NW_MODE_LTE ,                            //PREF_NET_TYPE_TD_SCDMA_LTE             = 15, /* TD-SCDMA and LTE */  
+            QSER_NW_MODE_TDSCDMA | QSER_NW_MODE_GSM,                             // PREF_NET_TYPE_TD_SCDMA_GSM             = 16, /* TD-SCDMA and GSM */
+            QSER_NW_MODE_TDSCDMA | QSER_NW_MODE_GSM | QSER_NW_MODE_LTE,                                           //PREF_NET_TYPE_TD_SCDMA_GSM_LTE         = 17, /* TD-SCDMA,GSM and LTE */
+            QSER_NW_MODE_TDSCDMA | QSER_NW_MODE_GSM | QSER_NW_MODE_WCDMA,                                        //PREF_NET_TYPE_TD_SCDMA_GSM_WCDMA       = 18, /* TD-SCDMA, GSM/WCDMA */
+            QSER_NW_MODE_TDSCDMA | QSER_NW_MODE_WCDMA | QSER_NW_MODE_LTE,                                         //PREF_NET_TYPE_TD_SCDMA_WCDMA_LTE       = 19, /* TD-SCDMA, WCDMA and LTE */
+            QSER_NW_MODE_TDSCDMA | QSER_NW_MODE_GSM | QSER_NW_MODE_WCDMA | QSER_NW_MODE_LTE,                      //PREF_NET_TYPE_TD_SCDMA_GSM_WCDMA_LTE   = 20, /* TD-SCDMA, GSM/WCDMA and LTE */
+            QSER_NW_MODE_TDSCDMA | QSER_NW_MODE_GSM | QSER_NW_MODE_WCDMA | QSER_NW_MODE_CDMA | QSER_NW_MODE_EVDO,                     //PREF_NET_TYPE_TD_SCDMA_GSM_WCDMA_CDMA_EVDO_AUTO  = 21, /* TD-SCDMA, GSM/WCDMA, CDMA and EvDo */
+            QSER_NW_MODE_TDSCDMA | QSER_NW_MODE_LTE | QSER_NW_MODE_CDMA  |QSER_NW_MODE_EVDO | QSER_NW_MODE_GSM | QSER_NW_MODE_WCDMA,  //PREF_NET_TYPE_TD_SCDMA_LTE_CDMA_EVDO_GSM_WCDMA   = 22,  /* TD-SCDMA, LTE, CDMA, EvDo GSM/WCDMA */
     };
     int array_length=sizeof (map)/ sizeof (map[0]);
 
-    for(int i=0;i<array_length;i++)
+    for(int i=1;i<array_length;i++)
     {
         if(map[i]==preferred_nw_mode)
         {