123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950 |
- /****************************************************************************
- *
- * Copy right: Qx.Chen jie
- * File name: TcpTask.c
- * Description: 网络发送接收任务
- * History: 2021-03-07
- *
- ****************************************************************************/
- #include "bsp.h"
- #include "bsp_custom.h"
- #include "osasys.h"
- #include "ostask.h"
- #include "queue.h"
- #include "ps_event_callback.h"
- #include "app.h"
- #include "cmisim.h"
- #include "cmimm.h"
- #include "cmips.h"
- #include "sockets.h"
- #include "psifevent.h"
- #include "ps_lib_api.h"
- #include "lwip/netdb.h"
- //#include <cis_def.h>
- #include "debug_log.h"
- #include "slpman_ec616.h"
- #include "plat_config.h"
- #include "ec_tcpip_api.h"
- #include "MainTask.h"
- #include "TcpTask.h"
- #include "UartTask.h"
- #include "GpsTask.h"
- #include "Fota.h"
- #include "Signal.h"
- //全局变量输出区
- UINT32 TcpService = 0;
- UINT8 WorkFlag=0;
- //全局变量输入区
- extern UINT32 Timer_count;
- extern volatile BOOL Sleep_flag;
- extern osMutexId_t GpsMutex;
- extern UINT8 GpsData[20];
- extern AppNVMDataType AppNVMData;
- extern AppDataBody AppDataInfo;
- extern QueueHandle_t UartWriteCmdHandle;
- extern BOOL UartBattInfoRecvFlag;
- //局部变量申请
- AppSocketConnectionContext socContext = {-1, APP_SOCKET_CONNECTION_CLOSED};
- static StaticTask_t gProcess_Tcp_Task_t;
- static UINT8 gProcess_Tcp_TaskStack[PROC_TCP_TASK_STACK_SIZE];
- static QueueHandle_t psEventQueueHandle;//状态转换队列句柄
- static osThreadId_t TcpTaskId = NULL;
- static process_TCP gProcess_Tcp_Task = PROCESS_TCP_STATE_IDLE;
- #define PROC_TCP_STATE_SWITCH(a) (gProcess_Tcp_Task = a)
- static eventCallbackMessage_t *queueItem = NULL;
- static UINT8 gImsi[16] = {0};
- static UINT32 gCellID = 0;
- static QueueHandle_t TcpRecvHandle = NULL;
- static UINT8 TcpRecvEnd = 0;
- //Tcp线程堆栈申请区
- //函数声明区
- static void sendQueueMsg(UINT32 msgId, UINT32 xTickstoWait);
- static INT32 socketRegisterPSUrcCallback(urcID_t eventID, void *param, UINT32 paramLen);
- static void socketAppConnectionCallBack(UINT8 connectionEventType, void *bodyEvent);
- static void TcpDataInfoAssembleSend();
- static void TcpDataInfoRecvHandle();
- UINT8 bcc_chk(UINT8* data, UINT8 length);
- //线程任务区
- static void TcpTask(void* arg)
- {
- appSetEDRXSettingSync(0,5,1800000);
- appSetPSMSettingSync(1,3*60*60,10);
- appSetCFUN(1);
- psEventQueueHandle = xQueueCreate(APP_EVENT_QUEUE_SIZE, sizeof(eventCallbackMessage_t*));
- PROC_TCP_STATE_SWITCH(PROCESS_TCP_STATE_IDLE);
- if (psEventQueueHandle == NULL)
- {
- return;
- }
- if(TcpRecvHandle == NULL)
- {
- TcpRecvHandle = osMessageQueueNew(1,sizeof(TcpipConnectionRecvDataInd*), NULL);
- }
- if(Error_Mutex == NULL)
- {
- Error_Mutex = osMutexNew(NULL);
- }
- osDelay(5000);//等待驻网延时5s
- while (true)
- {
- osDelay(100);
- if(Sleep_flag)
- {
- sendQueueMsg(QMSG_ID_NW_IP_SUSPEND, 0);
- sendQueueMsg(QMSG_ID_SOCK_EXIT, 0);
- }
- else if(Timer_count%50==0 && TcpService==0x00 && AppNVMData.EOLState==1)
- {
- sendQueueMsg(QMSG_ID_SOCK_SENDPKG, 0);
- }
- else if(Timer_count%10==0)
- {
- TcpRecvEnd++;
- }
- if(TcpRecvEnd>=20)
- {
- TcpService = 0x00;
- TcpRecvEnd=0;
- }
- if (xQueueReceive(psEventQueueHandle, &queueItem, 0))
- {
- switch(queueItem->messageId)
- {
- case QMSG_ID_NW_IP_READY:
- if(socContext.id < 0)
- {
- struct addrinfo hints;
- struct addrinfo *servinfo = NULL;
- char *Tcp_ip_des;
- memset(&hints, 0, sizeof(hints));
- hints.ai_family = AF_INET;
- hints.ai_socktype = SOCK_STREAM;
- getaddrinfo(QX_TCP_ADD, NULL, &hints, &servinfo);
- Tcp_ip_des = ip4addr_ntoa((const ip4_addr_t *)(&(servinfo->ai_addr->sa_data[2])));
- #ifdef USING_PRINTF1
- printf("\nservinfo-%d:\n",servinfo->ai_addr->sa_len);
- for(int i=0;i<4;i++)
- printf("%d ",servinfo->ai_addr->sa_data[2+i]);
- printf("\nTcp_ip_des-%d:\n",sizeof(Tcp_ip_des));
- for(int i=0;i<16;i++)
- printf("%c",*(Tcp_ip_des+i));
- #endif
- socContext.id = tcpipConnectionCreate(TCPIP_CONNECTION_PROTOCOL_TCP, PNULL, 0, Tcp_ip_des, QX_TCP_PORT, socketAppConnectionCallBack);
- if (NULL != servinfo) {
- freeaddrinfo(servinfo);
- }
- }
- if(socContext.id >= 0)
- {
- socContext.status = APP_SOCKET_CONNECTION_CONNECTED;
- #ifdef USING_PRINTF
- printf("create connection %u success", socContext.id);
- #endif
- ECOMM_TRACE(UNILOG_PLA_APP, ecTestCaseTcpClient_2, P_INFO, 1, "create connection %u success", socContext.id);
- }
- else
- {
- sendQueueMsg(QMSG_ID_NW_IP_NOREACHABLE, 0);
- #ifdef USING_PRINTF
- printf("create connection fail\n");
- #endif
- ECOMM_TRACE(UNILOG_PLA_APP, ecTestCaseTcpClient_3, P_ERROR, 0, "create connection fail");
- }
- break;
- case QMSG_ID_NW_IP_NOREACHABLE:
- {
- Error_count++;
- appSetCFUN(0);
- osDelay(5000);
- appSetCFUN(1);
- osDelay(5000);
- }
- break;
- case QMSG_ID_SOCK_SENDPKG:
- if (socContext.id >= 0 && socContext.status == APP_SOCKET_CONNECTION_CONNECTED)
- {
- TcpDataInfoAssembleSend();
- }
- else
- {
- sendQueueMsg(QMSG_ID_NW_IP_READY, 0);
- #ifdef USING_PRINTF
- printf("connection %u or status invalid", socContext.id, socContext.status);
- #endif
- ECOMM_TRACE(UNILOG_PLA_APP, ecTestCaseTcpClient_9, P_ERROR, 2, "connection %u or status invalid", socContext.id, socContext.status);
- }
- break;
- case QMSG_ID_SOCK_RECVPKG:
- TcpDataInfoRecvHandle();
- osDelay(100);
- TcpRecvEnd = 0;
- break;
- case QMSG_ID_NW_IP_SUSPEND:
- if (socContext.id >= 0 && socContext.status != APP_SOCKET_CONNECTION_CLOSED)
- {
- if(tcpipConnectionClose(socContext.id) < 0)
- {
- socContext.id = -1;
- socContext.status = APP_SOCKET_CONNECTION_CLOSED;
- #ifdef USING_PRINTF
- printf("close connection %u success", socContext.id);
- #endif
- ECOMM_TRACE(UNILOG_PLA_APP, ecTestCaseTcpClient_4, P_INFO, 1, "close connection %u success", socContext.id);
- }
- else
- {
- #ifdef USING_PRINTF
- printf("close connection %u fail", socContext.id);
- #endif
- ECOMM_TRACE(UNILOG_PLA_APP, ecTestCaseTcpClient_5, P_ERROR, 1, "close connection %u fail", socContext.id);
- }
- }
- else
- {
- #ifdef USING_PRINTF
- printf("connection %u or status invalid", socContext.id, socContext.status);
- #endif
- ECOMM_TRACE(UNILOG_PLA_APP, ecTestCaseTcpClient_6, P_ERROR, 2, "connection %u or status invalid", socContext.id, socContext.status);
- }
- break;
- case QMSG_ID_SOCK_EXIT:
- #ifdef USING_PRINTF
- printf("QMSG_ID_SOCK_EXIT queueItem->messageId:%x\n",queueItem->messageId);
- #endif
- #ifdef USING_PRINTF
- printf("socket exit\n");
- #endif
- appSetCFUN(0);
- free(queueItem);
- osDelay(1000);
- TcpTaskDeInit(arg);
- break;
- }
- free(queueItem);
- }
- }//while 循环
- }
- //Tcp线程初始化
- void TcpTaskInit(void *arg)
- {
- osThreadAttr_t task_attr;
- registerPSEventCallback(NB_GROUP_ALL_MASK, socketRegisterPSUrcCallback);
- memset(&task_attr,0,sizeof(task_attr));
- memset(gProcess_Tcp_TaskStack, 0xA5, PROC_TCP_TASK_STACK_SIZE);
- task_attr.name = "Tcp_Task";
- task_attr.stack_mem = gProcess_Tcp_TaskStack;
- task_attr.stack_size = PROC_TCP_TASK_STACK_SIZE;
- task_attr.priority = osPriorityBelowNormal7;
- task_attr.cb_mem = &gProcess_Tcp_Task_t;
- task_attr.cb_size = sizeof(StaticTask_t);
- TcpTaskId = osThreadNew(TcpTask, NULL, &task_attr);
- }
- void TcpTaskDeInit(void *arg)
- {
- osThreadTerminate(TcpTaskId);
- TcpTaskId = NULL;
- }
- /*------------------------------函数区域----------------------------------------------------------------------------------------------*/
- static void TcpDataInfoAssembleSend()
- { static UINT32 send_counter = 0;
-
-
-
- OsaUtcTimeTValue TimeStracture;
- UINT8 csq=0;
- INT8 snr=0;
- INT8 rsnr=0;
- INT16 Batt_current=0;
- UINT16 BattU=0;
- UINT8 temp=0;
- UINT16 DataLen=0;
- UINT8 BattSendFreq=6;
- UINT8 GpsSendFreq=1;
- UINT8 WorkState=0;
- UINT16 year;
- UINT8 month,day,hour,minute,sec;
- UINT16 ErrorTemp;
- UTC8TimeType UTC8TimeTcp;
- int i = 0;
- INT8 len = -1;
- WorkState = battWorkState;
- if(WorkState==0x00 && WorkFlag==0x01)
- {
- if(send_counter%(RUN_END_DELAY/5)==0)
- {
- WorkFlag=0x00;
- }
- }
- else if(WorkState==0x00 && WorkFlag==0x02)
- {
- if(send_counter%(CHRG_END_DELAY/5)==0)
- {
- WorkFlag=0x00;
- }
- }
- else
- {
- WorkFlag=WorkState;
- }
- switch(WorkFlag)
- {
- case 0x00:
- BattSendFreq = AppDataInfo.BmsDisChrgInfoSendFreq/5;
- GpsSendFreq = AppDataInfo.GpsChrgInfoSendFreq/5;
- break;
- case 0x01:
- GpsSendFreq = AppDataInfo.GpsDisChrgInfoSendFreq/5;
- BattSendFreq = AppDataInfo.BmsDisChrgInfoSendFreq/5;
- break;
- case 0x02:
- BattSendFreq = AppDataInfo.BmsChrgInfoSendFreq/5;
- GpsSendFreq = AppDataInfo.GpsChrgInfoSendFreq/5;
- break;
- default:
- BattSendFreq = AppDataInfo.BmsDisChrgInfoSendFreq/5;
- GpsSendFreq = AppDataInfo.GpsChrgInfoSendFreq/5;
- break;
- }
- if(send_counter%BattSendFreq==0)
- {
- BattMsgtoTcpType BattToTcpInfo;
- //osStatus_t result = osMutexAcquire(UartMutex, osWaitForever);
- 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);
- appGetSignalInfoSync(&csq,&snr,&rsnr);
- DataLen= (UINT16)sizeof(BattToTcpInfo.battInfo);
- BattToTcpInfo.startSymbol[0] = TCP_START_SYM1;
- BattToTcpInfo.startSymbol[1] = TCP_START_SYM2;
- BattToTcpInfo.cmdSymbol = TCP_CMD_SYM;
- BattToTcpInfo.ansSymbol = TCP_ANS_SYM;
- memcpy(BattToTcpInfo.SN, AppNVMData.battSN,BATT_SN_LEN);
- BattToTcpInfo.encryptMethod = TCP_ENCPT_DISABLE; //not encrypt
- BattToTcpInfo.dataLength[0] = (DataLen>>8) & 0xFF;
- BattToTcpInfo.dataLength[1] = DataLen & 0xFF;
-
- #ifdef USING_PRINTF1
- printf("year:%x,month:%d,day:%d,hour:%d,minute:%d,second:%d\n",UTC8TimeTcp.year,UTC8TimeTcp.month,UTC8TimeTcp.day,UTC8TimeTcp.hour,UTC8TimeTcp.minute,UTC8TimeTcp.second);
- #endif
- BattToTcpInfo.battInfo.sendTimeUTC[0] = (UTC8TimeTcp.year - 0x07D0) & 0xFF; //year
- BattToTcpInfo.battInfo.sendTimeUTC[1] = UTC8TimeTcp.month & 0xFF; //month
- BattToTcpInfo.battInfo.sendTimeUTC[2] = UTC8TimeTcp.day & 0xFF; //day
- BattToTcpInfo.battInfo.sendTimeUTC[3] = UTC8TimeTcp.hour & 0xFF; //hour
- BattToTcpInfo.battInfo.sendTimeUTC[4] = UTC8TimeTcp.minute & 0xFF; //mins
- BattToTcpInfo.battInfo.sendTimeUTC[5] = UTC8TimeTcp.second & 0xFF; //sec
- BattToTcpInfo.battInfo.msgMark = BATTMSG;
- BattToTcpInfo.battInfo.msgCollectionTimeUTC[0] = (UTC8TimeTcp.year - 0x07D0) & 0xFF; //year
- BattToTcpInfo.battInfo.msgCollectionTimeUTC[1] = UTC8TimeTcp.month & 0xFF; //month
- BattToTcpInfo.battInfo.msgCollectionTimeUTC[2] = UTC8TimeTcp.day & 0xFF; //day
- BattToTcpInfo.battInfo.msgCollectionTimeUTC[3] = UTC8TimeTcp.hour & 0xFF; //hour
- BattToTcpInfo.battInfo.msgCollectionTimeUTC[4] = UTC8TimeTcp.minute & 0xFF; //mins
- BattToTcpInfo.battInfo.msgCollectionTimeUTC[5] = UTC8TimeTcp.second & 0xFF; //sec
- BattToTcpInfo.battInfo.signalStrength = csq ;
- //故障等级故障代码上传
- if(osOK==osMutexAcquire(Error_Mutex, 100))
- {
- UINT16 ErrorTemp=0x00;
- ErrorTemp = GetErrorNum((UINT16 *)ErrorNum,sizeof(ErrorNum));
- #ifdef USING_PRINTF1
- printf("Temp-Error:%d\n",ErrorTemp);
- #endif
- BattToTcpInfo.battInfo.errClass = 0x00;
- BattToTcpInfo.battInfo.errCode[0] = ErrorTemp>>8;
- BattToTcpInfo.battInfo.errCode[1] = ErrorTemp;
- }
- else
- {
- #ifdef USING_PRINTF1
- printf("Temp-Error:%d\n",ErrorTemp);
- #endif
- BattToTcpInfo.battInfo.errClass = 0x00;
- BattToTcpInfo.battInfo.errCode[0] = 0x00;
- BattToTcpInfo.battInfo.errCode[1] = 0x00;
- }
- osMutexRelease(Error_Mutex);
- BattToTcpInfo.battInfo.battI[0] = battI>>8;
- BattToTcpInfo.battInfo.battI[1] = battI & 0xFF;
-
- //电池内外电压保持一致
- BattToTcpInfo.battInfo.battLinkVol[0] = battPackVol >> 8;
- BattToTcpInfo.battInfo.battLinkVol[1] = battPackVol & 0xFF;
- BattToTcpInfo.battInfo.battPackVol[0] = battPackVol >> 8;
- BattToTcpInfo.battInfo.battPackVol[1] = battPackVol & 0xFF;
-
- BattToTcpInfo.battInfo.switchState = battMOSSwitchState;
-
- BattToTcpInfo.battInfo.battSOC = battSOC;
- BattToTcpInfo.battInfo.battSOH = battSOH;
- memcpy(BattToTcpInfo.battInfo.batCellBalenceState,&battBalanceoInfo,4);
- BattToTcpInfo.battInfo.battCellNum= BATT_CELL_VOL_NUM ;
- for(i=0;i<BATT_CELL_VOL_NUM;i++)
- {
- BattToTcpInfo.battInfo.battCellU[i*2] = (battCellU[i]>>8) & 0xFF;
- BattToTcpInfo.battInfo.battCellU[i*2+1] = battCellU[i] & 0xFF;
- }
-
- BattToTcpInfo.battInfo.battTempNum = BATT_TEMP_NUM;
- for(i=0; i<BATT_TEMP_NUM; i++)
- {
- BattToTcpInfo.battInfo.battCellTemp[i] = battCellTemp[i];
- }
- BattToTcpInfo.battInfo.battWorkState = battWorkState;//电池状态,0表示静置,1表示放电,2表示充电
- BattToTcpInfo.battInfo.battHeatEnableState = battHeatEnableState;
- BattToTcpInfo.battInfo.battotherTempNum = BATT_OTHER_TEMP_NUM+NB_OTHER_TEMP_NUM;//其他温度编号(包含环境温度mos温度以及接插件温度)2021-03-24其他温度修改
- BattToTcpInfo.battInfo.battotherTemp[0] = MOSTemp;
- BattToTcpInfo.battInfo.battotherTemp[1] = packTemp;
- BattToTcpInfo.battInfo.battotherTemp[2] = fastChargeTemp;
- BattToTcpInfo.battInfo.battotherTemp[3] = normalChargeTemp;
- BattToTcpInfo.battInfo.battotherTemp[4] = heatTemp1;
- BattToTcpInfo.battInfo.battotherTemp[5] = heatTemp2;
- BattToTcpInfo.CRC = bcc_chk((UINT8 *)&BattToTcpInfo, sizeof(BattMsgtoTcpType)-1 );
- //osMutexRelease(UartMutex);
- if(UartBattInfoRecvFlag)
- {
- len = tcpipConnectionSend(socContext.id, (UINT8 *)&BattToTcpInfo, sizeof(BattToTcpInfo), 0, 0, 0);
- if(len>0)
- {
- TcpSendLen = 0x02 | TcpSendLen;
- }
- else
- {
- TcpSendLen = 0xFD & TcpSendLen;
- sendQueueMsg(QMSG_ID_NW_IP_SUSPEND, 0);
- }
- }
- }
- if(send_counter%GpsSendFreq==0)
- {
- GPSMsgtoTcpType GpsToTcpInfo;
- osStatus_t result = osMutexAcquire(GpsMutex, osWaitForever);
- 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= (UINT16)sizeof(GpsToTcpInfo.gpsInfo);
- GpsToTcpInfo.startSymbol[0] = TCP_START_SYM1;
- GpsToTcpInfo.startSymbol[1] = TCP_START_SYM2;
- GpsToTcpInfo.cmdSymbol = TCP_CMD_SYM;
- GpsToTcpInfo.ansSymbol = TCP_ANS_SYM;
- memcpy(GpsToTcpInfo.SN, AppNVMData.battSN,BATT_SN_LEN);
- GpsToTcpInfo.encryptMethod = TCP_ENCPT_DISABLE; //not encrypt
- GpsToTcpInfo.dataLength[0] = (DataLen>>8) & 0xFF;
- GpsToTcpInfo.dataLength[1] = DataLen & 0xFF;
- GpsToTcpInfo.gpsInfo.sendTimeUTC[0] = (UTC8TimeTcp.year - 0x07D0) & 0xFF; //year
- GpsToTcpInfo.gpsInfo.sendTimeUTC[1] = UTC8TimeTcp.month & 0xFF; //month
- GpsToTcpInfo.gpsInfo.sendTimeUTC[2] = UTC8TimeTcp.day & 0xFF; //day
- GpsToTcpInfo.gpsInfo.sendTimeUTC[3] = UTC8TimeTcp.hour & 0xFF; //hour
- GpsToTcpInfo.gpsInfo.sendTimeUTC[4] = UTC8TimeTcp.minute & 0xFF; //mins
- GpsToTcpInfo.gpsInfo.sendTimeUTC[5] = UTC8TimeTcp.second & 0xFF; //sec
- GpsToTcpInfo.gpsInfo.msgMark = GPSMSG;
- GpsToTcpInfo.gpsInfo.msgCollectionTimeUTC[0] = (UTC8TimeTcp.year - 0x07D0) & 0xFF; //year
- GpsToTcpInfo.gpsInfo.msgCollectionTimeUTC[1] = UTC8TimeTcp.month & 0xFF; //month
- GpsToTcpInfo.gpsInfo.msgCollectionTimeUTC[2] = UTC8TimeTcp.day & 0xFF; //day
- GpsToTcpInfo.gpsInfo.msgCollectionTimeUTC[3] = UTC8TimeTcp.hour & 0xFF; //hour
- GpsToTcpInfo.gpsInfo.msgCollectionTimeUTC[4] = UTC8TimeTcp.minute & 0xFF; //mins
- GpsToTcpInfo.gpsInfo.msgCollectionTimeUTC[5] = UTC8TimeTcp.second & 0xFF;
- memcpy((UINT8 *)&GpsToTcpInfo.gpsInfo.locateMark, GpsData,sizeof(GpsData));
- GpsToTcpInfo.CRC = bcc_chk((UINT8 *)&GpsToTcpInfo, sizeof(GPSMsgtoTcpType)-1 );
- osMutexRelease(GpsMutex);
- //if(GpsToTcpInfo.gpsInfo.locateMark==0x01)
- if(1)
- {
- len = tcpipConnectionSend(socContext.id, (UINT8 *)&GpsToTcpInfo, sizeof(GpsToTcpInfo), 0, 0, 0);
- if(len>0)
- {
- TcpSendLen = 0x04 | TcpSendLen;
- }
- else
- {
- TcpSendLen = 0xFB & TcpSendLen;
- sendQueueMsg(QMSG_ID_NW_IP_SUSPEND, 0);
- }
- }
- #ifdef USING_PRINTF1
- printf("GpsMsg:\n");
- UINT8* p = (UINT8 *)&GpsToTcpInfo;
- for(int i =0 ;i<sizeof(GpsToTcpInfo);i++)
- printf("%x ",*(p+i));
- #endif
- }
- if(send_counter==1)//版本信息上报
- {
- VersionMsgtoTcpType VerMsgToTcpInfo;
- CHAR iccid[20];
- CHAR imei[15];
- appGetIccidNumSync(iccid);
- appGetImeiNumSync(imei);
- 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= (UINT16)sizeof(VerMsgToTcpInfo.VerInfo);
- VerMsgToTcpInfo.startSymbol[0] = TCP_START_SYM1;
- VerMsgToTcpInfo.startSymbol[1] = TCP_START_SYM2;
- VerMsgToTcpInfo.cmdSymbol = TCP_CMD_SYM;
- VerMsgToTcpInfo.ansSymbol = TCP_ANS_SYM;
- memcpy(VerMsgToTcpInfo.SN, AppNVMData.battSN,BATT_SN_LEN);
- VerMsgToTcpInfo.encryptMethod = TCP_ENCPT_DISABLE; //not encrypt
- VerMsgToTcpInfo.dataLength[0] = (DataLen>>8) & 0xFF;
- VerMsgToTcpInfo.dataLength[1] = DataLen & 0xFF;
- VerMsgToTcpInfo.VerInfo.sendTimeUTC[0] = (UTC8TimeTcp.year - 0x07D0) & 0xFF; //year
- VerMsgToTcpInfo.VerInfo.sendTimeUTC[1] = UTC8TimeTcp.month & 0xFF; //month
- VerMsgToTcpInfo.VerInfo.sendTimeUTC[2] = UTC8TimeTcp.day & 0xFF; //day
- VerMsgToTcpInfo.VerInfo.sendTimeUTC[3] = UTC8TimeTcp.hour & 0xFF; //hour
- VerMsgToTcpInfo.VerInfo.sendTimeUTC[4] = UTC8TimeTcp.minute & 0xFF; //mins
- VerMsgToTcpInfo.VerInfo.sendTimeUTC[5] = UTC8TimeTcp.second & 0xFF; //sec
- VerMsgToTcpInfo.VerInfo.msgMark = VERSIONMSG;
- VerMsgToTcpInfo.VerInfo.msgCollectionTimeUTC[0] = (UTC8TimeTcp.year - 0x07D0) & 0xFF; //year
- VerMsgToTcpInfo.VerInfo.msgCollectionTimeUTC[1] = UTC8TimeTcp.month & 0xFF; //month
- VerMsgToTcpInfo.VerInfo.msgCollectionTimeUTC[2] = UTC8TimeTcp.day & 0xFF; //day
- VerMsgToTcpInfo.VerInfo.msgCollectionTimeUTC[3] = UTC8TimeTcp.hour & 0xFF; //hour
- VerMsgToTcpInfo.VerInfo.msgCollectionTimeUTC[4] = UTC8TimeTcp.minute & 0xFF; //mins
- VerMsgToTcpInfo.VerInfo.msgCollectionTimeUTC[5] = UTC8TimeTcp.second & 0xFF;
- memcpy(VerMsgToTcpInfo.VerInfo.ICCID,iccid,20);
- memcpy(VerMsgToTcpInfo.VerInfo.IMEI,imei,15);
- //osMutexAcquire(UartMutex, osWaitForever);//Bms版本号上传2021-03-24修改
-
- VerMsgToTcpInfo.VerInfo.BMSHwVersion[0] = bmsHwVersion /10;
- VerMsgToTcpInfo.VerInfo.BMSHwVersion[1] = bmsHwVersion%10;
- VerMsgToTcpInfo.VerInfo.BMSSwVersion[0] = 0;
- VerMsgToTcpInfo.VerInfo.BMSSwVersion[1] = 0;
- VerMsgToTcpInfo.VerInfo.BMSSwVersion[2] = bmsSwVersion/10;
- VerMsgToTcpInfo.VerInfo.BMSSwVersion[3] = bmsSwVersion%10;
- //osMutexRelease(UartMutex);
- VerMsgToTcpInfo.VerInfo.NBHwVersion[0] = (HWVERSION>>8)& 0xFF;
- VerMsgToTcpInfo.VerInfo.NBHwVersion[1] = (HWVERSION)& 0xFF;
- VerMsgToTcpInfo.VerInfo.BLVersion[0] = (BLSWVERSION>>24)& 0xFF;
- VerMsgToTcpInfo.VerInfo.BLVersion[1] = (BLSWVERSION>>16)& 0xFF;
- VerMsgToTcpInfo.VerInfo.BLVersion[2] = (BLSWVERSION>>8)& 0xFF;
- VerMsgToTcpInfo.VerInfo.BLVersion[3] = (BLSWVERSION)& 0xFF;
- VerMsgToTcpInfo.VerInfo.DRVVersion[0] = (DRVSWVERSION>>24)& 0xFF;
- VerMsgToTcpInfo.VerInfo.DRVVersion[1] = (DRVSWVERSION>>16)& 0xFF;
- VerMsgToTcpInfo.VerInfo.DRVVersion[2] = (DRVSWVERSION>>8)& 0xFF;
- VerMsgToTcpInfo.VerInfo.DRVVersion[3] = (DRVSWVERSION)& 0xFF;
- VerMsgToTcpInfo.VerInfo.APPVersion[0] = (APPSWVERSION>>24)& 0xFF;
- VerMsgToTcpInfo.VerInfo.APPVersion[1] = (APPSWVERSION>>16)& 0xFF;
- VerMsgToTcpInfo.VerInfo.APPVersion[2] = (APPSWVERSION>>8)& 0xFF;
- VerMsgToTcpInfo.VerInfo.APPVersion[3] = (APPSWVERSION)& 0xFF;
- VerMsgToTcpInfo.VerInfo.BmsType = BMS_MANUFACTURE;
- VerMsgToTcpInfo.VerInfo.BmsInfo = BMS_INFO;
- VerMsgToTcpInfo.VerInfo.DataModuleType = DATA_MODULE_TYPE;
- VerMsgToTcpInfo.CRC = bcc_chk((UINT8 *)&VerMsgToTcpInfo, sizeof(VerMsgToTcpInfo)-1 );
- if(UartBattInfoRecvFlag==TRUE&&NB_Fota_update_flag==FALSE)
- {
- len = tcpipConnectionSend(socContext.id, (UINT8 *)&VerMsgToTcpInfo, sizeof(VerMsgToTcpInfo), 0, 0, 0);
- if(len>0)
- {
- TcpSendLen = 0x01 | TcpSendLen;
- }
- else
- {
- TcpSendLen = 0xFE & TcpSendLen;
- sendQueueMsg(QMSG_ID_NW_IP_SUSPEND, 0);
- }
- }
- else
- {
- send_counter = 1;
- return;
- }
- }
- if(send_counter==0)//发送本次文件中的调试信息
- {
- DebugMsgtoTcpType DebugMsgInfo;
- UINT8 *SendBuffer = PNULL;
- UINT16 BufferLen = 0;
- BufferLen = Debug_GetSize();
- if(BufferLen>200)
- {
- Debug_Del_Logfile();
- #ifdef DEBUGLOG
- Debug_printf("Sys:%d\n",AppDataInfo.SysReStart);
- #endif
- BufferLen = Debug_GetSize();
- }
- UINT8 rbuf[BufferLen];
- Debug_Read_Logfile(rbuf,BufferLen);
- 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>0xffff)
- {
- send_counter = 0;
- }
- else
- {
- send_counter++;
- }
- }
- //Tcp数据接收处理函数
- static void TcpDataInfoRecvHandle()
- {
- TcpipConnectionRecvDataInd *TcpRecvData;
- osMessageQueueGet(TcpRecvHandle,&TcpRecvData,0,0);
- osDelay(100);
- Uart_Write_Data_Type UartWriteCmd;
- OsaUtcTimeTValue TimeStracture;
- UINT8 DataLen;
- UINT8 Tcp_Cmd;
- UINT8 Control_Cmd;
- UINT8 *Ptr;
- UINT8 TcpCmdAnswer[31];
- TcpCmdAnswer[0] = TCP_START_SYM1;
- TcpCmdAnswer[1] = TCP_START_SYM1;
- if(TcpRecvData != PNULL)
- {
- Ptr = TcpRecvData->data;
- if((*(Ptr+0)==TCP_START_SYM1)&&(*(Ptr+1)==TCP_START_SYM2))//服务器起始信息
- {
- Tcp_Cmd = *(Ptr+2);//命令标志
- if(*(Ptr+3)==0xFE)
- {
- TcpService=0x01;
- }
- switch (Tcp_Cmd)
- {
- case TCP_QUERY_SYM:
- break;
- case TCP_SETCMD_SYM:
- break;
- case TCP_CONCMD_SYM:
- {
- TcpCmdAnswer[2] = TCP_CONCMD_SYM;
- if(*(Ptr+30)==0x01)//远程升级命令
- {
- Fota_Func(Ptr,socContext.id);
- }
- else if(*(Ptr+30)==0x88)//BMS远程升级数据传输命令
- {
- Fota_Func(Ptr,socContext.id);
- }
- else if(*(Ptr+30)==0x80)//远程锁定命令
- {
- //osMutexAcquire(UartMutex, osWaitForever);
- TcpCmdAnswer[3] = 0x01;
- memcpy(&TcpCmdAnswer[4],(Ptr+4),BATT_SN_LEN);
- TcpCmdAnswer[21] = TCP_ENCPT_DISABLE;
- TcpCmdAnswer[22] = 0x00;
- TcpCmdAnswer[23] = 0x06;
- memcpy(&TcpCmdAnswer[24],(Ptr+24),6);
- TcpCmdAnswer[30] = bcc_chk(TcpCmdAnswer,30);
- if(*(Ptr+31)==0x01)//0x01代表锁定
- {
- AppNVMData.appDataModify = TRUE;
- AppNVMData.isBattLocked = TRUE;
- UartWriteCmd.WriteCmd = 0x01;
- UartWriteCmd.Data[0] = 0x00;
- UartWriteCmd.Data[1] = 0x00;
- if(battWorkState ==0x00)
- {
- osMessageQueuePut(UartWriteCmdHandle,&UartWriteCmd,0,1000);
- }
- tcpipConnectionSend(socContext.id,TcpCmdAnswer,31,0,0,0);
- }
- else //0x02代表解锁
- {
- AppNVMData.appDataModify = TRUE;
- AppNVMData.isBattLocked = FALSE;
- UartWriteCmd.WriteCmd = 0x01;
- UartWriteCmd.Data[0] = 0x00;
- UartWriteCmd.Data[1] = 0x03;
- osMessageQueuePut(UartWriteCmdHandle,&UartWriteCmd,0,1000);
- tcpipConnectionSend(socContext.id,TcpCmdAnswer,31,0,0,0);
- }
- //osMutexRelease(UartMutex);
- TcpService=0x00;
-
- }
- else
- {
- TcpCmdAnswer[3] = 0x0f;
- memcpy(&TcpCmdAnswer[4],(Ptr+4),BATT_SN_LEN);
- TcpCmdAnswer[21] = TCP_ENCPT_DISABLE;
- TcpCmdAnswer[22] = 0x00;
- TcpCmdAnswer[23] = 0x06;
- memcpy(&TcpCmdAnswer[24],(Ptr+24),6);
- TcpCmdAnswer[30] = bcc_chk(TcpCmdAnswer,30);
- tcpipConnectionSend(socContext.id,TcpCmdAnswer,31,0,0,0);
- }
- break;
- }
- default:
- {
- break;
- }
- }
- }
- free(TcpRecvData);
- }
- }
- //TCP发送校验函数
- UINT8 bcc_chk(UINT8* data, UINT8 length)
- {
- UINT8 bcc_chk_return = 0x00;
- UINT8 count = 0;
- while (count<length)
- {
- bcc_chk_return^=data[count];
- count++;
- }
- return bcc_chk_return;
- }
- //Tcp 状态转换函数
- static void sendQueueMsg(UINT32 msgId, UINT32 xTickstoWait)
- {
- eventCallbackMessage_t *queueMsg = NULL;
- queueMsg = malloc(sizeof(eventCallbackMessage_t));
- queueMsg->messageId = msgId;
- if (psEventQueueHandle)
- {
- if (pdTRUE != xQueueSend(psEventQueueHandle, &queueMsg, xTickstoWait))
- {
- ECOMM_TRACE(UNILOG_PLA_APP, sendQueueMsg_1, P_ERROR, 0, "xQueueSend error");
- }
- }
- }
- //Tcp状态注册函数
- static INT32 socketRegisterPSUrcCallback(urcID_t eventID, void *param, UINT32 paramLen)
- {
- CmiSimImsiStr *imsi = NULL;
- CmiPsCeregInd *cereg = NULL;
- UINT8 rssi = 0, index = 0;
- NmAtiNetifInfo *netif = NULL;
- switch(eventID)
- {
- case NB_URC_ID_SIM_READY:
- {
- imsi = (CmiSimImsiStr *)param;
- memcpy(gImsi, imsi->contents, imsi->length);
- #ifdef USING_PRINTF
- printf("SIM ready(imsi=%s)\n",(UINT8 *)imsi->contents);
- #endif
- break;
- }
- case NB_URC_ID_MM_SIGQ:
- {
- rssi = *(UINT8 *)param;
- #ifdef USING_PRINTF
- printf("RSSI signal=%d\n",rssi);
- #endif
- break;
- }
- case NB_URC_ID_PS_BEARER_ACTED:
- {
- #ifdef USING_PRINTF
- printf("Default bearer activated\n");
- #endif
- break;
- }
- case NB_URC_ID_PS_BEARER_DEACTED:
- {
- #ifdef USING_PRINTF
- printf("Default bearer Deactivated\n");
- #endif
- break;
- }
- case NB_URC_ID_PS_CEREG_CHANGED:
- {
- cereg = (CmiPsCeregInd *)param;
- gCellID = cereg->celId;
- #ifdef USING_PRINTF
- printf("URCCallBack:CEREG changed act:%d celId:%d locPresent:%d tac:%d\n", cereg->act, cereg->celId, cereg->locPresent, cereg->tac);
- #endif
- break;
- }
- case NB_URC_ID_PS_NETINFO:
- {
- netif = (NmAtiNetifInfo *)param;
- if (netif->netStatus == NM_NETIF_ACTIVATED)
- sendQueueMsg(QMSG_ID_NW_IP_READY, 0);
- break;
- }
- }
- return 0;
- }
- //Tcpz连接状态回调函数
- static void socketAppConnectionCallBack(UINT8 connectionEventType, void *bodyEvent)
- {
- switch(connectionEventType)
- {
- case TCPIP_CONNECTION_STATUS_EVENT:
- {
- TcpipConnectionStatusInd *statusInd;
- statusInd = (TcpipConnectionStatusInd *)bodyEvent;
- if(statusInd != PNULL)
- {
- if(statusInd->status == TCPIP_CONNECTION_STATUS_CLOSED)
- {
- #ifdef USING_PRINTF
- printf("socketAppConnectionCallBack socket connection %u closed,cause %u", statusInd->connectionId, statusInd->cause);
- #endif
- ECOMM_TRACE(UNILOG_PLA_APP, socketAppConnectionCallBack_1, P_ERROR, 2, "socketAppConnectionCallBack socket connection %u closed,cause %u", statusInd->connectionId, statusInd->cause);
- if(statusInd->connectionId == socContext.id)
- {
- socContext.id = -1;
- socContext.status = APP_SOCKET_CONNECTION_CLOSED;
- }
- }
- else if(statusInd->status == TCPIP_CONNECTION_STATUS_CONNECTING)
- {
- #ifdef USING_PRINTF
- printf("socketAppConnectionCallBack socket connection %u is connecting", statusInd->connectionId);
- #endif
- ECOMM_TRACE(UNILOG_PLA_APP, socketAppConnectionCallBack_2, P_INFO, 1, "socketAppConnectionCallBack socket connection %u is connecting", statusInd->connectionId);
- if(statusInd->connectionId == socContext.id)
- {
- socContext.status = APP_SOCKET_CONNECTION_CONNECTING;
- }
- }
- else if(statusInd->status == TCPIP_CONNECTION_STATUS_CONNECTED)
- {
- #ifdef USING_PRINTF
- printf("socketAppConnectionCallBack socket connection %u is connected", statusInd->connectionId);
- #endif
- ECOMM_TRACE(UNILOG_PLA_APP, socketAppConnectionCallBack_3, P_ERROR, 1, "socketAppConnectionCallBack socket connection %u is connected", statusInd->connectionId);
- if(statusInd->connectionId == socContext.id)
- {
- socContext.status = APP_SOCKET_CONNECTION_CONNECTED;
- }
- }
- }
- else
- {
- #ifdef USING_PRINTF
- printf("socketAppConnectionCallBack invalid connection status event");
- #endif
- ECOMM_TRACE(UNILOG_PLA_APP, socketAppConnectionCallBack_4, P_ERROR, 0, "socketAppConnectionCallBack invalid connection status event");
- }
- break;
- }
- case TCPIP_CONNECTION_RECEIVE_EVENT:
- {
- TcpipConnectionRecvDataInd *rcvInd;
- TcpipConnectionRecvDataInd *rcvbuffer = NULL;
- rcvInd = (TcpipConnectionRecvDataInd *)bodyEvent;
- if(rcvInd != PNULL)
- {
- rcvbuffer = malloc(sizeof(TcpipConnectionRecvDataInd));
- memcpy(rcvbuffer,rcvInd,sizeof(TcpipConnectionRecvDataInd));
- osMessageQueuePut(TcpRecvHandle,&rcvbuffer,0,1000);
- sendQueueMsg(QMSG_ID_SOCK_RECVPKG, 0);
- #ifdef USING_PRINTF
- uint8_t* Ptr;
- Ptr=rcvInd->data;
- printf("socket connection %u receive length %u data:", rcvInd->connectionId, rcvInd->length);
- for(int i = 0;i<rcvInd->length;i++)
- printf("%x ",*(Ptr+i));
- printf("\n");
- #endif
- ECOMM_TRACE(UNILOG_PLA_APP, socketAppConnectionCallBack_5, P_INFO, 2, "socketAppConnectionCallBack socket connection %u receive length %u data", rcvInd->connectionId, rcvInd->length);
- }
- else
- {
- #ifdef USING_PRINTF
- printf( "socketAppConnectionCallBack invalid connection rcv event");
- #endif
- ECOMM_TRACE(UNILOG_PLA_APP, socketAppConnectionCallBack_6, P_ERROR, 0, "socketAppConnectionCallBack invalid connection rcv event");
- }
- break;
- }
- case TCPIP_CONNECTION_UL_STATUS_EVENT:
- {
- TcpipConnectionUlDataStatusInd *ulStatusInd;
- ulStatusInd = (TcpipConnectionUlDataStatusInd *)bodyEvent;
- if(ulStatusInd != PNULL)
- {
- if(ulStatusInd->status == Tcpip_Connection_UL_DATA_SUCCESS)
- {
- #ifdef USING_PRINTF
- printf( "socketAppConnectionCallBack socket connection %u sequence %u data has sent success", ulStatusInd->connectionId, ulStatusInd->sequence);
- #endif
- ECOMM_TRACE(UNILOG_PLA_APP, socketAppConnectionCallBack_7, P_INFO, 2, "socketAppConnectionCallBack socket connection %u sequence %u data has sent success", ulStatusInd->connectionId, ulStatusInd->sequence);
- }
- else if(ulStatusInd->status == Tcpip_Connection_UL_DATA_FAIL)
- {
- #ifdef USING_PRINTF
- printf("socketAppConnectionCallBack socket connection %u sequence %u data has sent fail", ulStatusInd->connectionId, ulStatusInd->sequence);
- #endif
- ECOMM_TRACE(UNILOG_PLA_APP, socketAppConnectionCallBack_8, P_WARNING, 2, "socketAppConnectionCallBack socket connection %u sequence %u data has sent fail", ulStatusInd->connectionId, ulStatusInd->sequence);
- }
- }
- else
- {
- #ifdef USING_PRINTF
- printf("socketAppConnectionCallBack invalid connection ul status event");
- #endif
- ECOMM_TRACE(UNILOG_PLA_APP, socketAppConnectionCallBack_9, P_ERROR, 0, "socketAppConnectionCallBack invalid connection ul status event");
- }
- break;
- }
- default:
- #ifdef USING_PRINTF
- printf("socketAppConnectionCallBack invalid event type %u", connectionEventType);
- #endif
- ECOMM_TRACE(UNILOG_PLA_APP, socketAppConnectionCallBack_10, P_ERROR, 1, "socketAppConnectionCallBack invalid event type %u", connectionEventType);
- break;
- }
-
- }
|