mirror of
https://github.com/DSheirer/sdrtrunk.git
synced 2026-11-12 08:37:25 -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
|
||||
@@ -30,12 +30,11 @@ import io.github.dsheirer.sample.Listener;
|
||||
import io.github.dsheirer.source.ISourceEventProvider;
|
||||
import io.github.dsheirer.source.SourceEvent;
|
||||
import io.github.dsheirer.util.ThreadPool;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.concurrent.ScheduledFuture;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
/**
|
||||
* Monitors channel state to detect when a channel is not in an identified active state and issues a request to rotate
|
||||
@@ -63,10 +62,11 @@ public class ChannelRotationMonitor extends Module implements ISourceEventProvid
|
||||
* @param activeStates to monitor
|
||||
* @param rotationDelay specifies how long to remain on each frequency before rotating (in milliseconds).
|
||||
*/
|
||||
public ChannelRotationMonitor(Collection<State> activeStates, long rotationDelay)
|
||||
public ChannelRotationMonitor(Collection<State> activeStates, long rotationDelay, UserPreferences userPreferences)
|
||||
{
|
||||
mActiveStates = activeStates;
|
||||
mRotationDelay = rotationDelay;
|
||||
mUserPreferences = userPreferences;
|
||||
|
||||
if(mRotationDelay == 0)
|
||||
{
|
||||
|
||||
@@ -540,8 +540,13 @@ public abstract class TunerEditor<T extends Tuner,C extends TunerConfiguration>
|
||||
{
|
||||
mResetFrequenciesButton = new JButton("Reset");
|
||||
mResetFrequenciesButton.addActionListener(e -> {
|
||||
getMinimumFrequencyTextField().setFrequency(getMinimumTunableFrequency());
|
||||
getMaximumFrequencyTextField().setFrequency(getMaximumTunableFrequency());
|
||||
|
||||
long min = getMinimumTunableFrequency();
|
||||
long max = getMaximumTunableFrequency();
|
||||
getTuner().getTunerController().setFrequencyExtents(min, max);
|
||||
getMinimumFrequencyTextField().setFrequency(min);
|
||||
getMaximumFrequencyTextField().setFrequency(max);
|
||||
save();
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user