Bugfix in error handling. If an undefined error code has received, SvxLink stops with segfault. Changed some descriptions, README-Tetra added.

This commit is contained in:
Adi Bier / DL1HRC 2021-03-21 08:40:38 +01:00
parent 41ff116ddc
commit 761624d74b
4 changed files with 46 additions and 4 deletions

38
src/README-Tetra Normal file
View File

@ -0,0 +1,38 @@
*
* Adi Bier / DL1HRC
* dl1hrc { at } gmx . de
*
This branch only works if you have the following things:
- Motorola MTM5x00, MTM800E, MTM800FuG
- active data cable, e.g. PMKN4104
- (Sepura/Cleartone my work, but no warranty)
The MS is completely controlled by AT-commands over the PEI interface
Installation instructions from Frédéric/F1IWQ can be found here:
http://dl.free.fr/getfile.pl?file=/RabtkiOU
Here are two quick-and-dirty installation/update documentation, keep
in mind: No configuration will be done!
1) first time installation (including German(!) voice announcements):
You may use my semi-automatic installation-script from here
http://svxlink.ham-radio-op.net/svxlink/svxlink-tetra-contrib.sh
Start installation as root:
wget -O - http://svxlink.ham-radio-op.net/svxlink/svxlink-tetra-contrib.sh | bash
2) Update an existing tetra-contrib installation made by the previous script
as root:
systemctl stop svxlink
cd /home/svxlink/svxlink/src/build/
git pull
make install
systemctl start svxlink

View File

@ -1,6 +1,6 @@
/**
@file DapNetClient.cpp
@brief Network connection manager for DapNet transceivers
@brief Network connection manager for DapNet
@author Tobias Blomberg / SM0SVX & Adi Bier / DL1HRC
@date 2021-02-07

View File

@ -1,6 +1,6 @@
/**
@file DapNetClient.h
@brief Network connection for DapNetClient transceivers
@brief Network connection manager for DapNet
@author Tobias Blomberg / SM0SVX & Adi Bier / DL1HRC
@date 2021-02-07

View File

@ -490,7 +490,6 @@ void handleLipSds(std::string in, LipInfo &lipinfo)
{
lipinfo.longitude = tlo * 360.0 / 33554432;
}
//std::cout << "tlo=" << tlo << ",lipinfo.longitude=" << lipinfo.longitude << std::endl;
if (tla > 8388608)
{
@ -500,7 +499,6 @@ void handleLipSds(std::string in, LipInfo &lipinfo)
{
lipinfo.latitude = tla * 360.0 / 33554432;
}
//std::cout << "tla=" << tla << ",lipinfo.latitude=" << lipinfo.latitude << std::endl;
// position error in meter
lipinfo.positionerror = 2*pow(10,(std::stoi(in.substr(15,1),nullptr,16) & 0x03));
@ -756,6 +754,12 @@ std::string getNextStr(std::string& h)
std::string getPeiError(int errorcode)
{
if (errorcode > 45)
{
std::stringstream ss;
ss << "Unknown Error occured (" << errorcode << ")" << std::endl;
return ss.str();
}
std::string error[] = {
"0 - The MT was unable to send the data over the air (e.g. to the SwMI)",
"1 - The MT can not establish a reliable communication with the TE",