SystemGui/Sources/Chalet/ChaletGui.cpp
2020-09-13 13:50:05 -04:00

127 lines
3.0 KiB
C++

#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);
}
}