根据网络类型等信息,正确设置cat1_runtime变量,以供显示时使用。 297/1 297/head 298/target/1
authorSnickerSun <snickersun@163.com>
Mon, 17 Jun 2024 01:31:28 +0000 (09:31 +0800)
committerSnickerSun <snickersun@163.com>
Mon, 17 Jun 2024 01:31:28 +0000 (09:31 +0800)
code/sdk/drivers/peripheral/slip/cat1Service/cat1_server.cpp

index 18c06fc..17df09c 100644 (file)
@@ -600,6 +600,24 @@ static int decodeNetStat(char* msg)
              * voice_stat 语音网络状态:1,注冊本地网络,5注册漫游网络,其他不通, 
              * voice_rat, 语音网络类型: 0      GSM ;1        GSM COMPACT ;2        UTRAN ;3      GSM wEGPRS ; 4        UTRAN wHSDPA ;5       UTRAN wHSUPA ;
              *              6  UTRAN wHSDPA HSUPA ;7 E_UTRAN ;8    UTRAN HSPAP ;9        E_UTRAN_CA ;10        NONE
+             * 
+             * 0 = GSM(2G) 
+             * 1 = GSM Compact(2G) 
+             * 2 = UTRAN(3G) 
+             * 3 = GSM w/EGPRS(2G) 
+             * 4 = UTRAN w/HSDPA(3G) 
+             * 5 = UTRAN w/HSUPA(3G) 
+             * 6 = UTRAN w/HSDPA and HSUPA(3G) 
+             * 7 = E-UTRAN(4G) 
+             * 8 = EC-GSM-IoT(4G或IoT) 
+             * 9 = E-UTRAN(NB-IoT
+             * 10      NONE
+             * 
+             * 
+             * 7 、 8  代表 4G
+             * 10 unknown
+             * 其他无
+             * 
              * data_stat, 数据网络状态 同上
              * data_rat 数据网络类型 同上
              * 
@@ -625,7 +643,17 @@ static int decodeNetStat(char* msg)
                     {
                         int networkon = atoi(s) ;
                         PRINT("=== networkon = %d , %s \n",networkon,networkon==1?"connected":networkon==5?"roaming":"unkown");
-                        uapi_dev_runtime_set_cat1_networkstat(networkon);
+                        switch(networkon)
+                        {
+                            case 1:
+                            case 5:
+                                uapi_dev_runtime_set_cat1_networkstat(1);
+                                break;
+                            default:
+                                uapi_dev_runtime_set_cat1_networkstat(0);
+                                break;
+
+                        }
                         
                     }   
                     break;
@@ -635,7 +663,30 @@ static int decodeNetStat(char* msg)
                         PRINT("=== network_type = %d , %s\n",network_type,
                         network_type==0?"GSM":network_type==1?"GSM COMPACT":network_type==2?"UTRAN":network_type==3?"GSM wEGPRS":network_type==4?"UTRAN wHSDPA":network_type==5?"UTRAN wHSUPA":network_type==6?"UTRAN wHSDPA HSUPA":network_type==7?"E_UTRAN":network_type==8?"UTRAN HSPAP":network_type==9?"E_UTRAN_CA":"NONE"
                         );
-                        uapi_dev_runtime_set_cat1_networktype(network_type);
+                        switch (network_type)
+                        {
+                            case 0:
+                            case 1:
+                            case 3:
+                                uapi_dev_runtime_set_cat1_networktype(1);
+                                break;
+                            case 2:
+                            case 4:
+                            case 5:
+                            case 6:
+                                uapi_dev_runtime_set_cat1_networktype(2);
+                                break;                            
+                            case 7:
+                            case 8:
+                                uapi_dev_runtime_set_cat1_networktype(4);
+                                break;   
+                            case 9:                         
+                            case 10:                                
+                            default:
+                                uapi_dev_runtime_set_cat1_networktype(0);
+                                break;
+                        }
+                        
                     }                    
                     break;
                 case 0: