From 8a2a686ae7a102b628f0a2b6c63b73b3f5ce573b Mon Sep 17 00:00:00 2001
From: WXK <287788329@qq.com>
Date: 星期四, 17 四月 2025 16:23:34 +0800
Subject: [PATCH] 最新ota,适配4g手环升级与最新boot

---
 keil/include/src/GPS.c |   39 +++++++++++++++++++++++++++++++++------
 1 files changed, 33 insertions(+), 6 deletions(-)

diff --git a/keil/include/src/GPS.c b/keil/include/src/GPS.c
index 9362494..4b12c5e 100644
--- a/keil/include/src/GPS.c
+++ b/keil/include/src/GPS.c
@@ -7,13 +7,13 @@
 #include "HIDO_Util.h"
 #include "HIDO_Debug.h"
 #include "HIDO_Timer.h"
-
+#include "DBG.h"
 #include "GPS.h"
 //#include "GPIO.h"
 #include "Uart.h"
 #include "WS2812.h"
 #define GPS_DBG(level, fmt, ...) HIDO_Debug(fmt, __VA_ARGS__)
-
+#include <global_param.h>
 #define GPS_UART_RX_BUF_SIZE                    1024
 #define GPS_UART_TX_BUF_SIZE                    (4)
 
@@ -478,9 +478,15 @@
 uint8_t fangchai_flag;
 uint8_t GPS_ParseGGA_data[256];
 uint8_t GPS_ParseGGA_changdu;
-extern uint16_t g_com_map[256];
+uint8_t YUANGPS_ParseGGA_data[256];
+uint8_t YUANGPS_ParseGGA_changdu;
+//extern uint16_t g_com_map[256];
 extern uint8_t bat_percent;
 uint8_t gpsbaoxu;
+extern uint8_t gps_ntripsend;
+//static HIDO_UINT8 l_u8GPSBuff[512];
+//static HIDO_UINT32 l_u8GPSLen = 0;
+//static HIDO_UINT32 l_u8GPSRecvTick = 0;
 static HIDO_INT32 GPS_ParseGGA(HIDO_CHAR *_pcData, HIDO_UINT32 _u32Len)
 {
     uint16_t state_flag;
@@ -497,6 +503,8 @@
     {
         return HIDO_ERR;
     }
+    memcpy(YUANGPS_ParseGGA_data,_pcData,_u32Len);
+    YUANGPS_ParseGGA_changdu=_u32Len;
     if(*(HIDO_CHAR *)stPosState.m_pData != '0')
     {
 //        HIDO_DebugString(_pcData, _u32Len);
@@ -504,7 +512,7 @@
         {
             l_fnGPSEventCallback(GPS_TYPE_GGA, _pcData, _u32Len);
         }
-        rtkled=BLUE;
+//        rtkled=BLUE;
         GPS_successful_flag=1;
         _pcData[_u32Len-1]=0;
         _pcData[_u32Len-2]=0;
@@ -520,7 +528,7 @@
     }
     else
     {
-        rtkled=RED;
+//        rtkled=RED;
         GPS_successful_flag=0;
         _pcData[_u32Len-1]=0;
         _pcData[_u32Len-2]=0;
@@ -534,6 +542,25 @@
         GPS_ParseGGA_changdu=u32Len;
     }
     UDPClient_UploadGPS();
+    gps_ntripsend=1;
+//    NTRIPApp_ReportGGA(GPS_ParseGGA_data, _u32Len);
+//    if(g_com_map[RTCMMODE_INDEX] == RTCMMODE_NTRIP&&gps_ntripsend)
+//    {
+//        gps_ntripsend=0;
+//        NTRIPApp_ReportGGA(GPS_ParseGGA_data, _u32Len);
+////        l_u8GPSLen = 0;
+//    }    
+//    if(g_com_map[RTCMMODE_INDEX] == RTCMMODE_NTRIP)
+//        {
+//            if(GPS_ParseGGA_changdu > 0)
+//            {
+//                if((HIDO_TimerGetTick() - l_u8GPSRecvTick) > 50)
+//                {
+//                    NTRIPApp_ReportGGA(GPS_ParseGGA_data, GPS_ParseGGA_changdu);
+//                    GPS_ParseGGA_changdu = 0;
+//                }
+//            }
+//        }
     return HIDO_OK;
 }
 
@@ -781,7 +808,7 @@
 {
     HIDO_UINT8 u8RecvChar = 0;
 
-    while (Uart_GetChar(UART_ID_GPS, &u8RecvChar) == HIDO_OK)
+    while (Uart_GetChar(UART_ID_DBG_GPS, &u8RecvChar) == HIDO_OK)
     {
     	GPS_RecvFsm(u8RecvChar);
     }

--
Gitblit v1.9.3