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
Binary file not shown.
File diff suppressed because it is too large Load Diff
+16 -2
View File
@@ -9,6 +9,9 @@ CCANDeviceConfig::CCANDeviceConfig()
mDeviceDescription = "Description du module";
mDeviceName = "Nom du module";
mDevicePollPeriod = 200;
mDeviceWatchdogActivated = false;
mWatchdogCANMsgID = 0x5050;
mWatchdogPeriod = 4000;
}
CCANDeviceConfig::CCANDeviceConfig(CCANDeviceConfig &Other)
@@ -25,7 +28,11 @@ QDataStream &operator>>(QDataStream &in, CCANDeviceConfig &dest)
>> dest.mCANDeviceDatabaseFilename
>> dest.mDeviceDescription
>> dest.mDeviceName
>> dest.mDevicePollPeriod;
>> dest.mDevicePollPeriod
>> dest.mDeviceWatchdogActivated
>> dest.mWatchdogCANMsgID
>> dest.mWatchdogPeriod
;
return in;
}
@@ -36,7 +43,11 @@ QDataStream &operator<<(QDataStream &out, const CCANDeviceConfig &source)
<< source.mCANDeviceDatabaseFilename
<< source.mDeviceDescription
<< source.mDeviceName
<< source.mDevicePollPeriod;
<< source.mDevicePollPeriod
<< source.mDeviceWatchdogActivated
<< source.mWatchdogCANMsgID
<< source.mWatchdogPeriod
;
return out;
}
@@ -53,6 +64,9 @@ CCANDeviceConfig& CCANDeviceConfig::operator=(const CCANDeviceConfig &source)
this->mDeviceDescription = source.mDeviceDescription;
this->mDeviceName = source.mDeviceName;
this->mDevicePollPeriod = source.mDevicePollPeriod;
this->mDeviceWatchdogActivated = source.mDeviceWatchdogActivated;
this->mWatchdogCANMsgID = source.mWatchdogCANMsgID;
this->mWatchdogPeriod = source.mWatchdogPeriod;
return *this;
}
@@ -18,6 +18,9 @@ public:
QString mDeviceDescription;
QString mDeviceName;
unsigned int mDevicePollPeriod;
bool mDeviceWatchdogActivated;
unsigned int mWatchdogCANMsgID;
unsigned int mWatchdogPeriod;
CCANDeviceConfig &operator=(const CCANDeviceConfig &source);
};
@@ -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);
}
}
@@ -50,6 +50,7 @@ public slots:
void SelectDBFileBtnPressed();
void AddDeviceBtnPressed();
void DeleteDeviceBtnPressed();
void WatchdogActivationBoxChanged();
};
+119 -5
View File
@@ -60,7 +60,7 @@
<x>270</x>
<y>100</y>
<width>321</width>
<height>371</height>
<height>461</height>
</rect>
</property>
<property name="title">
@@ -118,8 +118,8 @@
<widget class="QPushButton" name="mModifyDevParamsBtn">
<property name="geometry">
<rect>
<x>220</x>
<y>330</y>
<x>210</x>
<y>420</y>
<width>80</width>
<height>22</height>
</rect>
@@ -215,8 +215,8 @@
<widget class="QPushButton" name="mCancelModifyParamsBtn">
<property name="geometry">
<rect>
<x>30</x>
<y>330</y>
<x>20</x>
<y>420</y>
<width>80</width>
<height>22</height>
</rect>
@@ -256,6 +256,120 @@
<number>255</number>
</property>
</widget>
<widget class="QCheckBox" name="mCANDeviceWatchdogActivateChkBx">
<property name="geometry">
<rect>
<x>10</x>
<y>320</y>
<width>131</width>
<height>20</height>
</rect>
</property>
<property name="text">
<string>Activer Watchdog</string>
</property>
</widget>
<widget class="QSpinBox" name="mWatchdogPollPeriodSpinBx">
<property name="geometry">
<rect>
<x>200</x>
<y>350</y>
<width>91</width>
<height>20</height>
</rect>
</property>
<property name="minimum">
<number>100</number>
</property>
<property name="maximum">
<number>999999</number>
</property>
<property name="value">
<number>100</number>
</property>
<property name="displayIntegerBase">
<number>10</number>
</property>
</widget>
<widget class="QLabel" name="mRefreshRateLbl_2">
<property name="geometry">
<rect>
<x>10</x>
<y>350</y>
<width>181</width>
<height>16</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>10</pointsize>
</font>
</property>
<property name="text">
<string>Période rafraîchissement (ms):</string>
</property>
</widget>
<widget class="QLabel" name="mWatchdogMsgIDLbl">
<property name="geometry">
<rect>
<x>10</x>
<y>380</y>
<width>111</width>
<height>16</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>10</pointsize>
</font>
</property>
<property name="text">
<string>CAN Msg ID (HEX):</string>
</property>
</widget>
<widget class="QLabel" name="mWatchdogMsgIDPrefixLbl">
<property name="geometry">
<rect>
<x>110</x>
<y>380</y>
<width>30</width>
<height>20</height>
</rect>
</property>
<property name="font">
<font>
<pointsize>10</pointsize>
</font>
</property>
<property name="text">
<string>0x</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
<widget class="QSpinBox" name="mWatchdogMsgIDSpinBx">
<property name="geometry">
<rect>
<x>140</x>
<y>380</y>
<width>91</width>
<height>20</height>
</rect>
</property>
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>999999</number>
</property>
<property name="value">
<number>1</number>
</property>
<property name="displayIntegerBase">
<number>16</number>
</property>
</widget>
</widget>
<widget class="QGroupBox" name="mDatabaseGroupBox">
<property name="geometry">
Binary file not shown.
+44 -3
View File
@@ -11,6 +11,7 @@
#include <QtCore/QVariant>
#include <QtWidgets/QApplication>
#include <QtWidgets/QCheckBox>
#include <QtWidgets/QComboBox>
#include <QtWidgets/QGroupBox>
#include <QtWidgets/QHeaderView>
@@ -45,6 +46,12 @@ public:
QPushButton *mCancelModifyParamsBtn;
QPlainTextEdit *mDeviceNameEditBx;
QSpinBox *mCANDeviceIDSpinBx;
QCheckBox *mCANDeviceWatchdogActivateChkBx;
QSpinBox *mWatchdogPollPeriodSpinBx;
QLabel *mRefreshRateLbl_2;
QLabel *mWatchdogMsgIDLbl;
QLabel *mWatchdogMsgIDPrefixLbl;
QSpinBox *mWatchdogMsgIDSpinBx;
QGroupBox *mDatabaseGroupBox;
QLabel *mDBMessageNameLbl;
QLabel *mDBMessageIDLbl;
@@ -77,7 +84,7 @@ public:
label_2->setGeometry(QRect(52, 100, 81, 16));
mDeviceParamsGroupBox = new QGroupBox(CCANbusSettingsPage);
mDeviceParamsGroupBox->setObjectName(QString::fromUtf8("mDeviceParamsGroupBox"));
mDeviceParamsGroupBox->setGeometry(QRect(270, 100, 321, 371));
mDeviceParamsGroupBox->setGeometry(QRect(270, 100, 321, 461));
mCANIDLbl = new QLabel(mDeviceParamsGroupBox);
mCANIDLbl->setObjectName(QString::fromUtf8("mCANIDLbl"));
mCANIDLbl->setGeometry(QRect(10, 66, 121, 16));
@@ -94,7 +101,7 @@ public:
mCANBaudrateComboBx->setGeometry(QRect(100, 90, 131, 21));
mModifyDevParamsBtn = new QPushButton(mDeviceParamsGroupBox);
mModifyDevParamsBtn->setObjectName(QString::fromUtf8("mModifyDevParamsBtn"));
mModifyDevParamsBtn->setGeometry(QRect(220, 330, 80, 22));
mModifyDevParamsBtn->setGeometry(QRect(210, 420, 80, 22));
mDeviceDescriptionTxtEdit = new QTextEdit(mDeviceParamsGroupBox);
mDeviceDescriptionTxtEdit->setObjectName(QString::fromUtf8("mDeviceDescriptionTxtEdit"));
mDeviceDescriptionTxtEdit->setGeometry(QRect(10, 210, 291, 101));
@@ -121,7 +128,7 @@ public:
mDevicePollPeriodSpinBx->setGeometry(QRect(200, 180, 91, 22));
mCancelModifyParamsBtn = new QPushButton(mDeviceParamsGroupBox);
mCancelModifyParamsBtn->setObjectName(QString::fromUtf8("mCancelModifyParamsBtn"));
mCancelModifyParamsBtn->setGeometry(QRect(30, 330, 80, 22));
mCancelModifyParamsBtn->setGeometry(QRect(20, 420, 80, 22));
mDeviceNameEditBx = new QPlainTextEdit(mDeviceParamsGroupBox);
mDeviceNameEditBx->setObjectName(QString::fromUtf8("mDeviceNameEditBx"));
mDeviceNameEditBx->setGeometry(QRect(13, 23, 281, 31));
@@ -131,6 +138,36 @@ public:
mCANDeviceIDSpinBx->setGeometry(QRect(130, 60, 71, 22));
mCANDeviceIDSpinBx->setMinimum(1);
mCANDeviceIDSpinBx->setMaximum(255);
mCANDeviceWatchdogActivateChkBx = new QCheckBox(mDeviceParamsGroupBox);
mCANDeviceWatchdogActivateChkBx->setObjectName(QString::fromUtf8("mCANDeviceWatchdogActivateChkBx"));
mCANDeviceWatchdogActivateChkBx->setGeometry(QRect(10, 320, 131, 20));
mWatchdogPollPeriodSpinBx = new QSpinBox(mDeviceParamsGroupBox);
mWatchdogPollPeriodSpinBx->setObjectName(QString::fromUtf8("mWatchdogPollPeriodSpinBx"));
mWatchdogPollPeriodSpinBx->setGeometry(QRect(200, 350, 91, 20));
mWatchdogPollPeriodSpinBx->setMinimum(100);
mWatchdogPollPeriodSpinBx->setMaximum(999999);
mWatchdogPollPeriodSpinBx->setValue(100);
mWatchdogPollPeriodSpinBx->setDisplayIntegerBase(10);
mRefreshRateLbl_2 = new QLabel(mDeviceParamsGroupBox);
mRefreshRateLbl_2->setObjectName(QString::fromUtf8("mRefreshRateLbl_2"));
mRefreshRateLbl_2->setGeometry(QRect(10, 350, 181, 16));
mRefreshRateLbl_2->setFont(font1);
mWatchdogMsgIDLbl = new QLabel(mDeviceParamsGroupBox);
mWatchdogMsgIDLbl->setObjectName(QString::fromUtf8("mWatchdogMsgIDLbl"));
mWatchdogMsgIDLbl->setGeometry(QRect(10, 380, 111, 16));
mWatchdogMsgIDLbl->setFont(font1);
mWatchdogMsgIDPrefixLbl = new QLabel(mDeviceParamsGroupBox);
mWatchdogMsgIDPrefixLbl->setObjectName(QString::fromUtf8("mWatchdogMsgIDPrefixLbl"));
mWatchdogMsgIDPrefixLbl->setGeometry(QRect(110, 380, 30, 20));
mWatchdogMsgIDPrefixLbl->setFont(font1);
mWatchdogMsgIDPrefixLbl->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
mWatchdogMsgIDSpinBx = new QSpinBox(mDeviceParamsGroupBox);
mWatchdogMsgIDSpinBx->setObjectName(QString::fromUtf8("mWatchdogMsgIDSpinBx"));
mWatchdogMsgIDSpinBx->setGeometry(QRect(140, 380, 91, 20));
mWatchdogMsgIDSpinBx->setMinimum(1);
mWatchdogMsgIDSpinBx->setMaximum(999999);
mWatchdogMsgIDSpinBx->setValue(1);
mWatchdogMsgIDSpinBx->setDisplayIntegerBase(16);
mDatabaseGroupBox = new QGroupBox(CCANbusSettingsPage);
mDatabaseGroupBox->setObjectName(QString::fromUtf8("mDatabaseGroupBox"));
mDatabaseGroupBox->setGeometry(QRect(620, 100, 711, 491));
@@ -196,6 +233,10 @@ public:
mDatabaseFileNameLbl->setText(QCoreApplication::translate("CCANbusSettingsPage", "Fichier...", nullptr));
mDatabaseFileSelectBtn->setText(QCoreApplication::translate("CCANbusSettingsPage", "...", nullptr));
mCancelModifyParamsBtn->setText(QCoreApplication::translate("CCANbusSettingsPage", "Annuler", nullptr));
mCANDeviceWatchdogActivateChkBx->setText(QCoreApplication::translate("CCANbusSettingsPage", "Activer Watchdog", nullptr));
mRefreshRateLbl_2->setText(QCoreApplication::translate("CCANbusSettingsPage", "P\303\251riode rafra\303\256chissement (ms):", nullptr));
mWatchdogMsgIDLbl->setText(QCoreApplication::translate("CCANbusSettingsPage", "CAN Msg ID (HEX):", nullptr));
mWatchdogMsgIDPrefixLbl->setText(QCoreApplication::translate("CCANbusSettingsPage", "0x", nullptr));
mDatabaseGroupBox->setTitle(QCoreApplication::translate("CCANbusSettingsPage", "Database", nullptr));
mDBMessageNameLbl->setText(QCoreApplication::translate("CCANbusSettingsPage", "Message Name: ", nullptr));
mDBMessageIDLbl->setText(QCoreApplication::translate("CCANbusSettingsPage", "Message ID: ", nullptr));