[Bugfix][T800][task-view-326] there is error in filling wcdma rscp and
ecno in  signalstrength

    Only Configure: No
    Affected branch: unknown
    Affected module: network
    Is it affected on both ZXIC and MTK: MTK
    Self-test: yes
    Doc Update: no

Change-Id: I6f05d389fa122756d9f4f627f4cd0b2465545ba6
diff --git a/LYNQ_PUBLIC/common_src/lib/liblynq-network/lynq_network.cpp b/LYNQ_PUBLIC/common_src/lib/liblynq-network/lynq_network.cpp
index f5c592e..963cae2 100755
--- a/LYNQ_PUBLIC/common_src/lib/liblynq-network/lynq_network.cpp
+++ b/LYNQ_PUBLIC/common_src/lib/liblynq-network/lynq_network.cpp
@@ -405,6 +405,25 @@
     return RESULT_OK;  

 }

 

+int is_network_registed(char* network_status)

+{

+    if(strcmp(network_status , "registered") != 0 && strcmp(network_status , "current") !=0)  // add by hq on 18/09/2024 for bug-188, registered is for T800, current is for T106

+    {

+        return false;

+    }

+    return true;

+}

+

+int is_network_available(char* network_status)

+{

+    if(strcmp(network_status , "visible") != 0 && strcmp(network_status , "available") !=0)  // add by hq on 18/09/2024 for bug-188, visible is for T800, available is for T106

+    {

+        return false;

+    }

+    return true;

+}

+

+

 int lynq_query_available_network(char *OperatorFN,char *OperatorSH,char *MccMnc,char * NetStatus)

 {

     if(g_module_init_flag != MODULE_RUNNING)

@@ -1025,6 +1044,36 @@
     return RESULT_OK;   

 }

 

+void convert_rscp(int relative_value, int* abs_value)

+{

+    if (0 == relative_value) {

+        (*abs_value) = 120;

+    } 

+    else if (0 < relative_value && relative_value <= 96) {

+        (*abs_value) = 121 - relative_value;

+    } 

+    else 

+    {

+        (*abs_value) = 0x7FFFFFFF;

+    }

+}

+

+void convert_ecno(int relative_value, int* opposite_value_10_times)

+{

+    if (0 == relative_value)

+    {

+        (*opposite_value_10_times) = 240 ;

+    }

+    else if (0 < relative_value  && relative_value <= 49) 

+    {

+        (*opposite_value_10_times) = 245 - relative_value*5;

+    } 

+    else 

+    {

+        (*opposite_value_10_times) = 0x7FFFFFFF;    

+    }

+}

+

 int is_rssi_valid(int rssi)

 {

     if(rssi < 99 && rssi >=0)

@@ -1042,6 +1091,7 @@
     }

     return false;

 }

+

 int lynq_solicited_signal_strength(signalStrength_t *solSigStren)

 {

     if(g_module_init_flag != MODULE_RUNNING)

@@ -1065,6 +1115,8 @@
 

 

     int none = 0;

+    int rscp;

+    int ecno;

 

     p->readInt32(&solSigStren->rssi);

     if(is_rssi_valid(solSigStren->rssi))

@@ -1102,12 +1154,16 @@
     p->readInt32(&none);

     p->readInt32(&solSigStren->wcdma_signalstrength);

     p->readInt32(&none);

-    p->readInt32(&solSigStren->rscp);

-    p->readInt32(&solSigStren->ecno);

+    p->readInt32(&rscp);

+    p->readInt32(&ecno);

+    

+    

     LYINFLOG("WCDMA_signalstrength:%d",solSigStren->wcdma_signalstrength);

     if(is_rssi_valid(solSigStren->wcdma_signalstrength))

     {

         solSigStren->wcdma_sig_valid = 1;

+        convert_rscp(rscp,&solSigStren->rscp);

+        convert_ecno(ecno,&solSigStren->ecno);

     }else{

         solSigStren->wcdma_sig_valid = 0;

     }

@@ -1350,8 +1406,9 @@
     int resp_type; 

     int none = 0;

     int NR_sum = 0;

-

-    int size=p->dataSize();

+    int size=p->dataSize();    

+    int rscp;

+    int ecno;

     p->readInt32(&resp_type);

     p->readInt32(&s_module_wait_urc_id);

     p->readInt32(&s_module_urc_slot_id);

@@ -1411,13 +1468,15 @@
             p->readInt32(&none);

             p->readInt32(&none);

             p->readInt32(&s_network_urc_solSigStren.wcdma_signalstrength);

-            p->readInt32(&none);

-            p->readInt32(&s_network_urc_solSigStren.rscp);

-            p->readInt32(&s_network_urc_solSigStren.ecno);

+            p->readInt32(&none);//bitErrorRate

+            p->readInt32(&rscp);

+            p->readInt32(&ecno);

             if(is_rssi_valid(s_network_urc_solSigStren.wcdma_signalstrength))

             {

                 s_network_urc_solSigStren.wcdma_sig_valid = 1;

-                LYINFLOG("urc_WCDMA_signalstrength:%d",s_network_urc_solSigStren.wcdma_signalstrength);    

+                convert_rscp(rscp,&s_network_urc_solSigStren.rscp);

+                convert_ecno(ecno,&s_network_urc_solSigStren.ecno);

+                LYINFLOG("urc_WCDMA_signalstrength:%d",s_network_urc_solSigStren.wcdma_signalstrength);                

             }else{

                 s_network_urc_solSigStren.wcdma_sig_valid = 0;

             }