mirror of
https://github.com/oe7drt/YSFClients.git
synced 2026-04-21 06:03:58 +00:00
Add the desciption field to the APRS data for this node/repeater.
This commit is contained in:
parent
6cd839eb80
commit
2f41b0eaab
5 changed files with 19 additions and 15 deletions
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2010-2014,2016 by Jonathan Naylor G4KLX
|
* Copyright (C) 2010-2014,2016,2017 by Jonathan Naylor G4KLX
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
|
@ -34,7 +34,8 @@ m_txFrequency(0U),
|
||||||
m_rxFrequency(0U),
|
m_rxFrequency(0U),
|
||||||
m_latitude(0.0F),
|
m_latitude(0.0F),
|
||||||
m_longitude(0.0F),
|
m_longitude(0.0F),
|
||||||
m_height(0)
|
m_height(0),
|
||||||
|
m_desc()
|
||||||
{
|
{
|
||||||
assert(!callsign.empty());
|
assert(!callsign.empty());
|
||||||
assert(!password.empty());
|
assert(!password.empty());
|
||||||
|
|
@ -53,13 +54,14 @@ CAPRSWriter::~CAPRSWriter()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
void CAPRSWriter::setInfo(unsigned int txFrequency, unsigned int rxFrequency, float latitude, float longitude, int height)
|
void CAPRSWriter::setInfo(unsigned int txFrequency, unsigned int rxFrequency, float latitude, float longitude, int height, const std::string& desc)
|
||||||
{
|
{
|
||||||
m_txFrequency = txFrequency;
|
m_txFrequency = txFrequency;
|
||||||
m_rxFrequency = rxFrequency;
|
m_rxFrequency = rxFrequency;
|
||||||
m_latitude = latitude;
|
m_latitude = latitude;
|
||||||
m_longitude = longitude;
|
m_longitude = longitude;
|
||||||
m_height = height;
|
m_height = height;
|
||||||
|
m_desc = desc;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CAPRSWriter::open()
|
bool CAPRSWriter::open()
|
||||||
|
|
@ -147,15 +149,15 @@ void CAPRSWriter::sendIdFrames()
|
||||||
if (m_latitude == 0.0F && m_longitude == 0.0F)
|
if (m_latitude == 0.0F && m_longitude == 0.0F)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
char desc[100U];
|
char desc[200U];
|
||||||
if (m_txFrequency != 0U) {
|
if (m_txFrequency != 0U) {
|
||||||
float offset = float(int(m_rxFrequency) - int(m_txFrequency)) / 1000000.0F;
|
float offset = float(int(m_rxFrequency) - int(m_txFrequency)) / 1000000.0F;
|
||||||
::sprintf(desc, "MMDVM Voice %.5LfMHz %c%.4lfMHz",
|
::sprintf(desc, "MMDVM Voice %.5LfMHz %c%.4lfMHz%s%s",
|
||||||
(long double)(m_txFrequency) / 1000000.0F,
|
(long double)(m_txFrequency) / 1000000.0F,
|
||||||
offset < 0.0F ? '-' : '+',
|
offset < 0.0F ? '-' : '+',
|
||||||
::fabs(offset));
|
::fabs(offset), m_desc.empty() ? "" : ", ", m_desc.c_str());
|
||||||
} else {
|
} else {
|
||||||
::strcpy(desc, "MMDVM Voice");
|
::sprintf(desc, "MMDVM Voice%s%s", m_desc.empty() ? "" : ", ", m_desc.c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
const char* band = "4m";
|
const char* band = "4m";
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2010,2011,2012,2016 by Jonathan Naylor G4KLX
|
* Copyright (C) 2010,2011,2012,2016,2017 by Jonathan Naylor G4KLX
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
|
@ -31,7 +31,7 @@ public:
|
||||||
|
|
||||||
bool open();
|
bool open();
|
||||||
|
|
||||||
void setInfo(unsigned int txFrequency, unsigned int rxFrequency, float latitude, float longitude, int height);
|
void setInfo(unsigned int txFrequency, unsigned int rxFrequency, float latitude, float longitude, int height, const std::string& desc);
|
||||||
|
|
||||||
void write(const unsigned char* source, const char* type, unsigned char radio, float latitude, float longitude);
|
void write(const unsigned char* source, const char* type, unsigned char radio, float latitude, float longitude);
|
||||||
|
|
||||||
|
|
@ -49,6 +49,7 @@ private:
|
||||||
float m_latitude;
|
float m_latitude;
|
||||||
float m_longitude;
|
float m_longitude;
|
||||||
int m_height;
|
int m_height;
|
||||||
|
std::string m_desc;
|
||||||
|
|
||||||
void sendIdFrames();
|
void sendIdFrames();
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2016 by Jonathan Naylor G4KLX
|
* Copyright (C) 2016,2017 by Jonathan Naylor G4KLX
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
|
@ -49,9 +49,9 @@ CGPS::~CGPS()
|
||||||
delete[] m_buffer;
|
delete[] m_buffer;
|
||||||
}
|
}
|
||||||
|
|
||||||
void CGPS::setInfo(unsigned int txFrequency, unsigned int rxFrequency, float latitude, float longitude, int height)
|
void CGPS::setInfo(unsigned int txFrequency, unsigned int rxFrequency, float latitude, float longitude, int height, const std::string& desc)
|
||||||
{
|
{
|
||||||
m_writer.setInfo(txFrequency, rxFrequency, latitude, longitude, height);
|
m_writer.setInfo(txFrequency, rxFrequency, latitude, longitude, height, desc);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CGPS::open()
|
bool CGPS::open()
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (C) 2016 by Jonathan Naylor G4KLX
|
* Copyright (C) 2016,2017 by Jonathan Naylor G4KLX
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* 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
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
|
@ -28,7 +28,7 @@ public:
|
||||||
CGPS(const std::string& callsign, const std::string& suffix, const std::string& password, const std::string& address, unsigned int port);
|
CGPS(const std::string& callsign, const std::string& suffix, const std::string& password, const std::string& address, unsigned int port);
|
||||||
~CGPS();
|
~CGPS();
|
||||||
|
|
||||||
void setInfo(unsigned int txFrequency, unsigned int rxFrequency, float latitude, float longitude, int height);
|
void setInfo(unsigned int txFrequency, unsigned int rxFrequency, float latitude, float longitude, int height, const std::string& desc);
|
||||||
|
|
||||||
bool open();
|
bool open();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -509,8 +509,9 @@ void CYSFGateway::createGPS()
|
||||||
float latitude = m_conf.getLatitude();
|
float latitude = m_conf.getLatitude();
|
||||||
float longitude = m_conf.getLongitude();
|
float longitude = m_conf.getLongitude();
|
||||||
int height = m_conf.getHeight();
|
int height = m_conf.getHeight();
|
||||||
|
std::string desc = m_conf.getDescription();
|
||||||
|
|
||||||
m_gps->setInfo(txFrequency, rxFrequency, latitude, longitude, height);
|
m_gps->setInfo(txFrequency, rxFrequency, latitude, longitude, height, desc);
|
||||||
|
|
||||||
bool ret = m_gps->open();
|
bool ret = m_gps->open();
|
||||||
if (!ret) {
|
if (!ret) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue