[Feature][ZK-92] ftp gpslog to soc with syslog

Only Configure:No
Affected branch:MR3.0-Merge-v2.0-ZK
Affected module:GNSS-LOG
Is it affected on both ZXIC and MTK: only MTK
Self-test: Yes
Doc Update: No

Change-Id: I81a1b0a10fb92eb34a664b8a3200afadbcec929e
diff --git a/IC_src/mtk/packages/apps/lynq-log-transfer/lynq_inner_log_transfer.sh b/IC_src/mtk/packages/apps/lynq-log-transfer/lynq_inner_log_transfer.sh
index 1a8a462..189ab5c 100755
--- a/IC_src/mtk/packages/apps/lynq-log-transfer/lynq_inner_log_transfer.sh
+++ b/IC_src/mtk/packages/apps/lynq-log-transfer/lynq_inner_log_transfer.sh
@@ -129,7 +129,6 @@
 q_max_size_uci=""
 
 
-
 TAR_CMD="gzip"
 TAR_ARG=" -f"
 TAR_EXT="gz"
@@ -146,6 +145,78 @@
     mkdir -p ${CONTROL_FILE_PATH}
 fi
 
+#gpslog transfer to soc begin@cz.li,20240314
+GPS_LOG_PATH="${TMP_LOG_PATH}gps/"
+GPS_COF_PATH="/etc/gnss/mnl.prop"
+EXIST_GPS_NUM=0
+EXIST_GPS_NUM_MAX=180
+GPS_LOG_DEL=$(($EXIST_GPS_NUM_MAX/2))
+
+function get_gpslog_del_num()
+{	
+    if [ $1 -lt $((${2}/2)) ]; then
+        GPS_LOG_DEL=$((${1}+${2}/2))
+    else
+	    GPS_LOG_DEL=$((${1}-${2}/2))
+    fi
+}
+
+function do_gpslog_num_plus()
+{
+    ((EXIST_GPS_NUM++))
+    if [ $EXIST_GPS_NUM -gt $EXIST_GPS_NUM_MAX ]; then
+        EXIST_GPS_NUM=0
+    fi
+}
+
+function do_gps_log_transfer()
+{
+    cd ${GPS_LOG_PATH}
+    gpslog_prefix="gpslog"
+    for file_name in *."$1"; do 
+        gps_new_file_name=${gpslog_prefix}_${EXIST_GPS_NUM}.$1    
+        if [ -e "$file_name" ]; then        		   
+            mv $file_name $GPS_LOG_PATH${gps_new_file_name}
+            get_gpslog_del_num $EXIST_GPS_NUM $EXIST_GPS_NUM_MAX
+            ftp_delete_file ${gpslog_prefix}_${GPS_LOG_DEL}.$TAR_EXT
+            ftp_transfer_file_then_delete ${gps_new_file_name}    1 
+            do_gpslog_num_plus     
+        else
+            break;
+        fi    
+    done     
+}
+
+function gps_init_conf()
+{
+    echo "debug.dbg2file=1" > $GPS_COF_PATH
+    echo "debug.filename=${GPS_LOG_PATH}gpsdebug.log" >> $GPS_COF_PATH
+    echo "DBGLOG_FILE_MAX=5242880" >> $GPS_COF_PATH
+    echo "DBGLOG_FOLDER_MAX=10485760" >> $GPS_COF_PATH
+}
+
+function init_gpslog()
+{
+    target="DBGLOG_FILE_MAX=5242880"
+    sign=0
+    if [ ! -e ${GPS_COF_PATH} ]; then
+        gps_init_conf
+    else
+    while IFS= read -r line || [ -n "$line" ]; do
+        if [[ $line == *"$target"* ]]; then
+            sign=1
+            break
+        fi
+    done < ${GPS_COF_PATH}
+
+        if [ $sign -eq 0 ]; then
+            gps_init_conf
+            echo_debug_info "gps log file size is changed  to 5M" 
+        fi
+    fi
+}
+#gpslog transfer to soc end@cz.li,20240314
+
 function clear_relative_tag()
 {      
     length=${#transfer_log_tag[@]}
@@ -154,7 +225,10 @@
     do
         if [ ${transfer_log_tag[$i]} -eq 1 ]; then                       
             if [ $i -eq 0 ]; then              
-                rm -rf $SYS_LOG_PATH$log_prefix*                    
+                rm -rf $SYS_LOG_PATH$log_prefix* 
+                #gpslog transfer to soc begin@cz.li,20240314
+                rm -rf ${GPS_LOG_PATH}     
+                #gpslog transfer to soc end@cz.li,20240314            
             elif [ $i -eq 1 ]; then
                 echo 7 | emdlogger_ctrl        
                 rm -rf $MTK_LOG_PATH*
@@ -477,7 +551,13 @@
 {
     if [ $1 -eq 0 ]; then        
         do_sys_log_transfer "syslog.log"
-        echo "" > ${SYS_LOG_PATH}/syslog.log 
+        echo "" > ${SYS_LOG_PATH}/syslog.log
+        #gpslog transfer to soc begin@cz.li,20240314
+        if [ -d ${GPS_LOG_PATH} ]; then
+            do_gps_log_transfer "nma" 
+            do_gps_log_transfer "curf" 
+        fi
+        #gpslog transfer to soc end@cz.li,20240314
     elif [ $1 -eq 1 ]; 
     then
         do_mtk_log_transfer "muxz"
@@ -489,12 +569,15 @@
     fi    
 }
 
-
-
 function do_log_transfer()
 {
-    if [ $1 -eq 0 ]; then        
+    if [ $1 -eq 0 ]; then
         do_sys_log_transfer
+        #gpslog transfer to soc begin@cz.li,20240314
+        if [ -d ${GPS_LOG_PATH} ]; then 
+            do_gps_log_transfer "nma"
+        fi
+        #gpslog transfer to soc end@cz.li,20240314
     elif [ $1 -eq 1 ]; 
     then
         do_mtk_log_transfer "muxz"
@@ -635,7 +718,11 @@
 
 function loop_prepare()
 {
-    if [ $1 -eq 1 ]; then
+    #gpslog transfer to soc begin@cz.li,20240314
+    if [ $1 -eq 0 ]; then
+        init_gpslog
+    #gpslog transfer to soc end@cz.li,20240314
+    elif [ $1 -eq 1 ]; then
         echo 6 | emdlogger_ctrl
         if [ $? -ne 0 ]; then 
             echo_debug_info "start mtk log fail"
@@ -698,8 +785,12 @@
     if [ -e ${WAIT_TRANSFER_REMAIN_LOG[$index]} ]; then                
         exit_process $((ERROR_IS_IN_TRANSFER_LOG+${index}*5+2 ))
     fi          
-    
-    if [ $index -eq 1 ]; then
+    #gpslog transfer to soc begin@cz.li,20240314
+    if [ $index -eq 0 ]; then
+        #Because the GPS process cannot dynamically stop log output,${GPS_LOG_PATH} needs to be deleted in order to exit the log
+        rm -rf ${GPS_LOG_PATH}
+    #gpslog transfer to soc end@cz.li,20240314
+    elif [ $index -eq 1 ]; then
         echo 7 | emdlogger_ctrl
     elif [ $index -eq 2 ]; then
         show_relative_tag
@@ -733,7 +824,7 @@
 {
     index=$2
     if [ $index -eq 1 ]; then
-        #Æô¶¯debug
+        # activate  debug
         trigger_log_transfer 3  
         init_md_log
     fi