P25 - updated automatic and direct frequency control to cleanup the code and allow P25 to better track frequency and PPM changes in the tuner and provide a cleaner implementation of the AFC component in the processing chain of all of the other decoders.

Changed C4FM symbol filter to reset frequency tracking values when the tuner's frequency or PPM values change.

Moved all frequency control pieces into the source.tuner.frequency package.
This commit is contained in:
dennis.sheirer
2015-05-04 00:55:04 +00:00
parent d2020cdba0
commit bc5080aa4a
44 changed files with 533 additions and 337 deletions

View File

@@ -0,0 +1,36 @@
package source.tuner.frequency;
public class FrequencyLimitException extends Exception
{
private static final long serialVersionUID = 1L;
private long mFrequencyLimit;
private long mRequestedFrequency;
/**
* Indicates that the requested frequency is outside of the tunable bounds
* of the tuner.
* @param message
* @param frequency
*/
public FrequencyLimitException( long requestedFrequency,
long frequencyLimit )
{
super( "Requested frequency [" + requestedFrequency +
"] exceeds the limit [" + frequencyLimit + "]. Tuned "
+ "frequency was set to the limit value" );
mRequestedFrequency = requestedFrequency;
mFrequencyLimit = frequencyLimit;
}
public long getRequestedFrequency()
{
return mRequestedFrequency;
}
public long getFrequencyLimit()
{
return mFrequencyLimit;
}
}