Masterctrl/Sources/Chalet/ChaletLoraDevice.h
2020-09-13 13:47:47 -04:00

51 lines
1.3 KiB
C++

#ifndef CCHALETLORADEVICE_H
#define CCHALETLORADEVICE_H
#include <QByteArray>
#include <QObject>
#include <QSerialPort>
#include "LoraNetworkCommIF.h"
#include "NetworkDevice.h"
#include <QTimer>
#include "ChaletData.h"
#include "ChaletNetworkMessage.h"
#include <QList>
#define LORA_MAGIC_WORD 0xBAADCAFE
class CChaletLoraDevice : public QObject, public CNetworkDevice
{
Q_OBJECT
public:
CChaletLoraDevice(int Address,CAbstractNetworkCommIF *NetworkInterface);
~CChaletLoraDevice();
virtual int NewDeviceFrameReceived(int DeviceID, int DeviceAddress, int MessageID, int DataSize, QByteArray Data);
QTimer *mChaletStatusTimer;
int Start();
CChaletMainStatus GetChaletMainStatus() {return mChaletMainStatus;}
CChaletMainStatus mChaletMainStatus;
QList<CChaletNetworkMessage> mPendingNetworkMsgList;
int SendWiFiModuleSetState(bool State);
int SendInverterPowerRelayState(bool State);
int SendDOHarakiri();
int SendRebootCmd();
int SendChaletCommand(int CmdID,int DataSize, QByteArray Data);
int CmdResponseReceived(int CmdID);
int ScheduleChaletStatusRequest();
int ScheduleChaletCommand(int CmdID, int DataSize, QByteArray Data);
int ScheduleChaletCommand(int CmdID,QByteArray Data);
public slots:
void CommTimerExpired();
};
#endif // CCHALETLORADEVICE_H