Nouvel Ampli
Lora Interface
This commit is contained in:
@@ -2,15 +2,76 @@
|
||||
|
||||
CLoraModuleInterface::CLoraModuleInterface()
|
||||
{
|
||||
connect(&mLoraModuleIFSerialPort,SIGNAL(readyRead()),this,SLOT(NewLoraModuleIFDataReady()));
|
||||
|
||||
mLoraModuleIFStatusTimer = new QTimer();
|
||||
mLoraModuleIFStatusTimer->setSingleShot(false);
|
||||
mLoraModuleIFStatusTimer->setInterval(1000);
|
||||
mLoraModuleIFStatusTimer->start();
|
||||
|
||||
connect(mLoraModuleIFStatusTimer,SIGNAL(timeout()),this,SLOT(LoraModuleStatusTimerExpired()));
|
||||
}
|
||||
|
||||
CLoraModuleInterface::~CLoraModuleInterface()
|
||||
{
|
||||
delete mLoraModuleIFStatusTimer;
|
||||
}
|
||||
|
||||
|
||||
//This the handling of the Microcontroller (LoraModuleInterface)
|
||||
int CLoraModuleInterface::NewFrameReceived(int DeviceID, int DeviceAddress, int MessageID, int DataSize, QByteArray Data)
|
||||
{
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
//This is to answer to CChaletDevice requests
|
||||
int CLoraModuleInterface::SendNetworkMessage(int DeviceID, int DeviceAddress, int MessageID, int DataSize, QByteArray *Data)
|
||||
{
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void CLoraModuleInterface::LoraModuleStatusTimerExpired()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
int CLoraModuleInterface::SetLoraModuleInterfaceParameters(QString ComPort, qint32 BaudRate)
|
||||
{
|
||||
mLoraModuleIFComPortName = ComPort;
|
||||
mLoraModuleIFComPortBaudRate = BaudRate;
|
||||
|
||||
|
||||
if(mLoraModuleIFSerialPort.isOpen())
|
||||
{
|
||||
mLoraModuleIFSerialPort.close();
|
||||
}
|
||||
|
||||
mLoraModuleIFSerialPort.setPortName(mLoraModuleIFComPortName);
|
||||
if(mLoraModuleIFSerialPort.setBaudRate(mLoraModuleIFComPortBaudRate) == false)
|
||||
{
|
||||
qDebug("Invalid Lora Device serial port baud rate...");
|
||||
}
|
||||
|
||||
//The other serial port parameters (parity, stop bits, data bits) are all set to mentally sane default values so no need to set them.
|
||||
if(mLoraModuleIFSerialPort.open(QIODevice::ReadWrite) == false)
|
||||
{
|
||||
qDebug("Could not open Lora device port");
|
||||
return RET_ERROR;
|
||||
}
|
||||
|
||||
qDebug("Lora serial port opened");
|
||||
return RET_OK;
|
||||
|
||||
|
||||
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
void CLoraModuleInterface::NewLoraModuleIFDataReady()
|
||||
{
|
||||
QByteArray NewData = mLoraModuleIFSerialPort.readAll();
|
||||
|
||||
AnalyzeRxBuffer(NewData);
|
||||
}
|
||||
|
||||
@@ -7,6 +7,8 @@
|
||||
#include "NetworkProtocol.h"
|
||||
#include "AbstractNetworkInterface.h"
|
||||
#include "NetworkDevice.h"
|
||||
#include <QTimer>
|
||||
#include <QSerialPort>
|
||||
|
||||
class CLoraModuleInterface : public QObject, public CNetworkProtocol, public CAbstractNetworkCommIF
|
||||
{
|
||||
@@ -14,6 +16,16 @@ class CLoraModuleInterface : public QObject, public CNetworkProtocol, public CAb
|
||||
|
||||
public:
|
||||
CLoraModuleInterface();
|
||||
~CLoraModuleInterface();
|
||||
|
||||
int SetLoraModuleInterfaceParameters(QString ComPort,qint32 BaudRate);
|
||||
|
||||
QTimer *mLoraModuleIFStatusTimer;
|
||||
QSerialPort mLoraModuleIFSerialPort;
|
||||
QString mLoraModuleIFComPortName;
|
||||
qint32 mLoraModuleIFComPortBaudRate;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -22,6 +34,10 @@ public:
|
||||
|
||||
//NetworkCommIF implementation
|
||||
virtual int SendNetworkMessage(int DeviceID, int DeviceAddress, int MessageID, int DataSize, QByteArray *Data);
|
||||
|
||||
public slots:
|
||||
void LoraModuleStatusTimerExpired();
|
||||
void NewLoraModuleIFDataReady();
|
||||
};
|
||||
|
||||
#endif // LORAMODULEINTERFACE_H
|
||||
|
||||
Reference in New Issue
Block a user