Add more NXDN support files.

This commit is contained in:
Jonathan Naylor 2018-01-17 21:21:25 +00:00
parent d0bb0dc5f3
commit 5291a6427c
25 changed files with 1190 additions and 39 deletions

View file

@ -34,6 +34,7 @@ enum SECTION {
SECTION_LOG,
SECTION_CWID,
SECTION_DMRID_LOOKUP,
SECTION_NXDNID_LOOKUP,
SECTION_MODEM,
SECTION_UMP,
SECTION_DSTAR,
@ -80,6 +81,8 @@ m_cwIdTime(10U),
m_cwIdCallsign(),
m_dmrIdLookupFile(),
m_dmrIdLookupTime(0U),
m_nxdnIdLookupFile(),
m_nxdnIdLookupTime(0U),
m_modemPort(),
m_modemRXInvert(false),
m_modemTXInvert(false),
@ -246,6 +249,8 @@ bool CConf::read()
section = SECTION_CWID;
else if (::strncmp(buffer, "[DMR Id Lookup]", 15U) == 0)
section = SECTION_DMRID_LOOKUP;
else if (::strncmp(buffer, "[NXDN Id Lookup]", 16U) == 0)
section = SECTION_NXDNID_LOOKUP;
else if (::strncmp(buffer, "[Modem]", 7U) == 0)
section = SECTION_MODEM;
else if (::strncmp(buffer, "[UMP]", 5U) == 0)
@ -361,6 +366,11 @@ bool CConf::read()
m_dmrIdLookupFile = value;
else if (::strcmp(key, "Time") == 0)
m_dmrIdLookupTime = (unsigned int)::atoi(value);
} else if (section == SECTION_NXDNID_LOOKUP) {
if (::strcmp(key, "File") == 0)
m_nxdnIdLookupFile = value;
else if (::strcmp(key, "Time") == 0)
m_nxdnIdLookupTime = (unsigned int)::atoi(value);
} else if (section == SECTION_MODEM) {
if (::strcmp(key, "Port") == 0)
m_modemPort = value;
@ -824,6 +834,16 @@ unsigned int CConf::getDMRIdLookupTime() const
return m_dmrIdLookupTime;
}
std::string CConf::getNXDNIdLookupFile() const
{
return m_nxdnIdLookupFile;
}
unsigned int CConf::getNXDNIdLookupTime() const
{
return m_nxdnIdLookupTime;
}
std::string CConf::getModemPort() const
{
return m_modemPort;

7
Conf.h
View file

@ -64,6 +64,10 @@ public:
std::string getDMRIdLookupFile() const;
unsigned int getDMRIdLookupTime() const;
// The NXDN Id section
std::string getNXDNIdLookupFile() const;
unsigned int getNXDNIdLookupTime() const;
// The Modem section
std::string getModemPort() const;
bool getModemRXInvert() const;
@ -263,6 +267,9 @@ private:
std::string m_dmrIdLookupFile;
unsigned int m_dmrIdLookupTime;
std::string m_nxdnIdLookupFile;
unsigned int m_nxdnIdLookupTime;
std::string m_modemPort;
bool m_modemRXInvert;
bool m_modemTXInvert;

View file

@ -118,7 +118,7 @@ bool CDMRLookup::load()
{
FILE* fp = ::fopen(m_filename.c_str(), "rt");
if (fp == NULL) {
LogWarning("Cannot open the Id lookup file - %s", m_filename.c_str());
LogWarning("Cannot open the DMR Id lookup file - %s", m_filename.c_str());
return false;
}
@ -152,7 +152,7 @@ bool CDMRLookup::load()
if (size == 0U)
return false;
LogInfo("Loaded %u Ids to the callsign lookup table", size);
LogInfo("Loaded %u Ids to the DMR callsign lookup table", size);
return true;
}

View file

@ -36,6 +36,10 @@ Time=10
File=DMRIds.dat
Time=24
[NXDN Id Lookup]
File=nxuid_export.csv
Time=24
[Modem]
# Port=/dev/ttyACM0
Port=\\.\COM3

View file

@ -158,7 +158,8 @@ m_ysfEnabled(false),
m_p25Enabled(false),
m_nxdnEnabled(false),
m_cwIdTime(0U),
m_lookup(NULL),
m_dmrLookup(NULL),
m_nxdnLookup(NULL),
m_callsign(),
m_id(0U),
m_cwCallsign()
@ -341,8 +342,8 @@ int CMMDVMHost::run()
if (reloadTime > 0U)
LogInfo(" Reload: %u hours", reloadTime);
m_lookup = new CDMRLookup(lookupFile, reloadTime);
m_lookup->read();
m_dmrLookup = new CDMRLookup(lookupFile, reloadTime);
m_dmrLookup->read();
}
CStopWatch stopWatch;
@ -439,7 +440,7 @@ int CMMDVMHost::run()
dmrBeaconIntervalTimer.start();
}
dmr = new CDMRControl(id, colorCode, callHang, selfOnly, embeddedLCOnly, dumpTAData, prefixes, blackList, whiteList, slot1TGWhiteList, slot2TGWhiteList, m_timeout, m_modem, m_dmrNetwork, m_display, m_duplex, m_lookup, rssi);
dmr = new CDMRControl(id, colorCode, callHang, selfOnly, embeddedLCOnly, dumpTAData, prefixes, blackList, whiteList, slot1TGWhiteList, slot2TGWhiteList, m_timeout, m_modem, m_dmrNetwork, m_display, m_duplex, m_dmrLookup, rssi);
m_dmrTXTimer.setTimeout(txHang);
}
@ -483,11 +484,22 @@ int CMMDVMHost::run()
LogInfo(" Remote Gateway: %s", remoteGateway ? "yes" : "no");
LogInfo(" Mode Hang: %us", m_p25RFModeHang);
p25 = new CP25Control(nac, id, selfOnly, uidOverride, m_p25Network, m_display, m_timeout, m_duplex, m_lookup, remoteGateway, rssi);
p25 = new CP25Control(nac, id, selfOnly, uidOverride, m_p25Network, m_display, m_timeout, m_duplex, m_dmrLookup, remoteGateway, rssi);
}
CNXDNControl* nxdn = NULL;
if (m_nxdnEnabled) {
std::string lookupFile = m_conf.getNXDNIdLookupFile();
unsigned int reloadTime = m_conf.getNXDNIdLookupTime();
LogInfo("NXDN Id Lookups");
LogInfo(" File: %s", lookupFile.length() > 0U ? lookupFile.c_str() : "None");
if (reloadTime > 0U)
LogInfo(" Reload: %u hours", reloadTime);
m_nxdnLookup = new CNXDNLookup(lookupFile, reloadTime);
m_nxdnLookup->read();
unsigned int id = m_conf.getNXDNId();
unsigned int ran = m_conf.getNXDNRAN();
bool selfOnly = m_conf.getNXDNSelfOnly();
@ -501,7 +513,7 @@ int CMMDVMHost::run()
LogInfo(" Remote Gateway: %s", remoteGateway ? "yes" : "no");
LogInfo(" Mode Hang: %us", m_nxdnRFModeHang);
nxdn = new CNXDNControl(ran, id, selfOnly, m_nxdnNetwork, m_display, m_timeout, m_duplex, remoteGateway, rssi);
nxdn = new CNXDNControl(ran, id, selfOnly, m_nxdnNetwork, m_display, m_timeout, m_duplex, remoteGateway, m_nxdnLookup, rssi);
}
setMode(MODE_IDLE);
@ -881,8 +893,11 @@ int CMMDVMHost::run()
delete m_ump;
}
if (m_lookup != NULL)
m_lookup->stop();
if (m_dmrLookup != NULL)
m_dmrLookup->stop();
if (m_nxdnLookup != NULL)
m_nxdnLookup->stop();
if (m_dstarNetwork != NULL) {
m_dstarNetwork->close();

View file

@ -21,6 +21,7 @@
#include "DStarNetwork.h"
#include "NXDNNetwork.h"
#include "NXDNLookup.h"
#include "YSFNetwork.h"
#include "P25Network.h"
#include "DMRNetwork.h"
@ -73,7 +74,8 @@ private:
bool m_p25Enabled;
bool m_nxdnEnabled;
unsigned int m_cwIdTime;
CDMRLookup* m_lookup;
CDMRLookup* m_dmrLookup;
CNXDNLookup* m_nxdnLookup;
std::string m_callsign;
unsigned int m_id;
std::string m_cwCallsign;

View file

@ -194,8 +194,11 @@
<ClInclude Include="Nextion.h" />
<ClInclude Include="NullDisplay.h" />
<ClInclude Include="NXDNControl.h" />
<ClInclude Include="NXDNConvolution.h" />
<ClInclude Include="NXDNCRC.h" />
<ClInclude Include="NXDNDefines.h" />
<ClInclude Include="NXDNLICH.h" />
<ClInclude Include="NXDNLookup.h" />
<ClInclude Include="NXDNNetwork.h" />
<ClInclude Include="P25Audio.h" />
<ClInclude Include="P25Control.h" />
@ -270,7 +273,10 @@
<ClCompile Include="Nextion.cpp" />
<ClCompile Include="NullDisplay.cpp" />
<ClCompile Include="NXDNControl.cpp" />
<ClCompile Include="NXDNConvolution.cpp" />
<ClCompile Include="NXDNCRC.cpp" />
<ClCompile Include="NXDNLICH.cpp" />
<ClCompile Include="NXDNLookup.cpp" />
<ClCompile Include="NXDNNetwork.cpp" />
<ClCompile Include="P25Audio.cpp" />
<ClCompile Include="P25Control.cpp" />

View file

@ -242,6 +242,15 @@
<ClInclude Include="NXDNLICH.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="NXDNConvolution.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="NXDNCRC.h">
<Filter>Header Files</Filter>
</ClInclude>
<ClInclude Include="NXDNLookup.h">
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="BPTC19696.cpp">
@ -451,5 +460,14 @@
<ClCompile Include="NXDNLICH.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="NXDNConvolution.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="NXDNCRC.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="NXDNLookup.cpp">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>

View file

@ -9,10 +9,10 @@ LDFLAGS = -g
OBJECTS = \
AMBEFEC.o BCH.o BPTC19696.o Conf.o CRC.o Display.o DMRControl.o DMRCSBK.o DMRData.o DMRDataHeader.o DMREMB.o DMREmbeddedData.o DMRFullLC.o DMRLookup.o DMRLC.o \
DMRNetwork.o DMRShortLC.o DMRSlot.o DMRSlotType.o DMRAccessControl.o DMRTrellis.o DStarControl.o DStarHeader.o DStarNetwork.o DStarSlowData.o Golay2087.o \
Golay24128.o Hamming.o JitterBuffer.o LCDproc.o Log.o MMDVMHost.o Modem.o ModemSerialPort.o Mutex.o NetworkInfo.o Nextion.o NullDisplay.o NXDNControl.o NXDNLICH.o \
NXDNNetwork.o P25Audio.o P25Control.o P25Data.o P25LowSpeedData.o P25Network.o P25NID.o P25Trellis.o P25Utils.o QR1676.o RS129.o RS241213.o RSSIInterpolator.o \
SerialController.o SerialPort.o SHA256.o StopWatch.o Sync.o TFTSerial.o Thread.o Timer.o UDPSocket.o UMP.o Utils.o YSFControl.o YSFConvolution.o YSFFICH.o \
YSFNetwork.o YSFPayload.o
Golay24128.o Hamming.o JitterBuffer.o LCDproc.o Log.o MMDVMHost.o Modem.o ModemSerialPort.o Mutex.o NetworkInfo.o Nextion.o NullDisplay.o NXDNControl.o \
NXDNConvolution.o NXDNCRC.o NXDNLICH.o NXDNLookup.o NXDNNetwork.o P25Audio.o P25Control.o P25Data.o P25LowSpeedData.o P25Network.o P25NID.o P25Trellis.o \
P25Utils.o QR1676.o RS129.o RS241213.o RSSIInterpolator.o SerialController.o SerialPort.o SHA256.o StopWatch.o Sync.o TFTSerial.o Thread.o Timer.o UDPSocket.o \
UMP.o Utils.o YSFControl.o YSFConvolution.o YSFFICH.o YSFNetwork.o YSFPayload.o
all: MMDVMHost

View file

@ -9,10 +9,10 @@ LDFLAGS = -g -L/usr/local/lib
OBJECTS = \
AMBEFEC.o BCH.o BPTC19696.o Conf.o CRC.o Display.o DMRControl.o DMRCSBK.o DMRData.o DMRDataHeader.o DMREMB.o DMREmbeddedData.o DMRFullLC.o DMRLookup.o DMRLC.o \
DMRNetwork.o DMRShortLC.o DMRSlot.o DMRSlotType.o DMRAccessControl.o DMRTrellis.o DStarControl.o DStarHeader.o DStarNetwork.o DStarSlowData.o Golay2087.o \
Golay24128.o Hamming.o JitterBuffer.o LCDproc.o Log.o MMDVMHost.o Modem.o ModemSerialPort.o Mutex.o NetworkInfo.o Nextion.o NullDisplay.o NXDNControl.o NXDNLICH.o \
NXDNNetwork.o P25Audio.o P25Control.o P25Data.o P25LowSpeedData.o P25Network.o P25NID.o P25Trellis.o P25Utils.o QR1676.o RS129.o RS241213.o RSSIInterpolator.o \
SerialController.o SerialPort.o SHA256.o StopWatch.o Sync.o TFTSerial.o Thread.o Timer.o UDPSocket.o UMP.o Utils.o YSFControl.o YSFConvolution.o YSFFICH.o YSFNetwork.o \
YSFPayload.o
Golay24128.o Hamming.o JitterBuffer.o LCDproc.o Log.o MMDVMHost.o Modem.o ModemSerialPort.o Mutex.o NetworkInfo.o Nextion.o NullDisplay.o NXDNControl.o \
NXDNConvolution.o NXDNCRC.o NXDNLICH.o NXDNLookup.o NXDNNetwork.o P25Audio.o P25Control.o P25Data.o P25LowSpeedData.o P25Network.o P25NID.o P25Trellis.o \
P25Utils.o QR1676.o RS129.o RS241213.o RSSIInterpolator.o SerialController.o SerialPort.o SHA256.o StopWatch.o Sync.o TFTSerial.o Thread.o Timer.o UDPSocket.o \
UMP.o Utils.o YSFControl.o YSFConvolution.o YSFFICH.o YSFNetwork.o YSFPayload.o
all: MMDVMHost

View file

@ -10,9 +10,9 @@ OBJECTS = \
AMBEFEC.o BCH.o BPTC19696.o Conf.o CRC.o Display.o DMRControl.o DMRCSBK.o DMRData.o DMRDataHeader.o DMREMB.o DMREmbeddedData.o DMRFullLC.o DMRLookup.o DMRLC.o \
DMRNetwork.o DMRShortLC.o DMRSlot.o DMRSlotType.o DMRAccessControl.o DMRTrellis.o DStarControl.o DStarHeader.o DStarNetwork.o DStarSlowData.o Golay2087.o \
Golay24128.o Hamming.o HD44780.o JitterBuffer.o LCDproc.o Log.o MMDVMHost.o Modem.o ModemSerialPort.o Mutex.o NetworkInfo.o Nextion.o NullDisplay.o NXDNControl.o \
NXDNLICH.o NXDNNetwork.o P25Audio.o P25Control.o P25Data.o P25LowSpeedData.o P25Network.o P25NID.o P25Trellis.o P25Utils.o QR1676.o RS129.o RS241213.o RSSIInterpolator.o \
SerialController.o SerialPort.o SHA256.o StopWatch.o Sync.o TFTSerial.o Thread.o Timer.o UDPSocket.o UMP.o Utils.o YSFControl.o YSFConvolution.o YSFFICH.o YSFNetwork.o \
YSFPayload.o
NXDNConvolution.o NXDNCRC.o NXDNLICH.o NXDNLookup.o NXDNNetwork.o P25Audio.o P25Control.o P25Data.o P25LowSpeedData.o P25Network.o P25NID.o P25Trellis.o P25Utils.o \
QR1676.o RS129.o RS241213.o RSSIInterpolator.o SerialController.o SerialPort.o SHA256.o StopWatch.o Sync.o TFTSerial.o Thread.o Timer.o UDPSocket.o UMP.o Utils.o \
YSFControl.o YSFConvolution.o YSFFICH.o YSFNetwork.o YSFPayload.o
all: MMDVMHost

View file

@ -10,9 +10,9 @@ OBJECTS = \
AMBEFEC.o BCH.o BPTC19696.o Conf.o CRC.o Display.o DMRControl.o DMRCSBK.o DMRData.o DMRDataHeader.o DMREMB.o DMREmbeddedData.o DMRFullLC.o DMRLookup.o DMRLC.o \
DMRNetwork.o DMRShortLC.o DMRSlot.o DMRSlotType.o DMRAccessControl.o DMRTrellis.o DStarControl.o DStarHeader.o DStarNetwork.o DStarSlowData.o Golay2087.o \
Golay24128.o Hamming.o HD44780.o JitterBuffer.o LCDproc.o Log.o MMDVMHost.o Modem.o ModemSerialPort.o Mutex.o NetworkInfo.o Nextion.o NullDisplay.o NXDNControl.o \
NXDNLICH.o NXDNNetwork.o P25Audio.o P25Control.o P25Data.o P25LowSpeedData.o P25Network.o P25NID.o P25Trellis.o P25Utils.o QR1676.o RS129.o RS241213.o RSSIInterpolator.o \
SerialController.o SerialPort.o SHA256.o StopWatch.o Sync.o TFTSerial.o Thread.o Timer.o UDPSocket.o UMP.o Utils.o YSFControl.o YSFConvolution.o YSFFICH.o YSFNetwork.o \
YSFPayload.o
NXDNConvolution.o NXDNCRC.o NXDNLICH.o NXDNLookup.o NXDNNetwork.o P25Audio.o P25Control.o P25Data.o P25LowSpeedData.o P25Network.o P25NID.o P25Trellis.o P25Utils.o \
QR1676.o RS129.o RS241213.o RSSIInterpolator.o SerialController.o SerialPort.o SHA256.o StopWatch.o Sync.o TFTSerial.o Thread.o Timer.o UDPSocket.o UMP.o Utils.o \
YSFControl.o YSFConvolution.o YSFFICH.o YSFNetwork.o YSFPayload.o
all: MMDVMHost

View file

@ -10,9 +10,9 @@ OBJECTS = \
AMBEFEC.o BCH.o BPTC19696.o Conf.o CRC.o Display.o DMRControl.o DMRCSBK.o DMRData.o DMRDataHeader.o DMREMB.o DMREmbeddedData.o DMRFullLC.o DMRLookup.o DMRLC.o \
DMRNetwork.o DMRShortLC.o DMRSlot.o DMRSlotType.o DMRAccessControl.o DMRTrellis.o DStarControl.o DStarHeader.o DStarNetwork.o DStarSlowData.o Golay2087.o \
Golay24128.o Hamming.o JitterBuffer.o OLED.o LCDproc.o Log.o MMDVMHost.o Modem.o ModemSerialPort.o Mutex.o NetworkInfo.o Nextion.o NullDisplay.o NXDNControl.o \
NXDNLICH.o NXDNNetwork.o P25Audio.o P25Control.o P25Data.o P25LowSpeedData.o P25Network.o P25NID.o P25Trellis.o P25Utils.o QR1676.o RS129.o RS241213.o RSSIInterpolator.o \
SerialController.o SerialPort.o SHA256.o StopWatch.o Sync.o TFTSerial.o Thread.o Timer.o UDPSocket.o UMP.o Utils.o YSFControl.o YSFConvolution.o YSFFICH.o YSFNetwork.o \
YSFPayload.o
NXDNConvolution.o NXDNCRC.o NXDNLICH.o NXDNLookup.o NXDNNetwork.o P25Audio.o P25Control.o P25Data.o P25LowSpeedData.o P25Network.o P25NID.o P25Trellis.o P25Utils.o \
QR1676.o RS129.o RS241213.o RSSIInterpolator.o SerialController.o SerialPort.o SHA256.o StopWatch.o Sync.o TFTSerial.o Thread.o Timer.o UDPSocket.o UMP.o Utils.o \
YSFControl.o YSFConvolution.o YSFFICH.o YSFNetwork.o YSFPayload.o
all: MMDVMHost

View file

@ -10,9 +10,9 @@ OBJECTS = \
AMBEFEC.o BCH.o BPTC19696.o Conf.o CRC.o Display.o DMRControl.o DMRCSBK.o DMRData.o DMRDataHeader.o DMREMB.o DMREmbeddedData.o DMRFullLC.o DMRLookup.o DMRLC.o \
DMRNetwork.o DMRShortLC.o DMRSlot.o DMRSlotType.o DMRAccessControl.o DMRTrellis.o DStarControl.o DStarHeader.o DStarNetwork.o DStarSlowData.o Golay2087.o \
Golay24128.o Hamming.o HD44780.o JitterBuffer.o LCDproc.o Log.o MMDVMHost.o Modem.o ModemSerialPort.o Mutex.o NetworkInfo.o Nextion.o NullDisplay.o NXDNControl.o \
NXDNLICH.o NXDNNetwork.o P25Audio.o P25Control.o P25Data.o P25LowSpeedData.o P25Network.o P25NID.o P25Trellis.o P25Utils.o QR1676.o RS129.o RS241213.o RSSIInterpolator.o \
SerialController.o SerialPort.o SHA256.o StopWatch.o Sync.o TFTSerial.o Thread.o Timer.o UDPSocket.o UMP.o Utils.o YSFControl.o YSFConvolution.o YSFFICH.o YSFNetwork.o \
YSFPayload.o
NXDNConvolution.o NXDNCRC.o NXDNLICH.o NXDNLookup.o NXDNNetwork.o P25Audio.o P25Control.o P25Data.o P25LowSpeedData.o P25Network.o P25NID.o P25Trellis.o P25Utils.o \
QR1676.o RS129.o RS241213.o RSSIInterpolator.o SerialController.o SerialPort.o SHA256.o StopWatch.o Sync.o TFTSerial.o Thread.o Timer.o UDPSocket.o UMP.o Utils.o \
YSFControl.o YSFConvolution.o YSFFICH.o YSFNetwork.o YSFPayload.o
all: MMDVMHost

View file

@ -10,9 +10,9 @@ OBJECTS = \
AMBEFEC.o BCH.o BPTC19696.o Conf.o CRC.o Display.o DMRControl.o DMRCSBK.o DMRData.o DMRDataHeader.o DMREMB.o DMREmbeddedData.o DMRFullLC.o DMRLookup.o DMRLC.o \
DMRNetwork.o DMRShortLC.o DMRSlot.o DMRSlotType.o DMRAccessControl.o DMRTrellis.o DStarControl.o DStarHeader.o DStarNetwork.o DStarSlowData.o Golay2087.o \
Golay24128.o Hamming.o JitterBuffer.o LCDproc.o Log.o MMDVMHost.o Modem.o ModemSerialPort.o Mutex.o NetworkInfo.o Nextion.o NullDisplay.o NXDNControl.o \
NXDNLICH.o NXDNNetwork.o P25Audio.o P25Control.o P25Data.o P25LowSpeedData.o P25Network.o P25NID.o P25Trellis.o P25Utils.o QR1676.o RS129.o RS241213.o \
RSSIInterpolator.o SerialController.o SerialPort.o SHA256.o StopWatch.o Sync.o TFTSerial.o Thread.o Timer.o UDPSocket.o UMP.o Utils.o YSFControl.o \
YSFConvolution.o YSFFICH.o YSFNetwork.o YSFPayload.o
NXDNConvolution.o NXDNCRC.o NXDNLICH.o NXDNLookup.o NXDNNetwork.o P25Audio.o P25Control.o P25Data.o P25LowSpeedData.o P25Network.o P25NID.o P25Trellis.o \
P25Utils.o QR1676.o RS129.o RS241213.o RSSIInterpolator.o SerialController.o SerialPort.o SHA256.o StopWatch.o Sync.o TFTSerial.o Thread.o Timer.o UDPSocket.o \
UMP.o Utils.o YSFControl.o YSFConvolution.o YSFFICH.o YSFNetwork.o YSFPayload.o
all: MMDVMHost

240
NXDNCRC.cpp Normal file
View file

@ -0,0 +1,240 @@
/*
* Copyright (C) 2015,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 "NXDNCRC.h"
#include "Utils.h"
#include "Log.h"
#include <cstdint>
#include <cstdio>
#include <cassert>
#include <cmath>
const uint8_t CRC8_TABLE[] = {
0x00, 0x07, 0x0E, 0x09, 0x1C, 0x1B, 0x12, 0x15, 0x38, 0x3F, 0x36, 0x31,
0x24, 0x23, 0x2A, 0x2D, 0x70, 0x77, 0x7E, 0x79, 0x6C, 0x6B, 0x62, 0x65,
0x48, 0x4F, 0x46, 0x41, 0x54, 0x53, 0x5A, 0x5D, 0xE0, 0xE7, 0xEE, 0xE9,
0xFC, 0xFB, 0xF2, 0xF5, 0xD8, 0xDF, 0xD6, 0xD1, 0xC4, 0xC3, 0xCA, 0xCD,
0x90, 0x97, 0x9E, 0x99, 0x8C, 0x8B, 0x82, 0x85, 0xA8, 0xAF, 0xA6, 0xA1,
0xB4, 0xB3, 0xBA, 0xBD, 0xC7, 0xC0, 0xC9, 0xCE, 0xDB, 0xDC, 0xD5, 0xD2,
0xFF, 0xF8, 0xF1, 0xF6, 0xE3, 0xE4, 0xED, 0xEA, 0xB7, 0xB0, 0xB9, 0xBE,
0xAB, 0xAC, 0xA5, 0xA2, 0x8F, 0x88, 0x81, 0x86, 0x93, 0x94, 0x9D, 0x9A,
0x27, 0x20, 0x29, 0x2E, 0x3B, 0x3C, 0x35, 0x32, 0x1F, 0x18, 0x11, 0x16,
0x03, 0x04, 0x0D, 0x0A, 0x57, 0x50, 0x59, 0x5E, 0x4B, 0x4C, 0x45, 0x42,
0x6F, 0x68, 0x61, 0x66, 0x73, 0x74, 0x7D, 0x7A, 0x89, 0x8E, 0x87, 0x80,
0x95, 0x92, 0x9B, 0x9C, 0xB1, 0xB6, 0xBF, 0xB8, 0xAD, 0xAA, 0xA3, 0xA4,
0xF9, 0xFE, 0xF7, 0xF0, 0xE5, 0xE2, 0xEB, 0xEC, 0xC1, 0xC6, 0xCF, 0xC8,
0xDD, 0xDA, 0xD3, 0xD4, 0x69, 0x6E, 0x67, 0x60, 0x75, 0x72, 0x7B, 0x7C,
0x51, 0x56, 0x5F, 0x58, 0x4D, 0x4A, 0x43, 0x44, 0x19, 0x1E, 0x17, 0x10,
0x05, 0x02, 0x0B, 0x0C, 0x21, 0x26, 0x2F, 0x28, 0x3D, 0x3A, 0x33, 0x34,
0x4E, 0x49, 0x40, 0x47, 0x52, 0x55, 0x5C, 0x5B, 0x76, 0x71, 0x78, 0x7F,
0x6A, 0x6D, 0x64, 0x63, 0x3E, 0x39, 0x30, 0x37, 0x22, 0x25, 0x2C, 0x2B,
0x06, 0x01, 0x08, 0x0F, 0x1A, 0x1D, 0x14, 0x13, 0xAE, 0xA9, 0xA0, 0xA7,
0xB2, 0xB5, 0xBC, 0xBB, 0x96, 0x91, 0x98, 0x9F, 0x8A, 0x8D, 0x84, 0x83,
0xDE, 0xD9, 0xD0, 0xD7, 0xC2, 0xC5, 0xCC, 0xCB, 0xE6, 0xE1, 0xE8, 0xEF,
0xFA, 0xFD, 0xF4, 0xF3, 0x01 };
const uint16_t CCITT16_TABLE1[] = {
0x0000U, 0x1189U, 0x2312U, 0x329bU, 0x4624U, 0x57adU, 0x6536U, 0x74bfU,
0x8c48U, 0x9dc1U, 0xaf5aU, 0xbed3U, 0xca6cU, 0xdbe5U, 0xe97eU, 0xf8f7U,
0x1081U, 0x0108U, 0x3393U, 0x221aU, 0x56a5U, 0x472cU, 0x75b7U, 0x643eU,
0x9cc9U, 0x8d40U, 0xbfdbU, 0xae52U, 0xdaedU, 0xcb64U, 0xf9ffU, 0xe876U,
0x2102U, 0x308bU, 0x0210U, 0x1399U, 0x6726U, 0x76afU, 0x4434U, 0x55bdU,
0xad4aU, 0xbcc3U, 0x8e58U, 0x9fd1U, 0xeb6eU, 0xfae7U, 0xc87cU, 0xd9f5U,
0x3183U, 0x200aU, 0x1291U, 0x0318U, 0x77a7U, 0x662eU, 0x54b5U, 0x453cU,
0xbdcbU, 0xac42U, 0x9ed9U, 0x8f50U, 0xfbefU, 0xea66U, 0xd8fdU, 0xc974U,
0x4204U, 0x538dU, 0x6116U, 0x709fU, 0x0420U, 0x15a9U, 0x2732U, 0x36bbU,
0xce4cU, 0xdfc5U, 0xed5eU, 0xfcd7U, 0x8868U, 0x99e1U, 0xab7aU, 0xbaf3U,
0x5285U, 0x430cU, 0x7197U, 0x601eU, 0x14a1U, 0x0528U, 0x37b3U, 0x263aU,
0xdecdU, 0xcf44U, 0xfddfU, 0xec56U, 0x98e9U, 0x8960U, 0xbbfbU, 0xaa72U,
0x6306U, 0x728fU, 0x4014U, 0x519dU, 0x2522U, 0x34abU, 0x0630U, 0x17b9U,
0xef4eU, 0xfec7U, 0xcc5cU, 0xddd5U, 0xa96aU, 0xb8e3U, 0x8a78U, 0x9bf1U,
0x7387U, 0x620eU, 0x5095U, 0x411cU, 0x35a3U, 0x242aU, 0x16b1U, 0x0738U,
0xffcfU, 0xee46U, 0xdcddU, 0xcd54U, 0xb9ebU, 0xa862U, 0x9af9U, 0x8b70U,
0x8408U, 0x9581U, 0xa71aU, 0xb693U, 0xc22cU, 0xd3a5U, 0xe13eU, 0xf0b7U,
0x0840U, 0x19c9U, 0x2b52U, 0x3adbU, 0x4e64U, 0x5fedU, 0x6d76U, 0x7cffU,
0x9489U, 0x8500U, 0xb79bU, 0xa612U, 0xd2adU, 0xc324U, 0xf1bfU, 0xe036U,
0x18c1U, 0x0948U, 0x3bd3U, 0x2a5aU, 0x5ee5U, 0x4f6cU, 0x7df7U, 0x6c7eU,
0xa50aU, 0xb483U, 0x8618U, 0x9791U, 0xe32eU, 0xf2a7U, 0xc03cU, 0xd1b5U,
0x2942U, 0x38cbU, 0x0a50U, 0x1bd9U, 0x6f66U, 0x7eefU, 0x4c74U, 0x5dfdU,
0xb58bU, 0xa402U, 0x9699U, 0x8710U, 0xf3afU, 0xe226U, 0xd0bdU, 0xc134U,
0x39c3U, 0x284aU, 0x1ad1U, 0x0b58U, 0x7fe7U, 0x6e6eU, 0x5cf5U, 0x4d7cU,
0xc60cU, 0xd785U, 0xe51eU, 0xf497U, 0x8028U, 0x91a1U, 0xa33aU, 0xb2b3U,
0x4a44U, 0x5bcdU, 0x6956U, 0x78dfU, 0x0c60U, 0x1de9U, 0x2f72U, 0x3efbU,
0xd68dU, 0xc704U, 0xf59fU, 0xe416U, 0x90a9U, 0x8120U, 0xb3bbU, 0xa232U,
0x5ac5U, 0x4b4cU, 0x79d7U, 0x685eU, 0x1ce1U, 0x0d68U, 0x3ff3U, 0x2e7aU,
0xe70eU, 0xf687U, 0xc41cU, 0xd595U, 0xa12aU, 0xb0a3U, 0x8238U, 0x93b1U,
0x6b46U, 0x7acfU, 0x4854U, 0x59ddU, 0x2d62U, 0x3cebU, 0x0e70U, 0x1ff9U,
0xf78fU, 0xe606U, 0xd49dU, 0xc514U, 0xb1abU, 0xa022U, 0x92b9U, 0x8330U,
0x7bc7U, 0x6a4eU, 0x58d5U, 0x495cU, 0x3de3U, 0x2c6aU, 0x1ef1U, 0x0f78U };
const uint16_t CCITT16_TABLE2[] = {
0x0000, 0x1021, 0x2042, 0x3063, 0x4084, 0x50A5, 0x60C6, 0x70E7,
0x8108, 0x9129, 0xA14A, 0xB16B, 0xC18C, 0xD1AD, 0xE1CE, 0xF1EF,
0x1231, 0x0210, 0x3273, 0x2252, 0x52B5, 0x4294, 0x72F7, 0x62D6,
0x9339, 0x8318, 0xB37B, 0xA35A, 0xD3BD, 0xC39C, 0xF3FF, 0xE3DE,
0x2462, 0x3443, 0x0420, 0x1401, 0x64E6, 0x74C7, 0x44A4, 0x5485,
0xA56A, 0xB54B, 0x8528, 0x9509, 0xE5EE, 0xF5CF, 0xC5AC, 0xD58D,
0x3653, 0x2672, 0x1611, 0x0630, 0x76D7, 0x66F6, 0x5695, 0x46B4,
0xB75B, 0xA77A, 0x9719, 0x8738, 0xF7DF, 0xE7FE, 0xD79D, 0xC7BC,
0x48C4, 0x58E5, 0x6886, 0x78A7, 0x0840, 0x1861, 0x2802, 0x3823,
0xC9CC, 0xD9ED, 0xE98E, 0xF9AF, 0x8948, 0x9969, 0xA90A, 0xB92B,
0x5AF5, 0x4AD4, 0x7AB7, 0x6A96, 0x1A71, 0x0A50, 0x3A33, 0x2A12,
0xDBFD, 0xCBDC, 0xFBBF, 0xEB9E, 0x9B79, 0x8B58, 0xBB3B, 0xAB1A,
0x6CA6, 0x7C87, 0x4CE4, 0x5CC5, 0x2C22, 0x3C03, 0x0C60, 0x1C41,
0xEDAE, 0xFD8F, 0xCDEC, 0xDDCD, 0xAD2A, 0xBD0B, 0x8D68, 0x9D49,
0x7E97, 0x6EB6, 0x5ED5, 0x4EF4, 0x3E13, 0x2E32, 0x1E51, 0x0E70,
0xFF9F, 0xEFBE, 0xDFDD, 0xCFFC, 0xBF1B, 0xAF3A, 0x9F59, 0x8F78,
0x9188, 0x81A9, 0xB1CA, 0xA1EB, 0xD10C, 0xC12D, 0xF14E, 0xE16F,
0x1080, 0x00A1, 0x30C2, 0x20E3, 0x5004, 0x4025, 0x7046, 0x6067,
0x83B9, 0x9398, 0xA3FB, 0xB3DA, 0xC33D, 0xD31C, 0xE37F, 0xF35E,
0x02B1, 0x1290, 0x22F3, 0x32D2, 0x4235, 0x5214, 0x6277, 0x7256,
0xB5EA, 0xA5CB, 0x95A8, 0x8589, 0xF56E, 0xE54F, 0xD52C, 0xC50D,
0x34E2, 0x24C3, 0x14A0, 0x0481, 0x7466, 0x6447, 0x5424, 0x4405,
0xA7DB, 0xB7FA, 0x8799, 0x97B8, 0xE75F, 0xF77E, 0xC71D, 0xD73C,
0x26D3, 0x36F2, 0x0691, 0x16B0, 0x6657, 0x7676, 0x4615, 0x5634,
0xD94C, 0xC96D, 0xF90E, 0xE92F, 0x99C8, 0x89E9, 0xB98A, 0xA9AB,
0x5844, 0x4865, 0x7806, 0x6827, 0x18C0, 0x08E1, 0x3882, 0x28A3,
0xCB7D, 0xDB5C, 0xEB3F, 0xFB1E, 0x8BF9, 0x9BD8, 0xABBB, 0xBB9A,
0x4A75, 0x5A54, 0x6A37, 0x7A16, 0x0AF1, 0x1AD0, 0x2AB3, 0x3A92,
0xFD2E, 0xED0F, 0xDD6C, 0xCD4D, 0xBDAA, 0xAD8B, 0x9DE8, 0x8DC9,
0x7C26, 0x6C07, 0x5C64, 0x4C45, 0x3CA2, 0x2C83, 0x1CE0, 0x0CC1,
0xEF1F, 0xFF3E, 0xCF5D, 0xDF7C, 0xAF9B, 0xBFBA, 0x8FD9, 0x9FF8,
0x6E17, 0x7E36, 0x4E55, 0x5E74, 0x2E93, 0x3EB2, 0x0ED1, 0x1EF0 };
bool CNXDNCRC::checkFiveBit(bool* in, unsigned int tcrc)
{
assert(in != NULL);
unsigned int crc;
encodeFiveBit(in, crc);
return crc == tcrc;
}
void CNXDNCRC::encodeFiveBit(const bool* in, unsigned int& tcrc)
{
assert(in != NULL);
unsigned short total = 0U;
for (unsigned int i = 0U; i < 72U; i += 8U) {
unsigned char c;
CUtils::bitsToByteBE(in + i, c);
total += c;
}
total %= 31U;
tcrc = total;
}
void CNXDNCRC::addCCITT162(unsigned char *in, unsigned int length)
{
assert(in != NULL);
assert(length > 2U);
union {
uint16_t crc16;
uint8_t crc8[2U];
};
crc16 = 0U;
for (unsigned i = 0U; i < (length - 2U); i++)
crc16 = (uint16_t(crc8[0U]) << 8) ^ CCITT16_TABLE2[crc8[1U] ^ in[i]];
crc16 = ~crc16;
in[length - 1U] = crc8[0U];
in[length - 2U] = crc8[1U];
}
bool CNXDNCRC::checkCCITT162(const unsigned char *in, unsigned int length)
{
assert(in != NULL);
assert(length > 2U);
union {
uint16_t crc16;
uint8_t crc8[2U];
};
crc16 = 0U;
for (unsigned i = 0U; i < (length - 2U); i++)
crc16 = (uint16_t(crc8[0U]) << 8) ^ CCITT16_TABLE2[crc8[1U] ^ in[i]];
crc16 = ~crc16;
return crc8[0U] == in[length - 1U] && crc8[1U] == in[length - 2U];
}
void CNXDNCRC::addCCITT161(unsigned char *in, unsigned int length)
{
assert(in != NULL);
assert(length > 2U);
union {
uint16_t crc16;
uint8_t crc8[2U];
};
crc16 = 0xFFFFU;
for (unsigned int i = 0U; i < (length - 2U); i++)
crc16 = uint16_t(crc8[1U]) ^ CCITT16_TABLE1[crc8[0U] ^ in[i]];
crc16 = ~crc16;
in[length - 2U] = crc8[0U];
in[length - 1U] = crc8[1U];
}
bool CNXDNCRC::checkCCITT161(const unsigned char *in, unsigned int length)
{
assert(in != NULL);
assert(length > 2U);
union {
uint16_t crc16;
uint8_t crc8[2U];
};
crc16 = 0xFFFFU;
for (unsigned int i = 0U; i < (length - 2U); i++)
crc16 = uint16_t(crc8[1U]) ^ CCITT16_TABLE1[crc8[0U] ^ in[i]];
crc16 = ~crc16;
return crc8[0U] == in[length - 2U] && crc8[1U] == in[length - 1U];
}
unsigned char CNXDNCRC::crc8(const unsigned char *in, unsigned int length)
{
assert(in != NULL);
uint8_t crc = 0U;
for (unsigned int i = 0U; i < length; i++)
crc = CRC8_TABLE[crc ^ in[i]];
return crc;
}

37
NXDNCRC.h Normal file
View file

@ -0,0 +1,37 @@
/*
* Copyright (C) 2015,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(NXDNCRC_H)
#define NXDNCRC_H
class CNXDNCRC
{
public:
static bool checkFiveBit(bool* in, unsigned int tcrc);
static void encodeFiveBit(const bool* in, unsigned int& tcrc);
static void addCCITT161(unsigned char* in, unsigned int length);
static void addCCITT162(unsigned char* in, unsigned int length);
static bool checkCCITT161(const unsigned char* in, unsigned int length);
static bool checkCCITT162(const unsigned char* in, unsigned int length);
static unsigned char crc8(const unsigned char* in, unsigned int length);
};
#endif

View file

@ -28,7 +28,7 @@ const unsigned char SCRAMBLER[] = {
// #define DUMP_NXDN
CNXDNControl::CNXDNControl(unsigned int ran, unsigned int id, bool selfOnly, CNXDNNetwork* network, CDisplay* display, unsigned int timeout, bool duplex, bool remoteGateway, CRSSIInterpolator* rssiMapper) :
CNXDNControl::CNXDNControl(unsigned int ran, unsigned int id, bool selfOnly, CNXDNNetwork* network, CDisplay* display, unsigned int timeout, bool duplex, bool remoteGateway, CNXDNLookup* lookup, CRSSIInterpolator* rssiMapper) :
m_ran(ran),
m_id(id),
m_selfOnly(selfOnly),
@ -36,6 +36,7 @@ m_network(network),
m_display(display),
m_duplex(duplex),
m_remoteGateway(remoteGateway),
m_lookup(lookup),
m_queue(5000U, "NXDN Control"),
m_rfState(RS_RF_LISTENING),
m_netState(RS_NET_IDLE),
@ -62,6 +63,7 @@ m_rssiCount(0U),
m_fp(NULL)
{
assert(display != NULL);
assert(lookup != NULL);
assert(rssiMapper != NULL);
}

View file

@ -22,7 +22,7 @@
#include "RSSIInterpolator.h"
#include "NXDNNetwork.h"
#include "NXDNDefines.h"
// #include "YSFPayload.h"
#include "NXDNLookup.h"
#include "RingBuffer.h"
#include "StopWatch.h"
#include "NXDNLICH.h"
@ -35,7 +35,7 @@
class CNXDNControl {
public:
CNXDNControl(unsigned int ran, unsigned int id, bool selfOnly, CNXDNNetwork* network, CDisplay* display, unsigned int timeout, bool duplex, bool remoteGateway, CRSSIInterpolator* rssiMapper);
CNXDNControl(unsigned int ran, unsigned int id, bool selfOnly, CNXDNNetwork* network, CDisplay* display, unsigned int timeout, bool duplex, bool remoteGateway, CNXDNLookup* lookup, CRSSIInterpolator* rssiMapper);
~CNXDNControl();
bool writeModem(unsigned char* data, unsigned int len);
@ -52,6 +52,7 @@ private:
CDisplay* m_display;
bool m_duplex;
bool m_remoteGateway;
CNXDNLookup* m_lookup;
CRingBuffer<unsigned char> m_queue;
RPT_RF_STATE m_rfState;
RPT_NET_STATE m_netState;

141
NXDNConvolution.cpp Normal file
View file

@ -0,0 +1,141 @@
/*
* Copyright (C) 2009-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 "NXDNConvolution.h"
#include <cstdio>
#include <cassert>
#include <cstring>
const unsigned char BIT_MASK_TABLE[] = {0x80U, 0x40U, 0x20U, 0x10U, 0x08U, 0x04U, 0x02U, 0x01U};
#define WRITE_BIT1(p,i,b) p[(i)>>3] = (b) ? (p[(i)>>3] | BIT_MASK_TABLE[(i)&7]) : (p[(i)>>3] & ~BIT_MASK_TABLE[(i)&7])
#define READ_BIT1(p,i) (p[(i)>>3] & BIT_MASK_TABLE[(i)&7])
const uint8_t BRANCH_TABLE1[] = {0U, 0U, 0U, 0U, 1U, 1U, 1U, 1U};
const uint8_t BRANCH_TABLE2[] = {0U, 1U, 1U, 0U, 0U, 1U, 1U, 0U};
const unsigned int NUM_OF_STATES_D2 = 8U;
const unsigned int NUM_OF_STATES = 16U;
const uint32_t M = 2U;
const unsigned int K = 5U;
CNXDNConvolution::CNXDNConvolution() :
m_metrics1(NULL),
m_metrics2(NULL),
m_oldMetrics(NULL),
m_newMetrics(NULL),
m_decisions(NULL),
m_dp(NULL)
{
m_metrics1 = new uint16_t[16U];
m_metrics2 = new uint16_t[16U];
m_decisions = new uint64_t[180U];
}
CNXDNConvolution::~CNXDNConvolution()
{
delete[] m_metrics1;
delete[] m_metrics2;
delete[] m_decisions;
}
void CNXDNConvolution::start()
{
::memset(m_metrics1, 0x00U, NUM_OF_STATES * sizeof(uint16_t));
::memset(m_metrics2, 0x00U, NUM_OF_STATES * sizeof(uint16_t));
m_oldMetrics = m_metrics1;
m_newMetrics = m_metrics2;
m_dp = m_decisions;
}
void CNXDNConvolution::decode(uint8_t s0, uint8_t s1)
{
*m_dp = 0U;
for (uint8_t i = 0U; i < NUM_OF_STATES_D2; i++) {
uint8_t j = i * 2U;
uint16_t metric = (BRANCH_TABLE1[i] ^ s0) + (BRANCH_TABLE2[i] ^ s1);
uint16_t m0 = m_oldMetrics[i] + metric;
uint16_t m1 = m_oldMetrics[i + NUM_OF_STATES_D2] + (M - metric);
uint8_t decision0 = (m0 >= m1) ? 1U : 0U;
m_newMetrics[j + 0U] = decision0 != 0U ? m1 : m0;
m0 = m_oldMetrics[i] + (M - metric);
m1 = m_oldMetrics[i + NUM_OF_STATES_D2] + metric;
uint8_t decision1 = (m0 >= m1) ? 1U : 0U;
m_newMetrics[j + 1U] = decision1 != 0U ? m1 : m0;
*m_dp |= (uint64_t(decision1) << (j + 1U)) | (uint64_t(decision0) << (j + 0U));
}
++m_dp;
assert((m_dp - m_decisions) <= 180);
uint16_t* tmp = m_oldMetrics;
m_oldMetrics = m_newMetrics;
m_newMetrics = tmp;
}
void CNXDNConvolution::chainback(unsigned char* out, unsigned int nBits)
{
assert(out != NULL);
uint32_t state = 0U;
while (nBits-- > 0) {
--m_dp;
uint32_t i = state >> (9 - K);
uint8_t bit = uint8_t(*m_dp >> i) & 1;
state = (bit << 7) | (state >> 1);
WRITE_BIT1(out, nBits, bit != 0U);
}
}
void CNXDNConvolution::encode(const unsigned char* in, unsigned char* out, unsigned int nBits) const
{
assert(in != NULL);
assert(out != NULL);
assert(nBits > 0U);
uint8_t d1 = 0U, d2 = 0U, d3 = 0U, d4 = 0U;
uint32_t k = 0U;
for (unsigned int i = 0U; i < nBits; i++) {
uint8_t d = READ_BIT1(in, i) ? 1U : 0U;
uint8_t g1 = (d + d3 + d4) & 1;
uint8_t g2 = (d + d1 + d2 + d4) & 1;
d4 = d3;
d3 = d2;
d2 = d1;
d1 = d;
WRITE_BIT1(out, k, g1 != 0U);
k++;
WRITE_BIT1(out, k, g2 != 0U);
k++;
}
}

45
NXDNConvolution.h Normal file
View file

@ -0,0 +1,45 @@
/*
* Copyright (C) 2015,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(NXDNConvolution_H)
#define NXDNConvolution_H
#include <cstdint>
class CNXDNConvolution {
public:
CNXDNConvolution();
~CNXDNConvolution();
void start();
void decode(uint8_t s0, uint8_t s1);
void chainback(unsigned char* out, unsigned int nBits);
void encode(const unsigned char* in, unsigned char* out, unsigned int nBits) const;
private:
uint16_t* m_metrics1;
uint16_t* m_metrics2;
uint16_t* m_oldMetrics;
uint16_t* m_newMetrics;
uint64_t* m_decisions;
uint64_t* m_dp;
};
#endif

158
NXDNLookup.cpp Normal file
View file

@ -0,0 +1,158 @@
/*
* Copyright (C) 2016,2017,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 "NXDNLookup.h"
#include "Timer.h"
#include "Log.h"
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cctype>
CNXDNLookup::CNXDNLookup(const std::string& filename, unsigned int reloadTime) :
CThread(),
m_filename(filename),
m_reloadTime(reloadTime),
m_table(),
m_mutex(),
m_stop(false)
{
}
CNXDNLookup::~CNXDNLookup()
{
}
bool CNXDNLookup::read()
{
bool ret = load();
if (m_reloadTime > 0U)
run();
return ret;
}
void CNXDNLookup::entry()
{
LogInfo("Started the NXDN Id lookup reload thread");
CTimer timer(1U, 3600U * m_reloadTime);
timer.start();
while (!m_stop) {
sleep(1000U);
timer.clock();
if (timer.hasExpired()) {
load();
timer.start();
}
}
LogInfo("Stopped the NXDN Id lookup reload thread");
}
void CNXDNLookup::stop()
{
if (m_reloadTime == 0U) {
delete this;
return;
}
m_stop = true;
wait();
}
std::string CNXDNLookup::find(unsigned int id)
{
std::string callsign;
if (id == 0xFFFFU)
return std::string("ALL");
m_mutex.lock();
try {
callsign = m_table.at(id);
} catch (...) {
char text[10U];
::sprintf(text, "%u", id);
callsign = std::string(text);
}
m_mutex.unlock();
return callsign;
}
bool CNXDNLookup::exists(unsigned int id)
{
m_mutex.lock();
bool found = m_table.count(id) == 1U;
m_mutex.unlock();
return found;
}
bool CNXDNLookup::load()
{
FILE* fp = ::fopen(m_filename.c_str(), "rt");
if (fp == NULL) {
LogWarning("Cannot open the NXDN Id lookup file - %s", m_filename.c_str());
return false;
}
m_mutex.lock();
// Remove the old entries
m_table.clear();
char buffer[100U];
while (::fgets(buffer, 100U, fp) != NULL) {
if (buffer[0U] == '#')
continue;
char* p1 = ::strtok(buffer, ",\t\r\n");
char* p2 = ::strtok(NULL, ",\t\r\n");
if (p1 != NULL && p2 != NULL) {
unsigned int id = (unsigned int)::atoi(p1);
for (char* p = p2; *p != 0x00U; p++)
*p = ::toupper(*p);
m_table[id] = std::string(p2);
}
}
m_mutex.unlock();
::fclose(fp);
size_t size = m_table.size();
if (size == 0U)
return false;
LogInfo("Loaded %u Ids to the NXDN callsign lookup table", size);
return true;
}

53
NXDNLookup.h Normal file
View file

@ -0,0 +1,53 @@
/*
* Copyright (C) 2016,2017,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.
*/
#ifndef NXDNLookup_H
#define NXDNLookup_H
#include "Thread.h"
#include "Mutex.h"
#include <string>
#include <unordered_map>
class CNXDNLookup : public CThread {
public:
CNXDNLookup(const std::string& filename, unsigned int reloadTime);
virtual ~CNXDNLookup();
bool read();
virtual void entry();
std::string find(unsigned int id);
bool exists(unsigned int id);
void stop();
private:
std::string m_filename;
unsigned int m_reloadTime;
std::unordered_map<unsigned int, std::string> m_table;
CMutex m_mutex;
bool m_stop;
bool load();
};
#endif

View file

@ -19,8 +19,6 @@
#if !defined(YSFConvolution_H)
#define YSFConvolution_H
#include "YSFConvolution.h"
#include <cstdint>
class CYSFConvolution {

404
nxuid_export.csv Normal file
View file

@ -0,0 +1,404 @@
UID,Call,Name,Location,Notes,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
12246,KD4ACG,Jason,"Hudson, FL",Icom Portable,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
12245,KD4ACG,Jason,"Hudson, FL",Icom Mobile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
25068,N1QD,Joe,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
12204,WX3C,Juan Arias,Florida,Orlando metro,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
6801,hb9vsd,relais de verbier,verbier,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
57035,VA3RQ,Jon,Oakville ON,Mobile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
74,N2IXC,Ed,Chatsworth NJ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
3452,K0KAD,CHAD TAYLOR,"SPOKANE VALLEY, WA",Mobile Radio,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
3451,K0KAD,CHAD TAYLOR,"SPOKANE VALLEY, WA",My Base Station,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
3450,K0KAD,CHAD TAYLOR,"SPOKANE VALLEY, WA",My Portable,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
12016,K4NBC,Miguel,"Palm Bay, Florida",M2 Icom F6061D,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
57034,VE3DJZ,Huey,"Hamilton, ON",handheld,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
57033,VE3DJZ,Huey,"Hamilton, ON",mobile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
57032,VE3AEP,Dom 2,"Toronto, ON",handheld,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
57031,VE3KFQ,Doug,"Toronto, ON",handheld,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
57030,VE3KFQ,Doug,"Toronto, ON",mobile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
57029,VA3KY,Shelly,"Thornhill, ON",handheld,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
57028,VA3KY,Shelly,"Thornhill, ON",mobile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
57027,VA3VAD,Arpad,"Hamilton, ON",handheld,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
57026,VA3PAD,Andrew,"Scarborough, ON",handheld,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
57025,VA3PAD,Andrew,"Scarborough, ON",mobile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
57024,VA3CQA,Brian,"Scarborough, ON",handheld,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
57023,ve3ips,John,"Toronto, ON",handheld,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
57022,ve3fkn,Tom,"Stoney Creek, ON",handheld,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
57021,va3wjo,Walter,"Toronto, ON",handheld,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
57020,VA3PEO,Adrian,"Toronto, ON",handheld,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
57019,VE3AEP,Dom,"Toronto, ON",mobile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
57018,VE3RZR,Richard,"Toronto, ON",handheld,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
57017,VE3UBI,Paul,"Scarborough, ON",handheld,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
57016,VE3UBI,Paul,"Scarborough, ON",mobile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
57015,VE3HY,Frank,"Caledon, ON",handheld,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
57014,VE3BWP,Brian,"Caledon, ON",handheld,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
57013,VA3AGV,cottage,"Toronto, ON",mobile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
57012,VA3WZW,Andre,"Durham, ON",mobile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
57011,VA3WZW,Andre,"Durham, ON",mobile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
57010,va3mk,Mark,"Oakville, ON",mobile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
57009,va3mk,Mark,"Oakville, ON",handheld,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
57008,ve3ogb,Randy,"Toronto, ON",handheld,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
57007,va3rq,Jon,"Oakville, ON",handheld,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
57006,VE3JLU,Sherwin,"Scarborough, ON",handheld,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
57005,VE3NBI,Anoop,"Scarborough, ON",handheld,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
57004,VE3CCD,Curtis,"Scarborough, ON",handheld,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
57003,VE3OKZ,Janusz,"Toronto, ON",handheld,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
57002,VE3OKZ,Janusz,"Toronto, ON",mobile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
57001,VE3SP,Andre,"Toronto, ON",handheld,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
57000,VE3SP,Andre,"Toronto, ON",mobile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
25901,N1MRC,Matt,"Bridgewater, MA",N1MRC P-1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
4020,K4XXX,Ed,"London, KY",NX820 Base,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
24020,K4XXX,Ed,"London, KY",NX5800,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
24021,K4XXX,Ed,"London, KY",NX5700,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
14020,K4XXX,Ed,"London, KY",NX5300,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
14021,K4XXX,Ed,"London, KY",NX5200,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
1066,KM4JXP,Peter Tasker,Longboat Key,NX5300,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
995,K1IFF/Base,Cliff,"Brsitol, CT",NXR710 link radio,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
28001,K3KRS,rYAN,CLEVLAND,OHIO,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
1954,W4BPT,BILLY TAYLOR,"RINGGOLD,GA.",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
5101,KC5YQB,Paul Blair,"Fayetteville, AR",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
5100,K5SRS,Michael Smith,"Fayetteville, AR",NX-5800 Mobile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
40124,N5YEI,Jeff Dalrymple,"Jay, Oklahoma",NX-5300 Portable,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
40024,N5YEI,Jeff Dalrymple,"Jay, Oklahoma",NX-5800 Mobile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
1997,KC1AJR,Giovanni,East Hampton CT,kenwood NX800 K2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
9,KE8BGA,Lowell Katz,"Cleveland, Ohio","on the north shore, NX-800",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
12015,K4NBC,K4NBC-Miguel UHF Mobile,"Palm Bay, Florida",Future UHF Mobile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
12014,K4NBC,Miguel Orama,"Palm Bay, Florida",Kenwood NX200 VHF HT,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
12013,K4NBC,Miguel Orama,"Palm Bay, Florida",Icom F4146DS UHF Portable,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
30571,WX4RCF,Ryan F.,"Tampa, FL",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
27202,KP4OO,Carlos,"Palm Bay, FL",Icom Mobile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
27102,KP4OO,Carlos,"Palm Bay, FL",Icom Portable,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
27201,KI4SWB,Mark,"Melbourne Beach, FL",Icom Mobile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
27101,KI4SWB,Mark,"Melbourne Beach, FL",Icom Portable,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
49106,WX7Y-6,Bret Mills,Castle Dale,WX7Y-6 Mobile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
49104,WX7Y-4,Bret Mills,"Castle Dale, Utah",WX7Y-4 Mobile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
49102,WX7Y-2,Bret Mills,"Caslte Dale, Utah",WX7Y-2 Hand held,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
49101,WX7Y-1,Bret Mills,Castle Dale Utah,WX7y-1 Hand Held 1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
6802,HB9YRB,Alex,Verbier,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
6804,HB9FMF,Didier,Rougemont,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
12234,KD4TWJ,Dean,EL98,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
980,W1RHS,Rick,Connecticut,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
3112205,N2HUC,Phil Roberts,"Port St. Lucie, FL",DV4MINI AMBE voice,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
31146,KD2KWD,Michael Santamaria,"Brandon, FL",Kenwood,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
4804,hb9fmf,Didier,Rougemont,NX5300,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
4802,hb3yrb,Alex,Verbier,nx5300,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
1966,ZS6IIX,Henry,Petit South Africa,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
5151,KC6HFJ,Tamara,"Los Angeles, CA",NX-300,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
5150,WY6NN,Doug,"Los Angeles, CA",NX-300/5300,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
5125,AE5OQ,Armstead,"Higden, AR",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
3280,KD4EFM,Evans,"Lakeland, Florida",work radio,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
25585,N1AVA,Ken Howland,"DARTMOUTH,MA",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
25582,N1KXJ,Ray,"E. Bridgewater, MA.",Port.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
3118365,NA9VY,Chris Gilbert,"New Palestine, IN",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
3142058,N3BAH,L. Abraham Smith,Southwestern Pennsylvania,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
3118366,N9UMJ,Rick Nicholson,Buddha Indiana,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
3106418,N5ICK,Nicholas Nixon,"Rialto, Ca",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
141,KF2M,Greg Popovich,"Mt Laurel, NJ",IC-F4161DT,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
37009,KA4YMY,Steve,"Charlotte, NC",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
37010,KA4YMY,Steve,"Charlotte, NC",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
25022,KE5UZU,Raymond Prince,"England, AR",Icom Handheld,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
25021,KE5UZU,Raymond Prince,"England, AR",Kenwood Handheld,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
3079,NN4TT,Dave,Orlando,NX300,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
25125,N1TI,Tim,"Mattapoisett, MA",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
25246,WG1U,Ken,"Assonet, MA",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
25125,N1TI,Tim,"Mattapoisett, MA",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
37010,KA4YMY,Steve,"Charlotte, NC",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
7,F1PRY,Emmanuel,BEAUVAIS FR,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
25700,NN1D,Tony Souza,"Swansea, MA",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
1008,DK6PX,Stefan,Germany nr Bad Toelz,Coming up FR6000,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
25582,N1KXJ,Ray Wall,East Bridgewater,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
17,KC2SNI,Jim Hannon,"West Berlin, New Jersey",My Radio is an Icom IC-3161DT,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
80,W2FLY/M,Harry,Southern NJ,VHF NX-5700 mobile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
88,W2FLY/P,Harry,Southern NJ,VHF NX-220 portable,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
85,W2FLY/M,Harry,Southern NJ,VHF NX_700 van,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
86,W2FLY,Harry,"Mullica Hill, NJ",VHF NX-700 base,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
87,W2FLY/M,Harry,Southern NJ,VHF NX-700 mobile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
82,W2FLY/P,Harry,"Somers Point, NJ",VHF NX-700 Shore Base,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
89,WB2RUH,Bruce,Vineland NJ,VHF NX-700 base,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
26,WB2RUH/M,Bruce,Southern NJ,UHF NX-800 mobile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
25,WB2RUH/P,Bruce,Southern NJ,UHF NX-320,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
8,W2FLY/P,Harry,Southern NJ,UHF NX-820 Port 2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
4,W2FLY/M,Harry,Southern NJ,UHF NX-800 Van,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
2,W2FLY/M,Harry,Southern NJ,UHF NX-800 mobile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
3,WB2OOM/M,Tina,Southern NJ,UHF NX-800 Mobile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
76,W2FLY/P,Harry,Southern NJ,UFH NX5300 Port 1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
77,W2FLY/P,Harry,"Somers Point, NJ",UHF NX-800 Shore Base,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
78,W2FLY,Harry,"Mullica Hill, NJ",UHF NX-800,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
79,W2FLY/M,Harry,Southern NJ,UHF NX-5800,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
36134,N2SRO,Mike,"Pitman, NJ",Portable,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
134,N2SRO,Mike,Pitman,Mobile Radio,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
5125,AE5OQ,Armstead,AR,entered by k1iff,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
25830,KB1CHU,Steve,MA,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
12010,kd4dwp,Ben,Orlando,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
972,N1ODJ,Kenny Schmitz,Middletown,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
909,AB1UB V,Woody,"Bristol, CT",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
1956,KC7SDD,Dana Hanford,"Bainbridge Island, WA","Member BARC, W7NPC.org",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
1963,N5JRN,David Barts,"Bainbridge Island, WA","Handheld, Icom 4161",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
44002,K2BUI,Eric,"Providence, RI",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
30505,KG6MQE,Jim,MT,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
17855,AG6RN,Demian,CA,NX-210,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
13815,KG4BKO,Bill,GA,nx320,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
973,W1VLF,Paul,CT,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
1010,KE4GWW,James,AL,NX800 Mobile#2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
1009,KE4GWW,James,AL,NX800 Mobile#1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
1008,KE4GWW,James,AL,NX700 Mobile#2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
1006,KE4GWW,James,AL,NX800 Base,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
1005,KE4GWW,James,AL,NX700 Base,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
1004,KE4GWW,James,AL,NX300 Portable #2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
1003,KE4GWW,James,AL,NX300 Portable #1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
1002,KE4GWW,James,AL,NX200 Portable #2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
1001,KE4GWW,James,AL,NX200 Portable #1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
971,N1ELE,Paul,CT,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
970,KB1VRI,Nick,CT,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
1007,KE4GWW,James M. Nelson,"Dothan, AL",NX700 Mobile#1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
909,AB1UB,Woody,"Bristol, CT",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
952,K1KGQ,Joel,CT,Truck radio,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
134,N2SRO,Mike,NJ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
55704,WB9HKE,Rick,WI,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
55700,WB9HKE,Rick,WI,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
44001,K2BUI,Eric,RI,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
57002,VE3EI,Eric,,Eric - Dongle,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
57001,VE3EI,Eric,,Eric - Portable,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
44298,N1JBC,Jed,,JED,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
44007,W2DAN,Dave,,Dave - NX700,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
43751,N4IRS,Steve,,Steve,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
37001,KA4YMY,Steve,NC,"Steve, Charlotte, NC NX320",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
36003,KC2VOB,Asad,NY,"Asad, NYC, NX-300GK",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
36002,KC2VOB,Asad,NY,"Asad, NYC, NX-5800",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
36001,W2CCR,Chris,NY,"Chris, Galway, NY NX300",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
34002,N2WNS,Bill,NJ,N2WNS Base,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
34001,N2WNS,Bill,NJ,N2WNS Portable,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
33002,N1PA,Paul,NH,PAUL - NEW HAMPSHIRE,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
33001,N1PA,Paul,NH,PAUL - NEW HAMPSHIRE,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
33000,N1PA-R,Paul,NH,PAUL - NEW HAMPSHIRE REPEATER,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
31117,K4QHR,Pete,,Pete,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
25957,KC1HO,Steve,,STEVE,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
25901,N1ZZR,Matt,,Matt,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
25900,N1ZZR,Matt,,Matt - mobile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
25889,AB1CQ,Gary,,Gary,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
25888,K1WGU,Bob,,Bob,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
25874,KB1KVD,Jason,,Jason - Icom Mob & Port,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
25863,N1ZZN,Jeff,,JEFF,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
25777,W1BON,Bump,,Bump,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
25746,N1OTY,John,,JOHN,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
25743,WG1U,Kenny,,KEN,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
25740,WG1U,Kenny,,KEN,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
25555,WA1MNQ,Mike,,Mike,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
25444,W1TAV,Steve,,Steve,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
25390,KC1JET,Jim,,JIM (MOBILE),,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
25390,KC1JET,Jim,,JIM,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
25333,W1AKN,Jack,,Jack Mobile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
25222,KE4SDC,Ron,,Ron - Portable NX300,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
25221,N0XIA,James,,James - Kenwood Mobile and Portable,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
25144,W1WCF,Walter,,Walter,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
25070,WD1L,John,,John,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
25069,N1COP,Bob,,Bob,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
25039,KC1JET,Jim,,JIM (BASE),,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
25035,KG5BMB,Glenda,AR,"KG5BMB, Glenda McCord, Searcy, AR, Icom F4161DS",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
25034,KF5TPF,Ryan,AR,"KF5TPF, Ryan Nelson, Edgemont, AR - ICOM 4161",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
25033,AF5OD,Landon,AR,"AF5OD, Landon McCord, Searcy, AR, Icom F4161DS",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
25032,KC5DFH,Kirk,AR,"KC5DFH, Kirk Williams, Searcy, AR - Kenwood NX-340",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
25031,KJ5SF,Stan,AR,"KJ5SF, Stan Rongey, Searcy, AR - Kenwood NX-340",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
25030,AC5AV,Larry,AR,"AC5AV, Larry Sicks, Searcy, AR",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
25029,KF5WHX,Trey,AR,"KF5WHX, Trey Ferguson, Searcy, AR - Kenwood NX-320",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
25028,WA8UBL,Allen,AR,"WA8UBL, Allen Herrick, Beebe, AR - Kenwood NX-220",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
25027,KF5TPF,Ryan,AR,"KF5TPF, Ryan Nelson, Edgemont, AR - Kenwood NX-200",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
25026,WA8UBL,Allen,AR,"WA8UBL, Allen Herrick, Beebe, AR - Kenwood NX-320",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
25025,KJ5ORD,John,AR,"KJ5ORD, John Ord, Searcy, AR - Kenwood NX-xxx VHF",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
25024,KG5CHM,Colt,AR,"KG5CHM, Colt Boyd, Searcy, AR - Kenwood NX-300",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
25023,KE5YZP,Ryan,AR,"KE5YZP, Ryan A Schwarck, Batesville, AR - Icom",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
25022,KE5YZP,Ryan,AR,"KE5YZP, Ryan A Schwarck, Batesville, AR - Icom",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
25021,AF5OD,Landon,AR,"AF5OD, Landon McCord, Searcy, AR",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
25020,KB5ZUH,Todd,AR,"KB5ZUH, Todd Williams, Searcy, AR - Kenwood NX-320",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
25019,KB5ZUH,Todd,AR,"KB5ZUH, Todd Williams, Searcy, AR - Kenwood NX-340",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
25018,KB5ZUH,Todd,AR,"KB5ZUH, Todd Williams, Searcy, AR - Kenwood NX-340",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
25017,KB5ZUH,Todd,AR,"KB5ZUH, Todd Williams, Searcy, AR - Kenwood NX-320",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
25016,KB5RFF,Scott,AR,"KB5RFF, Scott Gray, Searcy, AR - Kenwood NX-300",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
25015,KJ5ORD,John,AR,"KJ5ORD, John Ord, Searcy, AR - Kenwood NX-300",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
25014,N5LKE,James,AR,"N5LKE, James Ferguson, Searcy, AR - Kenwood NX-5300",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
25013,KK5WA,Darin,AR,"KK5WA, Darin Dykes, Beebe, AR - Kenwood NX-320",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
25012,KD5HRT,Heath,AR,"KD5HRT, Heath Taylor, McRae, AR - Kenwood NX-300",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
25011,W5ZN,Joel,AR,"W5ZN, Joel Harrison, Judsonia, AR - Kenwood NX-300",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
25010,KD5OOW,Tom,AR,"KD5OOW, Tom McGee, Searcy, AR - Kenwood NX-300",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
25009,AC5AV,Larry,AR,"AC5AV, Larry Sicks, Searcy, AR - Kenwood NX-300",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
25008,N5QT,Dawn,AR,"N5QT, Dawn Gray, Searcy, AR - Kenwood NX-200",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
25007,N5QT,Dawn,AR,"N5QT, Dawn Gray, Searcy, AR - Kenwood NX-300",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
25006,N5QS,Roger,AR,"N5QS, Roger Gray, Searcy, AR - Kenwood NX-340U",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
25005,N5QS,Roger,AR,"N5QS, Roger Gray, Searcy, AR - Kenwood NX-320",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
25004,N5QS,Roger,AR,"N5QS, Roger Gray, Searcy, AR - Kenwood NX-200",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
25003,N5QS,Roger,AR,"N5QS, Roger Gray, Searcy, AR - Kenwood NX-300",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
25002,N5QZ,Ryan,AR,"N5QZ, Ryan McAfee, Searcy, AR - Kenwood NX-200",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
25001,N5QZ,Ryan,AR,"N5QZ, Ryan McAfee, Searcy, AR - Kenwood NX-300",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
21014,K2BUI,Eric,,Eric,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
21007,WA1LMV,Rick,,Rick,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
17011,N9BRG,Dan,,Dan kenwood nx800k2,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
17009,KC9PHK,Michael,,F4061DS,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
17008,KC9RHH,Jesse,,F4101D,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
17007,KC9NPJ,Jarrett,,Jarrett F4231DS,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
17006,KC9GMX,Stephen,,Stephen - F4161DS,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
17005,KC9NPJ,Jarrett,,Jarrett F6121D,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
17004,KC9GMX,Stephen,,Stephen - F6061D,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
17002,KC9GMX,Stephen,,Stephen - Base F6121D,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
15027,KB5RFF,Scott,AR,"KB5RFF, Scott Gray, Searcy, AR - Kenwood NX-800",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
15026,AF5OD,Landon,AR,"AF5OD, Landon McCord, Searcy, AR",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
15025,KE5YZP,Ryan,AR,"KE5YZP, Ryan Schwarck, Batesville, AR NX-700",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
15024,KF5TPF,Ryan,AR,"KF5TPF, Ryan Nelson, Edgemont, AR NX-700",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
15023,N5ZA,Joel,AR,"N5ZA, Joe Belew, Beebe, AR - Kenwood NX-700",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
15022,WA8UBL,Allen,AR,"WA8UBL, Allen Herrick, Beebe, AR - Kenwood NX-800",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
15021,KD5HRT,Heath,AR,"KD5HRT, Heath Taylor, McRae, AR, Kenwood NX-800",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
15020,WA8UBL,Allen,AR,"WA8UBL, Allen Herrick, Beebe, AR, Kenwood NX-700",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
15019,N5QS,Roger,AR,"N5QS, Roger Gray, Searcy, AR ATV Mobile",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
15018,N5QS,Roger,AR,"N5QS, Roger Gray, Searcy, AR ATV Mobile",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
15017,KG5KS,Kenny,,"KG5KS, Kenny Thompson - Kenwood NX-800HK",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
15016,KG5KS,Kenny,,"KG5KS, Kenny Thompson - Kenwood NX-700HK",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
15015,N5QS,Roger,AR,"N5QS, Roger Gray, Searcy, AR Motorcycle Mobile",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
15014,N5QT,Dawn,AR,"N5QT, Dawn Gray, Searcy, AR - Kenwood NX-700",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
15013,AC5AV,Larry,AR,"AC5AV, Larry Sicks, Searcy, AR - Kenwood NX-700",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
15012,AC5AV,Larry,AR,"AC5AV, Larry Sicks, Searcy, AR - Kenwood NX-800",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
15011,N5QT,Dawn,AR,"N5QT, Dawn Gray, Searcy, AR - Kenwood NX-800",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
15010,N5QS,Roger,AR,"N5QS, Roger Gray, Searcy, AR - Kenwood NX-700 (Vehicle 3)",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
15009,N5QS,Roger,AR,"N5QS, Roger Gray, Searcy, AR - Kenwood NX-800 (Vehicle 3)",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
15008,N5QS,Roger,AR,"N5QS, Roger Gray, Searcy, AR - Kenwood NX-700 (Vehicle 2)",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
15007,N5QS,Roger,AR,"N5QS, Roger Gray, Searcy, AR - Kenwood NX-800 (Vehicle 2)",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
15006,N5QS,Roger,AR,"N5QS, Roger Gray, Searcy, AR - Kenwood NX-700 (Vehicle 1)",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
15005,N5QS,Roger,AR,"N5QS, Roger Gray, Searcy, AR - Kenwood NX-800 (Vehicle 1)",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
15004,N5QZ,Ryan,AR,"N5QZ, Ryan McAfee, Searcy, AR - Kenwood NX-700 (Vehicle 2)",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
15003,N5QZ,Ryan,AR,"N5QZ, Ryan McAfee, Searcy, AR - Kenwood NX-800 (Vehicle 2)",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
15002,N5QZ,Ryan,AR,"N5QZ, Ryan McAfee, Searcy, AR - Kenwood NX-700 (Vehicle 1)",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
15001,N5QZ,Ryan,AR,"N5QZ, Ryan McAfee, Searcy, AR - Kenwood NX-800H (Vehicle 1)",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
13401,W1KFR,Bill,,Bill,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
13132,W5JR,Mike,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
13131,W5JR,Mike,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
13127,KD4APP,Don,,Don - NX200,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
13126,KD4APP,Don,,Don - F6061D,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
13125,KD4APP,Don,,Don - NX300,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
13122,W4CML,Chuck,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
13121,W4CML,Chuck,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
13107,W7QO,Alan,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
13106,W7QO,Alan,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
13105,W7QO,Alan,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
12780,KC4YUA,Brett,,BRETT,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
12691,KE3WDW,Sam,,Sam,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
12666,KI4SWY,William,,William Stillwel ( All Radios ),,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
12608,K4CBN,Greg,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
12607,K4CBN,Greg,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
12606,K4CBN,Greg,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
12605,K4CBN,Greg,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
12604,K4CBN,Greg,,GREG,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
12577,N2DLX,Richard,,Rich Dunajewski NX-5800,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
12523,KM4JVE,Ana,,Ana - IC-F4161,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
12375,KF4I,Thom,,Thom Mobile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
12374,KF4I,Thom,,Thom Base,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
12273,KE4OSL,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
12272,KE4OSL,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
12250,KE4GYX,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
12247,K2MCI,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
12246,KD4ACG,Jason,,JASON,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
12245,KD4ACG,Jason,,JASON,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
12241,KR4X,Larry,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
12240,KR4X,Larry,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
12236,N1IC,Nick,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
12235,N1IC,Nick,,Nic,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
12231,KQ4KX,Richard,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
12230,KQ4KX,Richard,,Richard Sharp,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
12226,KI4SWY,William,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
12223,W4PJT,Paul,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
12222,W4PJT,Paul,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
12221,N4PK,Paul,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
12220,N4PK,Paul,,PAUK K.,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
12216,WA4ISB,Ed,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
12215,WA4ISB,Ed,,ED Mobile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
12214,N4APG,Bill,,Bill Pfost,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
12213,N4APG,Bill,,Bill Pfost,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
12212,N4APG,Bill,,Bill Pfost,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
12211,N4APG,Bill,,Bill Pfost,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
12210,N4APG,Bill,,Bill Pfost,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
12204,NB9X,Paul,FL,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
12203,NB9X,Paul,FL,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
12202,NB9X,Paul,FL,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
12201,NB9X,Paul,FL,PAUL,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
12200,NB9X,Paul,FL,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
12136,WA4KWK,John,,John F6121,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
12127,W4KDM,Rick,,Rick - Portable NX300,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
12023,KD4NWL,John,,JOHN,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
12021,W4PJT,Paul,,Paul,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
12017,N4JFZ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
12007,W4MO,Stewart,,STEWART NX800,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
12006,W4MO,Stewart,,STEWART NX300 / 320,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
12005,KD4TWJ,Dean,,Dean - Portable IC-F4161,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
12002,W4KJP,Kevin,,KEVIN,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
9834,VA7NY,PJ,,PJ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
7737,N4NKV,George,,George,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
6439,N4NKV,George,,George,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
6432,K4GFD,Norm,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
6431,K4GFD,Norm,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
6430,K4GFD,Norm,FL,Norm Greensboro Fla,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
5987,W5ZN,Joel,AR,"W5ZN, Joel Harrison, Judsonia, AR - Kenwood NX-800",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
5599,W1ZM,Ryan,,"W1ZM, Ryan Nelson, NX-5300",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
5170,K5WMZ,Gary,AR,"K5WMZ, Gary D Partlow, Ward, AR - Kenwood NX-700",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
5134,AE5OQ,Armstead,AR,"AE5OQ, Armstead M Feland, IV, Higdon, AR - Kenwood NX-200",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
5009,KJ5SF,Stan,AR,"KJ5SF, Stan Rongey, Searcy, AR - Kenwood NX-800",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
5008,AF5WN,Mason,AR,"AF5WN, Mason Creager, Cabot, AR - Kenwood NX-700H",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
5007,N5LKE,James,AR,"N5LKE, James Ferguson, Searcy, AR - Kenwood NX-800",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
5006,AC5AV,Larry,AR,"AC5AV, Larry Sicks, Searcy, AR",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
5005,AC5AV,Larry,AR,"AC5AV, Larry Sicks, Searcy, AR",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
5004,N5QS,Roger,AR,"N5QS, Roger Gray, Searcy, AR - Kenwood NX-720",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
5003,N5QS,Roger,AR,"N5QS, Roger Gray, Searcy, AR - Kenwood NX-820",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
5002,N5QZ,Ryan,AR,"N5QZ, Ryan McAfee, Searcy, AR - Kenwood NX-720",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
5001,N5QZ,Ryan,AR,"N5QZ, Ryan McAfee, Searcy, AR - Kenwood NX-820",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
3281,N4KEG,Richard,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
3280,KD4EFM,Evans,FL,Evans Mobile(s),,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
3280,KD4EFM,Evans,FL,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
3279,N4KEG,Richard,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
3278,KD4EFM,Evans,FL,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
3275,KD4EFM,Evans,FL,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
3274,KD4EFM,Evans,FL,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
3271,N4KEG,Richard,,RICHARD - Mobile and or ht's N4KEG (UHF),,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
3083,KD4TWJ,Dean,,Dean - Mobile NX800,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
3082,W4LOV,Mike,,Mike - Portable,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
3081,W4MCA,Michael,,Michael - NX800,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
3079,W4ORL,Ralph,,Ralph - Portable,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
3075,W4LOV,Mike,,Mike - NX800,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
3074,W4MCA,Michael,,Michael - NX300,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
3072,N4JTK,John,,John - NX800,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
3071,W4LOV,Mike,,Mike - NX800,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
3070,W4ORL,Ralph,,Ralph - Mobile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
970,KB1VRI,Nick,,Nick,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
963,N1MAT,Dennis,,Dennis F4161,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
962,N1MAT,Dennis,,Dennis F4161,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
961,WA1SSB,Joe,,Joe NX800H,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
960,K1ZXX,Gary,,Gary - Icom All radios,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
959,K1KGQ,Joel,,Future,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
958,K1KGQ,Joel,,Joel F4161,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
957,K1KGQ,Joel,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
956,K1KGQ,Joel,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
955,K1KGQ,Joel,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
954,K1KGQ,Joel,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
953,K1KGQ,Joel,,Joel NX320-1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
952,K1GML,Gail,,Gail NX800H,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
951,K1KGQ,Joel,,Joel NX800H,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
936,W1GPO,John,,NX300,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
931,K1IFF,Cliff,CT,NX300,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
930,K1IFF,Cliff,CT,NX300,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
928,N1XDN,Bob,CT,Icom portable,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
926,N1XDN,Bob,CT,Bob M1 UHF NX-5800,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
925,N1XDN,Bob,CT,Bob P2 VHF NX-5200,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
924,N1XDN,Bob,CT,Bob P3 UHF NX-5300,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
923,N1XDN,Bob,CT,Bob M1 VHF NX700,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
922,N1XDN,Bob,CT,Bob P2 UHF NX300,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
921,N1XDN,Bob,CT,Bob P1 VHF NX220,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
920,N1XDN,Bob,CT,Bob P1 UHF NX300,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
912,W4CCL,Chuck,,CHUCK,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
911,W4CLL,Chuck,,CHUCK,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
910,W4CLL,Chuck,,CHUCK,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
909,AB1UB,Woody,,Woody NX300,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
909,W4CCL,Chuck,,CHUCK,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
908,W4CLL,Chuck,,CHUCK,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
907,K1IFF,Cliff,CT,Future,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
906,K1IFF,Cliff,CT,Cliff NX200,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
905,WA1LMV,Rick,,Rick NX320,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
903,K1IFF,Cliff,CT,Cliff NX800H,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
902,K1IFF,Cliff,CT,Cliff NX320 - demo,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
901,K1IFF,Cliff,CT,Cliff NX320,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
401,W1KFR,Bill,,Bill,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
99,K1ZSG,Don,,Mobile,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
30,KD4MOJ,Doug,,Doug,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,
1 UID Call Name Location Notes
2 12246 KD4ACG Jason Hudson, FL Icom Portable
3 12245 KD4ACG Jason Hudson, FL Icom Mobile
4 25068 N1QD Joe
5 12204 WX3C Juan Arias Florida Orlando metro
6 6801 hb9vsd relais de verbier verbier
7 57035 VA3RQ Jon Oakville ON Mobile
8 74 N2IXC Ed Chatsworth NJ
9 3452 K0KAD CHAD TAYLOR SPOKANE VALLEY, WA Mobile Radio
10 3451 K0KAD CHAD TAYLOR SPOKANE VALLEY, WA My Base Station
11 3450 K0KAD CHAD TAYLOR SPOKANE VALLEY, WA My Portable
12 12016 K4NBC Miguel Palm Bay, Florida M2 Icom F6061D
13 57034 VE3DJZ Huey Hamilton, ON handheld
14 57033 VE3DJZ Huey Hamilton, ON mobile
15 57032 VE3AEP Dom 2 Toronto, ON handheld
16 57031 VE3KFQ Doug Toronto, ON handheld
17 57030 VE3KFQ Doug Toronto, ON mobile
18 57029 VA3KY Shelly Thornhill, ON handheld
19 57028 VA3KY Shelly Thornhill, ON mobile
20 57027 VA3VAD Arpad Hamilton, ON handheld
21 57026 VA3PAD Andrew Scarborough, ON handheld
22 57025 VA3PAD Andrew Scarborough, ON mobile
23 57024 VA3CQA Brian Scarborough, ON handheld
24 57023 ve3ips John Toronto, ON handheld
25 57022 ve3fkn Tom Stoney Creek, ON handheld
26 57021 va3wjo Walter Toronto, ON handheld
27 57020 VA3PEO Adrian Toronto, ON handheld
28 57019 VE3AEP Dom Toronto, ON mobile
29 57018 VE3RZR Richard Toronto, ON handheld
30 57017 VE3UBI Paul Scarborough, ON handheld
31 57016 VE3UBI Paul Scarborough, ON mobile
32 57015 VE3HY Frank Caledon, ON handheld
33 57014 VE3BWP Brian Caledon, ON handheld
34 57013 VA3AGV cottage Toronto, ON mobile
35 57012 VA3WZW Andre Durham, ON mobile
36 57011 VA3WZW Andre Durham, ON mobile
37 57010 va3mk Mark Oakville, ON mobile
38 57009 va3mk Mark Oakville, ON handheld
39 57008 ve3ogb Randy Toronto, ON handheld
40 57007 va3rq Jon Oakville, ON handheld
41 57006 VE3JLU Sherwin Scarborough, ON handheld
42 57005 VE3NBI Anoop Scarborough, ON handheld
43 57004 VE3CCD Curtis Scarborough, ON handheld
44 57003 VE3OKZ Janusz Toronto, ON handheld
45 57002 VE3OKZ Janusz Toronto, ON mobile
46 57001 VE3SP Andre Toronto, ON handheld
47 57000 VE3SP Andre Toronto, ON mobile
48 25901 N1MRC Matt Bridgewater, MA N1MRC P-1
49 4020 K4XXX Ed London, KY NX820 Base
50 24020 K4XXX Ed London, KY NX5800
51 24021 K4XXX Ed London, KY NX5700
52 14020 K4XXX Ed London, KY NX5300
53 14021 K4XXX Ed London, KY NX5200
54 1066 KM4JXP Peter Tasker Longboat Key NX5300
55 995 K1IFF/Base Cliff Brsitol, CT NXR710 link radio
56 28001 K3KRS rYAN CLEVLAND OHIO
57 1954 W4BPT BILLY TAYLOR RINGGOLD,GA.
58 5101 KC5YQB Paul Blair Fayetteville, AR
59 5100 K5SRS Michael Smith Fayetteville, AR NX-5800 Mobile
60 40124 N5YEI Jeff Dalrymple Jay, Oklahoma NX-5300 Portable
61 40024 N5YEI Jeff Dalrymple Jay, Oklahoma NX-5800 Mobile
62 1997 KC1AJR Giovanni East Hampton CT kenwood NX800 K2
63 9 KE8BGA Lowell Katz Cleveland, Ohio on the north shore, NX-800
64 12015 K4NBC K4NBC-Miguel UHF Mobile Palm Bay, Florida Future UHF Mobile
65 12014 K4NBC Miguel Orama Palm Bay, Florida Kenwood NX200 VHF HT
66 12013 K4NBC Miguel Orama Palm Bay, Florida Icom F4146DS UHF Portable
67 30571 WX4RCF Ryan F. Tampa, FL
68 27202 KP4OO Carlos Palm Bay, FL Icom Mobile
69 27102 KP4OO Carlos Palm Bay, FL Icom Portable
70 27201 KI4SWB Mark Melbourne Beach, FL Icom Mobile
71 27101 KI4SWB Mark Melbourne Beach, FL Icom Portable
72 49106 WX7Y-6 Bret Mills Castle Dale WX7Y-6 Mobile
73 49104 WX7Y-4 Bret Mills Castle Dale, Utah WX7Y-4 Mobile
74 49102 WX7Y-2 Bret Mills Caslte Dale, Utah WX7Y-2 Hand held
75 49101 WX7Y-1 Bret Mills Castle Dale Utah WX7y-1 Hand Held 1
76 6802 HB9YRB Alex Verbier
77 6804 HB9FMF Didier Rougemont
78 12234 KD4TWJ Dean EL98
79 980 W1RHS Rick Connecticut
80 3112205 N2HUC Phil Roberts Port St. Lucie, FL DV4MINI AMBE voice
81 31146 KD2KWD Michael Santamaria Brandon, FL Kenwood
82 4804 hb9fmf Didier Rougemont NX5300
83 4802 hb3yrb Alex Verbier nx5300
84 1966 ZS6IIX Henry Petit South Africa
85 5151 KC6HFJ Tamara Los Angeles, CA NX-300
86 5150 WY6NN Doug Los Angeles, CA NX-300/5300
87 5125 AE5OQ Armstead Higden, AR
88 3280 KD4EFM Evans Lakeland, Florida work radio
89 25585 N1AVA Ken Howland DARTMOUTH,MA
90 25582 N1KXJ Ray E. Bridgewater, MA. Port.
91 3118365 NA9VY Chris Gilbert New Palestine, IN
92 3142058 N3BAH L. Abraham Smith Southwestern Pennsylvania
93 3118366 N9UMJ Rick Nicholson Buddha Indiana
94 3106418 N5ICK Nicholas Nixon Rialto, Ca
95 141 KF2M Greg Popovich Mt Laurel, NJ IC-F4161DT
96 37009 KA4YMY Steve Charlotte, NC
97 37010 KA4YMY Steve Charlotte, NC
98 25022 KE5UZU Raymond Prince England, AR Icom Handheld
99 25021 KE5UZU Raymond Prince England, AR Kenwood Handheld
100 3079 NN4TT Dave Orlando NX300
101 25125 N1TI Tim Mattapoisett, MA
102 25246 WG1U Ken Assonet, MA
103 25125 N1TI Tim Mattapoisett, MA
104 37010 KA4YMY Steve Charlotte, NC
105 7 F1PRY Emmanuel BEAUVAIS FR
106 25700 NN1D Tony Souza Swansea, MA
107 1008 DK6PX Stefan Germany nr Bad Toelz Coming up FR6000
108 25582 N1KXJ Ray Wall East Bridgewater
109 17 KC2SNI Jim Hannon West Berlin, New Jersey My Radio is an Icom IC-3161DT
110 80 W2FLY/M Harry Southern NJ VHF NX-5700 mobile
111 88 W2FLY/P Harry Southern NJ VHF NX-220 portable
112 85 W2FLY/M Harry Southern NJ VHF NX_700 van
113 86 W2FLY Harry Mullica Hill, NJ VHF NX-700 base
114 87 W2FLY/M Harry Southern NJ VHF NX-700 mobile
115 82 W2FLY/P Harry Somers Point, NJ VHF NX-700 Shore Base
116 89 WB2RUH Bruce Vineland NJ VHF NX-700 base
117 26 WB2RUH/M Bruce Southern NJ UHF NX-800 mobile
118 25 WB2RUH/P Bruce Southern NJ UHF NX-320
119 8 W2FLY/P Harry Southern NJ UHF NX-820 Port 2
120 4 W2FLY/M Harry Southern NJ UHF NX-800 Van
121 2 W2FLY/M Harry Southern NJ UHF NX-800 mobile
122 3 WB2OOM/M Tina Southern NJ UHF NX-800 Mobile
123 76 W2FLY/P Harry Southern NJ UFH NX5300 Port 1
124 77 W2FLY/P Harry Somers Point, NJ UHF NX-800 Shore Base
125 78 W2FLY Harry Mullica Hill, NJ UHF NX-800
126 79 W2FLY/M Harry Southern NJ UHF NX-5800
127 36134 N2SRO Mike Pitman, NJ Portable
128 134 N2SRO Mike Pitman Mobile Radio
129 5125 AE5OQ Armstead AR entered by k1iff
130 25830 KB1CHU Steve MA
131 12010 kd4dwp Ben Orlando
132 972 N1ODJ Kenny Schmitz Middletown
133 909 AB1UB V Woody Bristol, CT
134 1956 KC7SDD Dana Hanford Bainbridge Island, WA Member BARC, W7NPC.org
135 1963 N5JRN David Barts Bainbridge Island, WA Handheld, Icom 4161
136 44002 K2BUI Eric Providence, RI
137 30505 KG6MQE Jim MT
138 17855 AG6RN Demian CA NX-210
139 13815 KG4BKO Bill GA nx320
140 973 W1VLF Paul CT
141 1010 KE4GWW James AL NX800 Mobile#2
142 1009 KE4GWW James AL NX800 Mobile#1
143 1008 KE4GWW James AL NX700 Mobile#2
144 1006 KE4GWW James AL NX800 Base
145 1005 KE4GWW James AL NX700 Base
146 1004 KE4GWW James AL NX300 Portable #2
147 1003 KE4GWW James AL NX300 Portable #1
148 1002 KE4GWW James AL NX200 Portable #2
149 1001 KE4GWW James AL NX200 Portable #1
150 971 N1ELE Paul CT
151 970 KB1VRI Nick CT
152 1007 KE4GWW James M. Nelson Dothan, AL NX700 Mobile#1
153 909 AB1UB Woody Bristol, CT
154 952 K1KGQ Joel CT Truck radio
155 134 N2SRO Mike NJ
156 55704 WB9HKE Rick WI
157 55700 WB9HKE Rick WI
158 44001 K2BUI Eric RI
159 57002 VE3EI Eric Eric - Dongle
160 57001 VE3EI Eric Eric - Portable
161 44298 N1JBC Jed JED
162 44007 W2DAN Dave Dave - NX700
163 43751 N4IRS Steve Steve
164 37001 KA4YMY Steve NC Steve, Charlotte, NC NX320
165 36003 KC2VOB Asad NY Asad, NYC, NX-300GK
166 36002 KC2VOB Asad NY Asad, NYC, NX-5800
167 36001 W2CCR Chris NY Chris, Galway, NY NX300
168 34002 N2WNS Bill NJ N2WNS Base
169 34001 N2WNS Bill NJ N2WNS Portable
170 33002 N1PA Paul NH PAUL - NEW HAMPSHIRE
171 33001 N1PA Paul NH PAUL - NEW HAMPSHIRE
172 33000 N1PA-R Paul NH PAUL - NEW HAMPSHIRE REPEATER
173 31117 K4QHR Pete Pete
174 25957 KC1HO Steve STEVE
175 25901 N1ZZR Matt Matt
176 25900 N1ZZR Matt Matt - mobile
177 25889 AB1CQ Gary Gary
178 25888 K1WGU Bob Bob
179 25874 KB1KVD Jason Jason - Icom Mob & Port
180 25863 N1ZZN Jeff JEFF
181 25777 W1BON Bump Bump
182 25746 N1OTY John JOHN
183 25743 WG1U Kenny KEN
184 25740 WG1U Kenny KEN
185 25555 WA1MNQ Mike Mike
186 25444 W1TAV Steve Steve
187 25390 KC1JET Jim JIM (MOBILE)
188 25390 KC1JET Jim JIM
189 25333 W1AKN Jack Jack Mobile
190 25222 KE4SDC Ron Ron - Portable NX300
191 25221 N0XIA James James - Kenwood Mobile and Portable
192 25144 W1WCF Walter Walter
193 25070 WD1L John John
194 25069 N1COP Bob Bob
195 25039 KC1JET Jim JIM (BASE)
196 25035 KG5BMB Glenda AR KG5BMB, Glenda McCord, Searcy, AR, Icom F4161DS
197 25034 KF5TPF Ryan AR KF5TPF, Ryan Nelson, Edgemont, AR - ICOM 4161
198 25033 AF5OD Landon AR AF5OD, Landon McCord, Searcy, AR, Icom F4161DS
199 25032 KC5DFH Kirk AR KC5DFH, Kirk Williams, Searcy, AR - Kenwood NX-340
200 25031 KJ5SF Stan AR KJ5SF, Stan Rongey, Searcy, AR - Kenwood NX-340
201 25030 AC5AV Larry AR AC5AV, Larry Sicks, Searcy, AR
202 25029 KF5WHX Trey AR KF5WHX, Trey Ferguson, Searcy, AR - Kenwood NX-320
203 25028 WA8UBL Allen AR WA8UBL, Allen Herrick, Beebe, AR - Kenwood NX-220
204 25027 KF5TPF Ryan AR KF5TPF, Ryan Nelson, Edgemont, AR - Kenwood NX-200
205 25026 WA8UBL Allen AR WA8UBL, Allen Herrick, Beebe, AR - Kenwood NX-320
206 25025 KJ5ORD John AR KJ5ORD, John Ord, Searcy, AR - Kenwood NX-xxx VHF
207 25024 KG5CHM Colt AR KG5CHM, Colt Boyd, Searcy, AR - Kenwood NX-300
208 25023 KE5YZP Ryan AR KE5YZP, Ryan A Schwarck, Batesville, AR - Icom
209 25022 KE5YZP Ryan AR KE5YZP, Ryan A Schwarck, Batesville, AR - Icom
210 25021 AF5OD Landon AR AF5OD, Landon McCord, Searcy, AR
211 25020 KB5ZUH Todd AR KB5ZUH, Todd Williams, Searcy, AR - Kenwood NX-320
212 25019 KB5ZUH Todd AR KB5ZUH, Todd Williams, Searcy, AR - Kenwood NX-340
213 25018 KB5ZUH Todd AR KB5ZUH, Todd Williams, Searcy, AR - Kenwood NX-340
214 25017 KB5ZUH Todd AR KB5ZUH, Todd Williams, Searcy, AR - Kenwood NX-320
215 25016 KB5RFF Scott AR KB5RFF, Scott Gray, Searcy, AR - Kenwood NX-300
216 25015 KJ5ORD John AR KJ5ORD, John Ord, Searcy, AR - Kenwood NX-300
217 25014 N5LKE James AR N5LKE, James Ferguson, Searcy, AR - Kenwood NX-5300
218 25013 KK5WA Darin AR KK5WA, Darin Dykes, Beebe, AR - Kenwood NX-320
219 25012 KD5HRT Heath AR KD5HRT, Heath Taylor, McRae, AR - Kenwood NX-300
220 25011 W5ZN Joel AR W5ZN, Joel Harrison, Judsonia, AR - Kenwood NX-300
221 25010 KD5OOW Tom AR KD5OOW, Tom McGee, Searcy, AR - Kenwood NX-300
222 25009 AC5AV Larry AR AC5AV, Larry Sicks, Searcy, AR - Kenwood NX-300
223 25008 N5QT Dawn AR N5QT, Dawn Gray, Searcy, AR - Kenwood NX-200
224 25007 N5QT Dawn AR N5QT, Dawn Gray, Searcy, AR - Kenwood NX-300
225 25006 N5QS Roger AR N5QS, Roger Gray, Searcy, AR - Kenwood NX-340U
226 25005 N5QS Roger AR N5QS, Roger Gray, Searcy, AR - Kenwood NX-320
227 25004 N5QS Roger AR N5QS, Roger Gray, Searcy, AR - Kenwood NX-200
228 25003 N5QS Roger AR N5QS, Roger Gray, Searcy, AR - Kenwood NX-300
229 25002 N5QZ Ryan AR N5QZ, Ryan McAfee, Searcy, AR - Kenwood NX-200
230 25001 N5QZ Ryan AR N5QZ, Ryan McAfee, Searcy, AR - Kenwood NX-300
231 21014 K2BUI Eric Eric
232 21007 WA1LMV Rick Rick
233 17011 N9BRG Dan Dan kenwood nx800k2
234 17009 KC9PHK Michael F4061DS
235 17008 KC9RHH Jesse F4101D
236 17007 KC9NPJ Jarrett Jarrett F4231DS
237 17006 KC9GMX Stephen Stephen - F4161DS
238 17005 KC9NPJ Jarrett Jarrett F6121D
239 17004 KC9GMX Stephen Stephen - F6061D
240 17002 KC9GMX Stephen Stephen - Base F6121D
241 15027 KB5RFF Scott AR KB5RFF, Scott Gray, Searcy, AR - Kenwood NX-800
242 15026 AF5OD Landon AR AF5OD, Landon McCord, Searcy, AR
243 15025 KE5YZP Ryan AR KE5YZP, Ryan Schwarck, Batesville, AR NX-700
244 15024 KF5TPF Ryan AR KF5TPF, Ryan Nelson, Edgemont, AR NX-700
245 15023 N5ZA Joel AR N5ZA, Joe Belew, Beebe, AR - Kenwood NX-700
246 15022 WA8UBL Allen AR WA8UBL, Allen Herrick, Beebe, AR - Kenwood NX-800
247 15021 KD5HRT Heath AR KD5HRT, Heath Taylor, McRae, AR, Kenwood NX-800
248 15020 WA8UBL Allen AR WA8UBL, Allen Herrick, Beebe, AR, Kenwood NX-700
249 15019 N5QS Roger AR N5QS, Roger Gray, Searcy, AR ATV Mobile
250 15018 N5QS Roger AR N5QS, Roger Gray, Searcy, AR ATV Mobile
251 15017 KG5KS Kenny KG5KS, Kenny Thompson - Kenwood NX-800HK
252 15016 KG5KS Kenny KG5KS, Kenny Thompson - Kenwood NX-700HK
253 15015 N5QS Roger AR N5QS, Roger Gray, Searcy, AR Motorcycle Mobile
254 15014 N5QT Dawn AR N5QT, Dawn Gray, Searcy, AR - Kenwood NX-700
255 15013 AC5AV Larry AR AC5AV, Larry Sicks, Searcy, AR - Kenwood NX-700
256 15012 AC5AV Larry AR AC5AV, Larry Sicks, Searcy, AR - Kenwood NX-800
257 15011 N5QT Dawn AR N5QT, Dawn Gray, Searcy, AR - Kenwood NX-800
258 15010 N5QS Roger AR N5QS, Roger Gray, Searcy, AR - Kenwood NX-700 (Vehicle 3)
259 15009 N5QS Roger AR N5QS, Roger Gray, Searcy, AR - Kenwood NX-800 (Vehicle 3)
260 15008 N5QS Roger AR N5QS, Roger Gray, Searcy, AR - Kenwood NX-700 (Vehicle 2)
261 15007 N5QS Roger AR N5QS, Roger Gray, Searcy, AR - Kenwood NX-800 (Vehicle 2)
262 15006 N5QS Roger AR N5QS, Roger Gray, Searcy, AR - Kenwood NX-700 (Vehicle 1)
263 15005 N5QS Roger AR N5QS, Roger Gray, Searcy, AR - Kenwood NX-800 (Vehicle 1)
264 15004 N5QZ Ryan AR N5QZ, Ryan McAfee, Searcy, AR - Kenwood NX-700 (Vehicle 2)
265 15003 N5QZ Ryan AR N5QZ, Ryan McAfee, Searcy, AR - Kenwood NX-800 (Vehicle 2)
266 15002 N5QZ Ryan AR N5QZ, Ryan McAfee, Searcy, AR - Kenwood NX-700 (Vehicle 1)
267 15001 N5QZ Ryan AR N5QZ, Ryan McAfee, Searcy, AR - Kenwood NX-800H (Vehicle 1)
268 13401 W1KFR Bill Bill
269 13132 W5JR Mike
270 13131 W5JR Mike
271 13127 KD4APP Don Don - NX200
272 13126 KD4APP Don Don - F6061D
273 13125 KD4APP Don Don - NX300
274 13122 W4CML Chuck
275 13121 W4CML Chuck
276 13107 W7QO Alan
277 13106 W7QO Alan
278 13105 W7QO Alan
279 12780 KC4YUA Brett BRETT
280 12691 KE3WDW Sam Sam
281 12666 KI4SWY William William Stillwel ( All Radios )
282 12608 K4CBN Greg
283 12607 K4CBN Greg
284 12606 K4CBN Greg
285 12605 K4CBN Greg
286 12604 K4CBN Greg GREG
287 12577 N2DLX Richard Rich Dunajewski NX-5800
288 12523 KM4JVE Ana Ana - IC-F4161
289 12375 KF4I Thom Thom Mobile
290 12374 KF4I Thom Thom Base
291 12273 KE4OSL
292 12272 KE4OSL
293 12250 KE4GYX
294 12247 K2MCI
295 12246 KD4ACG Jason JASON
296 12245 KD4ACG Jason JASON
297 12241 KR4X Larry
298 12240 KR4X Larry
299 12236 N1IC Nick
300 12235 N1IC Nick Nic
301 12231 KQ4KX Richard
302 12230 KQ4KX Richard Richard Sharp
303 12226 KI4SWY William
304 12223 W4PJT Paul
305 12222 W4PJT Paul
306 12221 N4PK Paul
307 12220 N4PK Paul PAUK K.
308 12216 WA4ISB Ed
309 12215 WA4ISB Ed ED Mobile
310 12214 N4APG Bill Bill Pfost
311 12213 N4APG Bill Bill Pfost
312 12212 N4APG Bill Bill Pfost
313 12211 N4APG Bill Bill Pfost
314 12210 N4APG Bill Bill Pfost
315 12204 NB9X Paul FL
316 12203 NB9X Paul FL
317 12202 NB9X Paul FL
318 12201 NB9X Paul FL PAUL
319 12200 NB9X Paul FL
320 12136 WA4KWK John John F6121
321 12127 W4KDM Rick Rick - Portable NX300
322 12023 KD4NWL John JOHN
323 12021 W4PJT Paul Paul
324 12017 N4JFZ
325 12007 W4MO Stewart STEWART NX800
326 12006 W4MO Stewart STEWART NX300 / 320
327 12005 KD4TWJ Dean Dean - Portable IC-F4161
328 12002 W4KJP Kevin KEVIN
329 9834 VA7NY PJ PJ
330 7737 N4NKV George George
331 6439 N4NKV George George
332 6432 K4GFD Norm
333 6431 K4GFD Norm
334 6430 K4GFD Norm FL Norm Greensboro Fla
335 5987 W5ZN Joel AR W5ZN, Joel Harrison, Judsonia, AR - Kenwood NX-800
336 5599 W1ZM Ryan W1ZM, Ryan Nelson, NX-5300
337 5170 K5WMZ Gary AR K5WMZ, Gary D Partlow, Ward, AR - Kenwood NX-700
338 5134 AE5OQ Armstead AR AE5OQ, Armstead M Feland, IV, Higdon, AR - Kenwood NX-200
339 5009 KJ5SF Stan AR KJ5SF, Stan Rongey, Searcy, AR - Kenwood NX-800
340 5008 AF5WN Mason AR AF5WN, Mason Creager, Cabot, AR - Kenwood NX-700H
341 5007 N5LKE James AR N5LKE, James Ferguson, Searcy, AR - Kenwood NX-800
342 5006 AC5AV Larry AR AC5AV, Larry Sicks, Searcy, AR
343 5005 AC5AV Larry AR AC5AV, Larry Sicks, Searcy, AR
344 5004 N5QS Roger AR N5QS, Roger Gray, Searcy, AR - Kenwood NX-720
345 5003 N5QS Roger AR N5QS, Roger Gray, Searcy, AR - Kenwood NX-820
346 5002 N5QZ Ryan AR N5QZ, Ryan McAfee, Searcy, AR - Kenwood NX-720
347 5001 N5QZ Ryan AR N5QZ, Ryan McAfee, Searcy, AR - Kenwood NX-820
348 3281 N4KEG Richard
349 3280 KD4EFM Evans FL Evans Mobile(s)
350 3280 KD4EFM Evans FL
351 3279 N4KEG Richard
352 3278 KD4EFM Evans FL
353 3275 KD4EFM Evans FL
354 3274 KD4EFM Evans FL
355 3271 N4KEG Richard RICHARD - Mobile and or ht's N4KEG (UHF)
356 3083 KD4TWJ Dean Dean - Mobile NX800
357 3082 W4LOV Mike Mike - Portable
358 3081 W4MCA Michael Michael - NX800
359 3079 W4ORL Ralph Ralph - Portable
360 3075 W4LOV Mike Mike - NX800
361 3074 W4MCA Michael Michael - NX300
362 3072 N4JTK John John - NX800
363 3071 W4LOV Mike Mike - NX800
364 3070 W4ORL Ralph Ralph - Mobile
365 970 KB1VRI Nick Nick
366 963 N1MAT Dennis Dennis F4161
367 962 N1MAT Dennis Dennis F4161
368 961 WA1SSB Joe Joe NX800H
369 960 K1ZXX Gary Gary - Icom All radios
370 959 K1KGQ Joel Future
371 958 K1KGQ Joel Joel F4161
372 957 K1KGQ Joel
373 956 K1KGQ Joel
374 955 K1KGQ Joel
375 954 K1KGQ Joel
376 953 K1KGQ Joel Joel NX320-1
377 952 K1GML Gail Gail NX800H
378 951 K1KGQ Joel Joel NX800H
379 936 W1GPO John NX300
380 931 K1IFF Cliff CT NX300
381 930 K1IFF Cliff CT NX300
382 928 N1XDN Bob CT Icom portable
383 926 N1XDN Bob CT Bob M1 UHF NX-5800
384 925 N1XDN Bob CT Bob P2 VHF NX-5200
385 924 N1XDN Bob CT Bob P3 UHF NX-5300
386 923 N1XDN Bob CT Bob M1 VHF NX700
387 922 N1XDN Bob CT Bob P2 UHF NX300
388 921 N1XDN Bob CT Bob P1 VHF NX220
389 920 N1XDN Bob CT Bob P1 UHF NX300
390 912 W4CCL Chuck CHUCK
391 911 W4CLL Chuck CHUCK
392 910 W4CLL Chuck CHUCK
393 909 AB1UB Woody Woody NX300
394 909 W4CCL Chuck CHUCK
395 908 W4CLL Chuck CHUCK
396 907 K1IFF Cliff CT Future
397 906 K1IFF Cliff CT Cliff NX200
398 905 WA1LMV Rick Rick NX320
399 903 K1IFF Cliff CT Cliff NX800H
400 902 K1IFF Cliff CT Cliff NX320 - demo
401 901 K1IFF Cliff CT Cliff NX320
402 401 W1KFR Bill Bill
403 99 K1ZSG Don Mobile
404 30 KD4MOJ Doug Doug