mirror of
https://github.com/g4klx/MMDVMHost
synced 2025-12-21 23:45:49 +08:00
Refactor the Modem class hierarchy.
This commit is contained in:
54
NullModem.h
54
NullModem.h
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (C) 2011-2018 by Jonathan Naylor G4KLX
|
||||
* Copyright (C) 2011-2018,2020 by Jonathan Naylor G4KLX
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
@@ -24,16 +24,15 @@
|
||||
|
||||
#include <string>
|
||||
|
||||
|
||||
class CNullModem : public CModem {
|
||||
class CNullModem : public IModem {
|
||||
public:
|
||||
CNullModem(const std::string& port, bool duplex, bool rxInvert, bool txInvert, bool pttInvert, unsigned int txDelay, unsigned int dmrDelay, bool trace, bool debug);
|
||||
CNullModem();
|
||||
virtual ~CNullModem();
|
||||
|
||||
virtual void setSerialParams(const std::string& protocol, unsigned int address) {};
|
||||
virtual void setSerialParams(const std::string& protocol, unsigned int address, unsigned int speed) {};
|
||||
virtual void setRFParams(unsigned int rxFrequency, int rxOffset, unsigned int txFrequency, int txOffset, int txDCOffset, int rxDCOffset, float rfLevel, unsigned int pocsagFrequency) {};
|
||||
virtual void setModeParams(bool dstarEnabled, bool dmrEnabled, bool ysfEnabled, bool p25Enabled, bool nxdnEnabled, bool pocsagEnabled, bool fmEnabled) {};
|
||||
virtual void setLevels(float rxLevel, float cwIdTXLevel, float dstarTXLevel, float dmrTXLevel, float ysfTXLevel, float p25TXLevel, float nxdnTXLevel, float pocsagLevel, float fmTXLevel) {};
|
||||
virtual void setModeParams(bool dstarEnabled, bool dmrEnabled, bool ysfEnabled, bool p25Enabled, bool nxdnEnabled, bool pocsagEnabled, bool fmEnabled, bool ax25Enabled) {};
|
||||
virtual void setLevels(float rxLevel, float cwIdTXLevel, float dstarTXLevel, float dmrTXLevel, float ysfTXLevel, float p25TXLevel, float nxdnTXLevel, float pocsagLevel, float fmTXLevel, float ax25TXLevel) {};
|
||||
virtual void setDMRParams(unsigned int colorCode) {};
|
||||
virtual void setYSFParams(bool loDev, unsigned int txHang) {};
|
||||
virtual void setP25Params(unsigned int txHang) {};
|
||||
@@ -58,7 +57,7 @@ public:
|
||||
virtual unsigned int readAX25Data(unsigned char* data) { return 0U; };
|
||||
virtual unsigned int readTransparentData(unsigned char* data) { return 0U; };
|
||||
|
||||
virtual unsigned int readSerial(unsigned char* data, unsigned int length){return 0;};
|
||||
virtual unsigned int readSerial(unsigned char* data, unsigned int length) { return 0; };
|
||||
|
||||
virtual bool hasDStarSpace()const { return true; };
|
||||
virtual bool hasDMRSpace1() const { return true; };
|
||||
@@ -79,41 +78,42 @@ public:
|
||||
virtual bool writeDStarData(const unsigned char* data, unsigned int length) { return true; };
|
||||
virtual bool writeDMRData1(const unsigned char* data, unsigned int length) { return true; };
|
||||
virtual bool writeDMRData2(const unsigned char* data, unsigned int length) { return true; };
|
||||
virtual bool writeYSFData(const unsigned char* data, unsigned int length) {return true; };
|
||||
virtual bool writeYSFData(const unsigned char* data, unsigned int length) { return true; };
|
||||
virtual bool writeP25Data(const unsigned char* data, unsigned int length) { return true; };
|
||||
virtual bool writeNXDNData(const unsigned char* data, unsigned int length) { return true; };
|
||||
virtual bool writePOCSAGData(const unsigned char* data, unsigned int length) { return true; };
|
||||
virtual bool writeFMData(const unsigned char* data, unsigned int length) { return true; };
|
||||
virtual bool writeAX25Data(const unsigned char* data, unsigned int length) { return true; };
|
||||
|
||||
virtual bool writeTransparentData(const unsigned char* data, unsigned int length){return true;};
|
||||
virtual bool writeTransparentData(const unsigned char* data, unsigned int length) { return true; };
|
||||
|
||||
virtual bool writeDStarInfo(const char* my1, const char* my2, const char* your, const char* type, const char* reflector){return true;};
|
||||
virtual bool writeDMRInfo(unsigned int slotNo, const std::string& src, bool group, const std::string& dst, const char* type){return true;};
|
||||
virtual bool writeYSFInfo(const char* source, const char* dest, const char* type, const char* origin){return true;};
|
||||
virtual bool writeP25Info(const char* source, bool group, unsigned int dest, const char* type){return true;};
|
||||
virtual bool writeNXDNInfo(const char* source, bool group, unsigned int dest, const char* type){return true;};
|
||||
virtual bool writePOCSAGInfo(unsigned int ric, const std::string& message){return true;};
|
||||
virtual bool writeIPInfo(const std::string& address){return true;};
|
||||
virtual bool writeConfig() { return true; };
|
||||
virtual bool writeDStarInfo(const char* my1, const char* my2, const char* your, const char* type, const char* reflector) { return true; };
|
||||
virtual bool writeDMRInfo(unsigned int slotNo, const std::string& src, bool group, const std::string& dst, const char* type) { return true; };
|
||||
virtual bool writeYSFInfo(const char* source, const char* dest, const char* type, const char* origin) { return true; };
|
||||
virtual bool writeP25Info(const char* source, bool group, unsigned int dest, const char* type) { return true; };
|
||||
virtual bool writeNXDNInfo(const char* source, bool group, unsigned int dest, const char* type) { return true; };
|
||||
virtual bool writePOCSAGInfo(unsigned int ric, const std::string& message) { return true; };
|
||||
virtual bool writeIPInfo(const std::string& address) { return true; };
|
||||
|
||||
virtual bool writeDMRStart(bool tx){return true;};
|
||||
virtual bool writeDMRShortLC(const unsigned char* lc){return true;};
|
||||
virtual bool writeDMRAbort(unsigned int slotNo){return true;};
|
||||
virtual bool writeDMRStart(bool tx) { return true; };
|
||||
virtual bool writeDMRShortLC(const unsigned char* lc) { return true; };
|
||||
virtual bool writeDMRAbort(unsigned int slotNo) { return true; };
|
||||
|
||||
virtual bool writeSerial(const unsigned char* data, unsigned int length){return true;};
|
||||
virtual bool writeSerial(const unsigned char* data, unsigned int length) { return true; };
|
||||
|
||||
virtual bool setMode(unsigned char mode){return true;};
|
||||
virtual unsigned char getMode() const { return MODE_IDLE; };
|
||||
virtual bool setMode(unsigned char mode) { return true; };
|
||||
|
||||
virtual bool sendCWId(const std::string& callsign){return true;};
|
||||
virtual bool sendCWId(const std::string& callsign) { return true; };
|
||||
|
||||
virtual HW_TYPE getHWType() const {return m_hwType;};
|
||||
virtual HW_TYPE getHWType() const { return HWT_MMDVM; };
|
||||
|
||||
virtual void clock(unsigned int ms){};
|
||||
virtual void clock(unsigned int ms) {};
|
||||
|
||||
virtual void close(){};
|
||||
virtual void close() {};
|
||||
|
||||
private:
|
||||
HW_TYPE m_hwType;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user