Modification au GUI de config du Watchdog vu que ce n'est pas un device dédié

This commit is contained in:
2023-07-28 15:10:33 -04:00
parent 8b3cc9d2b6
commit 41b19a7b58
13 changed files with 2660 additions and 10 deletions
@@ -69,6 +69,9 @@ CCANbusSettingsPage::CCANbusSettingsPage(QWidget *parent) :
ui->mDevicePollPeriodSpinBx->setEnabled(false);
ui->mCancelModifyParamsBtn->hide();
ui->mDeviceNameEditBx->setEnabled(false);
ui->mWatchdogPollPeriodSpinBx->setEnabled(false);
ui->mWatchdogMsgIDSpinBx->setEnabled(false);
ui->mCANDeviceWatchdogActivateChkBx->setEnabled(false);
connect(ui->mDevicesList,&QListWidget::itemSelectionChanged,this,&CCANbusSettingsPage::DeviceSelectionChanged);
@@ -78,6 +81,7 @@ CCANbusSettingsPage::CCANbusSettingsPage(QWidget *parent) :
connect(ui->mDatabaseFileSelectBtn,&QPushButton::clicked,this,&CCANbusSettingsPage::SelectDBFileBtnPressed);
connect(ui->mAddDeviceBtn,&QPushButton::clicked,this,&CCANbusSettingsPage::AddDeviceBtnPressed);
connect(ui->mDeleteDeviceBtn,&QPushButton::clicked,this,&CCANbusSettingsPage::DeleteDeviceBtnPressed);
connect(ui->mCANDeviceWatchdogActivateChkBx,&QCheckBox::stateChanged,this,&CCANbusSettingsPage::WatchdogActivationBoxChanged);
}
@@ -161,6 +165,24 @@ int CCANbusSettingsPage::UpdatePage()
// ui->mDatabaseFileNameLbl->setText(QString("%1").arg(Device->mCANDeviceDatabaseFilename));
ui->mDevicePollPeriodSpinBx->setValue(DevConfigInfo->mDevicePollPeriod);
if(DevConfigInfo->mDeviceWatchdogActivated == true)
{
disconnect(ui->mCANDeviceWatchdogActivateChkBx,&QCheckBox::stateChanged,this,&CCANbusSettingsPage::WatchdogActivationBoxChanged);
ui->mCANDeviceWatchdogActivateChkBx->setCheckState(Qt::Checked);
connect(ui->mCANDeviceWatchdogActivateChkBx,&QCheckBox::stateChanged,this,&CCANbusSettingsPage::WatchdogActivationBoxChanged);
ui->mWatchdogMsgIDSpinBx->setValue(DevConfigInfo->mWatchdogCANMsgID);
ui->mWatchdogPollPeriodSpinBx->setValue(DevConfigInfo->mWatchdogPeriod);
}
else
{
disconnect(ui->mCANDeviceWatchdogActivateChkBx,&QCheckBox::stateChanged,this,&CCANbusSettingsPage::WatchdogActivationBoxChanged);
ui->mCANDeviceWatchdogActivateChkBx->setCheckState(Qt::Unchecked);
connect(ui->mCANDeviceWatchdogActivateChkBx,&QCheckBox::stateChanged,this,&CCANbusSettingsPage::WatchdogActivationBoxChanged);
ui->mWatchdogMsgIDSpinBx->setValue(1);
ui->mWatchdogPollPeriodSpinBx->setValue(100);
}
//update device database information
ui->mDBMessagesListWidget->clear();
ui->mDBSignalDetailsTable->clearContents();
@@ -184,6 +206,8 @@ int CCANbusSettingsPage::UpdatePage()
ui->mDBMessagesListWidget->setCurrentRow(0);
}
}
@@ -374,6 +398,9 @@ int CCANbusSettingsPage::ModifyDeviceConfig()
ModifiedDevice->mDeviceDescription = ui->mDeviceDescriptionTxtEdit->toPlainText();
ModifiedDevice->mDeviceName = ui->mDeviceNameEditBx->toPlainText();
ModifiedDevice->mDevicePollPeriod = ui->mDevicePollPeriodSpinBx->value();
ModifiedDevice->mDeviceWatchdogActivated = ui->mCANDeviceWatchdogActivateChkBx->isChecked();
ModifiedDevice->mWatchdogCANMsgID = ui->mWatchdogMsgIDSpinBx->value();
ModifiedDevice->mWatchdogPeriod = ui->mWatchdogPollPeriodSpinBx->value();
mProgramPtr->SaveCANDevicesConfigRequest(&mDeviceConfigList);
}
@@ -391,6 +418,9 @@ int CCANbusSettingsPage::ModifyDeviceConfig()
ui->mCancelModifyParamsBtn->hide();
ui->mDeviceNameEditBx->setEnabled(false);
mDeviceChangeModeEnabled = false;
ui->mWatchdogPollPeriodSpinBx->setEnabled(false);
ui->mWatchdogMsgIDSpinBx->setEnabled(false);
ui->mCANDeviceWatchdogActivateChkBx->setEnabled(false);
ui->mAddDeviceBtn->setEnabled(true);
@@ -412,6 +442,13 @@ int CCANbusSettingsPage::ModifyDeviceConfig()
ui->mCancelModifyParamsBtn->show();
ui->mDeviceNameEditBx->setEnabled(true);
ui->mAddDeviceBtn->setEnabled(true);
ui->mCANDeviceWatchdogActivateChkBx->setEnabled(true);
if(ui->mCANDeviceWatchdogActivateChkBx->isChecked())
{
ui->mWatchdogPollPeriodSpinBx->setEnabled(true);
ui->mWatchdogMsgIDSpinBx->setEnabled(true);
}
mDeviceChangeModeEnabled = true;
}
@@ -433,6 +470,9 @@ void CCANbusSettingsPage::CancelModifyDevBtnPressed()
ui->mCancelModifyParamsBtn->hide();
ui->mDeviceNameEditBx->setEnabled(false);
ui->mAddDeviceBtn->setEnabled(true);
ui->mWatchdogPollPeriodSpinBx->setEnabled(false);
ui->mWatchdogMsgIDSpinBx->setEnabled(false);
ui->mCANDeviceWatchdogActivateChkBx->setEnabled(false);
mDeviceChangeModeEnabled = false;
UpdatePage();
@@ -518,3 +558,19 @@ int CCANbusSettingsPage::PopulateDevicesConfigList()
return RET_OK;
}
void CCANbusSettingsPage::WatchdogActivationBoxChanged()
{
if(ui->mCANDeviceWatchdogActivateChkBx->isChecked())
{
ui->mWatchdogMsgIDSpinBx->setEnabled(true);
ui->mWatchdogPollPeriodSpinBx->setEnabled(true);
}
else
{
ui->mWatchdogMsgIDSpinBx->setValue(1);
ui->mWatchdogPollPeriodSpinBx->setValue(100);
ui->mWatchdogMsgIDSpinBx->setEnabled(false);
ui->mWatchdogPollPeriodSpinBx->setEnabled(false);
}
}