mirror of
https://github.com/g4klx/MMDVMHost.git
synced 2025-12-06 05:32:00 +01:00
QSO info removed from OLED. QSO info add via CASTInfo.
This commit is contained in:
parent
5acef270d1
commit
6d83bfb8bc
149
CASTInfo.cpp
Normal file
149
CASTInfo.cpp
Normal file
|
|
@ -0,0 +1,149 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2016,2018 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
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "CASTInfo.h"
|
||||||
|
|
||||||
|
static bool networkInfoInitialized = false;
|
||||||
|
static unsigned char passCounter = 0;
|
||||||
|
|
||||||
|
CCASTInfo::CCASTInfo(CModem* modem) :
|
||||||
|
CDisplay(),
|
||||||
|
m_modem(modem),
|
||||||
|
m_ipaddress()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
CCASTInfo::~CCASTInfo()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
bool CCASTInfo::open()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
void CCASTInfo::setIdleInt()
|
||||||
|
{
|
||||||
|
unsigned char info[100U];
|
||||||
|
CNetworkInfo* m_network;
|
||||||
|
|
||||||
|
passCounter ++;
|
||||||
|
if (passCounter > 253U)
|
||||||
|
networkInfoInitialized = false;
|
||||||
|
|
||||||
|
if (! networkInfoInitialized) {
|
||||||
|
//LogMessage("Initialize CNetworkInfo");
|
||||||
|
info[0]=0;
|
||||||
|
m_network = new CNetworkInfo;
|
||||||
|
m_network->getNetworkInterface(info);
|
||||||
|
m_ipaddress = (char*)info;
|
||||||
|
delete m_network;
|
||||||
|
|
||||||
|
if (m_modem != NULL)
|
||||||
|
m_modem->writeIPInfo(m_ipaddress);
|
||||||
|
|
||||||
|
networkInfoInitialized = true;
|
||||||
|
passCounter = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void CCASTInfo::setErrorInt(const char* text)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void CCASTInfo::setLockoutInt()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void CCASTInfo::setQuitInt()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void CCASTInfo::writeDStarInt(const char* my1, const char* my2, const char* your, const char* type, const char* reflector)
|
||||||
|
{
|
||||||
|
if (m_modem != NULL)
|
||||||
|
m_modem->writeDStarInfo(my1, my2, your, type, reflector);
|
||||||
|
}
|
||||||
|
|
||||||
|
void CCASTInfo::clearDStarInt()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void CCASTInfo::writeDMRInt(unsigned int slotNo, const std::string& src, bool group, const std::string& dst, const char* type)
|
||||||
|
{
|
||||||
|
if (m_modem != NULL)
|
||||||
|
m_modem->writeDMRInfo(slotNo, src, group, dst, type);
|
||||||
|
}
|
||||||
|
|
||||||
|
void CCASTInfo::clearDMRInt(unsigned int slotNo)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void CCASTInfo::writeFusionInt(const char* source, const char* dest, const char* type, const char* origin)
|
||||||
|
{
|
||||||
|
if (m_modem != NULL)
|
||||||
|
m_modem->writeYSFInfo(source, dest, type, origin);
|
||||||
|
}
|
||||||
|
|
||||||
|
void CCASTInfo::clearFusionInt()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void CCASTInfo::writeP25Int(const char* source, bool group, unsigned int dest, const char* type)
|
||||||
|
{
|
||||||
|
if (m_modem != NULL)
|
||||||
|
m_modem->writeP25Info(source, group, dest, type);
|
||||||
|
}
|
||||||
|
|
||||||
|
void CCASTInfo::clearP25Int()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void CCASTInfo::writeNXDNInt(const char* source, bool group, unsigned int dest, const char* type)
|
||||||
|
{
|
||||||
|
if (m_modem != NULL)
|
||||||
|
m_modem->writeNXDNInfo(source, group, dest, type);
|
||||||
|
}
|
||||||
|
|
||||||
|
void CCASTInfo::clearNXDNInt()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void CCASTInfo::writePOCSAGInt(uint32_t ric, const std::string& message)
|
||||||
|
{
|
||||||
|
if (m_modem != NULL)
|
||||||
|
m_modem->writePOCSAGInfo(ric, message);
|
||||||
|
}
|
||||||
|
|
||||||
|
void CCASTInfo::clearPOCSAGInt()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void CCASTInfo::writeCWInt()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void CCASTInfo::clearCWInt()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void CCASTInfo::close()
|
||||||
|
{
|
||||||
|
}
|
||||||
70
CASTInfo.h
Normal file
70
CASTInfo.h
Normal file
|
|
@ -0,0 +1,70 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2016,2018 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
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#if !defined(CASTINFO_H)
|
||||||
|
#define CASTINFO_H
|
||||||
|
|
||||||
|
#include "Display.h"
|
||||||
|
|
||||||
|
#include <string>
|
||||||
|
|
||||||
|
#include "NetworkInfo.h"
|
||||||
|
#include "Modem.h"
|
||||||
|
class CCASTInfo : public CDisplay
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
CCASTInfo(CModem* modem);
|
||||||
|
virtual ~CCASTInfo();
|
||||||
|
|
||||||
|
virtual bool open();
|
||||||
|
|
||||||
|
virtual void close();
|
||||||
|
|
||||||
|
protected:
|
||||||
|
virtual void setIdleInt();
|
||||||
|
virtual void setErrorInt(const char* text);
|
||||||
|
virtual void setLockoutInt();
|
||||||
|
virtual void setQuitInt();
|
||||||
|
|
||||||
|
virtual void writeDStarInt(const char* my1, const char* my2, const char* your, const char* type, const char* reflector);
|
||||||
|
virtual void clearDStarInt();
|
||||||
|
|
||||||
|
virtual void writeDMRInt(unsigned int slotNo, const std::string& src, bool group, const std::string& dst, const char* type);
|
||||||
|
virtual void clearDMRInt(unsigned int slotNo);
|
||||||
|
|
||||||
|
virtual void writeFusionInt(const char* source, const char* dest, const char* type, const char* origin);
|
||||||
|
virtual void clearFusionInt();
|
||||||
|
|
||||||
|
virtual void writeP25Int(const char* source, bool group, unsigned int dest, const char* type);
|
||||||
|
virtual void clearP25Int();
|
||||||
|
|
||||||
|
virtual void writeNXDNInt(const char* source, bool group, unsigned int dest, const char* type);
|
||||||
|
virtual void clearNXDNInt();
|
||||||
|
|
||||||
|
virtual void writePOCSAGInt(uint32_t ric, const std::string& message);
|
||||||
|
virtual void clearPOCSAGInt();
|
||||||
|
|
||||||
|
virtual void writeCWInt();
|
||||||
|
virtual void clearCWInt();
|
||||||
|
|
||||||
|
private:
|
||||||
|
CModem* m_modem;
|
||||||
|
std::string m_ipaddress;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
||||||
7
Conf.cpp
7
Conf.cpp
|
|
@ -237,7 +237,6 @@ m_oledBrightness(0U),
|
||||||
m_oledInvert(false),
|
m_oledInvert(false),
|
||||||
m_oledScroll(false),
|
m_oledScroll(false),
|
||||||
m_oledRotate(false),
|
m_oledRotate(false),
|
||||||
m_oledCast(false),
|
|
||||||
m_lcdprocAddress(),
|
m_lcdprocAddress(),
|
||||||
m_lcdprocPort(0U),
|
m_lcdprocPort(0U),
|
||||||
m_lcdprocLocalPort(0U),
|
m_lcdprocLocalPort(0U),
|
||||||
|
|
@ -791,8 +790,6 @@ bool CConf::read()
|
||||||
m_oledScroll = ::atoi(value) == 1;
|
m_oledScroll = ::atoi(value) == 1;
|
||||||
else if (::strcmp(key, "Rotate") == 0)
|
else if (::strcmp(key, "Rotate") == 0)
|
||||||
m_oledRotate = ::atoi(value) == 1;
|
m_oledRotate = ::atoi(value) == 1;
|
||||||
else if (::strcmp(key, "Cast") == 0)
|
|
||||||
m_oledCast = ::atoi(value) == 1;
|
|
||||||
} else if (section == SECTION_LCDPROC) {
|
} else if (section == SECTION_LCDPROC) {
|
||||||
if (::strcmp(key, "Address") == 0)
|
if (::strcmp(key, "Address") == 0)
|
||||||
m_lcdprocAddress = value;
|
m_lcdprocAddress = value;
|
||||||
|
|
@ -1701,10 +1698,6 @@ bool CConf::getOLEDRotate() const
|
||||||
return m_oledRotate;
|
return m_oledRotate;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CConf::getOLEDCast() const
|
|
||||||
{
|
|
||||||
return m_oledCast;
|
|
||||||
}
|
|
||||||
|
|
||||||
std::string CConf::getLCDprocAddress() const
|
std::string CConf::getLCDprocAddress() const
|
||||||
{
|
{
|
||||||
|
|
|
||||||
1
Conf.h
1
Conf.h
|
|
@ -254,7 +254,6 @@ public:
|
||||||
bool getOLEDInvert() const;
|
bool getOLEDInvert() const;
|
||||||
bool getOLEDScroll() const;
|
bool getOLEDScroll() const;
|
||||||
bool getOLEDRotate() const;
|
bool getOLEDRotate() const;
|
||||||
bool getOLEDCast() const;
|
|
||||||
|
|
||||||
// The LCDproc section
|
// The LCDproc section
|
||||||
std::string getLCDprocAddress() const;
|
std::string getLCDprocAddress() const;
|
||||||
|
|
|
||||||
|
|
@ -24,6 +24,7 @@
|
||||||
#include "TFTSerial.h"
|
#include "TFTSerial.h"
|
||||||
#include "LCDproc.h"
|
#include "LCDproc.h"
|
||||||
#include "Nextion.h"
|
#include "Nextion.h"
|
||||||
|
#include "CASTInfo.h"
|
||||||
#include "Conf.h"
|
#include "Conf.h"
|
||||||
#include "Modem.h"
|
#include "Modem.h"
|
||||||
#include "UMP.h"
|
#include "UMP.h"
|
||||||
|
|
@ -568,10 +569,11 @@ CDisplay* CDisplay::createDisplay(const CConf& conf, CUMP* ump, CModem* modem)
|
||||||
bool invert = conf.getOLEDInvert();
|
bool invert = conf.getOLEDInvert();
|
||||||
bool scroll = conf.getOLEDScroll();
|
bool scroll = conf.getOLEDScroll();
|
||||||
bool rotate = conf.getOLEDRotate();
|
bool rotate = conf.getOLEDRotate();
|
||||||
bool cast = conf.getOLEDCast();
|
|
||||||
|
|
||||||
display = new COLED(type, brightness, invert, scroll, rotate, conf.getDMRNetworkSlot1(), conf.getDMRNetworkSlot2(), cast ? modem : NULL);
|
display = new COLED(type, brightness, invert, scroll, rotate, conf.getDMRNetworkSlot1(), conf.getDMRNetworkSlot2(), modem);
|
||||||
#endif
|
#endif
|
||||||
|
} else if (type == "CAST") {
|
||||||
|
display = new CCASTInfo(modem);
|
||||||
} else {
|
} else {
|
||||||
LogWarning("No valid display found, disabling");
|
LogWarning("No valid display found, disabling");
|
||||||
display = new CNullDisplay;
|
display = new CNullDisplay;
|
||||||
|
|
|
||||||
15
OLED.cpp
15
OLED.cpp
|
|
@ -258,9 +258,6 @@ void COLED::setIdleInt()
|
||||||
m_ipaddress = (char*)info;
|
m_ipaddress = (char*)info;
|
||||||
delete m_network;
|
delete m_network;
|
||||||
|
|
||||||
if (m_modem != NULL)
|
|
||||||
m_modem->writeIPInfo(m_ipaddress);
|
|
||||||
|
|
||||||
networkInfoInitialized = true;
|
networkInfoInitialized = true;
|
||||||
passCounter = 0;
|
passCounter = 0;
|
||||||
}
|
}
|
||||||
|
|
@ -331,8 +328,6 @@ void COLED::writeDStarInt(const char* my1, const char* my2, const char* your, co
|
||||||
OLED_statusbar();
|
OLED_statusbar();
|
||||||
m_display.display();
|
m_display.display();
|
||||||
|
|
||||||
if (m_modem != NULL)
|
|
||||||
m_modem->writeDStarInfo(my1, my2, your, type, reflector);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void COLED::clearDStarInt()
|
void COLED::clearDStarInt()
|
||||||
|
|
@ -393,8 +388,6 @@ void COLED::writeDMRInt(unsigned int slotNo,const std::string& src,bool group,co
|
||||||
OLED_statusbar();
|
OLED_statusbar();
|
||||||
m_display.display();
|
m_display.display();
|
||||||
|
|
||||||
if (m_modem != NULL)
|
|
||||||
m_modem->writeDMRInfo(slotNo, src, group, dst, type);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void COLED::clearDMRInt(unsigned int slotNo)
|
void COLED::clearDMRInt(unsigned int slotNo)
|
||||||
|
|
@ -442,8 +435,6 @@ void COLED::writeFusionInt(const char* source, const char* dest, const char* typ
|
||||||
OLED_statusbar();
|
OLED_statusbar();
|
||||||
m_display.display();
|
m_display.display();
|
||||||
|
|
||||||
if (m_modem != NULL)
|
|
||||||
m_modem->writeYSFInfo(source, dest, type, origin);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void COLED::clearFusionInt()
|
void COLED::clearFusionInt()
|
||||||
|
|
@ -475,8 +466,6 @@ void COLED::writeP25Int(const char* source, bool group, unsigned int dest, const
|
||||||
OLED_statusbar();
|
OLED_statusbar();
|
||||||
m_display.display();
|
m_display.display();
|
||||||
|
|
||||||
if (m_modem != NULL)
|
|
||||||
m_modem->writeP25Info(source, group, dest, type);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void COLED::clearP25Int()
|
void COLED::clearP25Int()
|
||||||
|
|
@ -508,8 +497,6 @@ void COLED::writeNXDNInt(const char* source, bool group, unsigned int dest, cons
|
||||||
OLED_statusbar();
|
OLED_statusbar();
|
||||||
m_display.display();
|
m_display.display();
|
||||||
|
|
||||||
if (m_modem != NULL)
|
|
||||||
m_modem->writeNXDNInfo(source, group, dest, type);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void COLED::clearNXDNInt()
|
void COLED::clearNXDNInt()
|
||||||
|
|
@ -541,8 +528,6 @@ void COLED::writePOCSAGInt(uint32_t ric, const std::string& message)
|
||||||
OLED_statusbar();
|
OLED_statusbar();
|
||||||
m_display.display();
|
m_display.display();
|
||||||
|
|
||||||
if (m_modem != NULL)
|
|
||||||
m_modem->writePOCSAGInfo(ric, message);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void COLED::clearPOCSAGInt()
|
void COLED::clearPOCSAGInt()
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue