From 49cd147334acf3fc6e97cd32ca103bf538807093 Mon Sep 17 00:00:00 2001 From: jfmartel Date: Sun, 11 Dec 2022 13:17:19 -0500 Subject: [PATCH] =?UTF-8?q?Beaucoup=20de=20dev...=20d=C3=A9but=20de=20Lora?= =?UTF-8?q?ModuleInterface?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Configuration/Settings.mcs | Bin 110 -> 125 bytes MasterCtrl.pro | 11 +- Sources/AvReceiver/AVReceiverDevice.cpp | 131 ++++++------ Sources/AvReceiver/AVReceiverDevice.h | 7 +- Sources/AvReceiver/AvReceiverData.cpp | 30 ++- Sources/AvReceiver/AvReceiverData.h | 5 +- Sources/AvReceiver/AvReceiverInterface.cpp | 14 +- Sources/Chalet/ChaletInterface.cpp | 12 ++ Sources/Chalet/ChaletInterface.h | 1 + Sources/Chalet/ChaletLoraDevice.cpp | 11 +- Sources/Chalet/ChaletLoraDevice.h | 2 + Sources/Gui/LoraSettingsGui.cpp | 38 ++++ Sources/Gui/LoraSettingsGui.h | 28 +++ Sources/Gui/LoraSettingsGui.ui | 195 ++++++++++++++++++ Sources/Gui/SettingsWindow.cpp | 16 ++ Sources/Gui/SettingsWindow.h | 2 + Sources/Ispindel/IspindelDevice.cpp | 2 +- .../LoraModuleInterface.cpp | 16 ++ .../LoraModuleInterface/LoraModuleInterface.h | 27 +++ Sources/LoraNetworkCommIF.cpp | 16 +- Sources/LoraNetworkCommIF.h | 3 + Sources/MasterCtrl.cpp | 13 +- Sources/NetworkProtocol.cpp | 1 + Sources/ProgramSettings.cpp | 12 ++ Sources/ProgramSettings.h | 4 + Sources/ProtocolDefs.h | 63 +++++- ui_LoraSettingsGui.h | 121 +++++++++++ 27 files changed, 686 insertions(+), 95 deletions(-) create mode 100644 Sources/Gui/LoraSettingsGui.cpp create mode 100644 Sources/Gui/LoraSettingsGui.h create mode 100644 Sources/Gui/LoraSettingsGui.ui create mode 100644 Sources/LoraModuleInterface/LoraModuleInterface.cpp create mode 100644 Sources/LoraModuleInterface/LoraModuleInterface.h create mode 100644 ui_LoraSettingsGui.h diff --git a/Configuration/Settings.mcs b/Configuration/Settings.mcs index df599b135cbcf5388ec1be89df21d2711a3a64fb..93f7ef7a6ef541bad789b15d2a44a2fc315a2f3f 100644 GIT binary patch delta 26 hcmd0+onXe){C1*+89xI90|$dMgFk~WgDC?$3jkuL1z7+9 delta 10 Rcmb=;n_$M&G=HLn82}b91JnQj diff --git a/MasterCtrl.pro b/MasterCtrl.pro index daabd28..aa29a7b 100644 --- a/MasterCtrl.pro +++ b/MasterCtrl.pro @@ -53,7 +53,9 @@ HEADERS += \ Sources/Chalet/ChaletModbusServer.h \ Sources/Ispindel/IspindelDevice.h \ Sources/Ispindel/IspindelDataLogger.h \ - Sources/Ispindel/IspindelInterface.h + Sources/Ispindel/IspindelInterface.h \ + Sources/Gui/LoraSettingsGui.h \ + Sources/LoraModuleInterface/LoraModuleInterface.h SOURCES += \ Sources/Chalet/ChaletData.cpp \ @@ -99,7 +101,9 @@ SOURCES += \ Sources/Chalet/ChaletModbusServer.cpp \ Sources/Ispindel/IspindelDevice.cpp \ Sources/Ispindel/IspindelDataLogger.cpp \ - Sources/Ispindel/IspindelInterface.cpp + Sources/Ispindel/IspindelInterface.cpp \ + Sources/Gui/LoraSettingsGui.cpp \ + Sources/LoraModuleInterface/LoraModuleInterface.cpp DEFINES -= Q_OS_UNIX @@ -123,3 +127,6 @@ INCLUDEPATH += $$PWD/ \ # $$PWD/Lib/QtHTTPServer/include/ \ LIBS += -L$$PWD/Lib/QtHTTPServer/ -lQt5HttpServer + +FORMS += \ + Sources/Gui/LoraSettingsGui.ui diff --git a/Sources/AvReceiver/AVReceiverDevice.cpp b/Sources/AvReceiver/AVReceiverDevice.cpp index 2969d9f..c6b83f6 100644 --- a/Sources/AvReceiver/AVReceiverDevice.cpp +++ b/Sources/AvReceiver/AVReceiverDevice.cpp @@ -1,6 +1,7 @@ #include "AVReceiverDevice.h" #include "GlobalDefine.h" #include "ProtocolDefs.h" +#include /** @@ -46,7 +47,8 @@ CAVReceiverDevice::CAVReceiverDevice() CAVReceiverDevice::~CAVReceiverDevice() { mReceiverSocket->disconnectFromHost(); - mReceiverSocket->waitForDisconnected(); + mReceiverSocket->waitForDisconnected(100); + delete mReceiverSocket; delete mDisconnectTimer; delete mStateRequestTimer; @@ -113,27 +115,36 @@ int CAVReceiverDevice::AnalyseRxData(QByteArray data) int CAVReceiverDevice::UpdateReceiverStateParam(QString SubUnit, QString Fcn, QString Param) { static bool AllValid = false; - + CAvReceiverMainStatus *UnitStatus = 0; if(SubUnit == "MAIN") + { + UnitStatus = &mReceiverStatus; + } + else if(SubUnit == "ZONE2") + { + UnitStatus = &mZone2Status; + } + + if(UnitStatus != 0) { if(Fcn == "PWR") { if(Param == "On") { - mReceiverStatus.mMainPwrStatus = true; + UnitStatus->mMainPwrStatus = true; } else - mReceiverStatus.mMainPwrStatus = false; + UnitStatus->mMainPwrStatus = false; } if(Fcn == "SLEEP") { if(Param == "On") { - mReceiverStatus.mMainSleepStatus = true; + UnitStatus->mMainSleepStatus = true; } else { - mReceiverStatus.mMainSleepStatus = false; + UnitStatus->mMainSleepStatus = false; } } else if(Fcn == "VOL") @@ -142,53 +153,31 @@ int CAVReceiverDevice::UpdateReceiverStateParam(QString SubUnit, QString Fcn, QS float Vol = Param.toFloat(&OK); if(OK) { - mReceiverStatus.mMainVolume = Vol; + UnitStatus->mMainVolume = Vol; } else { - mReceiverStatus.mMainPwrStatus = 0xDEADBEEF; + UnitStatus->mMainPwrStatus = 0xDEADBEEF; } } else if(Fcn == "MUTE") { if(Param == "On") { - mReceiverStatus.mIsMute = true; + UnitStatus->mIsMute = true; } else { - mReceiverStatus.mIsMute = false; + UnitStatus->mIsMute = false; } } else if (Fcn == "INP") { - mReceiverStatus.mInput = Param; + UnitStatus->mInput = Param; } else if (Fcn == "SOUNDPRG") { - mReceiverStatus.mProgram = Param; - } - else if(Fcn == "SPEAKERA") - { - if(Param == "On") - { - mReceiverStatus.mSpeakerAState = true; - } - else - { - mReceiverStatus.mSpeakerAState = false; - } - } - else if(Fcn == "SPEAKERB") - { - if(Param == "On") - { - mReceiverStatus.mSpeakerBState = true; - } - else - { - mReceiverStatus.mSpeakerBState = false; - } + UnitStatus->mProgram = Param; } } return RET_OK; @@ -197,9 +186,10 @@ int CAVReceiverDevice::UpdateReceiverStateParam(QString SubUnit, QString Fcn, QS int CAVReceiverDevice::SendReceiverCommand(QString Command) { //Make sure the escape sequence is correct. - Command.remove("\r"); - Command.remove("\n"); - Command.append("\r\n"); +// Command.remove("\r"); +// Command.remove("\n"); +// Command.append("\r\n"); + if(mReceiverSocket->state() == QAbstractSocket::ConnectedState) { @@ -265,7 +255,7 @@ void CAVReceiverDevice::StateRequestTimerExpired() { if(mReceiverSocket->state() != QAbstractSocket::ConnectedState) { - SendReceiverCommand("@MAIN:BASIC=?"); + SendReceiverCommand("@MAIN:BASIC=?\r\n@ZONE2:BASIC=?\r\n"); mStateRequestTimer->start(RECEIVER_STATE_UPDATE_TIMEOUT); DisconnectReceiverDelayed(1000); } @@ -278,30 +268,30 @@ void CAVReceiverDevice::StateRequestTimerExpired() ////// Network Interface Implementation -int CAVReceiverDevice::SetSpeakerB(bool OnOff) +int CAVReceiverDevice::SetZone2(bool OnOff) { - QString Cmd = "@MAIN:SPEAKERB="; + QString Cmd = "@ZONE2:PWR="; if(OnOff) { - Cmd += "On"; + Cmd += "On\r\n"; } else - Cmd += "Off"; + Cmd += "Standby\r\n"; SendReceiverCommand(Cmd); DisconnectReceiverDelayed(); return RET_OK; } -int CAVReceiverDevice::SetSpeakerA(bool OnOff) +int CAVReceiverDevice::SetMainZone(bool OnOff) { - QString Cmd = "@MAIN:SPEAKERA="; + QString Cmd = "@MAIN:PWR="; if(OnOff) { - Cmd += "On"; + Cmd += "On\r\n"; } else - Cmd += "Off"; + Cmd += "Standby\r\n"; SendReceiverCommand(Cmd); DisconnectReceiverDelayed(); @@ -315,22 +305,22 @@ int CAVReceiverDevice::SetSpeakers(int SpeakerA, int SpeakerB) QString Cmd = "@MAIN:SPEAKERA="; if(SpeakerA == RECEIVER_SET_SPK_ON) { - Cmd += "On"; + Cmd += "On\r\n"; } else if(SpeakerA == RECEIVER_SET_SPK_OFF) { - Cmd += "Off"; + Cmd += "Off\r\n"; } else if(SpeakerA == RECEVIVER_TOGGLE_SPK) { - if(mReceiverStatus.mSpeakerAState == true) - { - Cmd += "Off"; - } - else - { - Cmd += "On"; - } +// if(mReceiverStatus.mSpeakerAState == true) +// { +// Cmd += "Off"; +// } +// else +// { +// Cmd += "On"; +// } } else { @@ -354,14 +344,14 @@ int CAVReceiverDevice::SetSpeakers(int SpeakerA, int SpeakerB) } else if(SpeakerB == RECEVIVER_TOGGLE_SPK) { - if(mReceiverStatus.mSpeakerAState == true) - { - Cmd += "Off"; - } - else - { - Cmd += "On"; - } +// if(mReceiverStatus.mSpeakerAState == true) +// { +// Cmd += "Off"; +// } +// else +// { +// Cmd += "On"; +// } } else { @@ -382,3 +372,16 @@ int CAVReceiverDevice::SendRawCommand(QString Cmd) } +QByteArray CAVReceiverDevice::GetReceiverStatus() +{ + QByteArray StatusArray; + QDataStream Strm(&StatusArray,QIODevice::WriteOnly | QIODevice::Unbuffered); + Strm.device()->seek(0); + + Strm << mReceiverStatus + << mZone2Status ; + + + return StatusArray; +} + diff --git a/Sources/AvReceiver/AVReceiverDevice.h b/Sources/AvReceiver/AVReceiverDevice.h index 8d44d41..1ef2ed0 100644 --- a/Sources/AvReceiver/AVReceiverDevice.h +++ b/Sources/AvReceiver/AVReceiverDevice.h @@ -67,17 +67,18 @@ private: public: //Network Interface Implementation - int SetSpeakerB(bool OnOff); - int SetSpeakerA(bool OnOff); + int SetZone2(bool OnOff); + int SetMainZone(bool OnOff); int SetSpeakers(int SpeakerA, int SpeakerB); int SendRawCommand(QString Cmd); - CAvReceiverMainStatus GetReceiverStatus(){return mReceiverStatus;} + QByteArray GetReceiverStatus(); private: QTcpSocket *mReceiverSocket; int AnalyseRxData(QByteArray data); QTimer *mDisconnectTimer, *mStateRequestTimer; CAvReceiverMainStatus mReceiverStatus; + CAvReceiverMainStatus mZone2Status; bool mIsConnected; QString mPendingCommand; diff --git a/Sources/AvReceiver/AvReceiverData.cpp b/Sources/AvReceiver/AvReceiverData.cpp index f8ace7a..3196332 100644 --- a/Sources/AvReceiver/AvReceiverData.cpp +++ b/Sources/AvReceiver/AvReceiverData.cpp @@ -20,8 +20,6 @@ QByteArray CAvReceiverMainStatus::ToByteArray() Strm << mIsMute; Strm << mInput; Strm << mProgram; - Strm << mSpeakerAState; - Strm << mSpeakerBState; Strm << mDataValid; Strm << mReceiverOnline; @@ -41,8 +39,6 @@ int CAvReceiverMainStatus::FromByteArray(QByteArray Data) Strm >> mIsMute; Strm >> mInput; Strm >> mProgram; - Strm >> mSpeakerAState; - Strm >> mSpeakerBState; Strm >> mDataValid; Strm >> mReceiverOnline; @@ -50,3 +46,29 @@ int CAvReceiverMainStatus::FromByteArray(QByteArray Data) return RET_OK; } +QDataStream &operator<<(QDataStream &out, const CAvReceiverMainStatus &source) +{ + out << source.mMainPwrStatus + << source.mMainSleepStatus + << source.mMainVolume + << source.mIsMute + << source.mInput + << source.mProgram + << source.mDataValid + << source.mReceiverOnline; + + return out; +} + +QDataStream &operator>>(QDataStream &in, CAvReceiverMainStatus &dest) +{ + in >> dest.mMainPwrStatus + >> dest.mMainSleepStatus + >> dest.mMainVolume + >> dest.mIsMute + >> dest.mInput + >> dest.mProgram + >> dest.mDataValid + >> dest.mReceiverOnline; + return in; +} diff --git a/Sources/AvReceiver/AvReceiverData.h b/Sources/AvReceiver/AvReceiverData.h index 28c4c02..a518c02 100644 --- a/Sources/AvReceiver/AvReceiverData.h +++ b/Sources/AvReceiver/AvReceiverData.h @@ -19,12 +19,13 @@ public: bool mIsMute; QString mInput; QString mProgram; - bool mSpeakerAState; - bool mSpeakerBState; bool mDataValid; bool mReceiverOnline; }; +QDataStream &operator<<(QDataStream &out, const CAvReceiverMainStatus &source); +QDataStream &operator>>(QDataStream &in, CAvReceiverMainStatus &dest); + #endif // AVRECEIVERDATA_H diff --git a/Sources/AvReceiver/AvReceiverInterface.cpp b/Sources/AvReceiver/AvReceiverInterface.cpp index 418c355..823b5cc 100644 --- a/Sources/AvReceiver/AvReceiverInterface.cpp +++ b/Sources/AvReceiver/AvReceiverInterface.cpp @@ -23,7 +23,7 @@ int CAvReceiverInterface::NewDeviceFrameReceived(int DeviceID, int DeviceAddress } case AV_RECEIVER_INTERFACE_GENERAL_STATUS_REQUEST: { - QByteArray data = mAvReceiverDevice->GetReceiverStatus().ToByteArray(); + QByteArray data = mAvReceiverDevice->GetReceiverStatus(); mNetworkInterfacePtr->SendNetworkMessage(ID_AVRECEIVER_INTERFACE,mDeviceAddress,AV_RECEIVER_INTERFACE_GENERAL_STATUS_RESPONSE,data.size(),&data); break; } @@ -32,16 +32,16 @@ int CAvReceiverInterface::NewDeviceFrameReceived(int DeviceID, int DeviceAddress { break; } - case AV_RECEIVER_INTERFACE_SET_SPEAKERB_REQUEST: + case AV_RECEIVER_INTERFACE_SET_ZONE2_REQUEST: { bool SpkStatus = (bool)Data[0]; - mAvReceiverDevice->SetSpeakerB(SpkStatus); + mAvReceiverDevice->SetZone2(SpkStatus); break; } - case AV_RECEIVER_INTERFACE_SET_SPEAKERA_REQUEST: + case AV_RECEIVER_INTERFACE_SET_MAIN_ZONE_REQUEST: { bool SpkStatus = (bool)Data[0]; - mAvReceiverDevice->SetSpeakerA(SpkStatus); + mAvReceiverDevice->SetMainZone(SpkStatus); break; } @@ -55,10 +55,10 @@ int CAvReceiverInterface::NewDeviceFrameReceived(int DeviceID, int DeviceAddress } case AV_RECEIVER_INTERFACE_GENERAL_STATUS_RESPONSE: case AV_RECEIVER_INTERFACE_SET_MAIN_POWER_RESPONSE: - case AV_RECEIVER_INTERFACE_SET_SPEAKERB_RESPONSE: + case AV_RECEIVER_INTERFACE_SET_ZONE2_RESPONSE: case AV_RECEIVER_INTERFACE_SEND_DIRECT_CMD_RESPONSE: case AV_RECEIVER_INTERFACE_SET_SPEAKERS_RESPONSE: - case AV_RECEIVER_INTERFACE_SET_SPEAKERA_RESPONSE: + case AV_RECEIVER_INTERFACE_SET_MAIN_ZONE_RESPONSE: default: { qDebug("Received invalid msg from Sprinkler Interface"); diff --git a/Sources/Chalet/ChaletInterface.cpp b/Sources/Chalet/ChaletInterface.cpp index e2ec483..579872f 100644 --- a/Sources/Chalet/ChaletInterface.cpp +++ b/Sources/Chalet/ChaletInterface.cpp @@ -9,6 +9,7 @@ CChaletInterface::CChaletInterface(int Address, CAbstractNetworkCommIF *NetworkI connect(mChaletLoraDevice,SIGNAL(DeviceWifiStoredParamsReceived()),this,SLOT(DeviceWiFiDataReceived())); connect(mChaletLoraDevice,SIGNAL(DeviceFirmwareVersionReceived()),this,SLOT(DeviceFirmwareVersionReceived())); + connect(mChaletLoraDevice,SIGNAL(DeviceWifiStatusReceived(QByteArray)),this,SLOT(DeviceWifiStatusReceived(QByteArray))); } @@ -119,6 +120,11 @@ int CChaletInterface::NewDeviceFrameReceived(int DeviceID, int DeviceAddress, in // mChaletLoraDevice->ResetCommStats(); break; } + case CHALET_INTERFACE_GET_WIFI_STATUS_REQUEST: + { + mChaletLoraDevice->SendGetWifiStatusRequest(); + break; + } case CHALET_INTERFACE_WIFI_GET_DEVICE_PARAMS_RESPONSE: case CHALET_INTERFACE_WIFI_SET_DEVICE_PARAMS_RESPONSE: case CHALET_INTERFACE_GET_DATA_LOG_RESPONSE: @@ -129,6 +135,7 @@ int CChaletInterface::NewDeviceFrameReceived(int DeviceID, int DeviceAddress, in case CHALET_INTERFACE_BATTERY_VOLTAGE_RESPONSE: case CHALET_INTERFACE_WIFI_SET_STATE_RESPONSE: case CHALET_INTERFACE_CLEAR_COMMS_STATS_RESPONSE: + case CHALET_INTERFACE_GET_WIFI_STATUS_RESPONSE: { break; @@ -160,3 +167,8 @@ void CChaletInterface::DeviceFirmwareVersionReceived() QByteArray Data = mChaletLoraDevice->GetDeviceFirmwareVersion(); mNetworkInterfacePtr->SendNetworkMessage(ID_CHALET_INTERFACE,mDeviceAddress,CHALET_INTERFACE_GET_FIRMWARE_VERSION_RESPONSE,Data.size(),&Data); } + +void CChaletInterface::DeviceWifiStatusReceived(QByteArray Data) +{ + mNetworkInterfacePtr->SendNetworkMessage(ID_CHALET_INTERFACE,mDeviceAddress,CHALET_INTERFACE_GET_WIFI_STATUS_RESPONSE,Data.size(),&Data); +} diff --git a/Sources/Chalet/ChaletInterface.h b/Sources/Chalet/ChaletInterface.h index fd0edf7..7258896 100644 --- a/Sources/Chalet/ChaletInterface.h +++ b/Sources/Chalet/ChaletInterface.h @@ -21,6 +21,7 @@ private: public slots: void DeviceWiFiDataReceived(); void DeviceFirmwareVersionReceived(); + void DeviceWifiStatusReceived(QByteArray Data); }; diff --git a/Sources/Chalet/ChaletLoraDevice.cpp b/Sources/Chalet/ChaletLoraDevice.cpp index 78ce9f1..7f39d28 100644 --- a/Sources/Chalet/ChaletLoraDevice.cpp +++ b/Sources/Chalet/ChaletLoraDevice.cpp @@ -169,8 +169,8 @@ int CChaletLoraDevice::NewDeviceFrameReceived(int DeviceID, int DeviceAddress, i } case CHALET_WIFI_STATUS_RESPONSE: { - mChaletMainStatus.mWiFiModuleStatus = Data[0]; CmdResponseReceived(CHALET_WIFI_STATUS_REQUEST); + emit DeviceWifiStatusReceived(Data); break; } case CHALET_WIFI_SET_STATE_RESPONSE: @@ -211,7 +211,7 @@ int CChaletLoraDevice::NewDeviceFrameReceived(int DeviceID, int DeviceAddress, i { CmdResponseReceived(CHALET_GET_STORED_WIFI_SETTINGS_REQUEST); - mDeviceWiFiParameters = Data.left(8); + mDeviceWiFiParameters = Data.left(DataSize); emit DeviceWifiStoredParamsReceived(); break; } @@ -370,6 +370,11 @@ int CChaletLoraDevice::SendClearCommStatsRequest() return ScheduleChaletCommand(CHALET_CLEAR_COMMS_STATISTICS_REQUEST,QByteArray()); } +int CChaletLoraDevice::SendGetWifiStatusRequest() +{ + return ScheduleChaletCommand(CHALET_WIFI_STATUS_REQUEST,QByteArray()); +} + int CChaletLoraDevice::SendChaletCommand(int CmdID, int DataSize, QByteArray Data) { mNetworkInterfacePtr->SendNetworkMessage(ID_CHALET_DEVICE,mDeviceAddress,CmdID,DataSize,&Data); @@ -416,6 +421,8 @@ int CChaletLoraDevice::CmdResponseReceived(int CmdID) return RET_OK; } + + int CChaletLoraDevice::ScheduleChaletStatusRequest() { return ScheduleChaletCommand(CHALET_GENERAL_STATUS_REQUEST,0,QByteArray()); diff --git a/Sources/Chalet/ChaletLoraDevice.h b/Sources/Chalet/ChaletLoraDevice.h index d84acc8..ee6aec5 100644 --- a/Sources/Chalet/ChaletLoraDevice.h +++ b/Sources/Chalet/ChaletLoraDevice.h @@ -73,6 +73,7 @@ public: int SendSetWifiParams(QByteArray Data); int SendGetFirmwareVersion(); int SendClearCommStatsRequest(); + int SendGetWifiStatusRequest(); int CmdResponseReceived(int CmdID); int ScheduleChaletStatusRequest(); @@ -85,6 +86,7 @@ signals: void DeviceWifiStoredParamsReceived(); void DeviceWifiSetParamsResult(char); void DeviceFirmwareVersionReceived(); + void DeviceWifiStatusReceived(QByteArray); public slots: void CommTimerExpired(); diff --git a/Sources/Gui/LoraSettingsGui.cpp b/Sources/Gui/LoraSettingsGui.cpp new file mode 100644 index 0000000..af3aa74 --- /dev/null +++ b/Sources/Gui/LoraSettingsGui.cpp @@ -0,0 +1,38 @@ +#include "LoraSettingsGui.h" +#include "ui_LoraSettingsGui.h" +#include "ProgramSettings.h" + +CLoraSettingsGui::CLoraSettingsGui(QWidget *parent) : + QWidget(parent), + ui(new Ui::CLoraSettingsGui) +{ + ui->setupUi(this); +} + +CLoraSettingsGui::~CLoraSettingsGui() +{ + delete ui; +} + +CLoraSettingsGui::SetSettings(CSettings *settings) +{ + ui->mLoraAddressSpinBx->setValue(settings->mChaletLoraAddress); + ui->mComportComboBox->setCurrentText(settings->mChaletComPort); + return RET_OK; +} + +quint16 CLoraSettingsGui::GetChaletLoraAddress() +{ + quint16 Add = ui->mLoraAddressSpinBx->value(); + return Add; +} + +quint8 CLoraSettingsGui::GetChaletLoraChannel() +{ + return 4; +} + +QString CLoraSettingsGui::GetChaletLoraComPort() +{ + return ui->mComportComboBox->currentText(); +} diff --git a/Sources/Gui/LoraSettingsGui.h b/Sources/Gui/LoraSettingsGui.h new file mode 100644 index 0000000..79c3f9e --- /dev/null +++ b/Sources/Gui/LoraSettingsGui.h @@ -0,0 +1,28 @@ +#ifndef LORASETTINGSGUI_H +#define LORASETTINGSGUI_H + +#include + +class CSettings; + +namespace Ui { +class CLoraSettingsGui; +} + +class CLoraSettingsGui : public QWidget +{ + Q_OBJECT + +public: + explicit CLoraSettingsGui(QWidget *parent = 0); + ~CLoraSettingsGui(); + int SetSettings(CSettings* settings); + QString GetChaletLoraComPort(); + quint8 GetChaletLoraChannel(); + quint16 GetChaletLoraAddress(); + +private: + Ui::CLoraSettingsGui *ui; +}; + +#endif // LORASETTINGSGUI_H diff --git a/Sources/Gui/LoraSettingsGui.ui b/Sources/Gui/LoraSettingsGui.ui new file mode 100644 index 0000000..b318871 --- /dev/null +++ b/Sources/Gui/LoraSettingsGui.ui @@ -0,0 +1,195 @@ + + + CLoraSettingsGui + + + + 0 + 0 + 553 + 413 + + + + Form + + + + + 100 + 10 + 151 + 16 + + + + + 12 + + + + Lora Settings + + + + + + 50 + 120 + 221 + 191 + + + + Chalet + + + + + 10 + 40 + 71 + 16 + + + + Lora Address: + + + + + + 10 + 20 + 71 + 16 + + + + Lora Channel: + + + + + + 90 + 20 + 71 + 16 + + + + 4 + + + + + + 90 + 40 + 71 + 22 + + + + 1 + + + 65535 + + + 6 + + + + + + 80 + 80 + 69 + 22 + + + + + COM1 + + + + + COM2 + + + + + COM3 + + + + + COM4 + + + + + COM5 + + + + + COM6 + + + + + COM7 + + + + + COM8 + + + + + COM9 + + + + + COM10 + + + + + + + 20 + 80 + 51 + 16 + + + + Com Port: + + + + + + 20 + 110 + 91 + 31 + + + + Chalet = 7 +Chaloupe = 8 + + + + + + + diff --git a/Sources/Gui/SettingsWindow.cpp b/Sources/Gui/SettingsWindow.cpp index c85e564..d27d565 100644 --- a/Sources/Gui/SettingsWindow.cpp +++ b/Sources/Gui/SettingsWindow.cpp @@ -14,10 +14,13 @@ CSettingsWindow::CSettingsWindow() QVBoxLayout *MainLayout = new QVBoxLayout; QWidget *mPagesContainer = new QWidget(this); + mLoraSettingsPage = new CLoraSettingsGui(mPagesContainer); + mOptionsTabBar = new QTabBar(); mOptionsTabBar->addTab("SMS"); mOptionsTabBar->addTab("Network"); mOptionsTabBar->addTab("Contacts"); + mOptionsTabBar->addTab("Lora"); mOptionsTabBar->resize(this->geometry().width(),mOptionsTabBar->height()); MainLayout->addWidget(mOptionsTabBar); @@ -160,14 +163,22 @@ void CSettingsWindow::TabBarClicked(int TabIndex) { mSMSPage->hide(); mContactsPage->hide(); + mLoraSettingsPage->hide(); } else if(TabIndex == 2)//Contacts { mSMSPage->hide(); + mLoraSettingsPage->hide(); mContactsPage->show(); } + else if(TabIndex == 3) //Lora + { + mSMSPage->hide(); + mContactsPage->hide(); + mLoraSettingsPage->show(); + } } void CSettingsWindow::RetreiveDIDButtonClicked(bool checked) @@ -207,6 +218,8 @@ unsigned int CSettingsWindow::SetSettingsData(CSettings *SettingsData) mDIDSelectionDropList->clear(); mDIDSelectionDropList->addItem(SettingsData->mVoipMSSettings.mDefaultDID); mVoipMSCalendar->setSelectedDate(SettingsData->mVoipMSSettings.mStartDate); + mLoraSettingsPage->SetSettings(SettingsData); + return RET_OK; } @@ -219,6 +232,9 @@ void CSettingsWindow::DoneButtonClicked(bool checked) Settings->mVoipMSSettings.mPassword = mVoipMSPassword->text(); Settings->mVoipMSSettings.mStartDate = mVoipMSCalendar->selectedDate(); Settings->mVoipMSSettings.mUsername = mVoipMSUsername->text(); + Settings->mChaletComPort = mLoraSettingsPage->GetChaletLoraComPort(); + Settings->mChaletLoraAddress = mLoraSettingsPage->GetChaletLoraAddress(); + Settings->mChaletLoraChannel = mLoraSettingsPage->GetChaletLoraChannel(); mProgramHandle->SaveSettings(Settings); mProgramHandle->SettingsWindowClosed(); diff --git a/Sources/Gui/SettingsWindow.h b/Sources/Gui/SettingsWindow.h index fe8c630..731e2d0 100644 --- a/Sources/Gui/SettingsWindow.h +++ b/Sources/Gui/SettingsWindow.h @@ -11,6 +11,7 @@ #include "ProgramSettings.h" #include "QTableWidget" #include +#include "LoraSettingsGui.h" class CMasterCtrl; @@ -28,6 +29,7 @@ public: QWidget *mSMSPage; QWidget *mContactsPage; QTabBar *mOptionsTabBar; + CLoraSettingsGui *mLoraSettingsPage; //SMS Page QLineEdit *mVoipMSUsername; diff --git a/Sources/Ispindel/IspindelDevice.cpp b/Sources/Ispindel/IspindelDevice.cpp index 678613d..d396474 100644 --- a/Sources/Ispindel/IspindelDevice.cpp +++ b/Sources/Ispindel/IspindelDevice.cpp @@ -135,7 +135,7 @@ bool CIspindelDevice::DeleteSampleRequest(int SampleIndex) } mIspindelLog.removeAt(SampleIndex); - mDataLogger.WriteLogToFile(&mIspindelLog); + mDataLogger.WriteLogToFile(&mIspindelLog,false); return true; diff --git a/Sources/LoraModuleInterface/LoraModuleInterface.cpp b/Sources/LoraModuleInterface/LoraModuleInterface.cpp new file mode 100644 index 0000000..e12fe0a --- /dev/null +++ b/Sources/LoraModuleInterface/LoraModuleInterface.cpp @@ -0,0 +1,16 @@ +#include "LoraModuleInterface.h" + +CLoraModuleInterface::CLoraModuleInterface() +{ + +} + +int CLoraModuleInterface::NewFrameReceived(int DeviceID, int DeviceAddress, int MessageID, int DataSize, QByteArray Data) +{ + return RET_OK; +} + +int CLoraModuleInterface::SendNetworkMessage(int DeviceID, int DeviceAddress, int MessageID, int DataSize, QByteArray *Data) +{ + return RET_OK; +} diff --git a/Sources/LoraModuleInterface/LoraModuleInterface.h b/Sources/LoraModuleInterface/LoraModuleInterface.h new file mode 100644 index 0000000..4c1e705 --- /dev/null +++ b/Sources/LoraModuleInterface/LoraModuleInterface.h @@ -0,0 +1,27 @@ +#ifndef LORAMODULEINTERFACE_H +#define LORAMODULEINTERFACE_H + +#include +#include +#include +#include "NetworkProtocol.h" +#include "AbstractNetworkInterface.h" +#include "NetworkDevice.h" + +class CLoraModuleInterface : public QObject, public CNetworkProtocol, public CAbstractNetworkCommIF +{ + Q_OBJECT + +public: + CLoraModuleInterface(); + + + + //NetworkProtocol implementation + virtual int NewFrameReceived(int DeviceID, int DeviceAddress, int MessageID, int DataSize, QByteArray Data); + + //NetworkCommIF implementation + virtual int SendNetworkMessage(int DeviceID, int DeviceAddress, int MessageID, int DataSize, QByteArray *Data); +}; + +#endif // LORAMODULEINTERFACE_H diff --git a/Sources/LoraNetworkCommIF.cpp b/Sources/LoraNetworkCommIF.cpp index 1e8522b..bf6a838 100644 --- a/Sources/LoraNetworkCommIF.cpp +++ b/Sources/LoraNetworkCommIF.cpp @@ -10,6 +10,9 @@ CLoraNetworkCommIF::CLoraNetworkCommIF() mLoraMagicResponse.append(0xAD); mLoraMagicResponse.append(0xBE); mLoraMagicResponse.append(0xEF); + + mDestLoraAddress = 6; + mDestLoraChannel = 4; } QByteArray CLoraNetworkCommIF::GetLoraFrame(unsigned short DestAddress, unsigned char DestChannel, QByteArray Payload) @@ -63,6 +66,7 @@ int CLoraNetworkCommIF::SendLoraFrame(unsigned short DestAddress, unsigned char { mLoraDeviceSerialPort.write(GetLoraFrame(DestAddress,DestChannel,Payload)); + mLoraDeviceSerialPort.write(Payload); mLoraDeviceSerialPort.waitForBytesWritten(500); return RET_OK; @@ -73,7 +77,7 @@ void CLoraNetworkCommIF::LoraDeviceNewDataReady() { QByteArray NewData = mLoraDeviceSerialPort.readAll(); -// QString Printf = "New Lora Data: "; + QString Printf = "New Lora Data: "; AnalyzeRxBuffer(NewData); @@ -108,7 +112,15 @@ int CLoraNetworkCommIF::NewFrameReceived(int DeviceID, int DeviceAddress, int Me int CLoraNetworkCommIF::SendNetworkMessage(int DeviceID, int DeviceAddress, int MessageID, int DataSize, QByteArray *Data) { QByteArray Packet = GetTxPacket(MessageID,0,Data->data(),DataSize,DeviceAddress,DeviceID); - SendLoraFrame(6,4,Packet); //channel 6 = chalet + //SendLoraFrame(6,4,Packet); //channel 6 = chalet //SendLoraFrame(7,4,Packet); //channel 7 = chaloupe + SendLoraFrame(mDestLoraAddress,mDestLoraChannel,Packet); + return RET_OK; +} + +int CLoraNetworkCommIF::SetLoraDestinationAddress(quint16 Address, quint8 Channel) +{ + mDestLoraAddress = Address; + mDestLoraChannel = Channel; return RET_OK; } diff --git a/Sources/LoraNetworkCommIF.h b/Sources/LoraNetworkCommIF.h index f4a688f..206fa71 100644 --- a/Sources/LoraNetworkCommIF.h +++ b/Sources/LoraNetworkCommIF.h @@ -22,10 +22,13 @@ public: unsigned short mMyLoraAddress; unsigned char mMyLoraChannel; + unsigned short mDestLoraAddress; + unsigned char mDestLoraChannel; QSerialPort mLoraDeviceSerialPort; int SendLoraFrame(unsigned short DestAddress,unsigned char DestChannel,QByteArray Payload); int SetLoraSerialPortSettings(QString PortName, qint32 BaudRate); + int SetLoraDestinationAddress(quint16 Address, quint8 Channel); //NetworkProtocol implementation int NewFrameReceived(int DeviceID, int DeviceAddress, int MessageID, int DataSize, QByteArray Data); diff --git a/Sources/MasterCtrl.cpp b/Sources/MasterCtrl.cpp index e21c58f..2aac48e 100644 --- a/Sources/MasterCtrl.cpp +++ b/Sources/MasterCtrl.cpp @@ -16,8 +16,7 @@ CMasterCtrl::CMasterCtrl() mSettingsWindow->mProgramHandle = this; mChaletLoraNetworkCommInterface = new CLoraNetworkCommIF(); - mChaletLoraNetworkCommInterface->mMyLoraAddress = 5; - mChaletLoraNetworkCommInterface->mMyLoraChannel = 4; + mChaletLoraDevice = new CChaletLoraDevice(1,mChaletLoraNetworkCommInterface); // mChaletLoraInterface = new CChaletLoraInterface(mRooftopTowerLoraDevice); @@ -95,7 +94,10 @@ void CMasterCtrl::Start() mAVReceiverDevice->Start(); - mChaletLoraNetworkCommInterface->SetLoraSerialPortSettings("COM3",QSerialPort::Baud9600); + mChaletLoraNetworkCommInterface->mMyLoraAddress = 5; + mChaletLoraNetworkCommInterface->mMyLoraChannel = 4; + mChaletLoraNetworkCommInterface->SetLoraDestinationAddress(mMasterCtrlSettings.mChaletLoraAddress,mMasterCtrlSettings.mChaletLoraChannel); + mChaletLoraNetworkCommInterface->SetLoraSerialPortSettings(mMasterCtrlSettings.mChaletComPort,QSerialPort::Baud9600); // mChaletLoraNetworkCommInterface->SetLoraSerialPortSettings("COM5",QSerialPort::Baud9600); mChaletLoraDevice->Start(); @@ -110,7 +112,8 @@ void CMasterCtrl::Start() unsigned int CMasterCtrl::QuitApplicationRequest() { - QApplication::exit(69); + // QApplication::exit(69); + QCoreApplication::quit(); return RET_OK; } @@ -141,6 +144,8 @@ unsigned int CMasterCtrl::SettingsWindowClosed() { mVoipMsSMSClient->SetVOIPMsSettings(&mMasterCtrlSettings.mVoipMSSettings); mVoipMsSMSClient->DownloadSMSFromServer(); + mChaletLoraNetworkCommInterface->SetLoraDestinationAddress(mMasterCtrlSettings.mChaletLoraAddress,mMasterCtrlSettings.mChaletLoraChannel); + mChaletLoraNetworkCommInterface->SetLoraSerialPortSettings(mMasterCtrlSettings.mChaletComPort,QSerialPort::Baud9600); return RET_OK; } diff --git a/Sources/NetworkProtocol.cpp b/Sources/NetworkProtocol.cpp index cc7b2b9..e226fdd 100644 --- a/Sources/NetworkProtocol.cpp +++ b/Sources/NetworkProtocol.cpp @@ -304,6 +304,7 @@ int CNetworkProtocol::RxStateMachine(unsigned char Data) { ResetRxStateMachine(); ret = PROTOCOL_RET_ERROR_BAD_CRC; + qDebug("LORA: Bad CRC"); break; } diff --git a/Sources/ProgramSettings.cpp b/Sources/ProgramSettings.cpp index 806bdad..596f232 100644 --- a/Sources/ProgramSettings.cpp +++ b/Sources/ProgramSettings.cpp @@ -51,6 +51,9 @@ void CProgramSettings::LoadDefaultSettings(CSettings *Settings) Settings->mVoipMSSettings.mPassword = "Voip.ms Password"; Settings->mVoipMSSettings.mUsername = "Voip.ms Username"; Settings->mVoipMSSettings.mStartDate = QDate::currentDate(); + Settings->mChaletComPort = "COM3"; + Settings->mChaletLoraAddress = 6; + Settings->mChaletLoraChannel = 4; } unsigned int CProgramSettings::SaveSettings(CSettings *SettingsData) @@ -89,6 +92,9 @@ unsigned int CProgramSettings::SaveSettings(CSettings *SettingsData) QDataStream &operator<<(QDataStream &out, const CSettings &source) { out << source.mVoipMSSettings; + out << source.mChaletComPort; + out << source.mChaletLoraAddress; + out << source.mChaletLoraChannel; return out; } @@ -96,6 +102,9 @@ QDataStream &operator<<(QDataStream &out, const CSettings &source) QDataStream &operator>>(QDataStream &in, CSettings &dest) { in >> dest.mVoipMSSettings; + in >> dest.mChaletComPort; + in >> dest.mChaletLoraAddress; + in >> dest.mChaletLoraChannel; return in; } @@ -142,5 +151,8 @@ CSettings& CSettings::operator =(const CSettings &source) return *this; } this->mVoipMSSettings = source.mVoipMSSettings; + this->mChaletComPort = source.mChaletComPort; + this->mChaletLoraAddress = source.mChaletLoraAddress; + this->mChaletLoraChannel = source.mChaletLoraChannel; return *this; } diff --git a/Sources/ProgramSettings.h b/Sources/ProgramSettings.h index d1625a3..c6b9ed0 100644 --- a/Sources/ProgramSettings.h +++ b/Sources/ProgramSettings.h @@ -27,6 +27,10 @@ class CSettings { public: CVoipMSSMSSettings mVoipMSSettings; + QString mChaletComPort; + quint16 mChaletLoraAddress; + quint8 mChaletLoraChannel; + CSettings &operator=(const CSettings &source); }; diff --git a/Sources/ProtocolDefs.h b/Sources/ProtocolDefs.h index 7361250..3cec969 100644 --- a/Sources/ProtocolDefs.h +++ b/Sources/ProtocolDefs.h @@ -61,6 +61,7 @@ enum DEVICES_IDS ID_CHALET_INTERFACE, ID_CHALET_DEVICE, ID_ISPINDEL_INTERFACE, + ID_LORA_INTERFACE, ID_NB_DEVICE_ID }; @@ -236,10 +237,10 @@ enum AV_RECEIVER_INTERFACE_CMDS AV_RECEIVER_INTERFACE_GENERAL_STATUS_RESPONSE, AV_RECEIVER_INTERFACE_SET_MAIN_POWER_REQUEST, AV_RECEIVER_INTERFACE_SET_MAIN_POWER_RESPONSE, - AV_RECEIVER_INTERFACE_SET_SPEAKERB_REQUEST, - AV_RECEIVER_INTERFACE_SET_SPEAKERB_RESPONSE, - AV_RECEIVER_INTERFACE_SET_SPEAKERA_REQUEST, - AV_RECEIVER_INTERFACE_SET_SPEAKERA_RESPONSE, + AV_RECEIVER_INTERFACE_SET_ZONE2_REQUEST, + AV_RECEIVER_INTERFACE_SET_ZONE2_RESPONSE, + AV_RECEIVER_INTERFACE_SET_MAIN_ZONE_REQUEST, + AV_RECEIVER_INTERFACE_SET_MAIN_ZONE_RESPONSE, AV_RECEIVER_INTERFACE_SET_SPEAKERS_REQUEST, AV_RECEIVER_INTERFACE_SET_SPEAKERS_RESPONSE, AV_RECEIVER_INTERFACE_SEND_DIRECT_CMD_REQUEST, @@ -279,6 +280,8 @@ enum CHALET_INTERFACE_CMDS CHALET_INTERFACE_GET_FIRMWARE_VERSION_RESPONSE, CHALET_INTERFACE_CLEAR_COMMS_STATS_REQUEST, CHALET_INTERFACE_CLEAR_COMMS_STATS_RESPONSE, + CHALET_INTERFACE_GET_WIFI_STATUS_REQUEST, + CHALET_INTERFACE_GET_WIFI_STATUS_RESPONSE, @@ -319,6 +322,40 @@ enum CHALET_CMDS MAX_CHALET_CMD }; +enum BOOTLOADER_CMDS +{ + BOOTLOADER_ACK = 1, + BOOTLOADER_HEARTBEAT_REQUEST, + BOOTLOADER_HEARTBEAT_RESPONSE, + BOOTLOADER_ERASE_BOOTLOADER_FLASH_REQUEST, + BOOTLOADER_ERASE_BOOTLOADER_FLASH_RESPONSE, + BOOTLOADER_ERASE_BOOTLOADER_FLASH_RESULT_RESPONSE, + BOOTLOADER_INIT_UPLOAD_REQUEST, + BOOTLOADER_INIT_UPLOAD_RESPONSE, + BOOTLOADER_GET_STATE_REQUEST, + BOOTLOADER_GET_STATE_RESPONSE, + BOOTLOADER_READY_FOR_DATA_RESPONSE, + BOOTLOADER_SEND_DATA_CHUNK_REQUEST, + BOOTLOADER_SEND_DATA_CHUNK_RESPONSE, + BOOTLOADER_UPLOAD_FINISHED_REQUEST, + BOOTLOADER_UPLOAD_FINISHED_RESPONSE, + BOOTLOADER_EXECUTE_UPGRAGE_REQUEST, + BOOTLOADER_EXECUTE_UPGRADE_RESPONSE, + BOOTLOADER_ABORT_OPERATION_REQUEST, + BOOTLOADER_ABORT_OPERATION_RESPONSE, + BOOTLOADER_SEND_FLASH_DATA_REQUEST, + BOOTLOADER_SEND_FLASH_DATA_RESPONSE, + BOOTLOADER_SEND_FLASH_DATA_CHUNK, + BOOTLOADER_SEND_FLASH_DATA_CHUNK_RESPONSE, + BOOTLOADER_CHECK_FLASH_FIRMW_INTEGRITY_REQUEST, + BOOTLOADER_CHECK_FLASH_FIRMW_INTEGRITY_RESPONSE, + BOOTLOADER_GET_STORED_FIRMWARE_INFO_REQUEST, + BOOTLOADER_GET_STORED_FIRMWARE_INFO_RESPONSE, + + + MAX_BOOTLOADER_CMD +}; + enum ISPINDLE_CMDS { ISPINDLE_ACK = 1, @@ -332,4 +369,22 @@ enum ISPINDLE_CMDS MAX_ISPINDLE_CMDS }; +enum LORA_INTERFACE_CMDS +{ + LORA_IF_ACK = 1, + LORA_IF_GET_STATUS_REQUEST, + LORA_IF_GET_STATUS_RESPONSE, + LORA_IF_SEND_FRAME_REQUEST, + LORA_IF_SEND_FRAME_RESPONSE, + LORA_IF_NEW_FRAME_RESPONSE, + LORA_IF_GET_MODULE_CONFIG_REQUEST, + LORA_IF_GET_MODULE_CONFIG_RESPONSE, + LORA_IF_GET_RSSI_REQUEST, + LORA_IF_GET_RSSI_RESPONSE, + LORA_IF_SET_MODULE_CONFIG_REQUEST, + LORA_IF_SET_MODULE_CONFIG_RESPONSE, + + MAX_LORA_IF_CMD +}; + #endif diff --git a/ui_LoraSettingsGui.h b/ui_LoraSettingsGui.h new file mode 100644 index 0000000..88520f4 --- /dev/null +++ b/ui_LoraSettingsGui.h @@ -0,0 +1,121 @@ +/******************************************************************************** +** Form generated from reading UI file 'LoraSettingsGui.ui' +** +** Created by: Qt User Interface Compiler version 5.14.2 +** +** WARNING! All changes made in this file will be lost when recompiling UI file! +********************************************************************************/ + +#ifndef UI_LORASETTINGSGUI_H +#define UI_LORASETTINGSGUI_H + +#include +#include +#include +#include +#include +#include +#include + +QT_BEGIN_NAMESPACE + +class Ui_CLoraSettingsGui +{ +public: + QLabel *label; + QGroupBox *groupBox; + QLabel *label_2; + QLabel *label_3; + QLabel *label_4; + QSpinBox *mLoraAddressSpinBx; + QComboBox *mComportComboBox; + QLabel *label_5; + QLabel *label_6; + + void setupUi(QWidget *CLoraSettingsGui) + { + if (CLoraSettingsGui->objectName().isEmpty()) + CLoraSettingsGui->setObjectName(QString::fromUtf8("CLoraSettingsGui")); + CLoraSettingsGui->resize(553, 413); + label = new QLabel(CLoraSettingsGui); + label->setObjectName(QString::fromUtf8("label")); + label->setGeometry(QRect(100, 10, 151, 16)); + QFont font; + font.setPointSize(12); + label->setFont(font); + groupBox = new QGroupBox(CLoraSettingsGui); + groupBox->setObjectName(QString::fromUtf8("groupBox")); + groupBox->setGeometry(QRect(50, 120, 221, 191)); + label_2 = new QLabel(groupBox); + label_2->setObjectName(QString::fromUtf8("label_2")); + label_2->setGeometry(QRect(10, 40, 71, 16)); + label_3 = new QLabel(groupBox); + label_3->setObjectName(QString::fromUtf8("label_3")); + label_3->setGeometry(QRect(10, 20, 71, 16)); + label_4 = new QLabel(groupBox); + label_4->setObjectName(QString::fromUtf8("label_4")); + label_4->setGeometry(QRect(90, 20, 71, 16)); + mLoraAddressSpinBx = new QSpinBox(groupBox); + mLoraAddressSpinBx->setObjectName(QString::fromUtf8("mLoraAddressSpinBx")); + mLoraAddressSpinBx->setGeometry(QRect(90, 40, 71, 22)); + mLoraAddressSpinBx->setMinimum(1); + mLoraAddressSpinBx->setMaximum(65535); + mLoraAddressSpinBx->setValue(6); + mComportComboBox = new QComboBox(groupBox); + mComportComboBox->addItem(QString()); + mComportComboBox->addItem(QString()); + mComportComboBox->addItem(QString()); + mComportComboBox->addItem(QString()); + mComportComboBox->addItem(QString()); + mComportComboBox->addItem(QString()); + mComportComboBox->addItem(QString()); + mComportComboBox->addItem(QString()); + mComportComboBox->addItem(QString()); + mComportComboBox->addItem(QString()); + mComportComboBox->setObjectName(QString::fromUtf8("mComportComboBox")); + mComportComboBox->setGeometry(QRect(80, 80, 69, 22)); + label_5 = new QLabel(groupBox); + label_5->setObjectName(QString::fromUtf8("label_5")); + label_5->setGeometry(QRect(20, 80, 51, 16)); + label_6 = new QLabel(groupBox); + label_6->setObjectName(QString::fromUtf8("label_6")); + label_6->setGeometry(QRect(20, 110, 91, 31)); + + retranslateUi(CLoraSettingsGui); + + QMetaObject::connectSlotsByName(CLoraSettingsGui); + } // setupUi + + void retranslateUi(QWidget *CLoraSettingsGui) + { + CLoraSettingsGui->setWindowTitle(QCoreApplication::translate("CLoraSettingsGui", "Form", nullptr)); + label->setText(QCoreApplication::translate("CLoraSettingsGui", "Lora Settings", nullptr)); + groupBox->setTitle(QCoreApplication::translate("CLoraSettingsGui", "Chalet", nullptr)); + label_2->setText(QCoreApplication::translate("CLoraSettingsGui", "Lora Address:", nullptr)); + label_3->setText(QCoreApplication::translate("CLoraSettingsGui", "Lora Channel:", nullptr)); + label_4->setText(QCoreApplication::translate("CLoraSettingsGui", "4", nullptr)); + mComportComboBox->setItemText(0, QCoreApplication::translate("CLoraSettingsGui", "COM1", nullptr)); + mComportComboBox->setItemText(1, QCoreApplication::translate("CLoraSettingsGui", "COM2", nullptr)); + mComportComboBox->setItemText(2, QCoreApplication::translate("CLoraSettingsGui", "COM3", nullptr)); + mComportComboBox->setItemText(3, QCoreApplication::translate("CLoraSettingsGui", "COM4", nullptr)); + mComportComboBox->setItemText(4, QCoreApplication::translate("CLoraSettingsGui", "COM5", nullptr)); + mComportComboBox->setItemText(5, QCoreApplication::translate("CLoraSettingsGui", "COM6", nullptr)); + mComportComboBox->setItemText(6, QCoreApplication::translate("CLoraSettingsGui", "COM7", nullptr)); + mComportComboBox->setItemText(7, QCoreApplication::translate("CLoraSettingsGui", "COM8", nullptr)); + mComportComboBox->setItemText(8, QCoreApplication::translate("CLoraSettingsGui", "COM9", nullptr)); + mComportComboBox->setItemText(9, QCoreApplication::translate("CLoraSettingsGui", "COM10", nullptr)); + + label_5->setText(QCoreApplication::translate("CLoraSettingsGui", "Com Port:", nullptr)); + label_6->setText(QCoreApplication::translate("CLoraSettingsGui", "Chalet = 7\n" +"Chaloupe = 8", nullptr)); + } // retranslateUi + +}; + +namespace Ui { + class CLoraSettingsGui: public Ui_CLoraSettingsGui {}; +} // namespace Ui + +QT_END_NAMESPACE + +#endif // UI_LORASETTINGSGUI_H