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

92 lines
2.0 KiB
C++

#include "CChalet.h"
#include "ChaletMasterCtrlInterface.h"
CChalet::CChalet(CChaletGui *ChaletGuiPtr)
{
mChaletGui = ChaletGuiPtr;
mChaletGui->mProgramHandle = this;
mNetworkInterface = new CChaletMasterCtrlInterface(this);
mChaletPollTimer = new QTimer();
mChaletPollTimer->setInterval(1000);
mChaletPollTimer->setSingleShot(false);
connect(mChaletPollTimer,SIGNAL(timeout()),this,SLOT(ChaletPollTimerExpired()));
}
CChalet::~CChalet()
{
delete mNetworkInterface;
delete mChaletPollTimer;
}
int CChalet::Start()
{
mNetworkInterface->ConnectToMasterCtrl();
mChaletPollTimer->start();
return RET_OK;
}
void CChalet::ChaletPollTimerExpired()
{
mNetworkInterface->SendMasterCtrlCommand(CHALET_INTERFACE_GENERAL_STATUS_REQUEST,QByteArray());
}
int CChalet::ChaletStatusReceived(CChaletMainStatus Status)
{
mChaletGui->UpdateChaletStatus(Status);
return RET_OK;
}
int CChalet::WiFiToggleButtonPressed(bool RequestedState)
{
QByteArray WiFiState;
WiFiState.clear();
if(RequestedState)
{
WiFiState.append((char)0x01);
}
else
{
WiFiState.append((char)0x00);
}
return mNetworkInterface->SendMasterCtrlCommand(CHALET_INTERFACE_WIFI_SET_STATE_REQUEST,WiFiState);
}
int CChalet::InverterToggleButtonPressed(bool RequestedState)
{
QByteArray InverterState;
InverterState.clear();
if(RequestedState)
{
InverterState.append((char)0x01);
}
else
{
InverterState.append((char)0x00);
}
return mNetworkInterface->SendMasterCtrlCommand(CHALET_INTERFACE_AC_POWER_SET_STATE_REQUEST,InverterState);
}
int CChalet::DoHarakiriButtonClicked(bool Verified)
{
if(Verified)
{
return mNetworkInterface->SendMasterCtrlCommand(CHALET_INTERFACE_DO_HARAKIRI_REQUEST,QByteArray());
}
return RET_ERROR;
}
int CChalet::RebootCPUButtonPressed()
{
return mNetworkInterface->SendMasterCtrlCommand(CHALET_INTERFACE_REBOOT_CPU_REQUEST,QByteArray());
}