1
0
Fork 0

Support for YSF2NXDN and YSF2P25 pseudo reflectors

ycs232-kbc
Andy CA6JAU 6 years ago
parent fcf823d837
commit a8eb0ffa79

@ -76,6 +76,10 @@ m_ysfNetworkParrotAddress("127.0.0.1"),
m_ysfNetworkParrotPort(0U), m_ysfNetworkParrotPort(0U),
m_ysfNetworkYSF2DMRAddress("127.0.0.1"), m_ysfNetworkYSF2DMRAddress("127.0.0.1"),
m_ysfNetworkYSF2DMRPort(0U), m_ysfNetworkYSF2DMRPort(0U),
m_ysfNetworkYSF2NXDNAddress("127.0.0.1"),
m_ysfNetworkYSF2NXDNPort(0U),
m_ysfNetworkYSF2P25Address("127.0.0.1"),
m_ysfNetworkYSF2P25Port(0U),
m_fcsNetworkEnabled(false), m_fcsNetworkEnabled(false),
m_fcsNetworkEntries(), m_fcsNetworkEntries(),
m_fcsNetworkPort(0U) m_fcsNetworkPort(0U)
@ -213,6 +217,14 @@ bool CConf::read()
m_ysfNetworkYSF2DMRAddress = value; m_ysfNetworkYSF2DMRAddress = value;
else if (::strcmp(key, "YSF2DMRPort") == 0) else if (::strcmp(key, "YSF2DMRPort") == 0)
m_ysfNetworkYSF2DMRPort = (unsigned int)::atoi(value); m_ysfNetworkYSF2DMRPort = (unsigned int)::atoi(value);
else if (::strcmp(key, "YSF2NXDNAddress") == 0)
m_ysfNetworkYSF2NXDNAddress = value;
else if (::strcmp(key, "YSF2NXDNPort") == 0)
m_ysfNetworkYSF2NXDNPort = (unsigned int)::atoi(value);
else if (::strcmp(key, "YSF2P25Address") == 0)
m_ysfNetworkYSF2P25Address = value;
else if (::strcmp(key, "YSF2P25Port") == 0)
m_ysfNetworkYSF2P25Port = (unsigned int)::atoi(value);
} else if (section == SECTION_FCS_NETWORK) { } else if (section == SECTION_FCS_NETWORK) {
if (::strcmp(key, "Enable") == 0) if (::strcmp(key, "Enable") == 0)
m_fcsNetworkEnabled = ::atoi(value) == 1; m_fcsNetworkEnabled = ::atoi(value) == 1;
@ -423,6 +435,26 @@ unsigned int CConf::getYSFNetworkYSF2DMRPort() const
return m_ysfNetworkYSF2DMRPort; return m_ysfNetworkYSF2DMRPort;
} }
std::string CConf::getYSFNetworkYSF2NXDNAddress() const
{
return m_ysfNetworkYSF2NXDNAddress;
}
unsigned int CConf::getYSFNetworkYSF2NXDNPort() const
{
return m_ysfNetworkYSF2NXDNPort;
}
std::string CConf::getYSFNetworkYSF2P25Address() const
{
return m_ysfNetworkYSF2P25Address;
}
unsigned int CConf::getYSFNetworkYSF2P25Port() const
{
return m_ysfNetworkYSF2P25Port;
}
bool CConf::getFCSNetworkEnabled() const bool CConf::getFCSNetworkEnabled() const
{ {
return m_fcsNetworkEnabled; return m_fcsNetworkEnabled;

@ -78,6 +78,10 @@ public:
unsigned int getYSFNetworkParrotPort() const; unsigned int getYSFNetworkParrotPort() const;
std::string getYSFNetworkYSF2DMRAddress() const; std::string getYSFNetworkYSF2DMRAddress() const;
unsigned int getYSFNetworkYSF2DMRPort() const; unsigned int getYSFNetworkYSF2DMRPort() const;
std::string getYSFNetworkYSF2NXDNAddress() const;
unsigned int getYSFNetworkYSF2NXDNPort() const;
std::string getYSFNetworkYSF2P25Address() const;
unsigned int getYSFNetworkYSF2P25Port() const;
// The FCS Network section // The FCS Network section
bool getFCSNetworkEnabled() const; bool getFCSNetworkEnabled() const;
@ -128,6 +132,10 @@ private:
unsigned int m_ysfNetworkParrotPort; unsigned int m_ysfNetworkParrotPort;
std::string m_ysfNetworkYSF2DMRAddress; std::string m_ysfNetworkYSF2DMRAddress;
unsigned int m_ysfNetworkYSF2DMRPort; unsigned int m_ysfNetworkYSF2DMRPort;
std::string m_ysfNetworkYSF2NXDNAddress;
unsigned int m_ysfNetworkYSF2NXDNPort;
std::string m_ysfNetworkYSF2P25Address;
unsigned int m_ysfNetworkYSF2P25Port;
bool m_fcsNetworkEnabled; bool m_fcsNetworkEnabled;
std::vector<std::pair<std::string, std::string>> m_fcsNetworkEntries; std::vector<std::pair<std::string, std::string>> m_fcsNetworkEntries;

@ -157,6 +157,16 @@ void CWiresX::setYSF2DMR(const std::string& address, unsigned int port)
m_reflectors.setYSF2DMR(address, port); m_reflectors.setYSF2DMR(address, port);
} }
void CWiresX::setYSF2NXDN(const std::string& address, unsigned int port)
{
m_reflectors.setYSF2NXDN(address, port);
}
void CWiresX::setYSF2P25(const std::string& address, unsigned int port)
{
m_reflectors.setYSF2P25(address, port);
}
void CWiresX::addFCSRoom(const std::pair<std::string, std::string>& entry) void CWiresX::addFCSRoom(const std::pair<std::string, std::string>& entry)
{ {
m_reflectors.addFCSRoom(entry); m_reflectors.addFCSRoom(entry);

@ -49,6 +49,8 @@ public:
void setInfo(const std::string& name, unsigned int txFrequency, unsigned int rxFrequency); void setInfo(const std::string& name, unsigned int txFrequency, unsigned int rxFrequency);
void setParrot(const std::string& address, unsigned int port); void setParrot(const std::string& address, unsigned int port);
void setYSF2DMR(const std::string& address, unsigned int port); void setYSF2DMR(const std::string& address, unsigned int port);
void setYSF2NXDN(const std::string& address, unsigned int port);
void setYSF2P25(const std::string& address, unsigned int port);
void addFCSRoom(const std::pair<std::string, std::string>& entry); void addFCSRoom(const std::pair<std::string, std::string>& entry);
bool start(); bool start();

@ -465,6 +465,16 @@ void CYSFGateway::createWiresX(CYSFNetwork* rptNetwork)
if (port > 0U) if (port > 0U)
m_wiresX->setYSF2DMR(address, port); m_wiresX->setYSF2DMR(address, port);
address = m_conf.getYSFNetworkYSF2NXDNAddress();
port = m_conf.getYSFNetworkYSF2NXDNPort();
if (port > 0U)
m_wiresX->setYSF2NXDN(address, port);
address = m_conf.getYSFNetworkYSF2P25Address();
port = m_conf.getYSFNetworkYSF2P25Port();
if (port > 0U)
m_wiresX->setYSF2P25(address, port);
std::vector<std::pair<std::string, std::string>> entries = m_conf.getFCSNetworkEntries(); std::vector<std::pair<std::string, std::string>> entries = m_conf.getFCSNetworkEntries();
for (std::vector<std::pair<std::string, std::string>>::const_iterator it = entries.cbegin(); it != entries.cend(); ++it) for (std::vector<std::pair<std::string, std::string>>::const_iterator it = entries.cbegin(); it != entries.cend(); ++it)
m_wiresX->addFCSRoom(*it); m_wiresX->addFCSRoom(*it);

@ -50,6 +50,10 @@ ParrotAddress=127.0.0.1
ParrotPort=42012 ParrotPort=42012
YSF2DMRAddress=127.0.0.1 YSF2DMRAddress=127.0.0.1
YSF2DMRPort=42013 YSF2DMRPort=42013
YSF2NXDNAddress=127.0.0.1
YSF2NXDNPort=42014
YSF2P25Address=127.0.0.1
YSF2P25Port=42015
[FCS Network] [FCS Network]
Enable=1 Enable=1

@ -32,6 +32,10 @@ m_parrotAddress(),
m_parrotPort(0U), m_parrotPort(0U),
m_YSF2DMRAddress(), m_YSF2DMRAddress(),
m_YSF2DMRPort(0U), m_YSF2DMRPort(0U),
m_YSF2NXDNAddress(),
m_YSF2NXDNPort(0U),
m_YSF2P25Address(),
m_YSF2P25Port(0U),
m_fcsRooms(), m_fcsRooms(),
m_newReflectors(), m_newReflectors(),
m_currReflectors(), m_currReflectors(),
@ -83,6 +87,18 @@ void CYSFReflectors::setYSF2DMR(const std::string& address, unsigned int port)
m_YSF2DMRPort = port; m_YSF2DMRPort = port;
} }
void CYSFReflectors::setYSF2NXDN(const std::string& address, unsigned int port)
{
m_YSF2NXDNAddress = address;
m_YSF2NXDNPort = port;
}
void CYSFReflectors::setYSF2P25(const std::string& address, unsigned int port)
{
m_YSF2P25Address = address;
m_YSF2P25Port = port;
}
void CYSFReflectors::addFCSRoom(const std::pair<std::string, std::string>& entry) void CYSFReflectors::addFCSRoom(const std::pair<std::string, std::string>& entry)
{ {
m_fcsRooms.push_back(entry); m_fcsRooms.push_back(entry);
@ -169,6 +185,38 @@ bool CYSFReflectors::load()
LogInfo("Loaded YSF2DMR"); LogInfo("Loaded YSF2DMR");
} }
// Add the YSF2NXDN entry
if (m_YSF2NXDNPort > 0U) {
CYSFReflector* refl = new CYSFReflector;
refl->m_id = "00003";
refl->m_name = "YSF2NXDN ";
refl->m_desc = "Link YSF2NXDN ";
refl->m_address = CUDPSocket::lookup(m_YSF2NXDNAddress);
refl->m_port = m_YSF2NXDNPort;
refl->m_count = "000";
refl->m_type = YT_YSF;
m_newReflectors.push_back(refl);
LogInfo("Loaded YSF2NXDN");
}
// Add the YSF2P25 entry
if (m_YSF2P25Port > 0U) {
CYSFReflector* refl = new CYSFReflector;
refl->m_id = "00004";
refl->m_name = "YSF2P25 ";
refl->m_desc = "Link YSF2P25 ";
refl->m_address = CUDPSocket::lookup(m_YSF2P25Address);
refl->m_port = m_YSF2P25Port;
refl->m_count = "000";
refl->m_type = YT_YSF;
m_newReflectors.push_back(refl);
LogInfo("Loaded YSF2P25");
}
unsigned int id = 10U; unsigned int id = 10U;
for (std::vector<std::pair<std::string, std::string>>::const_iterator it = m_fcsRooms.cbegin(); it != m_fcsRooms.cend(); ++it, id++) { for (std::vector<std::pair<std::string, std::string>>::const_iterator it = m_fcsRooms.cbegin(); it != m_fcsRooms.cend(); ++it, id++) {
char text[10U]; char text[10U];

@ -59,6 +59,8 @@ public:
void setParrot(const std::string& address, unsigned int port); void setParrot(const std::string& address, unsigned int port);
void setYSF2DMR(const std::string& address, unsigned int port); void setYSF2DMR(const std::string& address, unsigned int port);
void setYSF2NXDN(const std::string& address, unsigned int port);
void setYSF2P25(const std::string& address, unsigned int port);
void addFCSRoom(const std::pair<std::string, std::string>& entry); void addFCSRoom(const std::pair<std::string, std::string>& entry);
bool load(); bool load();
@ -80,6 +82,10 @@ private:
unsigned int m_parrotPort; unsigned int m_parrotPort;
std::string m_YSF2DMRAddress; std::string m_YSF2DMRAddress;
unsigned int m_YSF2DMRPort; unsigned int m_YSF2DMRPort;
std::string m_YSF2NXDNAddress;
unsigned int m_YSF2NXDNPort;
std::string m_YSF2P25Address;
unsigned int m_YSF2P25Port;
std::vector<std::pair<std::string, std::string>> m_fcsRooms; std::vector<std::pair<std::string, std::string>> m_fcsRooms;
std::vector<CYSFReflector*> m_newReflectors; std::vector<CYSFReflector*> m_newReflectors;
std::vector<CYSFReflector*> m_currReflectors; std::vector<CYSFReflector*> m_currReflectors;

Loading…
Cancel
Save