WXK
2023-09-08 00fc23c0b2c7b7dfd6df3e9fb9e385ec949cd8cc
FML/GPS.c
@@ -20,6 +20,7 @@
#include "deca_regs.h"
#include "dw_driver.h"
extern uint32_t uwbled,gpsled,loraled,powerled;
extern void Set4LEDColor_Off(void);
uint8_t GPS_final_data[128];
uint8_t GPS_final_changdu;
#define GPS_DBG(level, fmt, ...) HIDO_Debug(fmt, __VA_ARGS__)
@@ -119,17 +120,17 @@
    }
    memset(&_pcData[_u32Len-2],0,2);//为了拼接后面的数据,删除\r\n。
    HIDO_UINT32 lora_u32Len = HIDO_UtilSnprintf((HIDO_CHAR *)_pcData_final, sizeof(_pcData_final), "%s,%X,%02x,%x,%d,%x,%d%\r\n",
    _pcData, g_com_map[DEV_ID], bat_percent,g_com_map[VERSION],0,fangchai_flag,0);
    _pcData, g_com_map[DEV_ID], bat_percent,g_com_map[VERSION],0,fangchai_flag,0);//与设备id,电量,版本号,等进行拼接。
    memset(&GPS_final_data, 0, sizeof(GPS_final_data));
    memcpy(&GPS_final_data, &_pcData_final, lora_u32Len);
    GPS_final_changdu=lora_u32Len;
    if(*(char *)stPosState.m_pData != '0')
    memcpy(&GPS_final_data, &_pcData_final, lora_u32Len);//gps最后一包的数据
    GPS_final_changdu=lora_u32Len;//gps最后一包的长度
    if(*(char *)stPosState.m_pData != '0')//如果是成功获取位置的那一包
    {
        HIDO_DebugString(_pcData_final, lora_u32Len);
        HIDO_DebugString(_pcData_final, lora_u32Len);//串口打印出去
        if(l_fnGPSEventCallback != NULL)
        {
            HIDO_Debug("LORA FAFAFAFA\r\n");
            l_fnGPSEventCallback(GPS_TYPE_GGA, _pcData_final, lora_u32Len);
            l_fnGPSEventCallback(GPS_TYPE_GGA, _pcData_final, lora_u32Len);//通过lora发出去
            if(gpsledstate)
            {gpsled=BLUE;
            gpsledstate=0;
@@ -138,17 +139,15 @@
            {gpsled=LEDOFF;
            gpsledstate=1;
            }
            powerled=LEDOFF;
            loraled=LEDOFF;
            uwbled=LEDOFF;
            Set4LEDColor(powerled,loraled,gpsled,uwbled);
            HAL_Delay(100);
            Set4LEDColor_Off();
            gpsled=LEDOFF;
            Set4LEDColor(powerled,loraled,gpsled,uwbled);
        }
    }
    else
    else//如果不是成功获取位置的那一包
    {        
        HIDO_DebugString(_pcData_final, lora_u32Len);
        HIDO_DebugString(_pcData_final, lora_u32Len);//串口打印出去
            if(gpsledstate)
            {gpsled=RED;
            gpsledstate=0;
@@ -157,12 +156,10 @@
            {gpsled=LEDOFF;
            gpsledstate=1;
            }
            powerled=LEDOFF;
            loraled=LEDOFF;
            uwbled=LEDOFF;
            Set4LEDColor(powerled,loraled,gpsled,uwbled);
            HAL_Delay(100);
            Set4LEDColor_Off();
            gpsled=LEDOFF;
            Set4LEDColor(powerled,loraled,gpsled,uwbled);
//        Lora_SendData((HIDO_UINT8 *)_pcData, _u32Len+4);
//        loraled=BLUE;
    }
@@ -242,14 +239,14 @@
 * Author            : hido.ltd
 * Modified Date:    : 2021年1月8日
 *******************************************************************************/
static HIDO_VOID GPS_Rest(void)
{
    GPIO_SET(&l_astGPSPin[GPS_PIN_REST]);
    HAL_Delay(10);
    GPIO_RESET(&l_astGPSPin[GPS_PIN_REST]);
    HAL_Delay(10);
    GPIO_SET(&l_astGPSPin[GPS_PIN_REST]);
}
//static HIDO_VOID GPS_Rest(void)
//{
//    GPIO_SET(&l_astGPSPin[GPS_PIN_REST]);
//    HAL_Delay(10);
//    GPIO_RESET(&l_astGPSPin[GPS_PIN_REST]);
//    HAL_Delay(10);
//    GPIO_SET(&l_astGPSPin[GPS_PIN_REST]);
//}
/*******************************************************************************
 * Function Name     : GPS_PowerOn