#include "ChaletGui.h" #include "ui_ChaletGui.h" #include "CChalet.h" CChaletGui::CChaletGui(QWidget *parent) : QWidget(parent), ui(new Ui::CChaletGui) { ui->setupUi(this); ui->mDoHarakiriButton->setEnabled(false); connect(ui->mWiFiModuleONBtn,SIGNAL(clicked()),this,SLOT(WiFiONButtonClicked())); connect(ui->mWiFiModuleOFFBtn,SIGNAL(clicked(bool)),this,SLOT(WiFiOFFButtonClicked())); connect(ui->mInverterRelayOFFBtn,SIGNAL(clicked()),this,SLOT(InverterPowerOFFButtonClicked())); connect(ui->mInverterRelayONBtn,SIGNAL(clicked(bool)),this,SLOT(InverterPowerONButtonClicked())); connect(ui->mRebootCPUBtn,SIGNAL(clicked(bool)),this,SLOT(RebootCPUButtonClicked())); connect(ui->mDoHarakiriButton,SIGNAL(clicked(bool)),this,SLOT(DoHarakiriButtonClicked())); connect(ui->mEnableHarakiriChkBx,SIGNAL(clicked(bool)),this,SLOT(EnableHarakiriClicked(bool))); } CChaletGui::~CChaletGui() { delete ui; } int CChaletGui::UpdateChaletStatus(CChaletMainStatus Status) { QString text; switch(Status.mWiFiModuleStatus) { case WIFI_CONNECTED_STATE: { text = "Connected"; break; } case WIFI_MODULE_OFF_STATE: { text = "Module OFF"; break; } case WIFI_DISCONNECTED_STATE: { text = "Disconnected"; break; } case WIFI_INIT_ERROR_STATE: { text = "Init. Error"; break; } case WIFI_UNKNOWN_STATE: default: { text = "WiFi: Unknown state"; break; } } ui->mWiFiModuleStatusLabel->setText(text); switch(Status.mInverterRelayStatus) { case CHALET_POWER_RELAY_OFF_STATE: { text = "OFF"; break; } case CHALET_POWER_RELAY_ON_STATE: { text = "ON"; break; } case CHALET_POWER_RELAY_UNKNOWN_STATE: default: { text = "Unknown"; break; } } ui->mInverterRlyStatusLabel->setText(text); QString Voltage = QString("Battery Voltage: %1").arg(Status.mBatteryVoltage); ui->mBatteryVoltageLabel->setText(Voltage); return RET_OK; } void CChaletGui::WiFiONButtonClicked() { mProgramHandle->WiFiToggleButtonPressed(true); } void CChaletGui::WiFiOFFButtonClicked() { mProgramHandle->WiFiToggleButtonPressed(false); } void CChaletGui::InverterPowerONButtonClicked() { mProgramHandle->InverterToggleButtonPressed(true); } void CChaletGui::InverterPowerOFFButtonClicked() { mProgramHandle->InverterToggleButtonPressed(false); } void CChaletGui::DoHarakiriButtonClicked() { mProgramHandle->DoHarakiriButtonClicked(true); } void CChaletGui::RebootCPUButtonClicked() { mProgramHandle->RebootCPUButtonPressed(); } void CChaletGui::EnableHarakiriClicked(bool checked) { if(checked) { ui->mDoHarakiriButton->setEnabled(true); } else { ui->mDoHarakiriButton->setEnabled(false); } }