fix wave bugs,version 5.2

This commit is contained in:
zhangsheng 2024-12-31 17:45:27 +08:00
parent 15bdc41ff4
commit 8c56e93d2b
2 changed files with 14 additions and 8 deletions

View File

@ -18,7 +18,7 @@ enum enumZigBeeTransmitStatus {
//#define NR5G_MODULE //#define NR5G_MODULE
#define Q4G_MODULE //#define Q4G_MODULE
//#define WIFI_MODULE //#define WIFI_MODULE
//#define NR5G_MEIGE //#define NR5G_MEIGE

View File

@ -48,6 +48,12 @@ int Uart::UartRecv(int fd, char srcshow, char *buffer) {
DealReviveDuration(wave_shortAddr); DealReviveDuration(wave_shortAddr);
zlog_warn(zct, "===============0x9999 timeout= %d offSize = %d===============shortAddr = %02x%02x", timeoutflag, offSize,UINT16_HIGH(wave_shortAddr),UINT16_LOW(wave_shortAddr)); zlog_warn(zct, "===============0x9999 timeout= %d offSize = %d===============shortAddr = %02x%02x", timeoutflag, offSize,UINT16_HIGH(wave_shortAddr),UINT16_LOW(wave_shortAddr));
zlog_warn(zct, "0x9999 timeout %d===============Size = %d", timeoutflag, offSize); zlog_warn(zct, "0x9999 timeout %d===============Size = %d", timeoutflag, offSize);
// printf("=============offSize = %d\n",offSize);
// for (size_t i = 0; i < offSize; i++)
// {
// printf("%02x ",mUartRecvTmpBuf[i]);
// }
// printf("=============\n");
FindRecvPackage(offSize, mUartRecvTmpBuf, head); FindRecvPackage(offSize, mUartRecvTmpBuf, head);
now_task = -1; now_task = -1;
timeoutflag = 0; timeoutflag = 0;
@ -1052,18 +1058,17 @@ int Uart::FindRecvPackage(int bytesRead, char *mUartRecvBuf, char *head) {
sprintf(buf, "%02d", UartRecvBuf[i + 5]); sprintf(buf, "%02d", UartRecvBuf[i + 5]);
int command = atoi(buf); int command = atoi(buf);
//zlog_info(zct, "command = %d ShortAddr :%s", command, strShortAddr.c_str()); //zlog_info(zct, "command = %d ShortAddr :%s", command, strShortAddr.c_str());
if ((mPackgeIndex == -1 || (unsigned int)UartRecvBuf[i + 6] == 0) ) { if ((mPackgeIndex == -1 || (unsigned int)UartRecvBuf[i + 6] == 0) && (command == WAVE_X || command == WAVE_Y || command == WAVE_Z) ) {
mPackgeIndex = UartRecvBuf[i + 6] & 0xFF; mPackgeIndex = UartRecvBuf[i + 6] & 0xFF;
} else if ((unsigned int)mPackgeIndex == (unsigned int)UartRecvBuf[i + 6] && mPackgeIndex != -1 && command != 2) { } else if ((unsigned int)mPackgeIndex == (unsigned int)UartRecvBuf[i + 6] && mPackgeIndex != -1 && (command == WAVE_X || command == WAVE_Y || command == WAVE_Z)) {
zlog_warn(zct, "mPackgeIndex same index1:%d,index2:%02d ShortAddr :%s ", mPackgeIndex, UartRecvBuf[i + 6] & 0xff, strShortAddr.c_str()); zlog_warn(zct, "mPackgeIndex same index1:%d,index2:%02d ShortAddr :%s ", mPackgeIndex, UartRecvBuf[i + 6] & 0xff, strShortAddr.c_str());
continue; continue;
} else if ((unsigned int)mPackgeIndex + 1 != (unsigned int)UartRecvBuf[i + 6] && mPackgeIndex != -1 && command != 2) { } else if ((unsigned int)mPackgeIndex + 1 != (unsigned int)UartRecvBuf[i + 6] && mPackgeIndex != -1 && (command == WAVE_X || command == WAVE_Y || command == WAVE_Z)) {
m_TimeStamp = 0; m_TimeStamp = 0;
printf("mPackgeIndex error =============command = %d\n",command);
zlog_warn(zct, "mPackgeIndex error index1:%d,index2:%02d ShortAddr :%s ", mPackgeIndex, UartRecvBuf[i + 6] & 0xff, strShortAddr.c_str()); zlog_warn(zct, "mPackgeIndex error index1:%d,index2:%02d , ShortAddr :%s ,command : %d", mPackgeIndex, UartRecvBuf[i + 6] & 0xff, strShortAddr.c_str(),command);
mPackgeIndex = -1; mPackgeIndex = -1;
zlog_warn(zct, "mPackgeIndex error ShortAddr :%s", strShortAddr.c_str());
char tmp[10] = {0x00}; char tmp[10] = {0x00};
char tmp2[10] = {0x00}; char tmp2[10] = {0x00};
@ -1147,6 +1152,7 @@ int Uart::FindRecvPackage(int bytesRead, char *mUartRecvBuf, char *head) {
} }
memcpy(RecvBuf, (char *)&UartRecvBuf[i], 100); memcpy(RecvBuf, (char *)&UartRecvBuf[i], 100);
DealDataNodeWave(RecvBuf, command); DealDataNodeWave(RecvBuf, command);
mPackgeIndex = (unsigned int)UartRecvBuf[i + 6];
} else if (now_task != WAVE_CMD && (command == ASK_TASK || command == DEVICE_INF || command == MEAS_EVAL || command == CONFIG || command == UPGRADE || command == DEVICE_INF2 || command == SIGNAL_STRENGTH || command == DEVICE_EXCEPTION || command == WAVE_COMPRESS)) { } else if (now_task != WAVE_CMD && (command == ASK_TASK || command == DEVICE_INF || command == MEAS_EVAL || command == CONFIG || command == UPGRADE || command == DEVICE_INF2 || command == SIGNAL_STRENGTH || command == DEVICE_EXCEPTION || command == WAVE_COMPRESS)) {
char RecvBuf[100] = {0x00}; char RecvBuf[100] = {0x00};
if (command == ASK_TASK ) if (command == ASK_TASK )
@ -1217,7 +1223,7 @@ int Uart::FindRecvPackage(int bytesRead, char *mUartRecvBuf, char *head) {
} }
} }
} }
mPackgeIndex = (unsigned int)UartRecvBuf[i + 6];
} else { } else {
continue; continue;