kopia lustrzana https://github.com/sh123/codec2_talkie
TX igate third party wrap logic
rodzic
2db9c0154e
commit
93f98cc26b
|
@ -28,6 +28,7 @@ import java.net.Socket;
|
||||||
import java.nio.BufferOverflowException;
|
import java.nio.BufferOverflowException;
|
||||||
import java.nio.ByteBuffer;
|
import java.nio.ByteBuffer;
|
||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
|
import java.util.Locale;
|
||||||
|
|
||||||
import kotlin.text.MatchGroup;
|
import kotlin.text.MatchGroup;
|
||||||
import kotlin.text.MatchResult;
|
import kotlin.text.MatchResult;
|
||||||
|
@ -52,6 +53,7 @@ public class AprsIs implements Protocol, Runnable {
|
||||||
private boolean _isLoopbackTransport;
|
private boolean _isLoopbackTransport;
|
||||||
|
|
||||||
private String _callsign;
|
private String _callsign;
|
||||||
|
private String _digipath;
|
||||||
private String _ssid;
|
private String _ssid;
|
||||||
private int _filterRadius;
|
private int _filterRadius;
|
||||||
private String _filter;
|
private String _filter;
|
||||||
|
@ -80,7 +82,8 @@ public class AprsIs implements Protocol, Runnable {
|
||||||
_isRxGateEnabled = sharedPreferences.getBoolean(PreferenceKeys.APRS_IS_ENABLE_RX_GATE, false);
|
_isRxGateEnabled = sharedPreferences.getBoolean(PreferenceKeys.APRS_IS_ENABLE_RX_GATE, false);
|
||||||
_isTxGateEnabled = false; // sharedPreferences.getBoolean(PreferenceKeys.APRS_IS_ENABLE_TX_GATE, false);
|
_isTxGateEnabled = false; // sharedPreferences.getBoolean(PreferenceKeys.APRS_IS_ENABLE_TX_GATE, false);
|
||||||
_isSelfEnabled = sharedPreferences.getBoolean(PreferenceKeys.APRS_IS_ENABLE_SELF, false);
|
_isSelfEnabled = sharedPreferences.getBoolean(PreferenceKeys.APRS_IS_ENABLE_SELF, false);
|
||||||
_callsign = sharedPreferences.getString(PreferenceKeys.AX25_CALLSIGN, "N0CALL");
|
_callsign = sharedPreferences.getString(PreferenceKeys.AX25_CALLSIGN, "N0CALL").toLowerCase(Locale.ROOT);
|
||||||
|
_digipath = sharedPreferences.getString(PreferenceKeys.AX25_DIGIPATH, "").toUpperCase();
|
||||||
_ssid = sharedPreferences.getString(PreferenceKeys.AX25_SSID, "0");
|
_ssid = sharedPreferences.getString(PreferenceKeys.AX25_SSID, "0");
|
||||||
_passcode = sharedPreferences.getString(PreferenceKeys.APRS_IS_CODE, "");
|
_passcode = sharedPreferences.getString(PreferenceKeys.APRS_IS_CODE, "");
|
||||||
_server = sharedPreferences.getString(PreferenceKeys.APRS_IS_TCPIP_SERVER, "euro.aprs2.net");
|
_server = sharedPreferences.getString(PreferenceKeys.APRS_IS_TCPIP_SERVER, "euro.aprs2.net");
|
||||||
|
@ -138,8 +141,10 @@ public class AprsIs implements Protocol, Runnable {
|
||||||
_parentProtocolCallback.onReceiveData(aprsIsData.src, aprsIsData.dst, aprsIsData.rawDigipath, aprsIsData.data.getBytes());
|
_parentProtocolCallback.onReceiveData(aprsIsData.src, aprsIsData.dst, aprsIsData.rawDigipath, aprsIsData.data.getBytes());
|
||||||
AprsCallsign aprsCallsign = new AprsCallsign(aprsIsData.src);
|
AprsCallsign aprsCallsign = new AprsCallsign(aprsIsData.src);
|
||||||
if (_isTxGateEnabled && aprsCallsign.isValid && !_isLoopbackTransport && aprsIsData.isEligibleForTxGate()) {
|
if (_isTxGateEnabled && aprsCallsign.isValid && !_isLoopbackTransport && aprsIsData.isEligibleForTxGate()) {
|
||||||
// TODO, add tx aprs filter https://aprs-is.net/IGating.aspx
|
// wrap into third party, https://aprs-is.net/IGateDetails.aspx
|
||||||
_childProtocol.sendData(aprsIsData.src, aprsIsData.dst, aprsIsData.digipath, aprsIsData.data.getBytes());
|
aprsIsData.digipath = "TCPIP," + _callsign + "*";
|
||||||
|
String txData = "}" + aprsIsData.toString();
|
||||||
|
_childProtocol.sendData(_callsign, Aprs.APRS_ID, _digipath, txData.getBytes());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
_parentProtocolCallback.onReceiveLog(line);
|
_parentProtocolCallback.onReceiveLog(line);
|
||||||
|
|
Ładowanie…
Reference in New Issue