Check-in pré-voyage
This commit is contained in:
parent
46d6d4ac05
commit
f6dffb12ca
@ -46,7 +46,7 @@ enum DEVICES_IDS
|
|||||||
ID_PC, //PC
|
ID_PC, //PC
|
||||||
ID_AV_MUX, //Audio Video Multiplexer
|
ID_AV_MUX, //Audio Video Multiplexer
|
||||||
ID_IR_REMOTE, //Infra red transmitter
|
ID_IR_REMOTE, //Infra red transmitter
|
||||||
ID_DEADBOLT,
|
ID_DEADBOLT_DEVICE,
|
||||||
ID_RECEIVER_AMP,
|
ID_RECEIVER_AMP,
|
||||||
ID_SMS_CLIENT,
|
ID_SMS_CLIENT,
|
||||||
ID_ETHERNET_VIRTUAL,
|
ID_ETHERNET_VIRTUAL,
|
||||||
@ -147,6 +147,17 @@ enum DEADBOLT_CMDS
|
|||||||
DEADBOLT_DEVICE_ACK = 1,
|
DEADBOLT_DEVICE_ACK = 1,
|
||||||
DEADBOLT_DEVICE_STATUS_REQUEST,
|
DEADBOLT_DEVICE_STATUS_REQUEST,
|
||||||
DEADBOLT_DEVICE_STATUS_RESPONSE,
|
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
|
MAX_DEADBOLT_DEVICE_CMD
|
||||||
};
|
};
|
||||||
@ -157,6 +168,23 @@ enum SPRINKLER_DEVICE_CMDS
|
|||||||
SPRINKLER_DEVICE_ACK = 1,
|
SPRINKLER_DEVICE_ACK = 1,
|
||||||
SPRINKLER_DEVICE_STATUS_REQUEST,
|
SPRINKLER_DEVICE_STATUS_REQUEST,
|
||||||
SPRINKLER_DEVICE_STATUS_RESPONSE,
|
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
|
MAX_SPRINKLER_DEVICE_CMD
|
||||||
};
|
};
|
||||||
@ -167,6 +195,16 @@ enum SPRINKLER_INTERFACE_CMDS
|
|||||||
SPRINKLER_INTERFACE_ACK = 1,
|
SPRINKLER_INTERFACE_ACK = 1,
|
||||||
SPRINKLER_INTERFACE_STATUS_REQUEST,
|
SPRINKLER_INTERFACE_STATUS_REQUEST,
|
||||||
SPRINKLER_INTERFACE_STATUS_RESPONSE,
|
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
|
MAX_SPRINKLER_INTERFACE_CMD
|
||||||
};
|
};
|
||||||
|
|||||||
@ -1,47 +1,28 @@
|
|||||||
#ifndef CSMSMASTERCTRLINTERFACE_H
|
#ifndef CSMSMASTERCTRLINTERFACE_H
|
||||||
#define CSMSMASTERCTRLINTERFACE_H
|
#define CSMSMASTERCTRLINTERFACE_H
|
||||||
|
|
||||||
//#include "NetworkProtocol.h"
|
|
||||||
//#include "GlobalDefine.h"
|
|
||||||
//#include "ProtocolDefs.h"
|
|
||||||
//#include <QTcpSocket>
|
|
||||||
//#include "SMSMessage.h"
|
|
||||||
#include "MasterCtrlInterface.h"
|
#include "MasterCtrlInterface.h"
|
||||||
|
|
||||||
|
|
||||||
class CSystemGui;
|
class CSystemGui;
|
||||||
class CSMSClient
|
class CSMSClient;
|
||||||
;
|
|
||||||
class CSMSMasterCtrlInterface: public CMasterCtrlInterface//CNetworkProtocol
|
class CSMSMasterCtrlInterface: public CMasterCtrlInterface//CNetworkProtocol
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
|
|
||||||
CSMSMasterCtrlInterface(CSMSClient *ProgramHandle);
|
CSMSMasterCtrlInterface(CSMSClient *ProgramHandle);
|
||||||
~CSMSMasterCtrlInterface();
|
~CSMSMasterCtrlInterface();
|
||||||
|
|
||||||
CSMSClient *mProgramHandle;
|
CSMSClient *mProgramHandle;
|
||||||
|
|
||||||
// virtual int DeviceFrameReceived(int TargetDeviceID, int TargetDeviceAddress, int SenderID, int SenderAddress, int MessageID, int DataSize, QByteArray Data);
|
|
||||||
|
|
||||||
// QTcpSocket *mNetworkCommSocket;
|
|
||||||
// int mDeviceAddress;
|
|
||||||
// int mNetworkPort;
|
|
||||||
// QString mMasterCtrlAddress;
|
|
||||||
|
|
||||||
|
|
||||||
// int ConnectToMasterCtrl();
|
|
||||||
// int DisconnectMasterCtrl();
|
|
||||||
// virtual int NewFrameReceived(int TargetDeviceID, int TargetDeviceAddress, int SenderID, int SenderAddress, int MessageID, int DataSize, QByteArray Data);
|
|
||||||
|
|
||||||
virtual int DeviceFrameReceived(int TargetDeviceID, int TargetDeviceAddress, int SenderID, int SenderAddress, int MessageID, int DataSize, QByteArray Data);
|
virtual int DeviceFrameReceived(int TargetDeviceID, int TargetDeviceAddress, int SenderID, int SenderAddress, int MessageID, int DataSize, QByteArray Data);
|
||||||
virtual int DeviceConnectedToMaster(bool Connected);
|
virtual int DeviceConnectedToMaster(bool Connected);
|
||||||
|
|
||||||
void SendSMS(CSMSMessage Message);
|
void SendSMS(CSMSMessage Message);
|
||||||
|
|
||||||
//public slots:
|
|
||||||
// void NetworkSocketConnected();
|
|
||||||
// void NetworkSocketDataAvailable();
|
|
||||||
// void NetworkSocketDisconnected();
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // CSMSMasterCtrlInterface_H
|
#endif // CSMSMasterCtrlInterface_H
|
||||||
|
|||||||
62
Sources/Sprinkler/Sprinkler.cpp
Normal file
62
Sources/Sprinkler/Sprinkler.cpp
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
#include "Sprinkler.h"
|
||||||
|
|
||||||
|
|
||||||
|
CSprinkler::CSprinkler(CSprinklerGui *GUI)
|
||||||
|
{
|
||||||
|
mNetworkInterface = new CSprinklerMasterCtrlInterface(this);
|
||||||
|
mGui = GUI;
|
||||||
|
|
||||||
|
CSprinklerDevice *Sprinkler = new CSprinklerDevice();
|
||||||
|
mSprinklers.append(Sprinkler);
|
||||||
|
}
|
||||||
|
|
||||||
|
CSprinkler::~CSprinkler()
|
||||||
|
{
|
||||||
|
for(int i = 0; i < mSprinklers.size(); i++)
|
||||||
|
{
|
||||||
|
delete mSprinklers[i];
|
||||||
|
}
|
||||||
|
mSprinklers.clear();
|
||||||
|
}
|
||||||
|
|
||||||
|
CSprinklerDevice* CSprinkler::FindSprinkler(int DeviceAddress)
|
||||||
|
{
|
||||||
|
for(int i = 0; i < mSprinklers.size(); i++)
|
||||||
|
{
|
||||||
|
if(mSprinklers.at(i)->mDeviceAddress == DeviceAddress)
|
||||||
|
{
|
||||||
|
return mSprinklers[i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int CSprinkler::SetSprinklerState(int DeviceAddress, unsigned char State)
|
||||||
|
{
|
||||||
|
CSprinklerDevice *Dev = FindSprinkler(DeviceAddress);
|
||||||
|
if(Dev != 0)
|
||||||
|
{
|
||||||
|
Dev->SetSprinklerState((SprinklerState)State);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
int CSprinkler::SetSprinklerFlow(int DeviceAddress, unsigned short Flow)
|
||||||
|
{
|
||||||
|
CSprinklerDevice *Dev = FindSprinkler(DeviceAddress);
|
||||||
|
if(Dev != 0)
|
||||||
|
{
|
||||||
|
Dev->SetFlow(Flow);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
34
Sources/Sprinkler/Sprinkler.h
Normal file
34
Sources/Sprinkler/Sprinkler.h
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
#ifndef SPRINKLER_H
|
||||||
|
#define SPRINKLER_H
|
||||||
|
|
||||||
|
#include <QObject>
|
||||||
|
#include <QList>
|
||||||
|
#include "SprinklerMasterCtrlInterface.h"
|
||||||
|
#include "SprinklerGui.h"
|
||||||
|
#include "SprinklerDevice.h"
|
||||||
|
|
||||||
|
|
||||||
|
class CSprinkler : public QObject
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
public:
|
||||||
|
CSprinkler(CSprinklerGui *GUI);
|
||||||
|
~CSprinkler();
|
||||||
|
|
||||||
|
int SetSprinklerState(int DeviceAddress, unsigned char State);
|
||||||
|
int SetSprinklerFlow(int DeviceAddress, unsigned short Flow);
|
||||||
|
|
||||||
|
private:
|
||||||
|
CSprinklerDevice *FindSprinkler(int DeviceAddress);
|
||||||
|
|
||||||
|
public:
|
||||||
|
|
||||||
|
CSprinklerMasterCtrlInterface *mNetworkInterface;
|
||||||
|
CSprinklerGui *mGui;
|
||||||
|
QList<CSprinklerDevice*> mSprinklers;
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // SPRINKLER_H
|
||||||
32
Sources/Sprinkler/SprinklerDevice.cpp
Normal file
32
Sources/Sprinkler/SprinklerDevice.cpp
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
#include "SprinklerDevice.h"
|
||||||
|
|
||||||
|
|
||||||
|
CSprinklerDevice::CSprinklerDevice()
|
||||||
|
{
|
||||||
|
mDeviceLocation = "Backyard";
|
||||||
|
mDeviceAddress = 1;
|
||||||
|
mSprinklerState = SPRINKLER_UNKNOWN_STATE;
|
||||||
|
mFlowMeter = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int CSprinklerDevice::SetSprinklerState(SprinklerState State)
|
||||||
|
{
|
||||||
|
mSprinklerState = State;
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
SprinklerState CSprinklerDevice::GetSprinklerState()
|
||||||
|
{
|
||||||
|
return mSprinklerState;
|
||||||
|
}
|
||||||
|
|
||||||
|
int CSprinklerDevice::SetFlow(unsigned short flow)
|
||||||
|
{
|
||||||
|
mFlowMeter = flow;
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
unsigned short CSprinklerDevice::GetFlow()
|
||||||
|
{
|
||||||
|
return mFlowMeter;
|
||||||
|
}
|
||||||
27
Sources/Sprinkler/SprinklerDevice.h
Normal file
27
Sources/Sprinkler/SprinklerDevice.h
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
#ifndef CSPRINKLERDEVICE_H
|
||||||
|
#define CSPRINKLERDEVICE_H
|
||||||
|
#include <QString>
|
||||||
|
|
||||||
|
typedef enum eSprinklerState
|
||||||
|
{
|
||||||
|
SPRINKLER_OFF_STATE = 0,
|
||||||
|
SPRINKLER_ON_STATE,
|
||||||
|
SPRINKLER_UNKNOWN_STATE
|
||||||
|
}SprinklerState;
|
||||||
|
|
||||||
|
class CSprinklerDevice
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
CSprinklerDevice();
|
||||||
|
int SetSprinklerState(SprinklerState State);
|
||||||
|
SprinklerState GetSprinklerState();
|
||||||
|
int SetFlow(unsigned short flow);
|
||||||
|
unsigned short GetFlow();
|
||||||
|
|
||||||
|
SprinklerState mSprinklerState;
|
||||||
|
int mDeviceAddress;
|
||||||
|
QString mDeviceLocation;
|
||||||
|
unsigned short mFlowMeter;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // CSPRINKLERDEVICE_H
|
||||||
@ -5,6 +5,8 @@ CSprinklerGui::CSprinklerGui(QWidget *parent) :
|
|||||||
QWidget(parent)
|
QWidget(parent)
|
||||||
{
|
{
|
||||||
setupUi(this);
|
setupUi(this);
|
||||||
|
mValveSwitch->setCheckable(true);
|
||||||
|
mValveSwitch->setChecked(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
CSprinklerGui::~CSprinklerGui()
|
CSprinklerGui::~CSprinklerGui()
|
||||||
|
|||||||
@ -16,8 +16,8 @@
|
|||||||
<widget class="QLabel" name="label">
|
<widget class="QLabel" name="label">
|
||||||
<property name="geometry">
|
<property name="geometry">
|
||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>20</x>
|
||||||
<y>-10</y>
|
<y>10</y>
|
||||||
<width>201</width>
|
<width>201</width>
|
||||||
<height>51</height>
|
<height>51</height>
|
||||||
</rect>
|
</rect>
|
||||||
@ -26,7 +26,25 @@
|
|||||||
<string>Sprinklers</string>
|
<string>Sprinklers</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
|
<widget class="CToggleSwitch" name="mValveSwitch" native="true">
|
||||||
|
<property name="geometry">
|
||||||
|
<rect>
|
||||||
|
<x>220</x>
|
||||||
|
<y>90</y>
|
||||||
|
<width>91</width>
|
||||||
|
<height>81</height>
|
||||||
|
</rect>
|
||||||
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
|
</widget>
|
||||||
|
<customwidgets>
|
||||||
|
<customwidget>
|
||||||
|
<class>CToggleSwitch</class>
|
||||||
|
<extends>QWidget</extends>
|
||||||
|
<header>ToggleSwitch.h</header>
|
||||||
|
<container>1</container>
|
||||||
|
</customwidget>
|
||||||
|
</customwidgets>
|
||||||
<resources/>
|
<resources/>
|
||||||
<connections/>
|
<connections/>
|
||||||
</ui>
|
</ui>
|
||||||
|
|||||||
111
Sources/Sprinkler/SprinklerMasterCtrlInterface.cpp
Normal file
111
Sources/Sprinkler/SprinklerMasterCtrlInterface.cpp
Normal file
@ -0,0 +1,111 @@
|
|||||||
|
#include "SprinklerMasterCtrlInterface.h"
|
||||||
|
#include <QByteArray>
|
||||||
|
#include <QDataStream>
|
||||||
|
#include <QBuffer>
|
||||||
|
#include "SystemGui.h"
|
||||||
|
#include "Sprinkler.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
CSprinklerMasterCtrlInterface::CSprinklerMasterCtrlInterface(CSprinkler *ProgramHandle)
|
||||||
|
{
|
||||||
|
mDeviceAddress = 1;
|
||||||
|
mNetworkPort = 2182;
|
||||||
|
mMasterCtrlAddress = "127.0.0.1";
|
||||||
|
// mNetworkPort = 6463;
|
||||||
|
// mMasterCtrlAddress = "192.168.0.112";
|
||||||
|
mNetworkCommSocket = 0;
|
||||||
|
mMyDeviceID = ID_SPRINKLER_INTERFACE;
|
||||||
|
|
||||||
|
mProgramHandle = ProgramHandle;
|
||||||
|
}
|
||||||
|
|
||||||
|
CSprinklerMasterCtrlInterface::~CSprinklerMasterCtrlInterface()
|
||||||
|
{
|
||||||
|
// if(mNetworkCommSocket !=0)
|
||||||
|
// {
|
||||||
|
//// mNetworkCommSocket->disconnectFromHost();
|
||||||
|
// // delete mNetworkCommSocket;
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
|
||||||
|
int CSprinklerMasterCtrlInterface::DeviceConnectedToMaster(bool Connected)
|
||||||
|
{
|
||||||
|
if(Connected)
|
||||||
|
{
|
||||||
|
mNetworkCommSocket->write(GetTxPacket(SPRINKLER_INTERFACE_GET_SPRINKLERS_REQUEST,0,0,0,1,ID_MASTER,mMyDeviceID,mDeviceAddress));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
//???
|
||||||
|
}
|
||||||
|
return RET_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
int CSprinklerMasterCtrlInterface::DeviceFrameReceived(int TargetDeviceID, int TargetDeviceAddress, int SenderDeviceID, int SenderAddress, int MessageID, int DataSize, QByteArray Data)
|
||||||
|
{
|
||||||
|
Q_UNUSED(DataSize)
|
||||||
|
|
||||||
|
|
||||||
|
if(TargetDeviceID == mMyDeviceID && (TargetDeviceAddress == BROADCAST_VALUE || TargetDeviceAddress == mDeviceAddress))
|
||||||
|
{
|
||||||
|
switch(MessageID)
|
||||||
|
{
|
||||||
|
case SPRINKLER_INTERFACE_ACK:
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case SPRINKLER_INTERFACE_STATUS_REQUEST:
|
||||||
|
{
|
||||||
|
QByteArray Frame,ResponseData;
|
||||||
|
ResponseData.append(ACK);
|
||||||
|
ResponseData.append((char)SPRINKLER_INTERFACE_STATUS_RESPONSE);
|
||||||
|
Frame = GetTxPacket(SPRINKLER_INTERFACE_STATUS_RESPONSE,0,ResponseData.data(),ResponseData.size(),1,ID_MASTER,ID_SPRINKLER_INTERFACE,mDeviceAddress);
|
||||||
|
mNetworkCommSocket->write(Frame);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case SPRINKLER_INTERFACE_GET_SPRINKLERS_RESPONSE:
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case SPRINKLER_INTERFACE_GET_SPRINKLER_DATA_RESPONSE:
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case SPRINKLER_INTERFACE_SET_SPRINKLER_DATA_ACK:
|
||||||
|
{
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case SPRINKLER_INTERFACE_GET_SPRINKLER_STATE_RESPONSE:
|
||||||
|
{
|
||||||
|
for(int i = 0; i < Data.at(0); i++)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case SPRINKLER_INTERFACE_SET_SPRINKLER_STATE_ACK:
|
||||||
|
{
|
||||||
|
QByteArray Frame,RequestData;
|
||||||
|
RequestData.append(1); //device address
|
||||||
|
Frame = GetTxPacket(SPRINKLER_INTERFACE_GET_SPRINKLER_STATE_REQUEST,0,RequestData.data(),RequestData.size(),1,ID_MASTER,ID_SPRINKLER_INTERFACE,mDeviceAddress);
|
||||||
|
mNetworkCommSocket->write(Frame);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case SPRINKLER_INTERFACE_STATUS_RESPONSE:
|
||||||
|
case SPRINKLER_INTERFACE_GET_SPRINKLERS_REQUEST:
|
||||||
|
case SPRINKLER_INTERFACE_GET_SPRINKLER_DATA_REQUEST:
|
||||||
|
case SPRINKLER_INTERFACE_SET_SPRINKLER_DATA_REQUEST:
|
||||||
|
case SPRINKLER_INTERFACE_GET_SPRINKLER_STATE_REQUEST:
|
||||||
|
case SPRINKLER_INTERFACE_SET_SPRINKLER_STATE_REQUEST:
|
||||||
|
default:
|
||||||
|
{
|
||||||
|
qDebug("Sprinkler: Invalid Ethernet MSg received: %d",MessageID);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return RET_OK;
|
||||||
|
}
|
||||||
@ -6,6 +6,7 @@ CSystemGui::CSystemGui(QObject *parent) : QObject(parent)
|
|||||||
mGui = new CGuiMain();
|
mGui = new CGuiMain();
|
||||||
mProgramSettings = new CProgramSettings();
|
mProgramSettings = new CProgramSettings();
|
||||||
mSMSClient = new CSMSClient(mGui->mSMSGui,&mSettings.mVoipMSSettings);
|
mSMSClient = new CSMSClient(mGui->mSMSGui,&mSettings.mVoipMSSettings);
|
||||||
|
mSprinklers = new CSprinkler(mGui->mSprinklerGui);
|
||||||
|
|
||||||
mSysTrayMgr = new CSystemTrayManager();
|
mSysTrayMgr = new CSystemTrayManager();
|
||||||
mSysTrayMgr->mProgramHandle=this;
|
mSysTrayMgr->mProgramHandle=this;
|
||||||
|
|||||||
@ -6,6 +6,7 @@
|
|||||||
#include "SMSClient.h"
|
#include "SMSClient.h"
|
||||||
#include "ProgramSettings.h"
|
#include "ProgramSettings.h"
|
||||||
#include "SystemTrayManager.h"
|
#include "SystemTrayManager.h"
|
||||||
|
#include "Sprinkler.h"
|
||||||
|
|
||||||
class CSystemGui : public QObject
|
class CSystemGui : public QObject
|
||||||
{
|
{
|
||||||
@ -27,6 +28,7 @@ private:
|
|||||||
CProgramSettings *mProgramSettings;
|
CProgramSettings *mProgramSettings;
|
||||||
CSettings mSettings;
|
CSettings mSettings;
|
||||||
CSystemTrayManager *mSysTrayMgr;
|
CSystemTrayManager *mSysTrayMgr;
|
||||||
|
CSprinkler *mSprinklers;
|
||||||
|
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
|
|||||||
25
Sources/ToggleSwitch.cpp
Normal file
25
Sources/ToggleSwitch.cpp
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
#include "ToggleSwitch.h"
|
||||||
|
#include <QPainter>
|
||||||
|
|
||||||
|
CToggleSwitch::CToggleSwitch(QWidget *parent) :
|
||||||
|
QAbstractButton(parent)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void CToggleSwitch::paintEvent(QPaintEvent *e)
|
||||||
|
{
|
||||||
|
mOnPixmap = QPixmap("./Ico/switch-off-icon.png").scaled(size());
|
||||||
|
mOffPixmap = QPixmap("./Ico/switch-on-icon.png").scaled(size());
|
||||||
|
QPainter painter(this);
|
||||||
|
|
||||||
|
if(isChecked())
|
||||||
|
{
|
||||||
|
painter.drawPixmap(0,0,mOnPixmap);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
painter.drawPixmap(0,0,mOffPixmap);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
20
Sources/ToggleSwitch.h
Normal file
20
Sources/ToggleSwitch.h
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
#ifndef TOGGLESWITCH_H
|
||||||
|
#define TOGGLESWITCH_H
|
||||||
|
|
||||||
|
#include <QAbstractButton>
|
||||||
|
#include <QPixmap>
|
||||||
|
|
||||||
|
class CToggleSwitch : public QAbstractButton
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
public:
|
||||||
|
CToggleSwitch(QWidget *parent = 0);
|
||||||
|
QPixmap mOnPixmap, mOffPixmap;
|
||||||
|
|
||||||
|
void paintEvent(QPaintEvent *e);
|
||||||
|
signals:
|
||||||
|
|
||||||
|
public slots:
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // TOGGLESWITCH_H
|
||||||
@ -42,7 +42,11 @@ SOURCES += \
|
|||||||
Sources/SMSClient/Contact.cpp \
|
Sources/SMSClient/Contact.cpp \
|
||||||
Sources/SMSClient/ContactRepository.cpp \
|
Sources/SMSClient/ContactRepository.cpp \
|
||||||
Sources/SystemTrayManager.cpp \
|
Sources/SystemTrayManager.cpp \
|
||||||
Sources/Sprinkler/SprinklerGui.cpp
|
Sources/Sprinkler/SprinklerGui.cpp \
|
||||||
|
Sources/ToggleSwitch.cpp \
|
||||||
|
Sources/Sprinkler/Sprinkler.cpp \
|
||||||
|
Sources/Sprinkler/SprinklerMasterCtrlInterface.cpp \
|
||||||
|
Sources/Sprinkler/SprinklerDevice.cpp
|
||||||
|
|
||||||
HEADERS += Sources/AbstractNetworkInterface.h \
|
HEADERS += Sources/AbstractNetworkInterface.h \
|
||||||
Sources/GuiMain.h \
|
Sources/GuiMain.h \
|
||||||
@ -60,7 +64,11 @@ HEADERS += Sources/AbstractNetworkInterface.h \
|
|||||||
Sources/SMSClient/Contact.h \
|
Sources/SMSClient/Contact.h \
|
||||||
Sources/SMSClient/ContactRepository.h \
|
Sources/SMSClient/ContactRepository.h \
|
||||||
Sources/SystemTrayManager.h \
|
Sources/SystemTrayManager.h \
|
||||||
Sources/Sprinkler/SprinklerGui.h
|
Sources/Sprinkler/SprinklerGui.h \
|
||||||
|
Sources/ToggleSwitch.h \
|
||||||
|
Sources/Sprinkler/Sprinkler.h \
|
||||||
|
Sources/Sprinkler/SprinklerDevice.h \
|
||||||
|
Sources/Sprinkler/SprinklerMasterCtrlInterface.h
|
||||||
|
|
||||||
FORMS += \
|
FORMS += \
|
||||||
SMSGui.ui \
|
SMSGui.ui \
|
||||||
|
|||||||
@ -16,6 +16,7 @@
|
|||||||
#include <QtWidgets/QHeaderView>
|
#include <QtWidgets/QHeaderView>
|
||||||
#include <QtWidgets/QLabel>
|
#include <QtWidgets/QLabel>
|
||||||
#include <QtWidgets/QWidget>
|
#include <QtWidgets/QWidget>
|
||||||
|
#include "ToggleSwitch.h"
|
||||||
|
|
||||||
QT_BEGIN_NAMESPACE
|
QT_BEGIN_NAMESPACE
|
||||||
|
|
||||||
@ -23,6 +24,7 @@ class Ui_CSprinklerGui
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
QLabel *label;
|
QLabel *label;
|
||||||
|
CToggleSwitch *mValveSwitch;
|
||||||
|
|
||||||
void setupUi(QWidget *CSprinklerGui)
|
void setupUi(QWidget *CSprinklerGui)
|
||||||
{
|
{
|
||||||
@ -31,7 +33,10 @@ public:
|
|||||||
CSprinklerGui->resize(1047, 560);
|
CSprinklerGui->resize(1047, 560);
|
||||||
label = new QLabel(CSprinklerGui);
|
label = new QLabel(CSprinklerGui);
|
||||||
label->setObjectName(QStringLiteral("label"));
|
label->setObjectName(QStringLiteral("label"));
|
||||||
label->setGeometry(QRect(0, -10, 201, 51));
|
label->setGeometry(QRect(20, 10, 201, 51));
|
||||||
|
mValveSwitch = new CToggleSwitch(CSprinklerGui);
|
||||||
|
mValveSwitch->setObjectName(QStringLiteral("mValveSwitch"));
|
||||||
|
mValveSwitch->setGeometry(QRect(220, 90, 91, 81));
|
||||||
|
|
||||||
retranslateUi(CSprinklerGui);
|
retranslateUi(CSprinklerGui);
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user