Masterctrl/Sources/Chalet/ChaletInterface.cpp
2020-09-13 13:47:47 -04:00

96 lines
2.5 KiB
C++

#include "ChaletInterface.h"
CChaletInterface::CChaletInterface(int Address, CAbstractNetworkCommIF *NetworkInterface, CChaletLoraDevice *DevicePtr):
CNetworkDevice(ID_CHALET_INTERFACE,Address,NetworkInterface)
{
mChaletLoraDevice = DevicePtr;
}
int CChaletInterface::NewDeviceFrameReceived(int DeviceID, int DeviceAddress, int MessageID, int DataSize, QByteArray Data)
{
Q_UNUSED(DeviceID)
Q_UNUSED(DeviceAddress)
Q_UNUSED(DataSize)
Q_UNUSED(Data)
switch(MessageID)
{
case CHALET_INTERFACE_ACK:
{
break;
}
case CHALET_INTERFACE_GENERAL_STATUS_REQUEST:
{
QByteArray data = mChaletLoraDevice->GetChaletMainStatus().ToByteArray();
mNetworkInterfacePtr->SendNetworkMessage(ID_CHALET_INTERFACE,mDeviceAddress,CHALET_INTERFACE_GENERAL_STATUS_RESPONSE,data.size(),data);
break;
}
case CHALET_INTERFACE_AC_POWER_STATE_STATUS_REQUEST:
{
break;
}
case CHALET_INTERFACE_AC_POWER_SET_STATE_REQUEST:
{
qDebug("AC power state set request received from interface");
if(Data[0] == (char)1)
{
mChaletLoraDevice->SendInverterPowerRelayState(true);
}
else if(Data[0] == (char)0)
{
mChaletLoraDevice->SendInverterPowerRelayState(false);
}
break;
}
case CHALET_INTERFACE_BATTERY_VOLTAGE_REQUEST:
{
break;
}
case CHALET_INTERFACE_WIFI_SET_STATE_REQUEST:
{
qDebug("WiFi state set request received from interface");
if(Data[0] == (char)1)
{
mChaletLoraDevice->SendWiFiModuleSetState(true);
}
else if(Data[0] == (char)0)
{
mChaletLoraDevice->SendWiFiModuleSetState(false);
}
break;
}
case CHALET_INTERFACE_DO_HARAKIRI_REQUEST:
{
mChaletLoraDevice->SendDOHarakiri();
break;
}
case CHALET_INTERFACE_REBOOT_CPU_REQUEST:
{
mChaletLoraDevice->SendRebootCmd();
break;
}
case CHALET_INTERFACE_GENERAL_STATUS_RESPONSE:
case CHALET_INTERFACE_AC_POWER_STATE_STATUS_RESPONSE:
case CHALET_INTERFACE_AC_POWER_SET_STATE_RESPONSE:
case CHALET_INTERFACE_BATTERY_VOLTAGE_RESPONSE:
case CHALET_INTERFACE_WIFI_SET_STATE_RESPONSE:
{
break;
}
}
return RET_OK;
}