zhangbo
2 天以前 f39c69839382ee3890906e96211527dcb2eaeb51
keil/include/src/TCPClient.c
@@ -82,6 +82,9 @@
uint16_t g_com_position;
uint16_t g_com_num;
uint8_t testdata[100];
uint8_t uwb_OpenClose_flag=1;
extern uint32_t state_start_time;
extern uint32_t uwb_time_count;
static HIDO_INT32 TCPClient_DataProc(HIDO_UINT8 *_u8Data, HIDO_UINT32 _u32Len)
{
    HIDO_CHAR *apcSplitStr[12];
@@ -319,8 +322,9 @@
    /* $download_audio,http://39.106.210.13:8080/hfs/xxx.bin */
    else if (STRCMP(_u8Data, "$download_audio,") == 0)
    {
        uint16_t buffer_len,datalen;
        u32SplitCnt = HIDO_UtilStrSplit((HIDO_CHAR *)_u8Data, ',', apcSplitStr, HIDO_ARRARY_COUNT(apcSplitStr));
        char send_buffer[20]={"$rec_voicece\r\n"};
        if (u32SplitCnt < 3)
        {
            return HIDO_ERR;
@@ -329,7 +333,10 @@
        {
            uint16_t tmp = 0xCCCC;
            uint8_t flag = 1;
//            buffer_len = sprintf(send_buffer,"$rec_voicece,");
//            datalen = sprintf(&send_buffer[buffer_len],"%x,",g_com_map[DEV_ID]);
//            buffer_len += datalen;
//            Socket_Send(l_i32TCPClientID,(uint8_t*)send_buffer,buffer_len);
            __disable_irq();
            result = flash_open(FLASH_ID0, NULL);
            if (!result)
@@ -347,8 +354,10 @@
    /* $play_audio,0-9 */
    else if (STRCMP(_u8Data, "$play_audio,") == 0)
    {
        uint16_t buffer_len,datalen;
        u32SplitCnt = HIDO_UtilStrSplit((HIDO_CHAR *)_u8Data, ',', apcSplitStr, HIDO_ARRARY_COUNT(apcSplitStr));
        char send_buffer[20]={"$Receivevoice \r\n"};
        if (u32SplitCnt < 3)
        {
            return HIDO_ERR;
@@ -358,6 +367,10 @@
            PCA9555_Set_One_Value_Output(TTS_ENABLE,1);//输出高电平切换为5V输入
            delay_ms(100);
            WT588E_PLAY(atoi(apcSplitStr[2]));
            buffer_len = sprintf(send_buffer,"$Receivevoice,");
            datalen = sprintf(&send_buffer[buffer_len],"%x,",g_com_map[DEV_ID]);
            buffer_len += datalen;
            Socket_Send(l_i32TCPClientID,(uint8_t*)send_buffer,buffer_len);
        }
    }
    else if (STRCMP(_u8Data, "$set_gpsuwbpara,") == 0)
@@ -432,7 +445,60 @@
            Socket_Send(l_i32TCPClientID,send_buffer,9+160);
        }
    }
    else if (STRCMP(_u8Data, "$set_uwb_work,") == 0)
    {
     uint16_t temp,buffer_len,datalen;
     u32SplitCnt = HIDO_UtilStrSplit((HIDO_CHAR *)_u8Data, ',', apcSplitStr, HIDO_ARRARY_COUNT(apcSplitStr));
     char send_buffer[20]={"$rec_uwb_work\r\n"};
     if (u32SplitCnt < 3)
     {
       return HIDO_ERR;
     }
       if (HIDO_UtilHexStrToInt(apcSplitStr[1]) == g_com_map[DEV_ID])
        {
             temp=HIDO_UtilStrToInt(apcSplitStr[2]);
             if(temp==1)
             {
              OpenUWB();
              uwb_OpenClose_flag=1;
             }
             else if(temp==0)
             {
              CloseUWB();
              uwb_OpenClose_flag=0;
             }
          buffer_len = sprintf(send_buffer,"$rec_uwb_work,");
          datalen = sprintf(&send_buffer[buffer_len],"%x,",g_com_map[DEV_ID]);
          buffer_len += datalen;
          Socket_Send(l_i32TCPClientID,(uint8_t*)send_buffer,buffer_len);
        }
    }
    else if (STRCMP(_u8Data, "$set_uwb_frequency,") == 0)
    {
     uint16_t temp,buffer_len,datalen;
     u32SplitCnt = HIDO_UtilStrSplit((HIDO_CHAR *)_u8Data, ',', apcSplitStr, HIDO_ARRARY_COUNT(apcSplitStr));
     char send_buffer[20]={"$rec_frequency\r\n"};
     if (u32SplitCnt < 3)
     {
       return HIDO_ERR;
     }
        if (HIDO_UtilHexStrToInt(apcSplitStr[1]) == g_com_map[DEV_ID])
        {
           HIDO_INT32 uwb_fre;
           uwb_fre=HIDO_UtilStrToInt(apcSplitStr[2]);
           g_com_map[UWBFrequency]=uwb_fre;
           state_start_time=0;
           uwb_time_count=0;
           buffer_len = sprintf(send_buffer,"$rec_frequency,");
           datalen = sprintf(&send_buffer[buffer_len],"%x,",g_com_map[DEV_ID]);
           buffer_len += datalen;
           Socket_Send(l_i32TCPClientID,(uint8_t*)send_buffer,buffer_len);
        }
    }
    return HIDO_OK;
}
@@ -481,6 +547,7 @@
        i32Ret = Socket_Recv(l_i32TCPClientID, l_au8CmdBuff, sizeof(l_au8CmdBuff) - 1, &u32RecvLen);
        if(HIDO_OK == i32Ret)
        {
            l_au8CmdBuff[u32RecvLen]=0;
            TCPClient_DataProc(l_au8CmdBuff, u32RecvLen);
        }
        break;