diff --git a/.qmake.stash b/.qmake.stash new file mode 100644 index 0000000..d717b0a --- /dev/null +++ b/.qmake.stash @@ -0,0 +1,15 @@ +QMAKE_DEFAULT_INCDIRS = \ + /usr/include/c++/5 \ + /usr/include/x86_64-linux-gnu/c++/5 \ + /usr/include/c++/5/backward \ + /usr/lib/gcc/x86_64-linux-gnu/5/include \ + /usr/local/include \ + /usr/lib/gcc/x86_64-linux-gnu/5/include-fixed \ + /usr/include/x86_64-linux-gnu \ + /usr/include +QMAKE_DEFAULT_LIBDIRS = \ + /usr/lib/gcc/x86_64-linux-gnu/5 \ + /usr/lib/x86_64-linux-gnu \ + /usr/lib \ + /lib/x86_64-linux-gnu \ + /lib diff --git a/Ico/switch-off-icon.png b/Ico/switch-off-icon.png new file mode 100644 index 0000000..b44e820 Binary files /dev/null and b/Ico/switch-off-icon.png differ diff --git a/Ico/switch-on-icon.png b/Ico/switch-on-icon.png new file mode 100644 index 0000000..6e5ef9b Binary files /dev/null and b/Ico/switch-on-icon.png differ diff --git a/Sources/SMSClient/SMSMasterCtrlInterface.cpp b/Sources/SMSClient/SMSMasterCtrlInterface.cpp index 746e278..2ef0393 100644 --- a/Sources/SMSClient/SMSMasterCtrlInterface.cpp +++ b/Sources/SMSClient/SMSMasterCtrlInterface.cpp @@ -11,9 +11,10 @@ CSMSMasterCtrlInterface::CSMSMasterCtrlInterface(CSMSClient *ProgramHandle) { mDeviceAddress = 1; mNetworkPort = 2182; - mMasterCtrlAddress = "127.0.0.1"; +// mMasterCtrlAddress = "127.0.0.1"; // mNetworkPort = 6463; -// mMasterCtrlAddress = "192.168.0.112"; + // mMasterCtrlAddress = "192.168.0.100"; + mMasterCtrlAddress = "mortel.myftp.org"; mNetworkCommSocket = 0; mMyDeviceID = ID_SMS_CLIENT; diff --git a/Sources/Sprinkler/SprinklerDevice.cpp b/Sources/Sprinkler/SprinklerDevice.cpp index 40437e6..6e9b413 100644 --- a/Sources/Sprinkler/SprinklerDevice.cpp +++ b/Sources/Sprinkler/SprinklerDevice.cpp @@ -1,5 +1,6 @@ #include "SprinklerDevice.h" +<<<<<<< HEAD CSprinklerDevice::CSprinklerDevice() { @@ -29,4 +30,9 @@ int CSprinklerDevice::SetFlow(unsigned short flow) unsigned short CSprinklerDevice::GetFlow() { return mFlowMeter; +======= +CSprinklerDevice::CSprinklerDevice(QObject *parent) : QObject(parent) +{ + +>>>>>>> 2c22dda0f4b581f6a3d2d892b18202b64b8bc289 } diff --git a/Sources/Sprinkler/SprinklerDevice.h b/Sources/Sprinkler/SprinklerDevice.h index 2855cee..2b19610 100644 --- a/Sources/Sprinkler/SprinklerDevice.h +++ b/Sources/Sprinkler/SprinklerDevice.h @@ -1,3 +1,4 @@ +<<<<<<< HEAD #ifndef CSPRINKLERDEVICE_H #define CSPRINKLERDEVICE_H #include @@ -25,3 +26,22 @@ public: }; #endif // CSPRINKLERDEVICE_H +======= +#ifndef SPRINKLERDEVICE_H +#define SPRINKLERDEVICE_H + +#include + +class CSprinklerDevice : public QObject +{ + Q_OBJECT +public: + explicit CSprinklerDevice(QObject *parent = 0); + +signals: + +public slots: +}; + +#endif // SPRINKLERDEVICE_H +>>>>>>> 2c22dda0f4b581f6a3d2d892b18202b64b8bc289 diff --git a/Sources/Sprinkler/SprinklerDeviceGuiItem.cpp b/Sources/Sprinkler/SprinklerDeviceGuiItem.cpp new file mode 100644 index 0000000..c81e7fe --- /dev/null +++ b/Sources/Sprinkler/SprinklerDeviceGuiItem.cpp @@ -0,0 +1,13 @@ +#include "SprinklerDeviceGuiItem.h" + + +CSprinklerDeviceGuiItem::CSprinklerDeviceGuiItem(QWidget *parent) : + QWidget(parent) +{ + setupUi(this); +} + +CSprinklerDeviceGuiItem::~CSprinklerDeviceGuiItem() +{ + +} diff --git a/Sources/Sprinkler/SprinklerDeviceGuiItem.h b/Sources/Sprinkler/SprinklerDeviceGuiItem.h new file mode 100644 index 0000000..f164e82 --- /dev/null +++ b/Sources/Sprinkler/SprinklerDeviceGuiItem.h @@ -0,0 +1,22 @@ +#ifndef SPRINKLERDEVICEGUIITEM_H +#define SPRINKLERDEVICEGUIITEM_H + +#include +#include "ui_SprinklerDeviceGuiItem.h" + +namespace Ui { +class CSprinklerDeviceGuiItem; +} + +class CSprinklerDeviceGuiItem : public QWidget, public Ui::CSprinklerDeviceGuiItem +{ + Q_OBJECT + +public: + explicit CSprinklerDeviceGuiItem(QWidget *parent = 0); + ~CSprinklerDeviceGuiItem(); + + +}; + +#endif // SPRINKLERDEVICEGUIITEM_H diff --git a/Sources/Sprinkler/SprinklerDeviceGuiItem.ui b/Sources/Sprinkler/SprinklerDeviceGuiItem.ui new file mode 100644 index 0000000..65a2c68 --- /dev/null +++ b/Sources/Sprinkler/SprinklerDeviceGuiItem.ui @@ -0,0 +1,74 @@ + + + CSprinklerDeviceGuiItem + + + + 0 + 0 + 540 + 399 + + + + Form + + + + + 20 + 10 + 101 + 41 + + + + Address : + + + + + + 20 + 50 + 131 + 41 + + + + Flow speed : + + + + + + 30 + 100 + 54 + 17 + + + + State : + + + + + + 220 + 20 + 80 + 25 + + + + PushButton + + + true + + + + + + diff --git a/Sources/Sprinkler/SprinklerGui.ui b/Sources/Sprinkler/SprinklerGui.ui index bace86c..f596983 100644 --- a/Sources/Sprinkler/SprinklerGui.ui +++ b/Sources/Sprinkler/SprinklerGui.ui @@ -23,7 +23,7 @@ - Sprinklers + Sprinklers network diff --git a/Sources/Sprinkler/SprinklerMasterCtrlInterface.cpp.autosave b/Sources/Sprinkler/SprinklerMasterCtrlInterface.cpp.autosave new file mode 100644 index 0000000..891c2de --- /dev/null +++ b/Sources/Sprinkler/SprinklerMasterCtrlInterface.cpp.autosave @@ -0,0 +1,111 @@ +#include "SprinklerMasterCtrlInterface.h" +#include +#include +#include +#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++) + { + mProgramHandle->SetSprinklerState(Data.at(1+(i+1)*i)),Data.at(2+((i+1)*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; +} diff --git a/Sources/Sprinkler/SprinklerMasterCtrlInterface.h b/Sources/Sprinkler/SprinklerMasterCtrlInterface.h new file mode 100644 index 0000000..79d08ad --- /dev/null +++ b/Sources/Sprinkler/SprinklerMasterCtrlInterface.h @@ -0,0 +1,28 @@ +#ifndef CSPRINKLERMASTERCTRLINTERFACE_H +#define CSPRINKLERMASTERCTRLINTERFACE_H + +#include "MasterCtrlInterface.h" + + +//class CSystemGui; +class CSprinkler; + + +class CSprinklerMasterCtrlInterface: public CMasterCtrlInterface +{ + //Q_OBJECT +public: + + + CSprinkler *mProgramHandle; + + CSprinklerMasterCtrlInterface(CSprinkler *ProgramHandle); + ~CSprinklerMasterCtrlInterface(); + + virtual int DeviceFrameReceived(int TargetDeviceID, int TargetDeviceAddress, int SenderID, int SenderAddress, int MessageID, int DataSize, QByteArray Data); + virtual int DeviceConnectedToMaster(bool Connected); + + +}; + +#endif // CSPRINKLERMASTERCTRLINTERFACE_H diff --git a/SystemGui.pro b/SystemGui.pro index b2d59dd..2a8f29a 100644 --- a/SystemGui.pro +++ b/SystemGui.pro @@ -43,9 +43,13 @@ SOURCES += \ Sources/SMSClient/ContactRepository.cpp \ Sources/SystemTrayManager.cpp \ Sources/Sprinkler/SprinklerGui.cpp \ +<<<<<<< HEAD Sources/ToggleSwitch.cpp \ Sources/Sprinkler/Sprinkler.cpp \ Sources/Sprinkler/SprinklerMasterCtrlInterface.cpp \ +======= + Sources/Sprinkler/SprinklerDeviceGuiItem.cpp \ +>>>>>>> 2c22dda0f4b581f6a3d2d892b18202b64b8bc289 Sources/Sprinkler/SprinklerDevice.cpp HEADERS += Sources/AbstractNetworkInterface.h \ @@ -65,11 +69,17 @@ HEADERS += Sources/AbstractNetworkInterface.h \ Sources/SMSClient/ContactRepository.h \ Sources/SystemTrayManager.h \ Sources/Sprinkler/SprinklerGui.h \ +<<<<<<< HEAD Sources/ToggleSwitch.h \ Sources/Sprinkler/Sprinkler.h \ Sources/Sprinkler/SprinklerDevice.h \ Sources/Sprinkler/SprinklerMasterCtrlInterface.h +======= + Sources/Sprinkler/SprinklerDeviceGuiItem.h \ + Sources/Sprinkler/SprinklerDevice.h +>>>>>>> 2c22dda0f4b581f6a3d2d892b18202b64b8bc289 FORMS += \ SMSGui.ui \ - Sources/Sprinkler/SprinklerGui.ui + Sources/Sprinkler/SprinklerGui.ui \ + Sources/Sprinkler/SprinklerDeviceGuiItem.ui