96 lines
2.5 KiB
C++
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;
|
|
}
|