YULTek/Otarcik_CAN/Sources/Gui/CCANWatchdogSettingsPage.cpp

105 lines
4.1 KiB
C++

#include "CCANWatchdogSettingsPage.h"
#include "ui_CCANWatchdogSettingsPage.h"
#include "CANDevice.h"
#include "OtarcikCan.h"
CCANWatchdogSettingsPage::CCANWatchdogSettingsPage(QWidget *parent) :
QWidget(parent),
ui(new Ui::CCANWatchdogSettingsPage)
{
mProgramHandle = 0;
ui->setupUi(this);
connect(ui->mCANWatchdogChangBtn,&QPushButton::pressed,this,&CCANWatchdogSettingsPage::ChangeSettingsButtonPressed);
connect(ui->mCANWatchdogCancelBtn,&QPushButton::pressed,this,&CCANWatchdogSettingsPage::CancelButtonPressed);
ui->mCANWatchdogBaudrateComboBx->clear();
ui->mCANWatchdogBaudrateComboBx->addItem("PCAN_BAUD_1M",QVariant(PCAN_BAUD_1M));
ui->mCANWatchdogBaudrateComboBx->addItem("PCAN_BAUD_800K",QVariant(PCAN_BAUD_800K));
ui->mCANWatchdogBaudrateComboBx->addItem("PCAN_BAUD_500K",QVariant(PCAN_BAUD_500K));
ui->mCANWatchdogBaudrateComboBx->addItem("PCAN_BAUD_250K",QVariant(PCAN_BAUD_250K));
ui->mCANWatchdogBaudrateComboBx->addItem("PCAN_BAUD_125K",QVariant(PCAN_BAUD_125K));
ui->mCANWatchdogBaudrateComboBx->addItem("PCAN_BAUD_100K",QVariant(PCAN_BAUD_100K));
ui->mCANWatchdogBaudrateComboBx->addItem("PCAN_BAUD_95K",QVariant(PCAN_BAUD_95K));
ui->mCANWatchdogBaudrateComboBx->addItem("PCAN_BAUD_83K",QVariant(PCAN_BAUD_83K));
ui->mCANWatchdogBaudrateComboBx->addItem("PCAN_BAUD_50K",QVariant(PCAN_BAUD_50K));
ui->mCANWatchdogBaudrateComboBx->addItem("PCAN_BAUD_47K",QVariant(PCAN_BAUD_47K));
ui->mCANWatchdogBaudrateComboBx->addItem("PCAN_BAUD_33K",QVariant(PCAN_BAUD_33K));
ui->mCANWatchdogBaudrateComboBx->addItem("PCAN_BAUD_20K",QVariant(PCAN_BAUD_20K));
ui->mCANWatchdogBaudrateComboBx->addItem("PCAN_BAUD_10K",QVariant(PCAN_BAUD_10K));
ui->mCANWatchdogBaudrateComboBx->addItem("PCAN_BAUD_5K",QVariant(PCAN_BAUD_5K));
ui->mCANWatchdogCancelBtn->setVisible(false);
ui->mCANWatchdogBaudrateComboBx->setEnabled(false);
ui->mCANWatchdogDeviceIDSpinBx->setEnabled(false);
ui->mCANWatchdogTimeoutSpinBx->setEnabled(false);
mIsSettingsChangeMode = false;
}
CCANWatchdogSettingsPage::~CCANWatchdogSettingsPage()
{
delete ui;
}
void CCANWatchdogSettingsPage::CancelButtonPressed()
{
mIsSettingsChangeMode = false;
ui->mCANWatchdogCancelBtn->setVisible(false);
ui->mCANWatchdogBaudrateComboBx->setEnabled(false);
ui->mCANWatchdogDeviceIDSpinBx->setEnabled(false);
ui->mCANWatchdogTimeoutSpinBx->setEnabled(false);
ui->mCANWatchdogChangBtn->setText("Modifier");
}
void CCANWatchdogSettingsPage::ChangeSettingsButtonPressed()
{
if(mIsSettingsChangeMode == false)
{
mIsSettingsChangeMode = true;
ui->mCANWatchdogCancelBtn->setVisible(true);
ui->mCANWatchdogBaudrateComboBx->setEnabled(true);
ui->mCANWatchdogDeviceIDSpinBx->setEnabled(true);
ui->mCANWatchdogTimeoutSpinBx->setEnabled(true);
ui->mCANWatchdogChangBtn->setText("Sauvegarder");
}
else
{
mIsSettingsChangeMode = false;
ui->mCANWatchdogCancelBtn->setVisible(false);
ui->mCANWatchdogBaudrateComboBx->setEnabled(false);
ui->mCANWatchdogDeviceIDSpinBx->setEnabled(false);
ui->mCANWatchdogTimeoutSpinBx->setEnabled(false);
ui->mCANWatchdogChangBtn->setText("Modifier");
//Save data...
mCANWatchdogConfig.mCANDeviceID = ui->mCANWatchdogDeviceIDSpinBx->value();
mCANWatchdogConfig.mWatchdogTimeout = ui->mCANWatchdogTimeoutSpinBx->value();
mCANWatchdogConfig.mCANDeviceBaudrate = ui->mCANWatchdogBaudrateComboBx->currentData().toInt();
mProgramHandle->SaveCANWatchdogSettingsRequest(&mCANWatchdogConfig);
}
}
int CCANWatchdogSettingsPage::SetCANWatchdogConfig(CCANWatchdogConfig *Config)
{
if(Config == 0)
{
return RET_GENERAL_ERROR;
}
mCANWatchdogConfig = *Config;
ui->mCANWatchdogDeviceIDSpinBx->setValue(mCANWatchdogConfig.mCANDeviceID);
ui->mCANWatchdogTimeoutSpinBx->setValue(mCANWatchdogConfig.mWatchdogTimeout);
ui->mCANWatchdogBaudrateComboBx->setCurrentIndex(ui->mCANWatchdogBaudrateComboBx->findData(mCANWatchdogConfig.mCANDeviceBaudrate));
return RET_OK;
}