Moved sources to subdirs in project
Add sprinkler device
This commit is contained in:
parent
2139293944
commit
c7c015dab3
@ -1,5 +1,6 @@
|
||||
#QT += Network
|
||||
QT += gui declarative network
|
||||
#CONFIG += console
|
||||
|
||||
HEADERS += \
|
||||
Sources/MasterCtrl.h \
|
||||
@ -8,8 +9,6 @@ HEADERS += \
|
||||
Sources/EthernetNetworkCommIF.h \
|
||||
Sources/232NetworkCommIF.h \
|
||||
Sources/NetworkProtocol.h \
|
||||
Sources/DeadboltDevice.h \
|
||||
Sources/AVReceiverDevice.h \
|
||||
Sources/VoipSMS/VoipMsSMSClient.h \
|
||||
Sources/Gui/SystemTrayManager.h \
|
||||
Sources/Gui/SettingsWindow.h \
|
||||
@ -18,13 +17,18 @@ HEADERS += \
|
||||
Sources/ProtocolDefs.h \
|
||||
Sources/EthernetNetworkServer.h \
|
||||
Sources/NetworkDevicesMgr.h \
|
||||
Sources/SMSDevice.h \
|
||||
Sources/NetworkDevice.h \
|
||||
Sources/AbstractNetworkInterface.h \
|
||||
Sources/VoipSMS/SMSMessage.h \
|
||||
Sources/Gui/CContactsWindow.h \
|
||||
Sources/Contact.h \
|
||||
Sources/ContactRepository.h
|
||||
Sources/ContactRepository.h \
|
||||
Sources/Sprinkler/SprinklerDevice.h \
|
||||
Sources/VoipSMS/SMSDevice.h \
|
||||
Sources/Deadbolt/DeadboltDevice.h \
|
||||
Sources/AvReceiver/AVReceiverDevice.h \
|
||||
Sources/Sprinkler/SprinklerInterface.h \
|
||||
Sources/Sprinkler/SprinklerMgr.h
|
||||
|
||||
SOURCES += \
|
||||
Sources/main.cpp \
|
||||
@ -33,8 +37,6 @@ SOURCES += \
|
||||
Sources/232NetworkCommIF.cpp \
|
||||
Sources/EthernetNetworkCommIF.cpp \
|
||||
Sources/NetworkProtocol.cpp \
|
||||
Sources/DeadboltDevice.cpp \
|
||||
Sources/AVReceiverDevice.cpp \
|
||||
Sources/VoipSMS/VoipMsSMSClient.cpp \
|
||||
Sources/Gui/SystemTrayManager.cpp \
|
||||
Sources/Gui/SettingsWindow.cpp \
|
||||
@ -42,12 +44,17 @@ SOURCES += \
|
||||
Sources/Gui/AppIconWidget.cpp \
|
||||
Sources/EthernetNetworkServer.cpp \
|
||||
Sources/NetworkDevicesMgr.cpp \
|
||||
Sources/SMSDevice.cpp \
|
||||
Sources/NetworkDevice.cpp \
|
||||
Sources/VoipSMS/SMSMessage.cpp \
|
||||
Sources/Gui/CContactsWindow.cpp \
|
||||
Sources/Contact.cpp \
|
||||
Sources/ContactRepository.cpp
|
||||
Sources/ContactRepository.cpp \
|
||||
Sources/Sprinkler/SprinklerDevice.cpp \
|
||||
Sources/VoipSMS/SMSDevice.cpp \
|
||||
Sources/Deadbolt/DeadboltDevice.cpp \
|
||||
Sources/AvReceiver/AVReceiverDevice.cpp \
|
||||
Sources/Sprinkler/SprinklerInterface.cpp \
|
||||
Sources/Sprinkler/SprinklerMgr.cpp
|
||||
|
||||
|
||||
#win32:SOURCES += $$PWD/Source/qextserialport/win_qextserialport.cpp \
|
||||
@ -58,4 +65,7 @@ INCLUDEPATH += $$PWD/ \
|
||||
$$PWD/Sources/ \
|
||||
$$PWD/Sources/qextserialport/ \
|
||||
$$PWD/Sources/VoipSMS/ \
|
||||
$$PWD/Sources/Gui/
|
||||
$$PWD/Sources/Gui/ \
|
||||
$$PWD/Sources/Deadbolt \
|
||||
$$PWD/Sources/Sprinkler \
|
||||
$$PWD/Sources/AvReceiver \
|
||||
|
||||
75
Sources/Deadbolt/DeadboltDevice.cpp
Normal file
75
Sources/Deadbolt/DeadboltDevice.cpp
Normal file
@ -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;
|
||||
|
||||
@ -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,
|
||||
|
||||
90
Sources/Sprinkler/SprinklerDevice.cpp
Normal file
90
Sources/Sprinkler/SprinklerDevice.cpp
Normal file
@ -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;
|
||||
}
|
||||
|
||||
|
||||
19
Sources/Sprinkler/SprinklerDevice.h
Normal file
19
Sources/Sprinkler/SprinklerDevice.h
Normal file
@ -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
|
||||
72
Sources/Sprinkler/SprinklerInterface.cpp
Normal file
72
Sources/Sprinkler/SprinklerInterface.cpp
Normal file
@ -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;
|
||||
}
|
||||
|
||||
|
||||
19
Sources/Sprinkler/SprinklerInterface.h
Normal file
19
Sources/Sprinkler/SprinklerInterface.h
Normal file
@ -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
|
||||
6
Sources/Sprinkler/SprinklerMgr.cpp
Normal file
6
Sources/Sprinkler/SprinklerMgr.cpp
Normal file
@ -0,0 +1,6 @@
|
||||
#include "SprinklerMgr.h"
|
||||
|
||||
CSprinklerMgr::CSprinklerMgr(QObject *parent) : QObject(parent)
|
||||
{
|
||||
|
||||
}
|
||||
17
Sources/Sprinkler/SprinklerMgr.h
Normal file
17
Sources/Sprinkler/SprinklerMgr.h
Normal file
@ -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;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user