YSFReflector Registry name and desc now in rconfig

pull/8/head
Tom Early 4 years ago
parent 1311611fb0
commit 1bc7927cb1

@ -159,6 +159,8 @@ WriteMemFile ()
[ -z ${ysflocaldb+x} ] || echo "ysflocaldb=$ysflocaldb" >> $file
[ -z ${ysfdbname+x} ] || echo "ysfdbname='$ysfdbname'" >> $file
[ -z ${ysfdbuser+x} ] || echo "ysfdbuser='$ysfdbuser'" >> $file
[ -z ${ysfrname+x} ] || echo "ysfrname='$ysfrname'" >> $file
[ -z ${ysfrdesc+x} ] || echo "ysfrdesc='$ysfrdesc'" >> $file
[ -z ${ysfdbpw+x} ] || echo "ysfdbpw='$ysfdbpw'" >> $file
[ -z ${g3support+x} ] || echo "g3support=$g3support" >> $file
[ -z ${dbsupport+x} ] || echo "dbsupport=$dbsupport" >> $file
@ -202,6 +204,12 @@ WriteSRCHFile ()
else
echo '#define YSF_DB_SUPPORT false' >> $file
fi
if [ ! -z ${ysfrname+x} ]; then
echo "#define YSF_REFLECTOR_NAME \"$ysfrname\"" >> $file
fi
if [ ! -z ${ysfrdesc+x} ]; then
echo "#define YSF_REFLECTOR_DESCRIPTION \"$ysfrdesc\"" >> $file
fi
if [ ! -z ${tcaddress+x} ]; then
echo "#define TRANSCODER_IP \"${tcaddress}\"" >> $file
echo "#define TRANSCODED_MODULES \"${tcmodules}\"" >> $file
@ -361,6 +369,19 @@ tcdm='../tcd/configure.mk'
ysfs='wiresx/configure.php'
dbcr='configure.sql'
urfserv='/etc/systemd/system/urfd.service'
# expert mode
if [[ "$1" == ex* ]]; then
expertmode="expertMode"
fi
if [ -e reflector.cfg ]; then
source reflector.cfg
else
echo 'No configuration file found...'
sleep 1
fi
# default values
callsign_d='CHNGME'
modules_d='ABCF'
@ -375,18 +396,12 @@ ysflocaldb_d=false
ysfdbname_d=''
ysfdbuser_d=''
ysfdbpw_d=''
# expert mode
if [[ "$1" == ex* ]]; then
expertmode="expertMode"
fi
if [ -e reflector.cfg ]; then
source reflector.cfg
if [ -z ${callsign+x} ];then
ysfrname_d="$callsign_d"
else
echo 'No configuration file found...'
sleep 1
ysfrname_d="$callsign"
fi
ysfrdesc_d='URF Reflector'
if [ -z ${expertmode+x} ]; then
if [ -e $urfserv ]; then
@ -408,7 +423,7 @@ while [[ "$key" != q* ]]
do
clear
echo
echo " Reflector Configuration, Version #220119"
echo " Reflector Configuration, Version #220220"
echo
echo " ******* REFLECTOR ********"
echo -n "cs : Reflector Callsign = "; EvaluateVar callsign{,_d}
@ -436,6 +451,9 @@ do
echo -n "yu : YSF Database User = "; EvaluateVar ysfdbuser{,_d}
echo -n "yp : YSF Database Password = "; EvaluateVar ysfdbpw{,_d}
fi
echo " ******* YSFReflector Registry *******"
echo -n "rn : Registry Name = "; EvaluateVar ysfrname{,_d}
echo -n "rd : Registry Description = "; EvaluateVar ysfrdesc{,_d}
echo " ******* DEBUGGING ********"
echo -n "db : Debugging Support = "; EvaluateVar dbsupport{,_d}
echo
@ -445,11 +463,12 @@ do
echo "q : Quit without saving"
echo "u : Unset the value of <key> (revert to the default value)."
echo
read -p "Please input <key> <value> - omit value to toggle a true/false : " key value garbage
read -p "Please input <key> <value> - omit value to toggle a true/false : " key value
if [[ "$key" == cs* && ${value^^} == URF* ]]; then
callsign="${value^^}"
callsign="${callsign:0:6}"
ysfrname_d="${callsign}"
unset tcaddress tcmodules ysf{autolink,module,localdb,dbname,dbuser,dbpw}
elif [[ "$key" == am* ]]; then CheckModules "${value^^}"
elif [[ "$key" == i4* ]]; then ip4addr="$value"
@ -466,6 +485,8 @@ do
elif [[ "$key" == yd* ]]; then ysfdbname="$value"
elif [[ "$key" == yu* ]]; then ysfdbuser="$value"
elif [[ "$key" == yp* ]]; then ysfdbpw="$value"
elif [[ "$key" == rn* ]]; then ysfrname="${value:0:16}"
elif [[ "$key" == rd* ]]; then ysfrdesc="${value:0:14}"
elif [[ "$key" == w* ]]; then
WriteCFGFiles
ListCFGFiles
@ -485,6 +506,8 @@ do
elif [[ "$value" == yd* ]]; then unset ysfdbname
elif [[ "$value" == yu* ]]; then unset ysfdbuser
elif [[ "$value" == yp* ]]; then unset ysfdbpw
elif [[ "$value" == rn* ]]; then unset ysfrname
elif [[ "$value" == rd* ]]; then unset ysfrdesc
fi
fi
done

@ -63,7 +63,7 @@
#define VERSION_MAJOR 0
#define VERSION_MINOR 0
#define VERSION_REVISION 3
#define VERSION_REVISION 4
// global ------------------------------------------------------
@ -133,9 +133,9 @@ enum class EProtocol { any, none, dextra, dplus, dcs, bm, urf, dmrplus, dmrmmdvm
#define YSF_DEFAULT_NODE_TX_FREQ 445500000 // in Hz
#define YSF_DEFAULT_NODE_RX_FREQ 445500000 // in Hz
//#define YSF_REFLECTOR_ID 12345 // 5 digit YSF ID, assigned by registry when not defined
//#define YSF_REFLECTOR_NAME "XLX000" // Max 16 characters, use reflector callsign when not defined
#define YSF_REFLECTOR_DESCRIPTION "XLX reflector" // Max 14 characters
// the following two defines are now in configure.h
// the following 4 defines are now in configure.h
//#define YSF_REFLECTOR_NAME "URF000" // Max 16 characters, use reflector callsign when not defined
//#define YSF_REFLECTOR_DESCRIPTION "XLX reflector" // Max 14 characters
// #define YSF_AUTOLINK_ENABLE 0 // 1 = enable, 0 = disable auto-link
// #define YSF_AUTOLINK_MODULE 'B' // module for client to auto-link to

@ -422,13 +422,13 @@ bool CYsfProtocol::IsValidDvHeaderPacket(const CIp &Ip, const CYSFFICH &Fich, co
char sz[YSF_CALLSIGN_LENGTH+1];
memcpy(sz, &(Buffer.data()[14]), YSF_CALLSIGN_LENGTH);
sz[YSF_CALLSIGN_LENGTH] = 0;
for(uint32_t i = 0; i < YSF_CALLSIGN_LENGTH; ++i){
if( (sz[i] == '/') || (sz[i] == '\\') || (sz[i] == '-') || (sz[i] == ' ') ){
sz[i] = 0;
}
}
csMY = CCallsign((const char *)sz);
memcpy(sz, &(Buffer.data()[4]), YSF_CALLSIGN_LENGTH);
sz[YSF_CALLSIGN_LENGTH] = 0;
@ -475,17 +475,17 @@ bool CYsfProtocol::IsValidDvFramePacket(const CIp &Ip, const CYSFFICH &Fich, con
uint8_t ambe4[9];
uint8_t *ambes[5] = { ambe0, ambe1, ambe2, ambe3, ambe4 };
CYsfUtils::DecodeVD2Vchs((unsigned char *)&(Buffer.data()[35]), ambes);
char sz[YSF_CALLSIGN_LENGTH+1];
::memcpy(sz, &(Buffer.data()[14]), YSF_CALLSIGN_LENGTH);
sz[YSF_CALLSIGN_LENGTH] = 0;
for(uint32_t i = 0; i < YSF_CALLSIGN_LENGTH; ++i){
if( (sz[i] == '/') || (sz[i] == '\\') || (sz[i] == '-') || (sz[i] == ' ') ){
sz[i] = 0;
}
}
CCallsign csMY = CCallsign((const char *)sz);
// get DV frames
@ -515,19 +515,19 @@ bool CYsfProtocol::IsValidDvLastFramePacket(const CIp &Ip, const CYSFFICH &Fich,
{
uint8_t uiAmbe[9];
memset(uiAmbe, 0x00, sizeof(uiAmbe));
char sz[YSF_CALLSIGN_LENGTH+1];
::memcpy(sz, &(Buffer.data()[14]), YSF_CALLSIGN_LENGTH);
sz[YSF_CALLSIGN_LENGTH] = 0;
for(uint32_t i = 0; i < YSF_CALLSIGN_LENGTH; ++i){
if( (sz[i] == '/') || (sz[i] == '\\') || (sz[i] == '-') || (sz[i] == ' ') ){
sz[i] = 0;
}
}
CCallsign csMY = CCallsign((const char *)sz);
oneframe = std::unique_ptr<CDvFramePacket>(new CDvFramePacket(uiAmbe, uiStreamId, Fich.getFN(), 0, 0, csMY, false));
lastframe = std::unique_ptr<CDvFramePacket>(new CDvFramePacket(uiAmbe, uiStreamId, Fich.getFN(), 1, 0, csMY, true));
}
@ -889,14 +889,17 @@ bool CYsfProtocol::EncodeServerStatusPacket(CBuffer *Buffer) const
uint8_t tag[] = { 'Y','S','F','S' };
uint8_t description[14];
uint8_t callsign[16];
std::string desc = YSF_REFLECTOR_DESCRIPTION;
#ifdef YSF_REFLECTOR_DESCRIPTION
const std::string desc = YSF_REFLECTOR_DESCRIPTION;
#else
const std::string desc("URF Reflector");
#endif
// tag
Buffer->Set(tag, sizeof(tag));
// hash
memset(callsign, ' ', sizeof(callsign));
#ifdef YSF_REFLECTOR_NAME
std::string cs = YSF_REFLECTOR_NAME;
const std::string cs = YSF_REFLECTOR_NAME;
memcpy(callsign, cs.c_str(), cs.size() > 16 ? 16 : cs.size());
#else
g_Reflector.GetCallsign().GetCallsign(callsign);

Loading…
Cancel
Save

Powered by TurnKey Linux.