mirror of
https://github.com/DSheirer/sdrtrunk.git
synced 2026-11-12 16:47:31 -05:00
* P25 Phase 2 now supports control channel decoding and decoder was enhanced to improve decodes. * Radio reference site editor updated for phase 2 sites to allow user to select FDMA or TDMA control. * Decode events are now minimized and de-duplicated. * Fully parsing all phase 1/2 messages from the latest ICD. * Vendor specific messaging recoveries (Moto & Harris). * Patch group management enhancements with stale patch detection. * Tuner editor now fully resets the min/max frequency values * Default traffic channel count increased to 20 (from 3). * ISSI roaming radio and talkgroup values now displayed and aliasable as fully qualified values (e.g. 1234(123.456.7890) * Moto emergency alarm activation messaging support * Expanded list of P25 encryption algorithms * Message (bits) viewer enhanced for P25 phase 1 and phase 2 * IPV4 addresses and UDP ports no longer classified as user values - won't display in event views. * New framework for describing message binary fields that should reduce overall memory footprint and enhance code readability Co-authored-by: Dennis Sheirer <dsheirer@github.com>
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* *****************************************************************************
|
||||
* Copyright (C) 2014-2020 Dennis Sheirer
|
||||
* Copyright (C) 2014-2024 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
|
||||
@@ -19,6 +19,7 @@
|
||||
|
||||
package io.github.dsheirer.module.decode.traffic;
|
||||
|
||||
import io.github.dsheirer.controller.channel.Channel;
|
||||
import io.github.dsheirer.module.Module;
|
||||
|
||||
/**
|
||||
@@ -26,4 +27,44 @@ import io.github.dsheirer.module.Module;
|
||||
*/
|
||||
public abstract class TrafficChannelManager extends Module
|
||||
{
|
||||
private long mCurrentControlFrequency;
|
||||
|
||||
/**
|
||||
* Constructs an instance.
|
||||
*/
|
||||
public TrafficChannelManager()
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* Current control frequency
|
||||
* @return frequency in hertz
|
||||
*/
|
||||
protected long getCurrentControlFrequency()
|
||||
{
|
||||
return mCurrentControlFrequency;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the current control frequency.
|
||||
* @param frequency that is now the control frequency
|
||||
* @param parentChannel channel configuration
|
||||
*/
|
||||
public void setCurrentControlFrequency(long frequency, Channel parentChannel)
|
||||
{
|
||||
long previous = mCurrentControlFrequency;
|
||||
mCurrentControlFrequency = frequency;
|
||||
processControlFrequencyUpdate(previous, frequency, parentChannel);
|
||||
}
|
||||
|
||||
/**
|
||||
* Subclass implementation to receive notification that the control channel frequency has changed when the source
|
||||
* is set for multiple frequencies, or in the case of DMR when the REST channel changes. Subclass should remove
|
||||
* any traffic channels currently allocated against the new control frequency.
|
||||
*
|
||||
* @param previous frequency for the control channel (to remove from allocated channels)
|
||||
* @param current frequency for the control channel (to add to allocated channels)
|
||||
* @param channel for the current control channel
|
||||
*/
|
||||
protected abstract void processControlFrequencyUpdate(long previous, long current, Channel channel);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user