Device detection CAN reporting continuance

This commit is contained in:
2024-03-03 16:55:30 -05:00
parent 56b30216c9
commit 4400ff6144
21 changed files with 1630 additions and 25 deletions
+285 -10
View File
@@ -20,17 +20,61 @@ CLoggingSettingsPage::CLoggingSettingsPage(QWidget *parent) :
ui->mCloudMQTTRefreshRateSpinBx->setEnabled(false);
ui->mCloudMQTTClientID->setEnabled(false);
ui->mDevicePresenceAdd1LineEdit->setInputMask("000.000.000.000");
ui->mDevicePresenceAdd2LineEdit->setInputMask("000.000.000.000");
ui->mDevicePresenceAdd3LineEdit->setInputMask("000.000.000.000");
ui->mDevicePresenceAdd4LineEdit->setInputMask("000.000.000.000");
ui->mDevicePresenceAdd5LineEdit->setInputMask("000.000.000.000");
ui->mDevicePresCancelBtn->hide();
ui->mDevicePresenceActive1ChkBx->setEnabled(false);
ui->mDevicePresenceActive2ChkBx->setEnabled(false);
ui->mDevicePresenceActive3ChkBx->setEnabled(false);
ui->mDevicePresenceActive4ChkBx->setEnabled(false);
ui->mDevicePresenceActive5ChkBx->setEnabled(false);
ui->mDevicePresenceAdd1LineEdit->setEnabled(false);
ui->mDevicePresenceAdd2LineEdit->setEnabled(false);
ui->mDevicePresenceAdd3LineEdit->setEnabled(false);
ui->mDevicePresenceAdd4LineEdit->setEnabled(false);
ui->mDevicePresenceAdd5LineEdit->setEnabled(false);
ui->mDevicePresenceBit1ComboBox->setEnabled(false);
ui->mDevicePresenceBit2ComboBox->setEnabled(false);
ui->mDevicePresenceBit3ComboBox->setEnabled(false);
ui->mDevicePresenceBit4ComboBox->setEnabled(false);
ui->mDevicePresenceBit5ComboBox->setEnabled(false);
ui->mInternetPresBitComboBox->setEnabled(false);
ui->mMQTTPresenceBitComboBox->setEnabled(false);
ui->mWatchdogMsgIDSpinBx->setEnabled(false);
ui->mDevicePresenceAdd1LineEdit->setText("192.168.10.111");
ui->mDevicePresenceAdd2LineEdit->setText("192.168.10.222");
ui->mDevicePresenceAdd3LineEdit->setText("192.168.10.333");
ui->mDevicePresenceAdd4LineEdit->setText("192.168.10.444");
ui->mDevicePresenceAdd5LineEdit->setText("192.168.10.555");
ui->mDevicePresenceAdd1LineEdit->setInputMask("000.000.000.000");
ui->mDevicePresenceAdd2LineEdit->setInputMask("000.000.000.000");
ui->mDevicePresenceAdd3LineEdit->setInputMask("000.000.000.000");
ui->mDevicePresenceAdd4LineEdit->setInputMask("000.000.000.000");
ui->mDevicePresenceAdd5LineEdit->setInputMask("000.000.000.000");
ui->mDevicePresenceAdd1LineEdit->setText("192.168.10.111");
ui->mDevicePresenceAdd2LineEdit->setText("192.168.10.222");
ui->mDevicePresenceAdd3LineEdit->setText("192.168.10.333");
ui->mDevicePresenceAdd4LineEdit->setText("192.168.10.444");
ui->mDevicePresenceAdd5LineEdit->setText("192.168.10.555");
QStringList BitsList;
for(int i = 31; i < 64; i++)
{
//BitsList.append(QString("%1").arg(i));
ui->mInternetPresBitComboBox->addItem(QString("%1").arg(i),QVariant(i));
ui->mMQTTPresenceBitComboBox->addItem(QString("%1").arg(i),QVariant(i));
ui->mDevicePresenceBit1ComboBox->addItem(QString("%1").arg(i),QVariant(i));
ui->mDevicePresenceBit2ComboBox->addItem(QString("%1").arg(i),QVariant(i));
ui->mDevicePresenceBit3ComboBox->addItem(QString("%1").arg(i),QVariant(i));
ui->mDevicePresenceBit4ComboBox->addItem(QString("%1").arg(i),QVariant(i));
ui->mDevicePresenceBit5ComboBox->addItem(QString("%1").arg(i),QVariant(i));
}
// ui->mInternetPresBitComboBox->addItems(BitsList);
// ui->mMQTTPresenceBitComboBox->addItems(BitsList);
// ui->mDevicePresenceBit1ComboBox->addItems(BitsList);
// ui->mDevicePresenceBit2ComboBox->addItems(BitsList);
// ui->mDevicePresenceBit3ComboBox->addItems(BitsList);
// ui->mDevicePresenceBit4ComboBox->addItems(BitsList);
// ui->mDevicePresenceBit5ComboBox->addItems(BitsList);
mDevicePresenceEditMode = false;
connect(ui->mCancelBtn,&QPushButton::clicked,this,&CLoggingSettingsPage::CancelBtnPressed);
connect(ui->mChangeParamsBtn,&QPushButton::clicked,this,&CLoggingSettingsPage::ModifyParamsBtnPressed);
@@ -39,6 +83,14 @@ CLoggingSettingsPage::CLoggingSettingsPage(QWidget *parent) :
connect(ui->mWDActiveChkBx,&QCheckBox::stateChanged,this,&CLoggingSettingsPage::EnableCPUWDCheckBxClicked);
connect(ui->mWDTimerTimeoutSpinBx,QOverload<int>::of(&QSpinBox::valueChanged),this,&CLoggingSettingsPage::CPUWDTimeoutChanged);
connect(ui->mDevicePresenceActive1ChkBx,&QCheckBox::stateChanged,this,&CLoggingSettingsPage::DevicePresenceEnableChkBxChanged);
connect(ui->mDevicePresenceActive2ChkBx,&QCheckBox::stateChanged,this,&CLoggingSettingsPage::DevicePresenceEnableChkBxChanged);
connect(ui->mDevicePresenceActive3ChkBx,&QCheckBox::stateChanged,this,&CLoggingSettingsPage::DevicePresenceEnableChkBxChanged);
connect(ui->mDevicePresenceActive4ChkBx,&QCheckBox::stateChanged,this,&CLoggingSettingsPage::DevicePresenceEnableChkBxChanged);
connect(ui->mDevicePresenceActive5ChkBx,&QCheckBox::stateChanged,this,&CLoggingSettingsPage::DevicePresenceEnableChkBxChanged);
connect(ui->mDevicePresChangeParamsBtn,&QPushButton::clicked,this,&CLoggingSettingsPage::DevicePresenceModifyParamsBtnPressed);
connect(ui->mDevicePresCancelBtn,&QPushButton::clicked,this,&CLoggingSettingsPage::DevicePresenceCancelBtnPressed);
}
CLoggingSettingsPage::~CLoggingSettingsPage()
@@ -84,9 +136,24 @@ int CLoggingSettingsPage::SetCPUWatchdogSettings(const CCPUWatchdogConfig *CPUWa
UpdateCPUWatchdogParams();
return RET_OK;
}
int CLoggingSettingsPage::SetDeviceConfigSettings(const CDeviceDetectionConfig *DevDetectCfgParams)
{
if(DevDetectCfgParams == 0)
{
return RET_GENERAL_ERROR;
}
mDeviceDetectConfigHandle = *DevDetectCfgParams;
UpdateDevicePresenceParams(true);
return RET_OK;
}
void CLoggingSettingsPage::ModifyParamsBtnPressed()
{
if(EditMode == false)
@@ -219,3 +286,211 @@ void CLoggingSettingsPage::CPUWDTimeoutChanged(int value)
mCPUWatchdogParams.mWatchdogTimeout = ui->mWDTimerTimeoutSpinBx->value();
mProgramHandle->SaveCPUWatchdogSettingsRequest(&mCPUWatchdogParams);
}
int CLoggingSettingsPage::UpdateDevicePresenceParams(bool Restore)
{
if(Restore == true)
{
ui->mWatchdogMsgIDSpinBx->setValue(mDeviceDetectConfigHandle.mReportingCANMsgID);
ui->mDevicePresenceAdd1LineEdit->setText(mDeviceDetectConfigHandle.mLANDeviceDetectConfigList[0].mDeviceIPAddress);
ui->mDevicePresenceAdd2LineEdit->setText(mDeviceDetectConfigHandle.mLANDeviceDetectConfigList[1].mDeviceIPAddress);
ui->mDevicePresenceAdd3LineEdit->setText(mDeviceDetectConfigHandle.mLANDeviceDetectConfigList[2].mDeviceIPAddress);
ui->mDevicePresenceAdd4LineEdit->setText(mDeviceDetectConfigHandle.mLANDeviceDetectConfigList[3].mDeviceIPAddress);
ui->mDevicePresenceAdd5LineEdit->setText(mDeviceDetectConfigHandle.mLANDeviceDetectConfigList[4].mDeviceIPAddress);
ui->mDevicePresenceActive1ChkBx->setChecked(mDeviceDetectConfigHandle.mLANDeviceDetectConfigList[0].mIsDetectionActive);
ui->mDevicePresenceActive2ChkBx->setChecked(mDeviceDetectConfigHandle.mLANDeviceDetectConfigList[1].mIsDetectionActive);
ui->mDevicePresenceActive3ChkBx->setChecked(mDeviceDetectConfigHandle.mLANDeviceDetectConfigList[2].mIsDetectionActive);
ui->mDevicePresenceActive4ChkBx->setChecked(mDeviceDetectConfigHandle.mLANDeviceDetectConfigList[3].mIsDetectionActive);
ui->mDevicePresenceActive5ChkBx->setChecked(mDeviceDetectConfigHandle.mLANDeviceDetectConfigList[4].mIsDetectionActive);
ui->mDevicePresenceBit1ComboBox->setCurrentIndex(ui->mDevicePresenceBit1ComboBox->findData(mDeviceDetectConfigHandle.mLANDeviceDetectConfigList[0].mCANStatusBit));
ui->mDevicePresenceBit2ComboBox->setCurrentIndex(ui->mDevicePresenceBit1ComboBox->findData(mDeviceDetectConfigHandle.mLANDeviceDetectConfigList[1].mCANStatusBit));
ui->mDevicePresenceBit3ComboBox->setCurrentIndex(ui->mDevicePresenceBit1ComboBox->findData(mDeviceDetectConfigHandle.mLANDeviceDetectConfigList[2].mCANStatusBit));
ui->mDevicePresenceBit4ComboBox->setCurrentIndex(ui->mDevicePresenceBit1ComboBox->findData(mDeviceDetectConfigHandle.mLANDeviceDetectConfigList[3].mCANStatusBit));
ui->mDevicePresenceBit5ComboBox->setCurrentIndex(ui->mDevicePresenceBit1ComboBox->findData(mDeviceDetectConfigHandle.mLANDeviceDetectConfigList[4].mCANStatusBit));
ui->mMQTTPresenceBitComboBox->setCurrentIndex(ui->mMQTTPresenceBitComboBox->findData(mDeviceDetectConfigHandle.mMQTTDetectionCANStatusBit));
ui->mInternetPresBitComboBox->setCurrentIndex(ui->mInternetPresBitComboBox->findData(mDeviceDetectConfigHandle.mInternetDetectionCANStatusBit));
}
if(ui->mDevicePresenceActive1ChkBx->checkState() == Qt::Checked && mDevicePresenceEditMode == true)
{
ui->mDevicePresenceAdd1LineEdit->setEnabled(true);
ui->mDevicePresenceBit1ComboBox->setEnabled(true);
}
else
{
ui->mDevicePresenceAdd1LineEdit->setEnabled(false);
ui->mDevicePresenceBit1ComboBox->setEnabled(false);
}
if(ui->mDevicePresenceActive2ChkBx->checkState() == Qt::Checked && mDevicePresenceEditMode == true)
{
ui->mDevicePresenceAdd2LineEdit->setEnabled(true);
ui->mDevicePresenceBit2ComboBox->setEnabled(true);
}
else
{
ui->mDevicePresenceAdd2LineEdit->setEnabled(false);
ui->mDevicePresenceBit2ComboBox->setEnabled(false);
}
if(ui->mDevicePresenceActive3ChkBx->checkState() == Qt::Checked && mDevicePresenceEditMode == true)
{
ui->mDevicePresenceAdd3LineEdit->setEnabled(true);
ui->mDevicePresenceBit3ComboBox->setEnabled(true);
}
else
{
ui->mDevicePresenceAdd3LineEdit->setEnabled(false);
ui->mDevicePresenceBit3ComboBox->setEnabled(false);
}
if(ui->mDevicePresenceActive4ChkBx->checkState() == Qt::Checked && mDevicePresenceEditMode == true)
{
ui->mDevicePresenceAdd4LineEdit->setEnabled(true);
ui->mDevicePresenceBit4ComboBox->setEnabled(true);
}
else
{
ui->mDevicePresenceAdd4LineEdit->setEnabled(false);
ui->mDevicePresenceBit4ComboBox->setEnabled(false);
}
if(ui->mDevicePresenceActive5ChkBx->checkState() == Qt::Checked && mDevicePresenceEditMode == true)
{
ui->mDevicePresenceAdd5LineEdit->setEnabled(true);
ui->mDevicePresenceBit5ComboBox->setEnabled(true);
}
else
{
ui->mDevicePresenceAdd5LineEdit->setEnabled(false);
ui->mDevicePresenceBit5ComboBox->setEnabled(false);
}
return RET_OK;
}
void CLoggingSettingsPage::DevicePresenceEnableChkBxChanged(int state)
{
UpdateDevicePresenceParams(false);
}
void CLoggingSettingsPage::DevicePresenceCancelBtnPressed()
{
UpdateDevicePresenceParams();
mDevicePresenceEditMode = false;
ui->mDevicePresCancelBtn->hide();
ui->mDevicePresChangeParamsBtn->setText("Modifier");
ui->mDevicePresenceActive1ChkBx->setEnabled(false);
ui->mDevicePresenceActive2ChkBx->setEnabled(false);
ui->mDevicePresenceActive3ChkBx->setEnabled(false);
ui->mDevicePresenceActive4ChkBx->setEnabled(false);
ui->mDevicePresenceActive5ChkBx->setEnabled(false);
ui->mDevicePresenceAdd1LineEdit->setEnabled(false);
ui->mDevicePresenceAdd2LineEdit->setEnabled(false);
ui->mDevicePresenceAdd3LineEdit->setEnabled(false);
ui->mDevicePresenceAdd4LineEdit->setEnabled(false);
ui->mDevicePresenceAdd5LineEdit->setEnabled(false);
ui->mDevicePresenceBit1ComboBox->setEnabled(false);
ui->mDevicePresenceBit2ComboBox->setEnabled(false);
ui->mDevicePresenceBit3ComboBox->setEnabled(false);
ui->mDevicePresenceBit4ComboBox->setEnabled(false);
ui->mDevicePresenceBit5ComboBox->setEnabled(false);
ui->mWatchdogMsgIDSpinBx->setEnabled(false);
ui->mInternetPresBitComboBox->setEnabled(false);
ui->mMQTTPresenceBitComboBox->setEnabled(false);
}
void CLoggingSettingsPage::DevicePresenceModifyParamsBtnPressed()
{
if(mDevicePresenceEditMode == false)
{
mDevicePresenceEditMode = true;
ui->mDevicePresCancelBtn->show();
ui->mDevicePresChangeParamsBtn->setText("Appliquer");
ui->mDevicePresenceActive1ChkBx->setEnabled(true);
ui->mDevicePresenceActive2ChkBx->setEnabled(true);
ui->mDevicePresenceActive3ChkBx->setEnabled(true);
ui->mDevicePresenceActive4ChkBx->setEnabled(true);
ui->mDevicePresenceActive5ChkBx->setEnabled(true);
ui->mWatchdogMsgIDSpinBx->setEnabled(true);
ui->mInternetPresBitComboBox->setEnabled(true);
ui->mMQTTPresenceBitComboBox->setEnabled(true);
UpdateDevicePresenceParams(false);
}
else
{
//save data
mDevicePresenceEditMode = false;
ui->mDevicePresCancelBtn->hide();
ui->mDevicePresChangeParamsBtn->setText("Modifier");
ui->mDevicePresenceActive1ChkBx->setEnabled(false);
ui->mDevicePresenceActive2ChkBx->setEnabled(false);
ui->mDevicePresenceActive3ChkBx->setEnabled(false);
ui->mDevicePresenceActive4ChkBx->setEnabled(false);
ui->mDevicePresenceActive5ChkBx->setEnabled(false);
ui->mDevicePresenceAdd1LineEdit->setEnabled(false);
ui->mDevicePresenceAdd2LineEdit->setEnabled(false);
ui->mDevicePresenceAdd3LineEdit->setEnabled(false);
ui->mDevicePresenceAdd4LineEdit->setEnabled(false);
ui->mDevicePresenceAdd5LineEdit->setEnabled(false);
ui->mDevicePresenceBit1ComboBox->setEnabled(false);
ui->mDevicePresenceBit2ComboBox->setEnabled(false);
ui->mDevicePresenceBit3ComboBox->setEnabled(false);
ui->mDevicePresenceBit4ComboBox->setEnabled(false);
ui->mDevicePresenceBit5ComboBox->setEnabled(false);
ui->mWatchdogMsgIDSpinBx->setEnabled(false);
ui->mInternetPresBitComboBox->setEnabled(false);
ui->mMQTTPresenceBitComboBox->setEnabled(false);
bool OK;
mDeviceDetectConfigHandle.mInternetDetectionCANStatusBit = ui->mInternetPresBitComboBox->currentData().toInt(&OK);
mDeviceDetectConfigHandle.mMQTTDetectionCANStatusBit = ui->mMQTTPresenceBitComboBox->currentData().toInt(&OK);
mDeviceDetectConfigHandle.mReportingCANMsgID = ui->mWatchdogMsgIDSpinBx->value();
mDeviceDetectConfigHandle.mLANDeviceDetectConfigList.clear();
CLANDevicePresenceConfig NewLANCfg;
NewLANCfg.mCANStatusBit = ui->mDevicePresenceBit1ComboBox->currentData().toInt(&OK);
NewLANCfg.mDeviceIPAddress = ui->mDevicePresenceAdd1LineEdit->text();
NewLANCfg.mIsDetectionActive = (ui->mDevicePresenceActive1ChkBx->checkState() == Qt::Checked);
mDeviceDetectConfigHandle.mLANDeviceDetectConfigList.append(NewLANCfg);
NewLANCfg = CLANDevicePresenceConfig();
NewLANCfg.mCANStatusBit = ui->mDevicePresenceBit2ComboBox->currentData().toInt(&OK);
NewLANCfg.mDeviceIPAddress = ui->mDevicePresenceAdd2LineEdit->text();
NewLANCfg.mIsDetectionActive = (ui->mDevicePresenceActive2ChkBx->checkState() == Qt::Checked);
mDeviceDetectConfigHandle.mLANDeviceDetectConfigList.append(NewLANCfg);
NewLANCfg = CLANDevicePresenceConfig();
NewLANCfg.mCANStatusBit = ui->mDevicePresenceBit3ComboBox->currentData().toInt(&OK);
NewLANCfg.mDeviceIPAddress = ui->mDevicePresenceAdd3LineEdit->text();
NewLANCfg.mIsDetectionActive = (ui->mDevicePresenceActive3ChkBx->checkState() == Qt::Checked);
mDeviceDetectConfigHandle.mLANDeviceDetectConfigList.append(NewLANCfg);
NewLANCfg = CLANDevicePresenceConfig();
NewLANCfg.mCANStatusBit = ui->mDevicePresenceBit4ComboBox->currentData().toInt(&OK);
NewLANCfg.mDeviceIPAddress = ui->mDevicePresenceAdd4LineEdit->text();
NewLANCfg.mIsDetectionActive = (ui->mDevicePresenceActive4ChkBx->checkState() == Qt::Checked);
mDeviceDetectConfigHandle.mLANDeviceDetectConfigList.append(NewLANCfg);
NewLANCfg = CLANDevicePresenceConfig();
NewLANCfg.mCANStatusBit = ui->mDevicePresenceBit5ComboBox->currentData().toInt(&OK);
NewLANCfg.mDeviceIPAddress = ui->mDevicePresenceAdd5LineEdit->text();
NewLANCfg.mIsDetectionActive = (ui->mDevicePresenceActive5ChkBx->checkState() == Qt::Checked);
mDeviceDetectConfigHandle.mLANDeviceDetectConfigList.append(NewLANCfg);
mProgramHandle->SaveDeviceDetectionSettingsRequest(&mDeviceDetectConfigHandle);
}
}
+12 -1
View File
@@ -5,7 +5,7 @@
#include "CloudParams.h"
#include "GeneralSystemParams.h"
#include "CPUWatchdogConfig.h"
#include <DeviceDetectionConfig.h>
class COtarcikCan;
@@ -24,15 +24,19 @@ public:
int SetCloudParams(const CCloudParams *CloudParams);
int SetGeneralSettingsParams(const CGeneralSystemParams *GeneralParams);
int SetCPUWatchdogSettings(const CCPUWatchdogConfig *CPUWatchdogParams);
int SetDeviceConfigSettings(const CDeviceDetectionConfig *DevDetectCfgParams);
COtarcikCan *mProgramHandle;
private:
int UpdateCloudConfig();
int UpdateGeneralParams();
int UpdateCPUWatchdogParams();
int UpdateCANFlagsParams();
int UpdateDevicePresenceParams(bool Restore = true);
Ui::CLoggingSettingsPage *ui;
@@ -40,6 +44,10 @@ private:
CCloudParams mCloudParams;
CGeneralSystemParams mGeneralSystemParams;
CCPUWatchdogConfig mCPUWatchdogParams;
CDeviceDetectionConfig mDeviceDetectConfigHandle;
bool mDevicePresenceEditMode;
@@ -49,6 +57,9 @@ public slots:
void VerbosityParamsChanged(int value);
void EnableCPUWDCheckBxClicked(int state);
void CPUWDTimeoutChanged(int value);
void DevicePresenceEnableChkBxChanged(int state);
void DevicePresenceModifyParamsBtnPressed();
void DevicePresenceCancelBtnPressed();
};
+27 -1
View File
@@ -508,7 +508,7 @@
<rect>
<x>1020</x>
<y>80</y>
<width>411</width>
<width>341</width>
<height>311</height>
</rect>
</property>
@@ -853,6 +853,32 @@ la date et l'heure</string>
</property>
</widget>
</widget>
<widget class="QPushButton" name="mDevicePresChangeParamsBtn">
<property name="geometry">
<rect>
<x>1270</x>
<y>400</y>
<width>80</width>
<height>22</height>
</rect>
</property>
<property name="text">
<string>Modifier</string>
</property>
</widget>
<widget class="QPushButton" name="mDevicePresCancelBtn">
<property name="geometry">
<rect>
<x>1170</x>
<y>400</y>
<width>80</width>
<height>22</height>
</rect>
</property>
<property name="text">
<string>Annuler</string>
</property>
</widget>
</widget>
<resources/>
<connections/>