mirror of
https://github.com/DSheirer/sdrtrunk.git
synced 2026-11-12 16:47:31 -05:00
Closes #7 NXDN Decoder * Implements: NXDN4800, NXDN9600, Type-C and Type-D decoding and trunk tracking. * Redesigns tuner and channel frequency error management.
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* *****************************************************************************
|
||||
* Copyright (C) 2014-2024 Dennis Sheirer
|
||||
* Copyright (C) 2014-2025 Dennis Sheirer
|
||||
*
|
||||
* 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
|
||||
@@ -30,6 +30,7 @@ public enum Form
|
||||
ARS_USER,
|
||||
ARS_PASSWORD,
|
||||
CALL_PROGRESS_TONE,
|
||||
CATEGORY,
|
||||
CHANNEL,
|
||||
CHANNEL_DESCRIPTOR,
|
||||
CHANNEL_NAME,
|
||||
@@ -49,6 +50,7 @@ public enum Form
|
||||
NETWORK_ACCESS_CODE,
|
||||
PATCH_GROUP,
|
||||
RADIO,
|
||||
RAN,
|
||||
RF_SUBSYSTEM,
|
||||
SCRAMBLE_PARAMETERS,
|
||||
SHORT_DATA_MESSAGE,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* *****************************************************************************
|
||||
* Copyright (C) 2014-2025 Dennis Sheirer
|
||||
* Copyright (C) 2014-2026 Dennis Sheirer
|
||||
*
|
||||
* 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
|
||||
@@ -48,9 +48,10 @@ public class TalkerAliasManager
|
||||
}
|
||||
|
||||
/**
|
||||
* Updates the alias for the
|
||||
* @param identifier
|
||||
* @param alias
|
||||
* Updates the alias for the radio identifier
|
||||
*
|
||||
* @param identifier to update
|
||||
* @param alias to assign to the radio identifier
|
||||
*/
|
||||
public void update(RadioIdentifier identifier, TalkerAliasIdentifier alias)
|
||||
{
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
/*
|
||||
* ******************************************************************************
|
||||
* sdrtrunk
|
||||
* Copyright (C) 2014-2018 Dennis Sheirer
|
||||
* *****************************************************************************
|
||||
* Copyright (C) 2014-2025 Dennis Sheirer
|
||||
*
|
||||
* 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
|
||||
@@ -15,12 +14,12 @@
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>
|
||||
* *****************************************************************************
|
||||
* ****************************************************************************
|
||||
*/
|
||||
|
||||
package io.github.dsheirer.identifier.configuration;
|
||||
|
||||
import io.github.dsheirer.channel.IChannelDescriptor;
|
||||
import io.github.dsheirer.channel.IBandChannelDescriptor;
|
||||
import io.github.dsheirer.identifier.Form;
|
||||
import io.github.dsheirer.identifier.Identifier;
|
||||
import io.github.dsheirer.identifier.IdentifierClass;
|
||||
@@ -31,12 +30,12 @@ import io.github.dsheirer.protocol.Protocol;
|
||||
* Configuration identifier that identifies a channel descriptor. This is primarily used to broadcast the channel
|
||||
* descriptor for a traffic channel so that it is aware of what channel number and frequency it is decoding.
|
||||
*/
|
||||
public class ChannelDescriptorConfigurationIdentifier extends Identifier<IChannelDescriptor>
|
||||
public class ChannelDescriptorConfigurationIdentifier extends Identifier<IBandChannelDescriptor>
|
||||
{
|
||||
/**
|
||||
* Constructs a channel descriptor configuration identifier
|
||||
*/
|
||||
public ChannelDescriptorConfigurationIdentifier(IChannelDescriptor value)
|
||||
public ChannelDescriptorConfigurationIdentifier(IBandChannelDescriptor value)
|
||||
{
|
||||
super(value, IdentifierClass.CONFIGURATION, Form.CHANNEL_DESCRIPTOR, Role.ANY);
|
||||
}
|
||||
|
||||
@@ -30,7 +30,9 @@ import io.github.dsheirer.protocol.Protocol;
|
||||
|
||||
public class EncryptionKeyIdentifier extends Identifier<EncryptionKey>
|
||||
{
|
||||
public EncryptionKeyIdentifier(EncryptionKey value, IdentifierClass identifierClass, Form form, Role role)
|
||||
private Protocol mProtocol;
|
||||
|
||||
public EncryptionKeyIdentifier(Protocol protocol, EncryptionKey value, IdentifierClass identifierClass, Form form, Role role)
|
||||
{
|
||||
super(value, identifierClass, form, role);
|
||||
}
|
||||
@@ -38,7 +40,7 @@ public class EncryptionKeyIdentifier extends Identifier<EncryptionKey>
|
||||
@Override
|
||||
public Protocol getProtocol()
|
||||
{
|
||||
return Protocol.APCO25;
|
||||
return mProtocol;
|
||||
}
|
||||
|
||||
public boolean isEncrypted()
|
||||
@@ -46,8 +48,8 @@ public class EncryptionKeyIdentifier extends Identifier<EncryptionKey>
|
||||
return getValue() != null && getValue().isEncrypted();
|
||||
}
|
||||
|
||||
public static EncryptionKeyIdentifier create(EncryptionKey encryptionKey)
|
||||
public static EncryptionKeyIdentifier create(Protocol protocol, EncryptionKey encryptionKey)
|
||||
{
|
||||
return new EncryptionKeyIdentifier(encryptionKey, IdentifierClass.USER, Form.ENCRYPTION_KEY, Role.ANY);
|
||||
return new EncryptionKeyIdentifier(protocol, encryptionKey, IdentifierClass.USER, Form.ENCRYPTION_KEY, Role.ANY);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user