Moved sources to subdirs in project
Add sprinkler device
This commit is contained in:
@@ -0,0 +1,75 @@
|
||||
#include "DeadboltDevice.h"
|
||||
#include "ProtocolDefs.h"
|
||||
#include <QDebug>
|
||||
|
||||
|
||||
CDeadboltDevice::CDeadboltDevice(int Address, CAbstractNetworkCommIF *NetworkInterface):
|
||||
CNetworkDevice(ID_DEADBOLT_DEVICE,Address,NetworkInterface)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
CDeadboltDevice::~CDeadboltDevice()
|
||||
{
|
||||
}
|
||||
|
||||
int CDeadboltDevice::NewDeviceFrameReceived(int DeviceID, int DeviceAddress, int MessageID, int DataSize, QByteArray Data)
|
||||
{
|
||||
Q_UNUSED(DeviceID)
|
||||
Q_UNUSED(DeviceAddress)
|
||||
Q_UNUSED(DataSize)
|
||||
Q_UNUSED(Data)
|
||||
|
||||
return RET_OK;
|
||||
|
||||
switch(MessageID)
|
||||
{
|
||||
case DEADBOLT_DEVICE_STATUS_RESPONSE:
|
||||
{
|
||||
break;
|
||||
}
|
||||
case DEADBOLT_DEVICE_ACK:
|
||||
{
|
||||
break;
|
||||
}
|
||||
case DEADBOLT_DEVICE_GET_LOCKED_STATE_REQUEST:
|
||||
{
|
||||
break;
|
||||
}
|
||||
case DEADBOLT_DEVICE_GOTO_LOCKED_ACK:
|
||||
{
|
||||
break;
|
||||
}
|
||||
case DEADBOLT_DEVICE_GOTO_UNLOCKED_ACK:
|
||||
{
|
||||
break;
|
||||
}
|
||||
case DEADBOLT_DEVICE_GET_PASSWORDS_RESPONSE:
|
||||
{
|
||||
break;
|
||||
}
|
||||
case DEADBOLT_DEVICE_SET_PASSWORDS_ACK:
|
||||
{
|
||||
break;
|
||||
}
|
||||
case DEADBOLT_DEVICE_LOCK_EVENT:
|
||||
{
|
||||
break;
|
||||
}
|
||||
case DEADBOLT_DEVICE_STATUS_REQUEST:
|
||||
case DEADBOLT_DEVICE_LOCKED_STATE_RESPONSE:
|
||||
case DEADBOLT_DEVICE_GOTO_LOCKED_REQUEST:
|
||||
case DEADBOLT_DEVICE_SET_PASSWORDS_REQUEST:
|
||||
case DEADBOLT_DEVICE_GET_PASSWORDS_REQUEST:
|
||||
case DEADBOLT_DEVICE_GOTO_UNLOCKED_REQUEST:
|
||||
default:
|
||||
{
|
||||
qDebug("Received invalid msg from Deadbolt Device");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -6,8 +6,9 @@
|
||||
#include "NetworkDevice.h"
|
||||
|
||||
|
||||
class CDeadboltDevice: public CNetworkDevice
|
||||
class CDeadboltDevice: public QObject, public CNetworkDevice
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
CDeadboltDevice(int Address, CAbstractNetworkCommIF *NetworkInterface);
|
||||
virtual ~CDeadboltDevice();
|
||||
@@ -1,46 +0,0 @@
|
||||
#include "DeadboltDevice.h"
|
||||
#include "ProtocolDefs.h"
|
||||
#include <QDebug>
|
||||
|
||||
|
||||
CDeadboltDevice::CDeadboltDevice(int Address, CAbstractNetworkCommIF *NetworkInterface):
|
||||
CNetworkDevice(ID_DEADBOLT,Address,NetworkInterface)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
CDeadboltDevice::~CDeadboltDevice()
|
||||
{
|
||||
}
|
||||
|
||||
int CDeadboltDevice::NewDeviceFrameReceived(int DeviceID, int DeviceAddress, int MessageID, int DataSize, QByteArray Data)
|
||||
{
|
||||
Q_UNUSED(DeviceID)
|
||||
Q_UNUSED(DeviceAddress)
|
||||
Q_UNUSED(DataSize)
|
||||
Q_UNUSED(Data)
|
||||
|
||||
return RET_OK;
|
||||
|
||||
switch(MessageID)
|
||||
{
|
||||
case DEADBOLT_DEVICE_STATUS_RESPONSE:
|
||||
{
|
||||
break;
|
||||
}
|
||||
case DEADBOLT_DEVICE_ACK:
|
||||
{
|
||||
break;
|
||||
}
|
||||
case DEADBOLT_DEVICE_STATUS_REQUEST:
|
||||
default:
|
||||
{
|
||||
qDebug("Received invalid msg from Deadbolt Device");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -155,6 +155,40 @@ void CEthernetNetworkServer::DeviceSocketDataAvail()
|
||||
CloseSocket = true;
|
||||
}
|
||||
}
|
||||
if(DeviceID == ID_SPRINKLER_DEVICE)
|
||||
{
|
||||
if(mDevicesMgrHandle != 0)
|
||||
{
|
||||
if(mDevicesMgrHandle->CreateNewSprinklerDevice(DeviceAddress,(CAbstractNetworkCommIF*)NetworkIF) == RET_OK)
|
||||
{
|
||||
//All OK.
|
||||
|
||||
//Redirect signals.
|
||||
DeviceSocket->disconnect();
|
||||
// disconnect(DeviceSocket,SIGNAL(readyRead()),this,SLOT(DeviceSocketDataAvail()));
|
||||
connect(DeviceSocket,SIGNAL(readyRead()),NetworkIF,SLOT(SocketDataAvailable()));
|
||||
connect(DeviceSocket,SIGNAL(disconnected()),NetworkIF,SLOT(SocketDisconnected()));
|
||||
connect(NetworkIF,SIGNAL(EthernetInterfaceSocketDisconnected(CNetworkDevice*)),mDevicesMgrHandle,SLOT(EthernetNetworkDeviceDisconnected(CNetworkDevice*)));
|
||||
|
||||
//Inform device that it is connected
|
||||
QByteArray Frame = GetTxPacket((unsigned char)ETH_NETWK_SET_DEVICE_INFO_ACK,0,0,0,DeviceAddress,(unsigned char)ID_ETHERNET_VIRTUAL);
|
||||
DeviceSocket->write(Frame);
|
||||
qDebug("Created new Sprinkler device");
|
||||
}
|
||||
else
|
||||
{
|
||||
qDebug("Could not create Sprinkler device in ethernet server");
|
||||
QByteArray Frame = GetTxPacket((unsigned char)ETH_NETWK_CONNECTION_REFUSED,0,0,0,DeviceAddress,(unsigned char)ID_ETHERNET_VIRTUAL);
|
||||
DeviceSocket->write(Frame);
|
||||
CloseSocket = true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
qDebug("Invalid DevicesMgrHandle in ethernet server");
|
||||
CloseSocket = true;
|
||||
}
|
||||
}
|
||||
|
||||
// if(IsDeviceRegistered(DeviceID) == true)
|
||||
// {
|
||||
|
||||
@@ -48,6 +48,14 @@ int CNetworkDevicesMgr::CreateNewSMSDevice(int Address, CAbstractNetworkCommIF *
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
int CNetworkDevicesMgr::CreateNewSprinklerDevice(int Address, CAbstractNetworkCommIF *NetworkIF)
|
||||
{
|
||||
CSprinklerDevice *SprinklerDevice = new CSprinklerDevice(Address,NetworkIF);
|
||||
mNetworkDevicesList.append((CNetworkDevice*)SprinklerDevice);
|
||||
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
void CNetworkDevicesMgr::EthernetNetworkDeviceDisconnected(CNetworkDevice *Device)
|
||||
{
|
||||
qDebug("Device disconnected. ID: %d, Address: %d",Device->GetDeviceID(),Device->GetDeviceAddress());
|
||||
@@ -86,6 +94,20 @@ CNetworkDevice* CNetworkDevicesMgr::GetDevice(int DeviceID, int Address)
|
||||
return 0;
|
||||
}
|
||||
|
||||
QList<CNetworkDevice*> CNetworkDevicesMgr::GetDevices(int DeviceID)
|
||||
{
|
||||
QList<CNetworkDevice*> DevicesList;
|
||||
for(int i = 0; i < mNetworkDevicesList.size(); i++)
|
||||
{
|
||||
if(mNetworkDevicesList.at(i)->GetDeviceID() == DeviceID)
|
||||
{
|
||||
DevicesList.append(mNetworkDevicesList.at(i));
|
||||
}
|
||||
}
|
||||
|
||||
return DevicesList;
|
||||
}
|
||||
|
||||
int CNetworkDevicesMgr::NewSMSMessagesReceived(QList<CSMSMessage> NewMessages)
|
||||
{
|
||||
for(int i = 0; i < mNetworkDevicesList.size(); i++)
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
#include "DeadboltDevice.h"
|
||||
#include "AVReceiverDevice.h"
|
||||
#include "SMSDevice.h"
|
||||
#include "SprinklerDevice.h"
|
||||
#include "AbstractNetworkInterface.h"
|
||||
#include "QList"
|
||||
#include <QObject>
|
||||
@@ -22,9 +23,12 @@ public:
|
||||
int InitNetworkDevices();
|
||||
|
||||
int CreateNewSMSDevice(int Address,CAbstractNetworkCommIF *NetworkIF);
|
||||
int CreateNewSprinklerDevice(int Address, CAbstractNetworkCommIF *NetworkIF);
|
||||
|
||||
|
||||
int FindDeviceByPtr(CNetworkDevice *Device);
|
||||
CNetworkDevice *GetDevice(int DeviceID, int Address);
|
||||
QList<CNetworkDevice*> GetDevices(int DeviceID);
|
||||
|
||||
CVoipMsSMSClient *mVoipMSInterfaceHandle;
|
||||
CContactRepository *mContactRepositoryHandle;
|
||||
|
||||
+72
-10
@@ -21,8 +21,8 @@ jean-francois.martel@polymtl.ca
|
||||
|
||||
#define FRAME_HEADER 0x8A
|
||||
#define DATA_START 11
|
||||
#define ACK 0xA3;
|
||||
#define NAK 0x90;
|
||||
#define ACK 0xA3
|
||||
#define NAK 0x90
|
||||
#define BROADCAST_VALUE 0xFF
|
||||
|
||||
enum eFrameIndex
|
||||
@@ -36,8 +36,6 @@ enum eFrameIndex
|
||||
FRAME_COMMAND_INDEX,
|
||||
FRAME_SIZE1_INDEX,
|
||||
FRAME_SIZE2_INDEX,
|
||||
FRAME_SIZE3_INDEX,
|
||||
FRAME_SIZE4_INDEX,
|
||||
FRAME_DATA_INDEX
|
||||
};
|
||||
|
||||
@@ -48,10 +46,13 @@ enum DEVICES_IDS
|
||||
ID_PC, //PC
|
||||
ID_AV_MUX, //Audio Video Multiplexer
|
||||
ID_IR_REMOTE, //Infra red transmitter
|
||||
ID_DEADBOLT,
|
||||
ID_DEADBOLT_DEVICE,
|
||||
ID_RECEIVER_AMP,
|
||||
ID_SMS_CLIENT,
|
||||
ID_ETHERNET_VIRTUAL,
|
||||
ID_SPRINKLER_DEVICE,
|
||||
ID_SPRINKLER_INTERFACE,
|
||||
ID_DEADBOLT_INTERFACE,
|
||||
ID_NB_DEVICE_ID
|
||||
|
||||
};
|
||||
@@ -119,18 +120,19 @@ enum IR_REMOTE_CMDS
|
||||
MAX_IR_REMOTE_CMD
|
||||
};
|
||||
|
||||
//The SMS remote interface commands
|
||||
enum SMS_CLIENT_CMDS
|
||||
{
|
||||
SMS_CLIENT_DEVICE_ACK = 1,
|
||||
SMS_CLIENT_DEVICE_STATUS_REQUEST, //2
|
||||
SMS_CLIENT_DEVICE_STATUS_REQUEST,
|
||||
SMS_CLIENT_DEVICE_STATUS_RESPONSE,
|
||||
SMS_CLIENT_DEVICE_DID_INFO_REQUEST, //4
|
||||
SMS_CLIENT_DEVICE_DID_INFO_REQUEST,
|
||||
SMS_CLIENT_DEVICE_DID_INFO_RESPONSE,
|
||||
SMS_CLIENT_DEVICE_GET_ALL_MSG_REQUEST, //6
|
||||
SMS_CLIENT_DEVICE_GET_ALL_MSG_REQUEST,
|
||||
SMS_CLIENT_DEVICE_GET_ALL_MSG_RESPONSE,
|
||||
SMS_CLIENT_DEVICE_NEW_MSG_NOTIFICATION, //8
|
||||
SMS_CLIENT_DEVICE_NEW_MSG_NOTIFICATION,
|
||||
SMS_CLIENT_DEVICE_SEND_SMS_REQUEST,
|
||||
SMS_CLIENT_DEVICE_SEND_SMS_ACK, //10
|
||||
SMS_CLIENT_DEVICE_SEND_SMS_ACK,
|
||||
SMS_CLIENT_DEVICE_GET_CONTACTS_REQUEST,
|
||||
SMS_CLIENT_DEVICE_GET_CONTACTS_RESPONSE,//12
|
||||
SMS_CLIENT_DEVICE_CONTACTS_CHANGED_NOTIFICATION,
|
||||
@@ -139,15 +141,75 @@ enum SMS_CLIENT_CMDS
|
||||
|
||||
};
|
||||
|
||||
//The actual deadbolt device commands
|
||||
enum DEADBOLT_CMDS
|
||||
{
|
||||
DEADBOLT_DEVICE_ACK = 1,
|
||||
DEADBOLT_DEVICE_STATUS_REQUEST,
|
||||
DEADBOLT_DEVICE_STATUS_RESPONSE,
|
||||
DEADBOLT_DEVICE_GET_LOCKED_STATE_REQUEST,
|
||||
DEADBOLT_DEVICE_LOCKED_STATE_RESPONSE,
|
||||
DEADBOLT_DEVICE_GOTO_LOCKED_REQUEST,
|
||||
DEADBOLT_DEVICE_GOTO_LOCKED_ACK,
|
||||
DEADBOLT_DEVICE_GOTO_UNLOCKED_REQUEST,
|
||||
DEADBOLT_DEVICE_GOTO_UNLOCKED_ACK,
|
||||
DEADBOLT_DEVICE_GET_PASSWORDS_REQUEST,
|
||||
DEADBOLT_DEVICE_GET_PASSWORDS_RESPONSE,
|
||||
DEADBOLT_DEVICE_SET_PASSWORDS_REQUEST,
|
||||
DEADBOLT_DEVICE_SET_PASSWORDS_ACK,
|
||||
DEADBOLT_DEVICE_LOCK_EVENT,
|
||||
|
||||
MAX_DEADBOLT_DEVICE_CMD
|
||||
};
|
||||
|
||||
//The actual sprinkler module device commands
|
||||
enum SPRINKLER_DEVICE_CMDS
|
||||
{
|
||||
SPRINKLER_DEVICE_ACK = 1,
|
||||
SPRINKLER_DEVICE_STATUS_REQUEST,
|
||||
SPRINKLER_DEVICE_STATUS_RESPONSE,
|
||||
SPRINKLER_DEVICE_SET_SPRINKLER_STATE_REQUEST,
|
||||
SPRINKLER_DEVICE_SET_SPRINKLER_STATE_ACK,
|
||||
SPRINKLER_DEVICE_GET_SPRINKLER_STATE_REQUEST,
|
||||
SPRINKLER_DEVICE_GET_SPRINKLER_STATE_RESPONSE,
|
||||
SPRINKLER_DEVICE_GET_WATER_FLOW_REQUEST,
|
||||
SPRINKLER_DEVICE_GET_WATER_FLOW_RESPONSE,
|
||||
SPRINKLER_DEVICE_GET_MOISTURE_REQUEST,
|
||||
SPRINKLER_DEVICE_GET_MOISTURE_RESPONSE,
|
||||
SPRINKLER_DEVICE_SET_PROGRAM_REQUEST,
|
||||
SPRINKLER_DEVICE_SET_PROGRAM_ACK,
|
||||
SPRINKLER_DEVICE_GET_PROGRAM_REQUEST,
|
||||
SPRINKLER_DEVICE_GET_PROGRAM_RESPONSE,
|
||||
SPRINKLER_DEVICE_SET_PARAMETERS_REQUEST,
|
||||
SPRINKLER_DEVICE_SET_PARAMETERS_ACK,
|
||||
SPRINKLER_DEVICE_GET_PARAMETERS_REQUEST,
|
||||
SPRINKLER_DEVICE_GET_PARAMETERS_RESPONSE,
|
||||
|
||||
|
||||
MAX_SPRINKLER_DEVICE_CMD
|
||||
};
|
||||
|
||||
//The sprinkler interface commands
|
||||
enum SPRINKLER_INTERFACE_CMDS
|
||||
{
|
||||
SPRINKLER_INTERFACE_ACK = 1,
|
||||
SPRINKLER_INTERFACE_STATUS_REQUEST,
|
||||
SPRINKLER_INTERFACE_STATUS_RESPONSE,
|
||||
SPRINKLER_INTERFACE_GET_SPRINKLERS_REQUEST,
|
||||
SPRINKLER_INTERFACE_GET_SPRINKLERS_RESPONSE,
|
||||
SPRINKLER_INTERFACE_GET_SPRINKLER_DATA_REQUEST,
|
||||
SPRINKLER_INTERFACE_GET_SPRINKLER_DATA_RESPONSE,
|
||||
SPRINKLER_INTERFACE_SET_SPRINKLER_DATA_REQUEST,
|
||||
SPRINKLER_INTERFACE_SET_SPRINKLER_DATA_ACK,
|
||||
SPRINKLER_INTERFACE_GET_SPRINKLER_STATE_REQUEST,
|
||||
SPRINKLER_INTERFACE_GET_SPRINKLER_STATE_RESPONSE,
|
||||
SPRINKLER_INTERFACE_SET_SPRINKLER_STATE_REQUEST,
|
||||
SPRINKLER_INTERFACE_SET_SPRINKLER_STATE_ACK,
|
||||
|
||||
MAX_SPRINKLER_INTERFACE_CMD
|
||||
};
|
||||
|
||||
|
||||
enum ETHERNET_NETWORK_VIRTUAL_CMDS
|
||||
{
|
||||
ETH_NETWK_DEVICE_INFO_REQUEST = 0xD0,
|
||||
|
||||
@@ -0,0 +1,90 @@
|
||||
#include "SprinklerDevice.h"
|
||||
#include "ProtocolDefs.h"
|
||||
#include <QDebug>
|
||||
|
||||
|
||||
CSprinklerDevice::CSprinklerDevice(int Address, CAbstractNetworkCommIF *NetworkInterface):
|
||||
CNetworkDevice(ID_SPRINKLER_DEVICE,Address,NetworkInterface)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
CSprinklerDevice::~CSprinklerDevice()
|
||||
{
|
||||
}
|
||||
|
||||
int CSprinklerDevice::NewDeviceFrameReceived(int DeviceID, int DeviceAddress, int MessageID, int DataSize, QByteArray Data)
|
||||
{
|
||||
Q_UNUSED(DeviceID)
|
||||
Q_UNUSED(DeviceAddress)
|
||||
Q_UNUSED(DataSize)
|
||||
Q_UNUSED(Data)
|
||||
|
||||
return RET_OK;
|
||||
|
||||
switch(MessageID)
|
||||
{
|
||||
case SPRINKLER_DEVICE_STATUS_RESPONSE:
|
||||
{
|
||||
break;
|
||||
}
|
||||
case SPRINKLER_DEVICE_ACK:
|
||||
{
|
||||
break;
|
||||
}
|
||||
case SPRINKLER_DEVICE_SET_SPRINKLER_STATE_ACK:
|
||||
{
|
||||
break;
|
||||
}
|
||||
case SPRINKLER_DEVICE_GET_SPRINKLER_STATE_RESPONSE:
|
||||
{
|
||||
break;
|
||||
}
|
||||
case SPRINKLER_DEVICE_GET_WATER_FLOW_RESPONSE:
|
||||
{
|
||||
break;
|
||||
}
|
||||
case SPRINKLER_DEVICE_GET_MOISTURE_RESPONSE:
|
||||
{
|
||||
break;
|
||||
}
|
||||
case SPRINKLER_DEVICE_SET_PROGRAM_ACK:
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
case SPRINKLER_DEVICE_GET_PROGRAM_RESPONSE:
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
case SPRINKLER_DEVICE_SET_PARAMETERS_ACK:
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
case SPRINKLER_DEVICE_GET_PARAMETERS_RESPONSE:
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
case SPRINKLER_DEVICE_SET_SPRINKLER_STATE_REQUEST:
|
||||
case SPRINKLER_DEVICE_GET_SPRINKLER_STATE_REQUEST:
|
||||
case SPRINKLER_DEVICE_GET_WATER_FLOW_REQUEST:
|
||||
case SPRINKLER_DEVICE_GET_MOISTURE_REQUEST:
|
||||
case SPRINKLER_DEVICE_SET_PROGRAM_REQUEST:
|
||||
case SPRINKLER_DEVICE_GET_PROGRAM_REQUEST:
|
||||
case SPRINKLER_DEVICE_SET_PARAMETERS_REQUEST:
|
||||
case SPRINKLER_DEVICE_GET_PARAMETERS_REQUEST:
|
||||
case SPRINKLER_DEVICE_STATUS_REQUEST:
|
||||
default:
|
||||
{
|
||||
qDebug("Received invalid msg from Sprinkler Device");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
#ifndef SPRINKLERDEVICE_H
|
||||
#define SPRINKLERDEVICE_H
|
||||
|
||||
#include "GlobalDefine.h"
|
||||
#include "NetworkDevice.h"
|
||||
|
||||
|
||||
class CSprinklerDevice: public QObject, public CNetworkDevice
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
CSprinklerDevice(int Address, CAbstractNetworkCommIF *NetworkInterface);
|
||||
virtual ~CSprinklerDevice();
|
||||
|
||||
virtual int NewDeviceFrameReceived(int DeviceID, int DeviceAddress, int MessageID, int DataSize, QByteArray Data);
|
||||
|
||||
};
|
||||
|
||||
#endif // SPRINKLERDEVICE_H
|
||||
@@ -0,0 +1,72 @@
|
||||
#include "SprinklerInterface.h"
|
||||
#include "ProtocolDefs.h"
|
||||
#include <QDebug>
|
||||
|
||||
|
||||
CSprinklerInterface::CSprinklerInterface(int Address, CAbstractNetworkCommIF *NetworkInterface):
|
||||
CNetworkDevice(ID_SPRINKLER_DEVICE,Address,NetworkInterface)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
CSprinklerInterface::~CSprinklerInterface()
|
||||
{
|
||||
}
|
||||
|
||||
int CSprinklerInterface::NewDeviceFrameReceived(int DeviceID, int DeviceAddress, int MessageID, int DataSize, QByteArray Data)
|
||||
{
|
||||
Q_UNUSED(DeviceID)
|
||||
Q_UNUSED(DeviceAddress)
|
||||
Q_UNUSED(DataSize)
|
||||
Q_UNUSED(Data)
|
||||
|
||||
return RET_OK;
|
||||
|
||||
switch(MessageID)
|
||||
{
|
||||
case SPRINKLER_INTERFACE_STATUS_RESPONSE:
|
||||
{
|
||||
break;
|
||||
}
|
||||
case SPRINKLER_INTERFACE_ACK:
|
||||
{
|
||||
break;
|
||||
}
|
||||
case SPRINKLER_INTERFACE_GET_SPRINKLERS_REQUEST:
|
||||
{
|
||||
break;
|
||||
}
|
||||
case SPRINKLER_INTERFACE_GET_SPRINKLER_DATA_REQUEST:
|
||||
{
|
||||
break;
|
||||
}
|
||||
case SPRINKLER_INTERFACE_GET_SPRINKLER_DATA_RESPONSE:
|
||||
{
|
||||
break;
|
||||
}
|
||||
case SPRINKLER_INTERFACE_GET_SPRINKLER_STATE_REQUEST:
|
||||
{
|
||||
break;
|
||||
}
|
||||
case SPRINKLER_INTERFACE_SET_SPRINKLER_STATE_REQUEST:
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
case SPRINKLER_INTERFACE_SET_SPRINKLER_DATA_REQUEST:
|
||||
case SPRINKLER_INTERFACE_GET_SPRINKLER_STATE_RESPONSE:
|
||||
case SPRINKLER_INTERFACE_GET_SPRINKLERS_RESPONSE:
|
||||
case SPRINKLER_INTERFACE_SET_SPRINKLER_DATA_ACK:
|
||||
case SPRINKLER_INTERFACE_SET_SPRINKLER_STATE_ACK:
|
||||
case SPRINKLER_INTERFACE_STATUS_REQUEST:
|
||||
default:
|
||||
{
|
||||
qDebug("Received invalid msg from Sprinkler Interface");
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
#ifndef SPRINKLERINTERFACE_H
|
||||
#define SPRINKLERINTERFACE_H
|
||||
|
||||
#include "GlobalDefine.h"
|
||||
#include "NetworkDevice.h"
|
||||
|
||||
|
||||
class CSprinklerInterface: public QObject, public CNetworkDevice
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
CSprinklerInterface(int Address, CAbstractNetworkCommIF *NetworkInterface);
|
||||
virtual ~CSprinklerInterface();
|
||||
|
||||
virtual int NewDeviceFrameReceived(int DeviceID, int DeviceAddress, int MessageID, int DataSize, QByteArray Data);
|
||||
|
||||
};
|
||||
|
||||
#endif // SPRINKLERDEVICE_H
|
||||
@@ -0,0 +1,6 @@
|
||||
#include "SprinklerMgr.h"
|
||||
|
||||
CSprinklerMgr::CSprinklerMgr(QObject *parent) : QObject(parent)
|
||||
{
|
||||
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
#ifndef SPRINKLERMGR_H
|
||||
#define SPRINKLERMGR_H
|
||||
|
||||
#include <QObject>
|
||||
|
||||
class CSprinklerMgr : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit CSprinklerMgr(QObject *parent = 0);
|
||||
|
||||
signals:
|
||||
|
||||
public slots:
|
||||
};
|
||||
|
||||
#endif // SPRINKLERMGR_H
|
||||
@@ -45,6 +45,8 @@ int CSMSDevice::NewDeviceFrameReceived(int DeviceID, int DeviceAddress, int Mess
|
||||
}
|
||||
case SMS_CLIENT_DEVICE_STATUS_RESPONSE:
|
||||
{
|
||||
// mStatusRequestTimer->start();
|
||||
DeviceStatusReceived();
|
||||
break;
|
||||
}
|
||||
case SMS_CLIENT_DEVICE_DID_INFO_REQUEST:
|
||||
@@ -209,6 +211,13 @@ void CSMSDevice::StatusReqTimerExpired()
|
||||
mIsOnline = false;
|
||||
qDebug("SMS Device offline,Address: %d",mDeviceAddress);
|
||||
}
|
||||
// RequestStatus();
|
||||
RequestStatus();
|
||||
mStatusRequestTimer->start();
|
||||
}
|
||||
|
||||
void CSMSDevice::DeviceStatusReceived()
|
||||
{
|
||||
|
||||
mStatusRequestsCount = 0;
|
||||
mStatusRequestTimer->start();
|
||||
}
|
||||
@@ -24,6 +24,7 @@ public:
|
||||
int mStatusRequestsCount;
|
||||
|
||||
void SendNewSMSReceived(QList<CSMSMessage> NewMessages);
|
||||
void DeviceStatusReceived();
|
||||
|
||||
private:
|
||||
void RequestStatus();
|
||||
@@ -6,6 +6,7 @@
|
||||
#include <QDateTime>
|
||||
#include <QStringList>
|
||||
#include "MasterCtrl.h"
|
||||
#include <QDebug>
|
||||
|
||||
CVoipMsSMSClient::CVoipMsSMSClient()
|
||||
{
|
||||
@@ -137,6 +138,7 @@ int CVoipMsSMSClient::DownloadNewSMS()
|
||||
int CVoipMsSMSClient::CheckForNewSMS()
|
||||
{
|
||||
// qDebug("Check new SMS");
|
||||
qDebug() << QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss") << ":" << "Check New SMS";
|
||||
if(mSMSMessagesList.isEmpty() == true)
|
||||
{
|
||||
return RET_ERROR;
|
||||
@@ -207,6 +209,11 @@ void CVoipMsSMSClient::VoipServerReplyFinished(QNetworkReply *NetworkReply)
|
||||
{
|
||||
SendSMSAckReceived(false);
|
||||
}
|
||||
else
|
||||
{
|
||||
//Restart timer...
|
||||
StartSMSCheckTimer();
|
||||
}
|
||||
}
|
||||
Reply.clear();
|
||||
}
|
||||
@@ -357,6 +364,7 @@ unsigned int CVoipMsSMSClient::SMSReceived(QJsonArray *SMSArray)
|
||||
else
|
||||
{
|
||||
mSMSMessagesList.append(NewMessages);
|
||||
StartSMSCheckTimer();
|
||||
}
|
||||
|
||||
|
||||
@@ -395,6 +403,7 @@ unsigned int CVoipMsSMSClient::SMSReceived(QJsonArray *SMSArray)
|
||||
else
|
||||
{
|
||||
qDebug("No SMS to download in this period.");
|
||||
StartSMSCheckTimer();
|
||||
}
|
||||
|
||||
return RET_OK;
|
||||
|
||||
Reference in New Issue
Block a user