Add better logging for DG-ID changes.
This commit is contained in:
parent
76e32b6fff
commit
a3a93807a5
9 changed files with 50 additions and 9 deletions
|
@ -240,7 +240,7 @@ int CDGIdGateway::run()
|
|||
dgIdNetwork[dgid]->m_rfHangTime = rfHangTime;
|
||||
dgIdNetwork[dgid]->m_netHangTime = netHangTime;
|
||||
}
|
||||
} else if (type == "IMRS") {
|
||||
/* } else if (type == "IMRS") {
|
||||
if (imrs != NULL) {
|
||||
std::vector<IMRSDestination*> destinations = (*it)->m_destinations;
|
||||
std::vector<IMRSDest*> dests;
|
||||
|
@ -260,6 +260,7 @@ int CDGIdGateway::run()
|
|||
dgIdNetwork[dgid]->m_rfHangTime = rfHangTime;
|
||||
dgIdNetwork[dgid]->m_netHangTime = netHangTime;
|
||||
}
|
||||
*/
|
||||
} else if (type == "Parrot") {
|
||||
in_addr address = CUDPSocket::lookup((*it)->m_address);
|
||||
unsigned int port = (*it)->m_port;
|
||||
|
@ -361,7 +362,8 @@ int CDGIdGateway::run()
|
|||
dgIdNetwork[dgId]->link();
|
||||
}
|
||||
|
||||
LogDebug("DG-ID set to %u via RF", dgId);
|
||||
std::string desc = dgIdNetwork[dgId]->getDesc();
|
||||
LogDebug("DG-ID set to %u (%s) via RF", dgId, desc.c_str());
|
||||
currentDGId = dgId;
|
||||
}
|
||||
|
||||
|
@ -407,7 +409,8 @@ int CDGIdGateway::run()
|
|||
inactivityTimer.start();
|
||||
|
||||
if (currentDGId == 0U) {
|
||||
LogDebug("DG-ID set to %u via Network", i);
|
||||
std::string desc = dgIdNetwork[i]->getDesc();
|
||||
LogDebug("DG-ID set to %u (%s) via Network", i, desc.c_str());
|
||||
currentDGId = i;
|
||||
}
|
||||
}
|
||||
|
@ -437,7 +440,7 @@ int CDGIdGateway::run()
|
|||
dgIdNetwork[currentDGId]->unlink();
|
||||
}
|
||||
|
||||
LogDebug("DG-ID set to 0 via timeout");
|
||||
LogDebug("DG-ID set to 0 (None) via timeout");
|
||||
|
||||
currentDGId = 0U;
|
||||
inactivityTimer.stop();
|
||||
|
|
|
@ -19,11 +19,14 @@
|
|||
#ifndef DGIdNetwork_H
|
||||
#define DGIdNetwork_H
|
||||
|
||||
#include <string>
|
||||
|
||||
class CDGIdNetwork {
|
||||
public:
|
||||
virtual ~CDGIdNetwork() = 0;
|
||||
|
||||
virtual std::string getDesc() = 0;
|
||||
|
||||
virtual bool open() = 0;
|
||||
|
||||
virtual void link() = 0;
|
||||
|
|
|
@ -63,6 +63,11 @@ CFCSNetwork::~CFCSNetwork()
|
|||
delete[] m_ping;
|
||||
}
|
||||
|
||||
std::string CFCSNetwork::getDesc()
|
||||
{
|
||||
return "FCS: " + m_reflector;
|
||||
}
|
||||
|
||||
bool CFCSNetwork::open()
|
||||
{
|
||||
LogMessage("Resolving FCS00x addresses");
|
||||
|
|
|
@ -40,6 +40,8 @@ public:
|
|||
CFCSNetwork(const std::string& reflector, unsigned int port, const std::string& callsign, unsigned int rxFrequency, unsigned int txFrequency, const std::string& locator, unsigned int id, bool debug);
|
||||
virtual ~CFCSNetwork();
|
||||
|
||||
virtual std::string getDesc();
|
||||
|
||||
virtual bool open();
|
||||
|
||||
virtual void link();
|
||||
|
|
|
@ -49,6 +49,11 @@ void CIMRSNetwork::addDGId(unsigned int dgId, const std::vector<IMRSDest*>& dest
|
|||
m_dgIds.push_back(f);
|
||||
}
|
||||
|
||||
std::string CIMRSNetwork::getDesc()
|
||||
{
|
||||
return "IMRS";
|
||||
}
|
||||
|
||||
bool CIMRSNetwork::open()
|
||||
{
|
||||
LogMessage("Opening IMRS network connection");
|
||||
|
@ -69,26 +74,43 @@ void CIMRSNetwork::write(unsigned int dgId, const unsigned char* data)
|
|||
|
||||
unsigned char buffer[200U];
|
||||
|
||||
switch (fich.getDT()) { // XXX
|
||||
// Create the header
|
||||
switch (fich.getDT()) {
|
||||
case YSF_DT_VD_MODE1:
|
||||
buffer[0U] = '0';
|
||||
buffer[1U] = '0';
|
||||
buffer[2U] = '0';
|
||||
// Copy the audio
|
||||
::memcpy(buffer + 35U + 0U, data + 35U + 9U, 9U);
|
||||
::memcpy(buffer + 35U + 9U, data + 35U + 27U, 9U);
|
||||
::memcpy(buffer + 35U + 18U, data + 35U + 45U, 9U);
|
||||
::memcpy(buffer + 35U + 27U, data + 35U + 63U, 9U);
|
||||
::memcpy(buffer + 35U + 36U, data + 35U + 81U, 9U);
|
||||
break;
|
||||
case YSF_DT_DATA_FR_MODE:
|
||||
buffer[0U] = '1';
|
||||
buffer[1U] = '1';
|
||||
buffer[2U] = '1';
|
||||
// Copy the audio
|
||||
::memcpy(buffer + 35U, data + 45U, 130U);
|
||||
break;
|
||||
case YSF_DT_VD_MODE2:
|
||||
buffer[0U] = '2';
|
||||
buffer[1U] = '2';
|
||||
buffer[2U] = '2';
|
||||
// Copy the audio
|
||||
::memcpy(buffer + 35U, data + 45U, 130U);
|
||||
break;
|
||||
case YSF_DT_VOICE_FR_MODE:
|
||||
buffer[0U] = '3';
|
||||
buffer[1U] = '3';
|
||||
buffer[2U] = '3';
|
||||
// Copy the audio
|
||||
::memcpy(buffer + 35U + 0U, data + 35U + 9U, 18U);
|
||||
::memcpy(buffer + 35U + 18U, data + 35U + 27U, 18U);
|
||||
::memcpy(buffer + 35U + 36U, data + 35U + 45U, 18U);
|
||||
::memcpy(buffer + 35U + 54U, data + 35U + 63U, 18U);
|
||||
::memcpy(buffer + 35U + 72U, data + 35U + 81U, 18U);
|
||||
break;
|
||||
default:
|
||||
return;
|
||||
|
@ -96,9 +118,6 @@ void CIMRSNetwork::write(unsigned int dgId, const unsigned char* data)
|
|||
|
||||
// Copy the raw DCH
|
||||
|
||||
// Copy the audio
|
||||
::memcpy(buffer + 35U, data + 45U, 130U); // XXX
|
||||
|
||||
for (std::vector<IMRSDest*>::const_iterator it = ptr->m_destinations.begin(); it != ptr->m_destinations.end(); ++it) {
|
||||
// Set the correct DG-ID for this destination
|
||||
fich.setDGId((*it)->m_dgId);
|
||||
|
|
|
@ -54,6 +54,8 @@ public:
|
|||
|
||||
void addDGId(unsigned int dgId, const std::vector<IMRSDest*>& destinations, bool debug);
|
||||
|
||||
virtual std::string getDesc();
|
||||
|
||||
virtual bool open();
|
||||
|
||||
virtual void link();
|
||||
|
|
|
@ -19,6 +19,6 @@
|
|||
#if !defined(VERSION_H)
|
||||
#define VERSION_H
|
||||
|
||||
const char* VERSION = "20200820";
|
||||
const char* VERSION = "20200821";
|
||||
|
||||
#endif
|
||||
|
|
|
@ -86,6 +86,11 @@ CYSFNetwork::~CYSFNetwork()
|
|||
delete[] m_poll;
|
||||
}
|
||||
|
||||
std::string CYSFNetwork::getDesc()
|
||||
{
|
||||
return "YSF: " + m_name;
|
||||
}
|
||||
|
||||
bool CYSFNetwork::open()
|
||||
{
|
||||
LogMessage("Opening YSF network connection");
|
||||
|
|
|
@ -34,6 +34,8 @@ public:
|
|||
CYSFNetwork(unsigned int localPort, const std::string& name, const in_addr& address, unsigned int port, const std::string& callsign, bool debug);
|
||||
virtual ~CYSFNetwork();
|
||||
|
||||
virtual std::string getDesc();
|
||||
|
||||
virtual bool open();
|
||||
|
||||
virtual void link();
|
||||
|
|
Loading…
Reference in a new issue