diff --git a/Sources/BlynkCloudClient.cpp b/Sources/BlynkCloudClient.cpp index a4297c1..79b6162 100644 --- a/Sources/BlynkCloudClient.cpp +++ b/Sources/BlynkCloudClient.cpp @@ -74,7 +74,7 @@ void CBlynkCloudClient::BlynkServerFinished(QNetworkReply *NetworkReply) if(NetworkReply->error() != QNetworkReply::NoError) { - qDebug("Network error... %d", NetworkReply->error()); + // qDebug("Network error... %d", NetworkReply->error()); return; } diff --git a/Sources/Chalet/ChaletData.cpp b/Sources/Chalet/ChaletData.cpp index 087ffe3..7d679dd 100644 --- a/Sources/Chalet/ChaletData.cpp +++ b/Sources/Chalet/ChaletData.cpp @@ -13,6 +13,9 @@ CChaletMainStatus::CChaletMainStatus() mStatusToggleBit = 0; mLostRequestPercentage = 0; mChaletTemperature = -100; + mTotalNbChaletRxCmds = 0; + mTotalNbMasterTxCmds = 0; + mMasterLostRequestCount = 0; } @@ -59,6 +62,9 @@ QByteArray CChaletMainStatus::ToByteArray() Strm << mLastLoraStatus; Strm << mStatusToggleBit; Strm << mChaletTemperature; + Strm << mTotalNbChaletRxCmds; + Strm << mTotalNbMasterTxCmds; + Strm << mMasterLostRequestCount; return Data; } diff --git a/Sources/Chalet/ChaletData.h b/Sources/Chalet/ChaletData.h index 7525290..286c3a1 100644 --- a/Sources/Chalet/ChaletData.h +++ b/Sources/Chalet/ChaletData.h @@ -62,6 +62,10 @@ public: float mChaletTemperature; + int mTotalNbChaletRxCmds; + int mTotalNbMasterTxCmds; + int mMasterLostRequestCount; + }; diff --git a/Sources/Chalet/ChaletInterface.cpp b/Sources/Chalet/ChaletInterface.cpp index 79d1b00..e2ec483 100644 --- a/Sources/Chalet/ChaletInterface.cpp +++ b/Sources/Chalet/ChaletInterface.cpp @@ -110,6 +110,14 @@ int CChaletInterface::NewDeviceFrameReceived(int DeviceID, int DeviceAddress, in case CHALET_INTERFACE_GET_FIRMWARE_VERSION_REQUEST: { mChaletLoraDevice->SendGetFirmwareVersion(); + break; + } + case CHALET_INTERFACE_CLEAR_COMMS_STATS_REQUEST: + { + + mChaletLoraDevice->SendClearCommStatsRequest(); +// mChaletLoraDevice->ResetCommStats(); + break; } case CHALET_INTERFACE_WIFI_GET_DEVICE_PARAMS_RESPONSE: case CHALET_INTERFACE_WIFI_SET_DEVICE_PARAMS_RESPONSE: @@ -120,6 +128,7 @@ int CChaletInterface::NewDeviceFrameReceived(int DeviceID, int DeviceAddress, in case CHALET_INTERFACE_AC_POWER_SET_STATE_RESPONSE: case CHALET_INTERFACE_BATTERY_VOLTAGE_RESPONSE: case CHALET_INTERFACE_WIFI_SET_STATE_RESPONSE: + case CHALET_INTERFACE_CLEAR_COMMS_STATS_RESPONSE: { break; diff --git a/Sources/Chalet/ChaletLoraDevice.cpp b/Sources/Chalet/ChaletLoraDevice.cpp index 10f6808..78ce9f1 100644 --- a/Sources/Chalet/ChaletLoraDevice.cpp +++ b/Sources/Chalet/ChaletLoraDevice.cpp @@ -57,9 +57,11 @@ int CChaletLoraDevice::NewDeviceFrameReceived(int DeviceID, int DeviceAddress, i { float temp; qint16 temp2; + quint32 temp3; // qDebug("Chalet Status RX"); char VoltageArray[4]; char TemperatureArray[4]; + char TotalRequestsArray[4]; char SolarPanelCurrentArray[2]; char BatterySOCArray[2]; @@ -91,6 +93,13 @@ int CChaletLoraDevice::NewDeviceFrameReceived(int DeviceID, int DeviceAddress, i memcpy(&temp,TemperatureArray,4); mChaletMainStatus.mChaletTemperature = temp; + TotalRequestsArray[0] = Data[14]; + TotalRequestsArray[1] = Data[15]; + TotalRequestsArray[2] = Data[16]; + TotalRequestsArray[3] = Data[17]; + memcpy(&temp3,TotalRequestsArray,4); + mChaletMainStatus.mTotalNbChaletRxCmds = temp3; + mChaletMainStatus.mStatusToggleBit = !mChaletMainStatus.mStatusToggleBit; mChaletMainStatus.mLastLoraStatus = QDateTime::currentDateTime(); @@ -99,6 +108,7 @@ int CChaletLoraDevice::NewDeviceFrameReceived(int DeviceID, int DeviceAddress, i // qDebug("Current: %d",mChaletMainStatus.mBatteryCurrent); // qDebug("SOC: %d",mChaletMainStatus.mBatterySOC); // qDebug("Inverter: %d",mChaletMainStatus.mInverterRelayStatus); +// qDebug("Chalet Rx Nb Cmd: %d",mChaletMainStatus.mTotalNbChaletRxCmds); mChaletDataLogger.LogChaletLORAData(&mChaletMainStatus); @@ -218,6 +228,12 @@ int CChaletLoraDevice::NewDeviceFrameReceived(int DeviceID, int DeviceAddress, i emit DeviceFirmwareVersionReceived(); break; } + case CHALET_CLEAR_COMMS_STATISTICS_RESPONSE: + { + ResetCommStats(); + CmdResponseReceived(CHALET_CLEAR_COMMS_STATISTICS_REQUEST); + break; + } default: { @@ -257,6 +273,7 @@ void CChaletLoraDevice::CommTimerExpired() } mPendingNetworkMsgList[0].ResendCounter++; mNbLostRequest++; + mChaletMainStatus.mMasterLostRequestCount = mNbLostRequest; ComputeCommStats(); } @@ -265,6 +282,7 @@ void CChaletLoraDevice::CommTimerExpired() mPendingNetworkMsgList[0].PendingResponse = true; SendChaletCommand(mPendingNetworkMsgList.at(0).mMessageID,mPendingNetworkMsgList.at(0).mData.size(),mPendingNetworkMsgList.at(0).mData); + //Harakiri and Reboot commands should not stay in the queue... if(mPendingNetworkMsgList.at(0).mMessageID == CHALET_DO_HARAKIRI_REQUEST || mPendingNetworkMsgList.at(0).mMessageID == CHALET_REBOOT_CPU_REQUEST) @@ -347,10 +365,16 @@ int CChaletLoraDevice::SendGetFirmwareVersion() return ScheduleChaletCommand(CHALET_GET_FIRMWARE_VERSION_REQUEST,QByteArray()); } +int CChaletLoraDevice::SendClearCommStatsRequest() +{ + return ScheduleChaletCommand(CHALET_CLEAR_COMMS_STATISTICS_REQUEST,QByteArray()); +} + int CChaletLoraDevice::SendChaletCommand(int CmdID, int DataSize, QByteArray Data) { mNetworkInterfacePtr->SendNetworkMessage(ID_CHALET_DEVICE,mDeviceAddress,CmdID,DataSize,&Data); mTotalNbRequest++; + mChaletMainStatus.mTotalNbMasterTxCmds++; ComputeCommStats(); return RET_OK; } @@ -445,6 +469,8 @@ int CChaletLoraDevice::ResetCommStats() mLostRequestPercentage = 0.0; mTotalNbRequest = 0; mNbLostRequest = 0; + mChaletMainStatus.mTotalNbMasterTxCmds = 0; + mChaletMainStatus.mMasterLostRequestCount = 0; return RET_OK; } diff --git a/Sources/Chalet/ChaletLoraDevice.h b/Sources/Chalet/ChaletLoraDevice.h index 2c5bc10..d84acc8 100644 --- a/Sources/Chalet/ChaletLoraDevice.h +++ b/Sources/Chalet/ChaletLoraDevice.h @@ -72,6 +72,7 @@ public: int SendGetWifiParams(); int SendSetWifiParams(QByteArray Data); int SendGetFirmwareVersion(); + int SendClearCommStatsRequest(); int CmdResponseReceived(int CmdID); int ScheduleChaletStatusRequest(); diff --git a/Sources/Chalet/ThingsBoardInterface.cpp b/Sources/Chalet/ThingsBoardInterface.cpp index 7004bad..fc96a3d 100644 --- a/Sources/Chalet/ThingsBoardInterface.cpp +++ b/Sources/Chalet/ThingsBoardInterface.cpp @@ -136,7 +136,7 @@ void CThingsBoardInterface::ThingsBoardServerFinished(QNetworkReply *NetworkRepl if(NetworkReply->error() != QNetworkReply::NoError) { - qDebug("Network error... %d", NetworkReply->error()); + // qDebug("Network error... %d", NetworkReply->error()); return; } diff --git a/Sources/Ispindel/IspindelDevice.cpp b/Sources/Ispindel/IspindelDevice.cpp index 8877d79..678613d 100644 --- a/Sources/Ispindel/IspindelDevice.cpp +++ b/Sources/Ispindel/IspindelDevice.cpp @@ -6,7 +6,7 @@ CIspindelDevice::CIspindelDevice() { mISpindelServer = new QTcpServer; connect(mISpindelServer,SIGNAL(newConnection()),this,SLOT(IspindelClientConnected())); - mISpindelServer->listen(QHostAddress::Any,80); + mISpindelServer->listen(QHostAddress::Any,90); mIspindelLog.clear(); mDataLogger.LoadLogData(&mIspindelLog); @@ -126,3 +126,17 @@ QByteArray CIspindelDevice::GetLastestIspindelDataBuffer() } return Buf; } + +bool CIspindelDevice::DeleteSampleRequest(int SampleIndex) +{ + if(SampleIndex >= mIspindelLog.size()) + { + return false; + } + + mIspindelLog.removeAt(SampleIndex); + mDataLogger.WriteLogToFile(&mIspindelLog); + + return true; + +} diff --git a/Sources/Ispindel/IspindelDevice.h b/Sources/Ispindel/IspindelDevice.h index e769dd9..d54340c 100644 --- a/Sources/Ispindel/IspindelDevice.h +++ b/Sources/Ispindel/IspindelDevice.h @@ -25,6 +25,7 @@ public: QList *GetAllData(){return &mIspindelLog;} QByteArray GetAllDataBuffer(); QByteArray GetLastestIspindelDataBuffer(); + bool DeleteSampleRequest(int SampleIndex); public slots: diff --git a/Sources/Ispindel/IspindelInterface.cpp b/Sources/Ispindel/IspindelInterface.cpp index 9395452..8864195 100644 --- a/Sources/Ispindel/IspindelInterface.cpp +++ b/Sources/Ispindel/IspindelInterface.cpp @@ -30,6 +30,20 @@ int CIspindelInterface::NewDeviceFrameReceived(int DeviceID, int DeviceAddress, mNetworkInterfacePtr->SendNetworkMessage(ID_ISPINDEL_INTERFACE,mDeviceAddress,ISPINDEL_GET_FULL_DATA_BUFFER_RESPONSE,Buf.size(),&Buf); break; } + case ISPINDEL_DELETE_SAMPLE_REQUEST: + { + int Index; + QDataStream Strm(&Data,QIODevice::ReadOnly | QIODevice::Unbuffered); + Strm >> Index; + bool Res = mISpindelDevice->DeleteSampleRequest(Index); + + QByteArray ResBuffer; + QDataStream ResultStrm(&ResBuffer,QIODevice::WriteOnly | QIODevice::Unbuffered); + ResultStrm << Res; + + mNetworkInterfacePtr->SendNetworkMessage(ID_ISPINDEL_INTERFACE,mDeviceAddress,ISPINDEL_DELETE_SAMPLE_RESPONSE,ResBuffer.size(),&ResBuffer); + break; + } } return RET_OK; diff --git a/Sources/LoraNetworkCommIF.cpp b/Sources/LoraNetworkCommIF.cpp index d73ead7..1e8522b 100644 --- a/Sources/LoraNetworkCommIF.cpp +++ b/Sources/LoraNetworkCommIF.cpp @@ -108,7 +108,7 @@ int CLoraNetworkCommIF::NewFrameReceived(int DeviceID, int DeviceAddress, int Me int CLoraNetworkCommIF::SendNetworkMessage(int DeviceID, int DeviceAddress, int MessageID, int DataSize, QByteArray *Data) { QByteArray Packet = GetTxPacket(MessageID,0,Data->data(),DataSize,DeviceAddress,DeviceID); - SendLoraFrame(6,4,Packet); -// SendLoraFrame(4,4,Packet); + SendLoraFrame(6,4,Packet); //channel 6 = chalet + //SendLoraFrame(7,4,Packet); //channel 7 = chaloupe return RET_OK; } diff --git a/Sources/ProtocolDefs.h b/Sources/ProtocolDefs.h index 36f8198..7361250 100644 --- a/Sources/ProtocolDefs.h +++ b/Sources/ProtocolDefs.h @@ -277,6 +277,8 @@ enum CHALET_INTERFACE_CMDS CHALET_INTERFACE_WIFI_SET_DEVICE_PARAMS_RESPONSE, CHALET_INTERFACE_GET_FIRMWARE_VERSION_REQUEST, CHALET_INTERFACE_GET_FIRMWARE_VERSION_RESPONSE, + CHALET_INTERFACE_CLEAR_COMMS_STATS_REQUEST, + CHALET_INTERFACE_CLEAR_COMMS_STATS_RESPONSE, @@ -306,10 +308,12 @@ enum CHALET_CMDS CHALET_REBOOT_CPU_RESPONSE, CHALET_GET_STORED_WIFI_SETTINGS_REQUEST, //14 CHALET_GET_STORED_WIFI_SETTINGS_RESPONSE, - CHALET_SET_STORED_WIFI_SETTINGS_REQUEST, + CHALET_SET_STORED_WIFI_SETTINGS_REQUEST, // CHALET_SET_STORED_WIFI_SETTINGS_RESPONSE, CHALET_GET_FIRMWARE_VERSION_REQUEST, CHALET_GET_FIRMWARE_VERSION_RESPONSE, + CHALET_CLEAR_COMMS_STATISTICS_REQUEST, + CHALET_CLEAR_COMMS_STATISTICS_RESPONSE, MAX_CHALET_CMD @@ -322,6 +326,8 @@ enum ISPINDLE_CMDS ISPINDLE_LATEST_DATA_RESPONSE, ISPINDEL_GET_FULL_DATA_BUFFER_REQUEST, ISPINDEL_GET_FULL_DATA_BUFFER_RESPONSE, + ISPINDEL_DELETE_SAMPLE_REQUEST, + ISPINDEL_DELETE_SAMPLE_RESPONSE, MAX_ISPINDLE_CMDS }; diff --git a/Sources/VoipSMS/VoipMsSMSClient.cpp b/Sources/VoipSMS/VoipMsSMSClient.cpp index b5e33bf..d55fab8 100644 --- a/Sources/VoipSMS/VoipMsSMSClient.cpp +++ b/Sources/VoipSMS/VoipMsSMSClient.cpp @@ -189,7 +189,7 @@ void CVoipMsSMSClient::VoipServerReplyFinished(QNetworkReply *NetworkReply) if(NetworkReply->error() != QNetworkReply::NoError) { - qDebug("Network error... %d", NetworkReply->error()); + // qDebug("Network error... %d", NetworkReply->error()); return; }