46 lines
1.3 KiB
C++
46 lines
1.3 KiB
C++
#ifndef CLORANETWORKCOMMIF_H
|
|
#define CLORANETWORKCOMMIF_H
|
|
#include <QByteArray>
|
|
#include <QObject>
|
|
#include <QSerialPort>
|
|
#include "NetworkProtocol.h"
|
|
#include "AbstractNetworkInterface.h"
|
|
#include "NetworkDevice.h"
|
|
#define LORA_MAGIC_WORD 0xBAADCAFE
|
|
|
|
|
|
class CLoraNetworkCommIF : public QObject, public CNetworkProtocol, public CAbstractNetworkCommIF
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
CLoraNetworkCommIF();
|
|
|
|
QString mLoraSerialPortName;
|
|
qint32 mLoraSerialPortBaudRate;
|
|
|
|
|
|
unsigned short mMyLoraAddress;
|
|
unsigned char mMyLoraChannel;
|
|
QSerialPort mLoraDeviceSerialPort;
|
|
|
|
int SendLoraFrame(unsigned short DestAddress,unsigned char DestChannel,QByteArray Payload);
|
|
int SetLoraSerialPortSettings(QString PortName, qint32 BaudRate);
|
|
|
|
//NetworkProtocol implementation
|
|
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);
|
|
|
|
private:
|
|
QByteArray GetLoraFrame(unsigned short DestAddress,unsigned char DestChannel,QByteArray Payload);
|
|
qint32 mRxLoraTestMsgBuf;
|
|
QByteArray mLoraMagicResponse;
|
|
|
|
public slots:
|
|
void LoraDeviceNewDataReady();
|
|
};
|
|
|
|
#endif // CLORADEVICE_H
|