|
@@ -479,9 +479,26 @@ static void TcpDataInfoAssembleSend()
|
|
|
GpsToTcpInfo.gpsInfo.CellId[1] = CellId>>16;
|
|
|
GpsToTcpInfo.gpsInfo.CellId[2] = CellId>>8;
|
|
|
GpsToTcpInfo.gpsInfo.CellId[3] = CellId;
|
|
|
- GpsToTcpInfo.gpsInfo.xData = (xzyDataSend[0]/100)+100;
|
|
|
- GpsToTcpInfo.gpsInfo.yData = (xzyDataSend[1]/100)+100;
|
|
|
- GpsToTcpInfo.gpsInfo.zData = (xzyDataSend[2]/100)+100;
|
|
|
+ UINT16 xyzDatacahce[3] = {0};
|
|
|
+ memcpy(xyzDatacahce,xzyDataSend,sizeof(xzyDataSend));
|
|
|
+ for (UINT8 i = 0; i < 3; i++)
|
|
|
+ {
|
|
|
+ if(xyzDatacahce[i]>0x8000)// 数据为负
|
|
|
+ {
|
|
|
+ xyzDatacahce[i] = (UINT16)((UINT16)(~(xyzDatacahce[i]))+1);
|
|
|
+ xyzDatacahce[i] = 20000U - xyzDatacahce[i];
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ xyzDatacahce[i] = xyzDatacahce[i] + 20000U;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ GpsToTcpInfo.gpsInfo.xData[0] = xyzDatacahce[0]>>8;
|
|
|
+ GpsToTcpInfo.gpsInfo.xData[1] = xyzDatacahce[0];
|
|
|
+ GpsToTcpInfo.gpsInfo.yData[0] = xyzDatacahce[1]>>8;
|
|
|
+ GpsToTcpInfo.gpsInfo.yData[1] = xyzDatacahce[1];
|
|
|
+ GpsToTcpInfo.gpsInfo.zData[0] = xyzDatacahce[2]>>8;
|
|
|
+ GpsToTcpInfo.gpsInfo.zData[1] = xyzDatacahce[2];
|
|
|
GpsToTcpInfo.CRC = bcc_chk((UINT8 *)&GpsToTcpInfo, sizeof(GPSMsgtoTcpType)-1 );
|
|
|
osMutexRelease(GpsMutex);
|
|
|
//if(GpsToTcpInfo.gpsInfo.locateMark==0x01)
|
|
@@ -586,7 +603,55 @@ static void TcpDataInfoAssembleSend()
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
- if(send_counter==0)//发送本次文件中的调试信息
|
|
|
+ if(send_counter%60==0)//发送调试信息,此处发送参数信息
|
|
|
+ {
|
|
|
+ DebugMsgtoTcpType DebugMsgInfo;
|
|
|
+ UINT8 *SendBuffer = NULL;
|
|
|
+ UINT16 BufferLen = 20;
|
|
|
+ UINT8 rbuf[BufferLen];
|
|
|
+ sprintf((char *)rbuf,"%d,%d,%x",AppDataInfo.AccMileage,BattRemainCap,battProtectState);//累计里程,剩余容量,循环次数
|
|
|
+ SendBuffer = malloc(BufferLen+sizeof(DebugMsgInfo));
|
|
|
+ memcpy(SendBuffer+sizeof(DebugMsgInfo)-1, rbuf,BufferLen);
|
|
|
+ appGetSystemTimeUtcSync(&TimeStracture);
|
|
|
+ year=(TimeStracture.UTCtimer1&0xffff0000)>>16;
|
|
|
+ month=(TimeStracture.UTCtimer1&0xff00)>>8;
|
|
|
+ day=TimeStracture.UTCtimer1&0xff;
|
|
|
+ hour=(TimeStracture.UTCtimer2&0xff000000)>>24;
|
|
|
+ minute=(TimeStracture.UTCtimer2&0xff0000)>>16;
|
|
|
+ sec=(TimeStracture.UTCtimer2&0xff00)>>8;
|
|
|
+ UTCToBeijing((UTC8TimeType *)&UTC8TimeTcp,year,month,day,hour,minute,sec);
|
|
|
+ DataLen=sizeof(DebugMsgInfo.DebugInfo) + BufferLen;
|
|
|
+ DebugMsgInfo.startSymbol[0] = TCP_START_SYM1;
|
|
|
+ DebugMsgInfo.startSymbol[1] = TCP_START_SYM2;
|
|
|
+ DebugMsgInfo.cmdSymbol = TCP_CMD_SYM;
|
|
|
+ DebugMsgInfo.ansSymbol = TCP_ANS_SYM;
|
|
|
+ memcpy(DebugMsgInfo.SN, AppNVMData.battSN,BATT_SN_LEN);
|
|
|
+ DebugMsgInfo.encryptMethod = TCP_ENCPT_DISABLE; //not encrypt
|
|
|
+ DebugMsgInfo.dataLength[0] = (DataLen>>8) & 0xFF;
|
|
|
+ DebugMsgInfo.dataLength[1] = DataLen & 0xFF;
|
|
|
+ DebugMsgInfo.DebugInfo.sendTimeUTC[0] = (UTC8TimeTcp.year - 0x07D0) & 0xFF; //year
|
|
|
+ DebugMsgInfo.DebugInfo.sendTimeUTC[1] = UTC8TimeTcp.month & 0xFF; //month
|
|
|
+ DebugMsgInfo.DebugInfo.sendTimeUTC[2] = UTC8TimeTcp.day & 0xFF; //day
|
|
|
+ DebugMsgInfo.DebugInfo.sendTimeUTC[3] = UTC8TimeTcp.hour & 0xFF; //hour
|
|
|
+ DebugMsgInfo.DebugInfo.sendTimeUTC[4] = UTC8TimeTcp.minute & 0xFF; //mins
|
|
|
+ DebugMsgInfo.DebugInfo.sendTimeUTC[5] = UTC8TimeTcp.second & 0xFF; //sec
|
|
|
+ DebugMsgInfo.DebugInfo.msgMark = DEBUGMSG;
|
|
|
+ DebugMsgInfo.DebugInfo.DebugLen[0] = BufferLen>>8;
|
|
|
+ DebugMsgInfo.DebugInfo.DebugLen[1] = BufferLen;
|
|
|
+ memcpy(SendBuffer,(UINT8 *)&DebugMsgInfo,sizeof(DebugMsgInfo)-1);
|
|
|
+ DebugMsgInfo.CRC = bcc_chk(SendBuffer, BufferLen+sizeof(DebugMsgInfo)-1);
|
|
|
+ memcpy(SendBuffer+BufferLen+sizeof(DebugMsgInfo)-1,&DebugMsgInfo.CRC,1);
|
|
|
+ len = tcpipConnectionSend(socContext.id, SendBuffer, BufferLen+sizeof(DebugMsgInfo), 0, 0, 0);
|
|
|
+ #ifdef USING_PRINTF1
|
|
|
+ printf("DebugMsgInfo!\n");
|
|
|
+ UINT8* p = SendBuffer;
|
|
|
+ for(i =0 ;i<BufferLen+sizeof(DebugMsgInfo);i++)
|
|
|
+ printf("%x ",*(p+i));
|
|
|
+ #endif
|
|
|
+ Debug_Del_Logfile();
|
|
|
+ free(SendBuffer);
|
|
|
+ }
|
|
|
+ if(send_counter==0)//发送本次文件中的调试信息,此处发送文件信息
|
|
|
{
|
|
|
DebugMsgtoTcpType DebugMsgInfo;
|
|
|
UINT8 *SendBuffer = NULL;
|