Développements

ajout status de comm dans get statud
This commit is contained in:
jfmartel 2022-05-08 13:21:02 -04:00
parent 8aafc96dbd
commit 3f28be7793
13 changed files with 88 additions and 7 deletions

View File

@ -74,7 +74,7 @@ void CBlynkCloudClient::BlynkServerFinished(QNetworkReply *NetworkReply)
if(NetworkReply->error() != QNetworkReply::NoError) if(NetworkReply->error() != QNetworkReply::NoError)
{ {
qDebug("Network error... %d", NetworkReply->error()); // qDebug("Network error... %d", NetworkReply->error());
return; return;
} }

View File

@ -13,6 +13,9 @@ CChaletMainStatus::CChaletMainStatus()
mStatusToggleBit = 0; mStatusToggleBit = 0;
mLostRequestPercentage = 0; mLostRequestPercentage = 0;
mChaletTemperature = -100; mChaletTemperature = -100;
mTotalNbChaletRxCmds = 0;
mTotalNbMasterTxCmds = 0;
mMasterLostRequestCount = 0;
} }
@ -59,6 +62,9 @@ QByteArray CChaletMainStatus::ToByteArray()
Strm << mLastLoraStatus; Strm << mLastLoraStatus;
Strm << mStatusToggleBit; Strm << mStatusToggleBit;
Strm << mChaletTemperature; Strm << mChaletTemperature;
Strm << mTotalNbChaletRxCmds;
Strm << mTotalNbMasterTxCmds;
Strm << mMasterLostRequestCount;
return Data; return Data;
} }

View File

@ -62,6 +62,10 @@ public:
float mChaletTemperature; float mChaletTemperature;
int mTotalNbChaletRxCmds;
int mTotalNbMasterTxCmds;
int mMasterLostRequestCount;
}; };

View File

@ -110,6 +110,14 @@ int CChaletInterface::NewDeviceFrameReceived(int DeviceID, int DeviceAddress, in
case CHALET_INTERFACE_GET_FIRMWARE_VERSION_REQUEST: case CHALET_INTERFACE_GET_FIRMWARE_VERSION_REQUEST:
{ {
mChaletLoraDevice->SendGetFirmwareVersion(); 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_GET_DEVICE_PARAMS_RESPONSE:
case CHALET_INTERFACE_WIFI_SET_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_AC_POWER_SET_STATE_RESPONSE:
case CHALET_INTERFACE_BATTERY_VOLTAGE_RESPONSE: case CHALET_INTERFACE_BATTERY_VOLTAGE_RESPONSE:
case CHALET_INTERFACE_WIFI_SET_STATE_RESPONSE: case CHALET_INTERFACE_WIFI_SET_STATE_RESPONSE:
case CHALET_INTERFACE_CLEAR_COMMS_STATS_RESPONSE:
{ {
break; break;

View File

@ -57,9 +57,11 @@ int CChaletLoraDevice::NewDeviceFrameReceived(int DeviceID, int DeviceAddress, i
{ {
float temp; float temp;
qint16 temp2; qint16 temp2;
quint32 temp3;
// qDebug("Chalet Status RX"); // qDebug("Chalet Status RX");
char VoltageArray[4]; char VoltageArray[4];
char TemperatureArray[4]; char TemperatureArray[4];
char TotalRequestsArray[4];
char SolarPanelCurrentArray[2]; char SolarPanelCurrentArray[2];
char BatterySOCArray[2]; char BatterySOCArray[2];
@ -91,6 +93,13 @@ int CChaletLoraDevice::NewDeviceFrameReceived(int DeviceID, int DeviceAddress, i
memcpy(&temp,TemperatureArray,4); memcpy(&temp,TemperatureArray,4);
mChaletMainStatus.mChaletTemperature = temp; 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.mStatusToggleBit = !mChaletMainStatus.mStatusToggleBit;
mChaletMainStatus.mLastLoraStatus = QDateTime::currentDateTime(); mChaletMainStatus.mLastLoraStatus = QDateTime::currentDateTime();
@ -99,6 +108,7 @@ int CChaletLoraDevice::NewDeviceFrameReceived(int DeviceID, int DeviceAddress, i
// qDebug("Current: %d",mChaletMainStatus.mBatteryCurrent); // qDebug("Current: %d",mChaletMainStatus.mBatteryCurrent);
// qDebug("SOC: %d",mChaletMainStatus.mBatterySOC); // qDebug("SOC: %d",mChaletMainStatus.mBatterySOC);
// qDebug("Inverter: %d",mChaletMainStatus.mInverterRelayStatus); // qDebug("Inverter: %d",mChaletMainStatus.mInverterRelayStatus);
// qDebug("Chalet Rx Nb Cmd: %d",mChaletMainStatus.mTotalNbChaletRxCmds);
mChaletDataLogger.LogChaletLORAData(&mChaletMainStatus); mChaletDataLogger.LogChaletLORAData(&mChaletMainStatus);
@ -218,6 +228,12 @@ int CChaletLoraDevice::NewDeviceFrameReceived(int DeviceID, int DeviceAddress, i
emit DeviceFirmwareVersionReceived(); emit DeviceFirmwareVersionReceived();
break; break;
} }
case CHALET_CLEAR_COMMS_STATISTICS_RESPONSE:
{
ResetCommStats();
CmdResponseReceived(CHALET_CLEAR_COMMS_STATISTICS_REQUEST);
break;
}
default: default:
{ {
@ -257,6 +273,7 @@ void CChaletLoraDevice::CommTimerExpired()
} }
mPendingNetworkMsgList[0].ResendCounter++; mPendingNetworkMsgList[0].ResendCounter++;
mNbLostRequest++; mNbLostRequest++;
mChaletMainStatus.mMasterLostRequestCount = mNbLostRequest;
ComputeCommStats(); ComputeCommStats();
} }
@ -265,6 +282,7 @@ void CChaletLoraDevice::CommTimerExpired()
mPendingNetworkMsgList[0].PendingResponse = true; mPendingNetworkMsgList[0].PendingResponse = true;
SendChaletCommand(mPendingNetworkMsgList.at(0).mMessageID,mPendingNetworkMsgList.at(0).mData.size(),mPendingNetworkMsgList.at(0).mData); SendChaletCommand(mPendingNetworkMsgList.at(0).mMessageID,mPendingNetworkMsgList.at(0).mData.size(),mPendingNetworkMsgList.at(0).mData);
//Harakiri and Reboot commands should not stay in the queue... //Harakiri and Reboot commands should not stay in the queue...
if(mPendingNetworkMsgList.at(0).mMessageID == CHALET_DO_HARAKIRI_REQUEST || if(mPendingNetworkMsgList.at(0).mMessageID == CHALET_DO_HARAKIRI_REQUEST ||
mPendingNetworkMsgList.at(0).mMessageID == CHALET_REBOOT_CPU_REQUEST) mPendingNetworkMsgList.at(0).mMessageID == CHALET_REBOOT_CPU_REQUEST)
@ -347,10 +365,16 @@ int CChaletLoraDevice::SendGetFirmwareVersion()
return ScheduleChaletCommand(CHALET_GET_FIRMWARE_VERSION_REQUEST,QByteArray()); 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) int CChaletLoraDevice::SendChaletCommand(int CmdID, int DataSize, QByteArray Data)
{ {
mNetworkInterfacePtr->SendNetworkMessage(ID_CHALET_DEVICE,mDeviceAddress,CmdID,DataSize,&Data); mNetworkInterfacePtr->SendNetworkMessage(ID_CHALET_DEVICE,mDeviceAddress,CmdID,DataSize,&Data);
mTotalNbRequest++; mTotalNbRequest++;
mChaletMainStatus.mTotalNbMasterTxCmds++;
ComputeCommStats(); ComputeCommStats();
return RET_OK; return RET_OK;
} }
@ -445,6 +469,8 @@ int CChaletLoraDevice::ResetCommStats()
mLostRequestPercentage = 0.0; mLostRequestPercentage = 0.0;
mTotalNbRequest = 0; mTotalNbRequest = 0;
mNbLostRequest = 0; mNbLostRequest = 0;
mChaletMainStatus.mTotalNbMasterTxCmds = 0;
mChaletMainStatus.mMasterLostRequestCount = 0;
return RET_OK; return RET_OK;
} }

View File

@ -72,6 +72,7 @@ public:
int SendGetWifiParams(); int SendGetWifiParams();
int SendSetWifiParams(QByteArray Data); int SendSetWifiParams(QByteArray Data);
int SendGetFirmwareVersion(); int SendGetFirmwareVersion();
int SendClearCommStatsRequest();
int CmdResponseReceived(int CmdID); int CmdResponseReceived(int CmdID);
int ScheduleChaletStatusRequest(); int ScheduleChaletStatusRequest();

View File

@ -136,7 +136,7 @@ void CThingsBoardInterface::ThingsBoardServerFinished(QNetworkReply *NetworkRepl
if(NetworkReply->error() != QNetworkReply::NoError) if(NetworkReply->error() != QNetworkReply::NoError)
{ {
qDebug("Network error... %d", NetworkReply->error()); // qDebug("Network error... %d", NetworkReply->error());
return; return;
} }

View File

@ -6,7 +6,7 @@ CIspindelDevice::CIspindelDevice()
{ {
mISpindelServer = new QTcpServer; mISpindelServer = new QTcpServer;
connect(mISpindelServer,SIGNAL(newConnection()),this,SLOT(IspindelClientConnected())); connect(mISpindelServer,SIGNAL(newConnection()),this,SLOT(IspindelClientConnected()));
mISpindelServer->listen(QHostAddress::Any,80); mISpindelServer->listen(QHostAddress::Any,90);
mIspindelLog.clear(); mIspindelLog.clear();
mDataLogger.LoadLogData(&mIspindelLog); mDataLogger.LoadLogData(&mIspindelLog);
@ -126,3 +126,17 @@ QByteArray CIspindelDevice::GetLastestIspindelDataBuffer()
} }
return Buf; return Buf;
} }
bool CIspindelDevice::DeleteSampleRequest(int SampleIndex)
{
if(SampleIndex >= mIspindelLog.size())
{
return false;
}
mIspindelLog.removeAt(SampleIndex);
mDataLogger.WriteLogToFile(&mIspindelLog);
return true;
}

View File

@ -25,6 +25,7 @@ public:
QList<CIspindelData*> *GetAllData(){return &mIspindelLog;} QList<CIspindelData*> *GetAllData(){return &mIspindelLog;}
QByteArray GetAllDataBuffer(); QByteArray GetAllDataBuffer();
QByteArray GetLastestIspindelDataBuffer(); QByteArray GetLastestIspindelDataBuffer();
bool DeleteSampleRequest(int SampleIndex);
public slots: public slots:

View File

@ -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); mNetworkInterfacePtr->SendNetworkMessage(ID_ISPINDEL_INTERFACE,mDeviceAddress,ISPINDEL_GET_FULL_DATA_BUFFER_RESPONSE,Buf.size(),&Buf);
break; 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; return RET_OK;

View File

@ -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) int CLoraNetworkCommIF::SendNetworkMessage(int DeviceID, int DeviceAddress, int MessageID, int DataSize, QByteArray *Data)
{ {
QByteArray Packet = GetTxPacket(MessageID,0,Data->data(),DataSize,DeviceAddress,DeviceID); QByteArray Packet = GetTxPacket(MessageID,0,Data->data(),DataSize,DeviceAddress,DeviceID);
SendLoraFrame(6,4,Packet); SendLoraFrame(6,4,Packet); //channel 6 = chalet
// SendLoraFrame(4,4,Packet); //SendLoraFrame(7,4,Packet); //channel 7 = chaloupe
return RET_OK; return RET_OK;
} }

View File

@ -277,6 +277,8 @@ enum CHALET_INTERFACE_CMDS
CHALET_INTERFACE_WIFI_SET_DEVICE_PARAMS_RESPONSE, CHALET_INTERFACE_WIFI_SET_DEVICE_PARAMS_RESPONSE,
CHALET_INTERFACE_GET_FIRMWARE_VERSION_REQUEST, CHALET_INTERFACE_GET_FIRMWARE_VERSION_REQUEST,
CHALET_INTERFACE_GET_FIRMWARE_VERSION_RESPONSE, 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_REBOOT_CPU_RESPONSE,
CHALET_GET_STORED_WIFI_SETTINGS_REQUEST, //14 CHALET_GET_STORED_WIFI_SETTINGS_REQUEST, //14
CHALET_GET_STORED_WIFI_SETTINGS_RESPONSE, 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_SET_STORED_WIFI_SETTINGS_RESPONSE,
CHALET_GET_FIRMWARE_VERSION_REQUEST, CHALET_GET_FIRMWARE_VERSION_REQUEST,
CHALET_GET_FIRMWARE_VERSION_RESPONSE, CHALET_GET_FIRMWARE_VERSION_RESPONSE,
CHALET_CLEAR_COMMS_STATISTICS_REQUEST,
CHALET_CLEAR_COMMS_STATISTICS_RESPONSE,
MAX_CHALET_CMD MAX_CHALET_CMD
@ -322,6 +326,8 @@ enum ISPINDLE_CMDS
ISPINDLE_LATEST_DATA_RESPONSE, ISPINDLE_LATEST_DATA_RESPONSE,
ISPINDEL_GET_FULL_DATA_BUFFER_REQUEST, ISPINDEL_GET_FULL_DATA_BUFFER_REQUEST,
ISPINDEL_GET_FULL_DATA_BUFFER_RESPONSE, ISPINDEL_GET_FULL_DATA_BUFFER_RESPONSE,
ISPINDEL_DELETE_SAMPLE_REQUEST,
ISPINDEL_DELETE_SAMPLE_RESPONSE,
MAX_ISPINDLE_CMDS MAX_ISPINDLE_CMDS
}; };

View File

@ -189,7 +189,7 @@ void CVoipMsSMSClient::VoipServerReplyFinished(QNetworkReply *NetworkReply)
if(NetworkReply->error() != QNetworkReply::NoError) if(NetworkReply->error() != QNetworkReply::NoError)
{ {
qDebug("Network error... %d", NetworkReply->error()); // qDebug("Network error... %d", NetworkReply->error());
return; return;
} }