Changed to slf4j logging framework

Enhanced error handling/logging in RTL2832 eeprom device descriptor read method for troubleshooting issue present in some R820T tuners.
This commit is contained in:
dennis.sheirer
2014-09-20 10:04:04 +00:00
parent f2f658c43a
commit e441ebf0c9
78 changed files with 791 additions and 834 deletions

View File

@@ -20,5 +20,8 @@
<classpathentry kind="lib" path="imports/JTransforms-3.0.jar" sourcepath="/home/denny/.m2/repository/com/github/wendykierp/JTransforms/3.0/JTransforms-3.0-sources.jar"/> <classpathentry kind="lib" path="imports/JTransforms-3.0.jar" sourcepath="/home/denny/.m2/repository/com/github/wendykierp/JTransforms/3.0/JTransforms-3.0-sources.jar"/>
<classpathentry kind="lib" path="imports/libusb4java-1.2.0-linux-ppc.jar"/> <classpathentry kind="lib" path="imports/libusb4java-1.2.0-linux-ppc.jar"/>
<classpathentry kind="lib" path="imports/JLargeArrays-1.2.jar"/> <classpathentry kind="lib" path="imports/JLargeArrays-1.2.jar"/>
<classpathentry kind="lib" path="imports/slf4j-api-1.7.7.jar"/>
<classpathentry kind="lib" path="imports/logback-classic-1.1.2.jar"/>
<classpathentry kind="lib" path="imports/logback-core-1.1.2.jar"/>
<classpathentry kind="output" path="bin"/> <classpathentry kind="output" path="bin"/>
</classpath> </classpath>

20
config/logback.xml Normal file
View File

@@ -0,0 +1,20 @@
<configuration>
<timestamp key="appstart" datePattern="HHmmss"/>
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${user.home}/SDRTrunk/logs/sdrtrunk_application.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- daily log rollover -->
<fileNamePattern>${user.home}/SDRTrunk/logs/%d{yyyyMMdd}_sdrtrunk_application.log</fileNamePattern>
<maxHistory>10</maxHistory>
</rollingPolicy>
<encoder>
<pattern>%-25(%d{ddMMyyyy HHmmss} [%thread]) %-5level %logger{30} - %msg%n</pattern>
</encoder>
</appender>
<root level="DEBUG">
<appender-ref ref="FILE" />
</root>
</configuration>

Binary file not shown.

Binary file not shown.

BIN
imports/slf4j-api-1.7.7.jar Normal file

Binary file not shown.

View File

@@ -27,14 +27,20 @@ import javax.swing.JOptionPane;
import javax.swing.JPanel; import javax.swing.JPanel;
import javax.swing.JTextField; import javax.swing.JTextField;
import log.Log;
import net.miginfocom.swing.MigLayout; import net.miginfocom.swing.MigLayout;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import controller.ConfigurableNode; import controller.ConfigurableNode;
public class StatusIDEditor extends JPanel implements ActionListener public class StatusIDEditor extends JPanel implements ActionListener
{ {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
private StatusIDNode mStatusIDNode; private final static Logger mLog =
LoggerFactory.getLogger( StatusIDEditor.class );
private StatusIDNode mStatusIDNode;
private JLabel mLabelName; private JLabel mLabelName;
private JTextField mTextStatusID; private JTextField mTextStatusID;
@@ -93,7 +99,7 @@ public class StatusIDEditor extends JPanel implements ActionListener
} }
catch( Exception ex ) catch( Exception ex )
{ {
Log.error( "StatusIDEditor - error parsing int status " + mLog.error( "StatusIDEditor - error parsing int status " +
"id from [" + statusIDString + "]" ); "id from [" + statusIDString + "]" );
} }
} }

View File

@@ -20,20 +20,24 @@ package alias.siteID;
import java.awt.event.ActionEvent; import java.awt.event.ActionEvent;
import java.awt.event.ActionListener; import java.awt.event.ActionListener;
import javax.swing.BorderFactory;
import javax.swing.JButton; import javax.swing.JButton;
import javax.swing.JLabel; import javax.swing.JLabel;
import javax.swing.JOptionPane; import javax.swing.JOptionPane;
import javax.swing.JPanel; import javax.swing.JPanel;
import javax.swing.JTextField; import javax.swing.JTextField;
import log.Log;
import net.miginfocom.swing.MigLayout; import net.miginfocom.swing.MigLayout;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import controller.ConfigurableNode; import controller.ConfigurableNode;
public class SiteIDEditor extends JPanel implements ActionListener public class SiteIDEditor extends JPanel implements ActionListener
{ {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
private final static Logger mLog =
LoggerFactory.getLogger( SiteIDEditor.class );
private SiteIDNode mSiteIDNode; private SiteIDNode mSiteIDNode;
private JLabel mLabelName; private JLabel mLabelName;
@@ -92,7 +96,7 @@ public class SiteIDEditor extends JPanel implements ActionListener
} }
catch( Exception ex ) catch( Exception ex )
{ {
Log.error( "SiteIDEditor - error parsing int site " + mLog.error( "SiteIDEditor - error parsing int site " +
"id from [" + siteIDString + "]" ); "id from [" + siteIDString + "]" );
} }
} }

View File

@@ -20,20 +20,24 @@ package alias.uniqueID;
import java.awt.event.ActionEvent; import java.awt.event.ActionEvent;
import java.awt.event.ActionListener; import java.awt.event.ActionListener;
import javax.swing.BorderFactory;
import javax.swing.JButton; import javax.swing.JButton;
import javax.swing.JLabel; import javax.swing.JLabel;
import javax.swing.JOptionPane; import javax.swing.JOptionPane;
import javax.swing.JPanel; import javax.swing.JPanel;
import javax.swing.JTextField; import javax.swing.JTextField;
import log.Log;
import net.miginfocom.swing.MigLayout; import net.miginfocom.swing.MigLayout;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import controller.ConfigurableNode; import controller.ConfigurableNode;
public class UniqueIDEditor extends JPanel implements ActionListener public class UniqueIDEditor extends JPanel implements ActionListener
{ {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
private final static Logger mLog =
LoggerFactory.getLogger( UniqueIDEditor.class );
private UniqueIDNode mUniqueIDNode; private UniqueIDNode mUniqueIDNode;
private JLabel mLabelUniqueID; private JLabel mLabelUniqueID;
@@ -92,8 +96,8 @@ public class UniqueIDEditor extends JPanel implements ActionListener
} }
catch( Exception ex ) catch( Exception ex )
{ {
Log.error( "UniqueIDEditor - exception trying to parse " + mLog.error( "UniqueIDEditor - exception trying to parse " +
"int from uid [" + uid + "]" ); "int from uid [" + uid + "]", ex );
} }
} }
else else

View File

@@ -24,7 +24,9 @@ import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.LineUnavailableException; import javax.sound.sampled.LineUnavailableException;
import javax.sound.sampled.SourceDataLine; import javax.sound.sampled.SourceDataLine;
import log.Log; import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import sample.Listener; import sample.Listener;
import buffer.FloatSampleBufferAssembler; import buffer.FloatSampleBufferAssembler;
@@ -32,6 +34,8 @@ public class AudioOutput implements Listener<Float>,
SquelchListener, SquelchListener,
AudioTypeListener AudioTypeListener
{ {
private final static Logger mLog =
LoggerFactory.getLogger( AudioOutput.class );
private static final int sAUDIO_BLOCK_SIZE = 24000; private static final int sAUDIO_BLOCK_SIZE = 24000;
private static final AudioFormat sAUDIO_FORMAT = private static final AudioFormat sAUDIO_FORMAT =
@@ -60,8 +64,8 @@ public class AudioOutput implements Listener<Float>,
} }
catch ( LineUnavailableException e ) catch ( LineUnavailableException e )
{ {
Log.warning( "AudioOutput - couldn't open audio speakers " mLog.error( "AudioOutput - couldn't open audio speakers "
+ "for playback:" + e.getLocalizedMessage() ); + "for playback", e );
} }
} }

View File

@@ -20,12 +20,13 @@ package controller.activity;
import java.awt.EventQueue; import java.awt.EventQueue;
import java.text.DecimalFormat; import java.text.DecimalFormat;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.Collections;
import java.util.LinkedList; import java.util.LinkedList;
import javax.swing.table.AbstractTableModel; import javax.swing.table.AbstractTableModel;
import log.Log; import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import sample.Broadcaster; import sample.Broadcaster;
import sample.Listener; import sample.Listener;
import controller.activity.CallEvent.CallEventType; import controller.activity.CallEvent.CallEventType;
@@ -33,6 +34,8 @@ import controller.activity.CallEvent.CallEventType;
public class CallEventModel extends AbstractTableModel public class CallEventModel extends AbstractTableModel
{ {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
private final static Logger mLog =
LoggerFactory.getLogger( CallEventModel.class );
private static DecimalFormat mFrequencyFormatter = private static DecimalFormat mFrequencyFormatter =
new DecimalFormat( "0.000000" ); new DecimalFormat( "0.000000" );
@@ -175,7 +178,7 @@ public class CallEventModel extends AbstractTableModel
} }
else else
{ {
Log.error( "CallEventModel - couldn't log end time - event was null" ); mLog.error( "CallEventModel - couldn't log end time - event was null" );
} }
} }
} ); } );
@@ -210,7 +213,7 @@ public class CallEventModel extends AbstractTableModel
} }
else else
{ {
Log.error( "CallEventModel - tried to set from ID on " mLog.error( "CallEventModel - tried to set from ID on "
+ "call event - couldn't find index of event" ); + "call event - couldn't find index of event" );
} }
} }

View File

@@ -34,8 +34,11 @@ import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlSeeAlso; import javax.xml.bind.annotation.XmlSeeAlso;
import javax.xml.bind.annotation.XmlTransient; import javax.xml.bind.annotation.XmlTransient;
import log.Log;
import message.Message; import message.Message;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import record.config.RecordConfiguration; import record.config.RecordConfiguration;
import sample.Listener; import sample.Listener;
import source.SourceType; import source.SourceType;
@@ -63,6 +66,8 @@ import eventlog.config.EventLogConfiguration;
@XmlRootElement( name = "channel" ) @XmlRootElement( name = "channel" )
public class Channel extends Configuration public class Channel extends Configuration
{ {
private final static Logger mLog = LoggerFactory.getLogger( Channel.class );
public enum ChannelType public enum ChannelType
{ {
STANDARD, STANDARD,
@@ -814,7 +819,7 @@ public class Channel extends Configuration
} }
else else
{ {
Log.error( "Channel - attempt to add already existing channel " mLog.error( "Channel - attempt to add already existing channel "
+ "listener [" + listener.getClass() + "]" ); + "listener [" + listener.getClass() + "]" );
} }
} }

View File

@@ -25,7 +25,6 @@ import java.awt.event.FocusEvent;
import java.awt.event.FocusListener; import java.awt.event.FocusListener;
import javax.swing.AbstractCellEditor; import javax.swing.AbstractCellEditor;
import javax.swing.BorderFactory;
import javax.swing.JButton; import javax.swing.JButton;
import javax.swing.JFormattedTextField; import javax.swing.JFormattedTextField;
import javax.swing.JLabel; import javax.swing.JLabel;
@@ -37,13 +36,18 @@ import javax.swing.JTextField;
import javax.swing.table.TableCellEditor; import javax.swing.table.TableCellEditor;
import javax.swing.text.InternationalFormatter; import javax.swing.text.InternationalFormatter;
import log.Log;
import net.miginfocom.swing.MigLayout; import net.miginfocom.swing.MigLayout;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class ChannelMapEditor extends JPanel implements ActionListener public class ChannelMapEditor extends JPanel implements ActionListener
{ {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
private ChannelMapNode mChannelMapNode; private final static Logger mLog =
LoggerFactory.getLogger( ChannelMapEditor.class );
private ChannelMapNode mChannelMapNode;
private JLabel mNameLabel; private JLabel mNameLabel;
private JTextField mNameText; private JTextField mNameText;
@@ -76,7 +80,7 @@ public class ChannelMapEditor extends JPanel implements ActionListener
@Override @Override
public void focusLost( FocusEvent arg0 ) public void focusLost( FocusEvent arg0 )
{ {
Log.info( "text field action event fired, new value:" + mNameText.getText() ); mLog.info( "text field action event fired, new value:" + mNameText.getText() );
mChannelMapCopy.setName( mNameText.getText() ); mChannelMapCopy.setName( mNameText.getText() );
} }
} ); } );
@@ -198,14 +202,13 @@ public class ChannelMapEditor extends JPanel implements ActionListener
@Override @Override
public Object getCellEditorValue() public Object getCellEditorValue()
{ {
Log.info( "getCellEditorValue - I've been invoked!" );
return mEditor.getText(); return mEditor.getText();
} }
@Override @Override
public void actionPerformed( ActionEvent e ) public void actionPerformed( ActionEvent e )
{ {
Log.info( "Action Performed:" + e.getActionCommand() ); mLog.info( "Action Performed:" + e.getActionCommand() );
} }
@Override @Override

View File

@@ -19,12 +19,16 @@ package controller.channel;
import javax.swing.table.AbstractTableModel; import javax.swing.table.AbstractTableModel;
import log.Log; import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class ChannelMapModel extends AbstractTableModel public class ChannelMapModel extends AbstractTableModel
{ {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
private static final int sSTART = 0; private final static Logger mLog =
LoggerFactory.getLogger( ChannelMapModel.class );
private static final int sSTART = 0;
private static final int sSTOP = 1; private static final int sSTOP = 1;
private static final int sBASE = 2; private static final int sBASE = 2;
private static final int sSIZE = 3; private static final int sSIZE = 3;
@@ -160,8 +164,8 @@ public class ChannelMapModel extends AbstractTableModel
} }
catch( Exception e ) catch( Exception e )
{ {
Log.info( "ChannelMapModel - couldn't parse integer value " mLog.error( "ChannelMapModel - couldn't parse integer value "
+ "for [" + value + "] - " + e.getLocalizedMessage() ); + "for [" + value + "]", e );
} }
} }
} }

View File

@@ -17,6 +17,8 @@
******************************************************************************/ ******************************************************************************/
package controller.channel; package controller.channel;
import gui.SDRTrunk;
import java.io.IOException; import java.io.IOException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
@@ -27,8 +29,11 @@ import java.util.concurrent.ScheduledFuture;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicBoolean;
import log.Log;
import message.Message; import message.Message;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import record.Recorder; import record.Recorder;
import record.wave.ComplexWaveRecorder; import record.wave.ComplexWaveRecorder;
import record.wave.FloatWaveRecorder; import record.wave.FloatWaveRecorder;
@@ -66,6 +71,8 @@ import eventlog.EventLogger;
*/ */
public class ProcessingChain implements Listener<Message> public class ProcessingChain implements Listener<Message>
{ {
private final static Logger mLog = LoggerFactory.getLogger( SDRTrunk.class );
protected AtomicBoolean mRunning = new AtomicBoolean(); protected AtomicBoolean mRunning = new AtomicBoolean();
protected Channel mChannel; protected Channel mChannel;
protected Source mSource; protected Source mSource;
@@ -189,7 +196,7 @@ public class ProcessingChain implements Listener<Message>
} }
else else
{ {
Log.info( getLogPrefix() + "start() invoked, but processing chain is " mLog.info( getLogPrefix() + "start() invoked, but processing chain is "
+ "already started" ); + "already started" );
} }
} }
@@ -224,7 +231,7 @@ public class ProcessingChain implements Listener<Message>
} }
else else
{ {
Log.info( getLogPrefix() + "stop() invoked, but processing chain was " mLog.info( getLogPrefix() + "stop() invoked, but processing chain was "
+ "already stopped" ); + "already stopped" );
} }
} }
@@ -273,8 +280,8 @@ public class ProcessingChain implements Listener<Message>
} }
catch ( SourceException e ) catch ( SourceException e )
{ {
Log.error( "Couldn't obtain source for processing chain [" + mLog.error( "Couldn't obtain source for processing chain [" +
toString() + "] - " + e.getLocalizedMessage() ); toString() + "]", e );
mSource = null; mSource = null;
} }
@@ -296,7 +303,7 @@ public class ProcessingChain implements Listener<Message>
} }
catch( RejectedExecutionException ree ) catch( RejectedExecutionException ree )
{ {
Log.error( getLogPrefix() + "ProcessingChain - " mLog.error( getLogPrefix() + "ProcessingChain - "
+ "error scheduling complex sample processing " + "error scheduling complex sample processing "
+ "thread - " + ree.getLocalizedMessage() ); + "thread - " + ree.getLocalizedMessage() );
@@ -318,9 +325,9 @@ public class ProcessingChain implements Listener<Message>
} }
catch( RejectedExecutionException ree ) catch( RejectedExecutionException ree )
{ {
Log.error( getLogPrefix() + "ProcessingChain - " mLog.error( getLogPrefix() + "ProcessingChain - "
+ "error scheduling float sample processing " + "error scheduling float sample processing "
+ "thread - " + ree.getLocalizedMessage() ); + "thread", ree );
mSource.dispose(); mSource.dispose();
} }
@@ -340,9 +347,9 @@ public class ProcessingChain implements Listener<Message>
} }
catch( RejectedExecutionException ree ) catch( RejectedExecutionException ree )
{ {
Log.error( getLogPrefix() + "ProcessingChain - " mLog.error( getLogPrefix() + "ProcessingChain - "
+ "error scheduling float sample processing " + "error scheduling float sample processing "
+ "thread - " + ree.getLocalizedMessage() ); + "thread", ree );
mSource.dispose(); mSource.dispose();
} }
@@ -491,9 +498,8 @@ public class ProcessingChain implements Listener<Message>
} }
catch ( IOException ioe ) catch ( IOException ioe )
{ {
Log.error( getLogPrefix() + "Couldn't stop recorder [" + mLog.error( getLogPrefix() + "Couldn't stop recorder [" +
recorder.getFileName() + "] " + recorder.getFileName() + "]", ioe );
ioe.getLocalizedMessage() );
} }
} }
} }
@@ -516,14 +522,14 @@ public class ProcessingChain implements Listener<Message>
if( recorder instanceof FloatWaveRecorder ) if( recorder instanceof FloatWaveRecorder )
{ {
Log.info( getLogPrefix() + "- started audio recording [" + mLog.info( getLogPrefix() + "- started audio recording [" +
recorder.getFileName() + "]" ); recorder.getFileName() + "]" );
mDecoder.addFloatListener( (FloatWaveRecorder)recorder ); mDecoder.addFloatListener( (FloatWaveRecorder)recorder );
} }
else if( recorder instanceof ComplexWaveRecorder ) else if( recorder instanceof ComplexWaveRecorder )
{ {
Log.info( getLogPrefix() + "- started baseband recording [" + mLog.info( getLogPrefix() + "- started baseband recording [" +
recorder.getFileName() + "]" ); recorder.getFileName() + "]" );
mDecoder.addComplexListener( (ComplexWaveRecorder )recorder ); mDecoder.addComplexListener( (ComplexWaveRecorder )recorder );
@@ -532,7 +538,7 @@ public class ProcessingChain implements Listener<Message>
} }
catch ( IOException e ) catch ( IOException e )
{ {
Log.error( getLogPrefix() + "Unable to start recorder [" + mLog.error( getLogPrefix() + "Unable to start recorder [" +
recorder.getFileName() + "]" ); recorder.getFileName() + "]" );
} }
} }
@@ -638,7 +644,7 @@ public class ProcessingChain implements Listener<Message>
} }
else else
{ {
Log.error( getLogPrefix() + "attempt to add a complex sample " mLog.error( getLogPrefix() + "attempt to add a complex sample "
+ "listener, but the decoder is null" ); + "listener, but the decoder is null" );
} }
} }
@@ -651,7 +657,7 @@ public class ProcessingChain implements Listener<Message>
} }
else else
{ {
Log.error( getLogPrefix() + "attempt to remove a complex sample " mLog.error( getLogPrefix() + "attempt to remove a complex sample "
+ "listener, but the decoder is null" ); + "listener, but the decoder is null" );
} }
} }

View File

@@ -17,7 +17,6 @@
******************************************************************************/ ******************************************************************************/
package controller.state; package controller.state;
import java.awt.EventQueue;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Iterator; import java.util.Iterator;
import java.util.concurrent.ScheduledFuture; import java.util.concurrent.ScheduledFuture;
@@ -26,8 +25,11 @@ import java.util.concurrent.TimeUnit;
import javax.swing.JTable; import javax.swing.JTable;
import log.Log;
import message.Message; import message.Message;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import properties.SystemProperties; import properties.SystemProperties;
import sample.Broadcaster; import sample.Broadcaster;
import sample.Listener; import sample.Listener;
@@ -43,7 +45,6 @@ import controller.activity.CallEventModel;
import controller.activity.MessageActivityModel; import controller.activity.MessageActivityModel;
import controller.channel.Channel.ChannelType; import controller.channel.Channel.ChannelType;
import controller.channel.ProcessingChain; import controller.channel.ProcessingChain;
import decode.mpt1327.MPT1327CallEvent;
/** /**
* ChannelState provides a state machine for tracking a voice or data call * ChannelState provides a state machine for tracking a voice or data call
@@ -82,6 +83,9 @@ import decode.mpt1327.MPT1327CallEvent;
*/ */
public abstract class ChannelState implements Listener<Message> public abstract class ChannelState implements Listener<Message>
{ {
private final static Logger mLog =
LoggerFactory.getLogger( ChannelState.class );
private State mState = State.IDLE; private State mState = State.IDLE;
private Object mCallFadeLock = new Object(); private Object mCallFadeLock = new Object();
private Object mCallResetLock = new Object(); private Object mCallResetLock = new Object();
@@ -349,7 +353,7 @@ public abstract class ChannelState implements Listener<Message>
} }
else else
{ {
Log.error( "Channel State - can't change from [" + mLog.error( "Channel State - can't change from [" +
mState.toString() + "] to [" + state.toString() + "]" ); mState.toString() + "] to [" + state.toString() + "]" );
} }
} }

View File

@@ -19,7 +19,8 @@ package crc;
import java.util.BitSet; import java.util.BitSet;
import log.Log; import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/** /**
* Fleetsync CRC checksum utility * Fleetsync CRC checksum utility
@@ -36,6 +37,9 @@ import log.Log;
*/ */
public class CRCFleetsync public class CRCFleetsync
{ {
private final static Logger mLog =
LoggerFactory.getLogger( CRCFleetsync.class );
private static short[] sCHECKSUMS = new short[] { private static short[] sCHECKSUMS = new short[] {
0x740A, // 111010000001010 Bit 0 0x740A, // 111010000001010 Bit 0
0x3A05, // 011101000000101 Bit 1 0x3A05, // 011101000000101 Bit 1
@@ -206,47 +210,4 @@ public class CRCFleetsync
return retVal; return retVal;
} }
public static void main( String[] args )
{
BitSet test = new BitSet();
int[] msg = new int[]
{ 1,1,0,1,1,1,0,1,0,1,1,1,0,1,1,0,
0,0,1,1,1,1,1,1,1,1,0,1,0,1,1,0,
0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,
0,1,0,0,1,0,1,1,1,1,0,0,1,1,0,0 };
for( int x = 0; x < msg.length; x++ )
{
if( msg[ x ] == 0 )
{
test.clear( x );
}
else if( msg[ x ] == 1 )
{
test.set( x );
}
}
CRC result = check( test );
Log.info( "CRC:" + result.toString() );
// for( int y = 0; y < 64; y++ )
// {
// BitSet test2 = test.get( y, y + 63 );
//
// if( test2.get( 63 ) )
// {
// test2.clear( 63 );
// }
// else
// {
// test2.set( 63 );
// }
// CRC result = check( test2 );
//
// Log.info( y + " crc:" + result.toString() );
// }
}
} }

View File

@@ -17,14 +17,20 @@
******************************************************************************/ ******************************************************************************/
package decode.fleetsync1; package decode.fleetsync1;
import log.Log;
import message.Message; import message.Message;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import sample.Broadcaster; import sample.Broadcaster;
import sample.Listener; import sample.Listener;
import bits.BitSetBuffer; import bits.BitSetBuffer;
public class Fleetsync1MessageProcessor implements Listener<BitSetBuffer> public class Fleetsync1MessageProcessor implements Listener<BitSetBuffer>
{ {
private final static Logger mLog =
LoggerFactory.getLogger( Fleetsync1MessageProcessor.class );
private Broadcaster<Message> mBroadcaster = new Broadcaster<Message>(); private Broadcaster<Message> mBroadcaster = new Broadcaster<Message>();
@Override @Override
@@ -32,8 +38,6 @@ public class Fleetsync1MessageProcessor implements Listener<BitSetBuffer>
{ {
Fleetsync1Message message = new Fleetsync1Message( buffer ); Fleetsync1Message message = new Fleetsync1Message( buffer );
Log.info( message.toString() );
mBroadcaster.receive( message ); mBroadcaster.receive( message );
} }

View File

@@ -17,7 +17,6 @@
******************************************************************************/ ******************************************************************************/
package decode.fleetsync2; package decode.fleetsync2;
import log.Log;
import message.Message; import message.Message;
import alias.Alias; import alias.Alias;
import controller.state.AuxChannelState; import controller.state.AuxChannelState;
@@ -27,8 +26,6 @@ import controller.state.ChannelState.State;
public class FleetsyncChannelState extends AuxChannelState public class FleetsyncChannelState extends AuxChannelState
{ {
private static final String PROTOCOL = "FSync II";
private String mFleetFrom; private String mFleetFrom;
private Alias mFleetFromAlias; private Alias mFleetFromAlias;

View File

@@ -20,7 +20,6 @@ package decode.ltrstandard;
import java.text.DecimalFormat; import java.text.DecimalFormat;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import log.Log;
import message.Message; import message.Message;
import message.MessageDirection; import message.MessageDirection;
import message.MessageType; import message.MessageType;
@@ -203,7 +202,6 @@ public abstract class LTRStandardMessage extends Message
public Alias getTalkgroupIDAlias() public Alias getTalkgroupIDAlias()
{ {
Log.debug( "LTRStandardMessage - getting alias for:" + getTalkgroupID() );
return mAliasList.getTalkgroupAlias( getTalkgroupID() ); return mAliasList.getTalkgroupAlias( getTalkgroupID() );
} }

View File

@@ -25,7 +25,6 @@ import instrument.tap.stream.FloatTap;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import log.Log;
import sample.Broadcaster; import sample.Broadcaster;
import sample.Listener; import sample.Listener;
import source.Source.SampleType; import source.Source.SampleType;
@@ -34,7 +33,6 @@ import bits.MessageFramer;
import bits.SyncPattern; import bits.SyncPattern;
import decode.Decoder; import decode.Decoder;
import decode.DecoderType; import decode.DecoderType;
import dsp.afc.AutomaticFrequencyControl;
import dsp.filter.DCRemovalFilter; import dsp.filter.DCRemovalFilter;
import dsp.filter.FilterFactory; import dsp.filter.FilterFactory;
import dsp.filter.Filters; import dsp.filter.Filters;

View File

@@ -17,7 +17,6 @@
******************************************************************************/ ******************************************************************************/
package decode.passport; package decode.passport;
import log.Log;
public enum PassportBand public enum PassportBand
{ {

View File

@@ -17,9 +17,13 @@
******************************************************************************/ ******************************************************************************/
package decode.passport; package decode.passport;
import gui.SDRTrunk;
import java.util.HashMap; import java.util.HashMap;
import log.Log; import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import message.Message; import message.Message;
import alias.Alias; import alias.Alias;
import alias.AliasList; import alias.AliasList;
@@ -33,6 +37,9 @@ import controller.state.ChannelState;
public class PassportChannelState extends ChannelState public class PassportChannelState extends ChannelState
{ {
private final static Logger mLog =
LoggerFactory.getLogger( PassportChannelState.class );
private String mTalkgroup; private String mTalkgroup;
private Alias mTalkgroupAlias; private Alias mTalkgroupAlias;
private String mMobileID; private String mMobileID;
@@ -105,7 +112,7 @@ public class PassportChannelState extends ChannelState
} }
catch( Exception e ) catch( Exception e )
{ {
Log.error( "Error setting audio for " mLog.error( "Error setting audio for "
+ "passport call", e ); + "passport call", e );
} }
} }
@@ -118,8 +125,6 @@ public class PassportChannelState extends ChannelState
* have a different call ... cleanup the old one. */ * have a different call ... cleanup the old one. */
if( current != null && !current.addMessage( passport ) ) if( current != null && !current.addMessage( passport ) )
{ {
Log.info( "Current call event - testing" );
if( current.isValid() ) if( current.isValid() )
{ {
final PassportCallEvent endEvent = final PassportCallEvent endEvent =

View File

@@ -19,7 +19,6 @@ package decode.passport;
import java.util.HashMap; import java.util.HashMap;
import log.Log;
import message.Message; import message.Message;
import message.MessageType; import message.MessageType;
import sample.Broadcaster; import sample.Broadcaster;

View File

@@ -17,32 +17,23 @@
******************************************************************************/ ******************************************************************************/
package dsp.filter; package dsp.filter;
import gui.SDRTrunk;
import java.util.Arrays; import java.util.Arrays;
import java.util.Set; import java.util.Set;
import java.util.TreeSet; import java.util.TreeSet;
import log.Log;
import org.jtransforms.fft.DoubleFFT_1D; import org.jtransforms.fft.DoubleFFT_1D;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import dsp.filter.Window.WindowType; import dsp.filter.Window.WindowType;
public class FilterFactory public class FilterFactory
{ {
private final static Logger mLog =
LoggerFactory.getLogger( FilterFactory.class );
public static void main( String[] args )
{
Log.info( "Testing filter factory" );
double[] coefficients = getCICCleanupFilter( 48000, 1, WindowType.BLACKMAN );
for( int x = 0; x < coefficients.length; x++ )
{
Log.info( x + ": " + coefficients[ x ] );
}
Log.info( "Finished" );
}
/** /**
* Generates coefficients for a unity-gain, windowed low-pass filter * Generates coefficients for a unity-gain, windowed low-pass filter
* @param sampleRate - hertz * @param sampleRate - hertz
@@ -514,7 +505,7 @@ public class FilterFactory
int stage1 = findClosest( optimalStage1, factors ); int stage1 = findClosest( optimalStage1, factors );
Log.info( "Decimation rate [" + decimation + mLog.info( "Decimation rate [" + decimation +
"] stage1 optimal [" + optimalStage1 + "] stage1 optimal [" + optimalStage1 +
"] stage1 actual [" + stage1 + "] stage1 actual [" + stage1 +
"]"); "]");
@@ -625,7 +616,7 @@ public class FilterFactory
int retVal = (int)( 2.0d * decimation * ( numerator / denominator ) ); int retVal = (int)( 2.0d * decimation * ( numerator / denominator ) );
Log.info( "Optimal Stage 1 Decimation - rate [" + sampleRate + mLog.info( "Optimal Stage 1 Decimation - rate [" + sampleRate +
"] pass [" + passFrequency + "] pass [" + passFrequency +
"] bw ratio [" + ratio + "] bw ratio [" + ratio +
"] optimal [" + retVal + "] optimal [" + retVal +

View File

@@ -17,11 +17,9 @@
******************************************************************************/ ******************************************************************************/
package dsp.nbfm; package dsp.nbfm;
import log.Log;
import sample.Broadcaster; import sample.Broadcaster;
import sample.Listener; import sample.Listener;
import sample.complex.ComplexSample; import sample.complex.ComplexSample;
import dsp.afc.AutomaticFrequencyControl;
import dsp.filter.ComplexFIRFilter; import dsp.filter.ComplexFIRFilter;
import dsp.filter.FilterFactory; import dsp.filter.FilterFactory;
import dsp.filter.Window.WindowType; import dsp.filter.Window.WindowType;

View File

@@ -17,6 +17,8 @@
******************************************************************************/ ******************************************************************************/
package eventlog; package eventlog;
import gui.SDRTrunk;
import java.io.File; import java.io.File;
import java.io.FileNotFoundException; import java.io.FileNotFoundException;
import java.io.FileOutputStream; import java.io.FileOutputStream;
@@ -25,11 +27,16 @@ import java.io.OutputStreamWriter;
import java.io.Writer; import java.io.Writer;
import java.nio.file.Path; import java.nio.file.Path;
import log.Log; import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import util.TimeStamp; import util.TimeStamp;
public abstract class EventLogger public abstract class EventLogger
{ {
private final static Logger mLog =
LoggerFactory.getLogger( EventLogger.class );
/* Illegal filename characters */ /* Illegal filename characters */
private static final String[] mIllegalCharacters = private static final String[] mIllegalCharacters =
{ "#", "%", "&", "{", "}", "\\", "<", ">", "*", "?", "/", { "#", "%", "&", "{", "}", "\\", "<", ">", "*", "?", "/",
@@ -73,7 +80,7 @@ public abstract class EventLogger
mLogFileName = sb.toString(); mLogFileName = sb.toString();
Log.info( "Creating log file:" + mLogFileName ); mLog.info( "Creating log file:" + mLogFileName );
mLogFile = new OutputStreamWriter(new FileOutputStream( mLogFileName ) ); mLogFile = new OutputStreamWriter(new FileOutputStream( mLogFileName ) );
@@ -81,7 +88,7 @@ public abstract class EventLogger
} }
catch (FileNotFoundException e) catch (FileNotFoundException e)
{ {
Log.error("Couldn't create log file in directory:" + mLogDirectory ); mLog.error("Couldn't create log file in directory:" + mLogDirectory );
} }
} }
@@ -109,7 +116,7 @@ public abstract class EventLogger
} }
catch( Exception e ) catch( Exception e )
{ {
Log.error( "Couldn't close log file:" + mFileNameSuffix ); mLog.error( "Couldn't close log file:" + mFileNameSuffix );
} }
} }
} }
@@ -122,7 +129,7 @@ public abstract class EventLogger
} }
catch ( IOException e ) catch ( IOException e )
{ {
Log.error( "Error writing entry to event log file:" + e.getLocalizedMessage() ); mLog.error( "Error writing entry to event log file", e );
} }
} }
} }

View File

@@ -29,6 +29,7 @@ import java.io.IOException;
import java.nio.file.FileSystems; import java.nio.file.FileSystems;
import java.nio.file.Files; import java.nio.file.Files;
import java.nio.file.Path; import java.nio.file.Path;
import java.util.Date;
import javax.imageio.ImageIO; import javax.imageio.ImageIO;
import javax.swing.JFrame; import javax.swing.JFrame;
@@ -37,8 +38,11 @@ import javax.swing.JMenuBar;
import javax.swing.JMenuItem; import javax.swing.JMenuItem;
import javax.swing.JSeparator; import javax.swing.JSeparator;
import log.Log;
import net.miginfocom.swing.MigLayout; import net.miginfocom.swing.MigLayout;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import properties.SystemProperties; import properties.SystemProperties;
import source.tuner.TunerSelectionListener; import source.tuner.TunerSelectionListener;
import spectrum.SpectralDisplayPanel; import spectrum.SpectralDisplayPanel;
@@ -51,25 +55,35 @@ import controller.ResourceManager;
public class SDRTrunk public class SDRTrunk
{ {
private ResourceManager mResourceManager; private final static Logger mLog = LoggerFactory.getLogger( SDRTrunk.class );
private ResourceManager mResourceManager;
private ControllerPanel mControllerPanel; private ControllerPanel mControllerPanel;
private SpectralDisplayPanel mSpectralPanel; private SpectralDisplayPanel mSpectralPanel;
private JFrame mMainGui = new JFrame(); private JFrame mMainGui = new JFrame();
public SDRTrunk() public SDRTrunk()
{ {
mLog.info( "" );
mLog.info( "" );
mLog.info( "*******************************************************************" );
mLog.info( "**** SDRTrunk: a trunked radio and digital decoding application ***" );
mLog.info( "**** website: https://code.google.com/p/sdrtrunk ***" );
mLog.info( "*******************************************************************" );
mLog.info( "" );
mLog.info( "" );
//Setup the application home directory //Setup the application home directory
Path home = getHomePath(); Path home = getHomePath();
mLog.info( "Home path: " + home.toString() );
//Load properties file //Load properties file
if( home != null ) if( home != null )
{ {
loadProperties( home ); loadProperties( home );
} }
//Start the logger
Log.init();
//Log current properties setting //Log current properties setting
SystemProperties.getInstance().logCurrentSettings(); SystemProperties.getInstance().logCurrentSettings();
@@ -82,7 +96,8 @@ public class SDRTrunk
//Initialize the GUI //Initialize the GUI
initGUI(); initGUI();
Log.info( "Starting the main gui" ); mLog.info( "starting main application gui" );
//Start the gui //Start the gui
EventQueue.invokeLater( new Runnable() EventQueue.invokeLater( new Runnable()
{ {
@@ -210,9 +225,9 @@ public class SDRTrunk
} }
catch ( IOException e ) catch ( IOException e )
{ {
Log.error( "Couldn't create 'screen_captures' " mLog.error( "Couldn't create 'screen_captures' "
+ "subdirectory in the " + + "subdirectory in the " +
"SDRTrunk application directory" ); "SDRTrunk application directory", e );
} }
} }
@@ -233,15 +248,14 @@ public class SDRTrunk
} }
catch ( IOException e ) catch ( IOException e )
{ {
Log.error( "Couldn't write screen capture to " mLog.error( "Couldn't write screen capture to "
+ "file [" + captureFile.toString() + "]" ); + "file [" + captureFile.toString() + "]", e );
} }
}} ); }} );
} }
catch ( AWTException e ) catch ( AWTException e )
{ {
Log.error( "Exception while taking screen capture - " + mLog.error( "Exception while taking screen capture", e );
e.getLocalizedMessage() );
} }
} }
} ); } );
@@ -261,15 +275,15 @@ public class SDRTrunk
{ {
try try
{ {
Log.info( "SDRTrunk - creating application properties file [" + mLog.info( "SDRTrunk - creating application properties file [" +
propsPath.toAbsolutePath() + "]" ); propsPath.toAbsolutePath() + "]" );
Files.createFile( propsPath ); Files.createFile( propsPath );
} }
catch ( IOException e ) catch ( IOException e )
{ {
Log.error( "SDRTrunk - couldn't create application properties " mLog.error( "SDRTrunk - couldn't create application properties "
+ "file [" + propsPath.toAbsolutePath() ); + "file [" + propsPath.toAbsolutePath(), e );
} }
} }
@@ -279,7 +293,7 @@ public class SDRTrunk
} }
else else
{ {
Log.error( "SDRTrunk - couldn't find or recreate the SDRTrunk " + mLog.error( "SDRTrunk - couldn't find or recreate the SDRTrunk " +
"application properties file" ); "application properties file" );
} }
} }
@@ -301,15 +315,15 @@ public class SDRTrunk
{ {
Files.createDirectory( homePath ); Files.createDirectory( homePath );
Log.info( "SDRTrunk - created application home directory [" + mLog.info( "SDRTrunk - created application home directory [" +
homePath.toString() + "]" ); homePath.toString() + "]" );
} }
catch ( Exception e ) catch ( Exception e )
{ {
homePath = null; homePath = null;
Log.error( "SDRTrunk: exception while creating SDRTrunk home " + mLog.error( "SDRTrunk: exception while creating SDRTrunk home " +
"directory in the user's home directory" ); "directory in the user's home directory", e );
} }
} }

View File

@@ -34,19 +34,24 @@ import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.Iterator; import java.util.Iterator;
import javax.swing.BorderFactory;
import javax.swing.JLabel; import javax.swing.JLabel;
import javax.swing.JPanel; import javax.swing.JPanel;
import javax.swing.JTextField; import javax.swing.JTextField;
import log.Log;
import net.miginfocom.swing.MigLayout; import net.miginfocom.swing.MigLayout;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import source.tuner.FrequencyChangeListener; import source.tuner.FrequencyChangeListener;
public class JFrequencyControl extends JPanel implements FrequencyChangeListener public class JFrequencyControl extends JPanel implements FrequencyChangeListener
{ {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
private ArrayList<FrequencyChangeListener> mListeners = private final static Logger mLog =
LoggerFactory.getLogger( JFrequencyControl.class );
private ArrayList<FrequencyChangeListener> mListeners =
new ArrayList<FrequencyChangeListener>(); new ArrayList<FrequencyChangeListener>();
private Color mHighlightColor = Color.YELLOW; private Color mHighlightColor = Color.YELLOW;
@@ -84,8 +89,8 @@ public class JFrequencyControl extends JPanel implements FrequencyChangeListener
} }
catch ( ParseException e ) catch ( ParseException e )
{ {
Log.error( "JFrequencyControl - parse exception " mLog.error( "JFrequencyControl - parse exception "
+ "constructing a digit - " + e.getLocalizedMessage() ); + "constructing a digit - " + e );
} }
if( digit != null ) if( digit != null )

View File

@@ -42,9 +42,12 @@ import javax.swing.JMenuItem;
import javax.swing.JPopupMenu; import javax.swing.JPopupMenu;
import javax.swing.JSeparator; import javax.swing.JSeparator;
import log.Log;
import message.Message; import message.Message;
import net.miginfocom.swing.MigLayout; import net.miginfocom.swing.MigLayout;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import sample.Listener; import sample.Listener;
import source.Source.SampleType; import source.Source.SampleType;
import source.wave.FloatWaveSource; import source.wave.FloatWaveSource;
@@ -56,6 +59,8 @@ public class DecoderViewFrame extends JInternalFrame
implements PositionListener, Listener<Message> implements PositionListener, Listener<Message>
{ {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
private final static Logger mLog =
LoggerFactory.getLogger( DecoderViewFrame.class );
private Decoder mDecoder; private Decoder mDecoder;
private WaveSource mWaveSource; private WaveSource mWaveSource;
@@ -70,7 +75,7 @@ public class DecoderViewFrame extends JInternalFrame
if( source.getSampleType() == SampleType.COMPLEX ) if( source.getSampleType() == SampleType.COMPLEX )
{ {
Log.error( "Hey, we're not wired up yet for complex" ); mLog.error( "Hey, we're not wired up yet for complex" );
} }
else if( source.getSampleType() == SampleType.FLOAT ) else if( source.getSampleType() == SampleType.FLOAT )
{ {
@@ -181,7 +186,7 @@ public class DecoderViewFrame extends JInternalFrame
} }
else else
{ {
Log.info( "Tap panel is null, couldn't add for tap " + mLog.info( "Tap panel is null, couldn't add for tap " +
tap.getName() + "[" + tap.getType().toString() + "]" ); tap.getName() + "[" + tap.getType().toString() + "]" );
} }
} }
@@ -272,6 +277,6 @@ public class DecoderViewFrame extends JInternalFrame
@Override @Override
public void receive( Message message ) public void receive( Message message )
{ {
Log.info( "Decoder message: " + message.toString() ); mLog.info( "Decoder message: " + message.toString() );
} }
} }

View File

@@ -24,11 +24,14 @@ import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.Observable; import java.util.Observable;
import log.Log; import org.slf4j.Logger;
import dsp.fsk.SymbolEvent; import org.slf4j.LoggerFactory;
public class SampleModel<T> extends Observable implements TapListener<T> public class SampleModel<T> extends Observable implements TapListener<T>
{ {
private final static Logger mLog =
LoggerFactory.getLogger( SampleModel.class );
private int mSampleCount = 2000; private int mSampleCount = 2000;
private int mDelay = 0; private int mDelay = 0;
private ArrayList<T> mSamples = new ArrayList<T>(); private ArrayList<T> mSamples = new ArrayList<T>();

View File

@@ -31,7 +31,9 @@ import javax.swing.JMenuItem;
import javax.swing.JSeparator; import javax.swing.JSeparator;
import javax.swing.filechooser.FileFilter; import javax.swing.filechooser.FileFilter;
import log.Log; import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import source.Source; import source.Source;
import source.wave.ComplexWaveSource; import source.wave.ComplexWaveSource;
import source.wave.FloatWaveSource; import source.wave.FloatWaveSource;
@@ -39,6 +41,8 @@ import source.wave.WaveSource;
public class Viewer public class Viewer
{ {
private final static Logger mLog = LoggerFactory.getLogger( Viewer.class );
private JFrame mFrame; private JFrame mFrame;
private JDesktopPane mDesktop; private JDesktopPane mDesktop;
@@ -129,7 +133,7 @@ public class Viewer
private void setSourceFile( File file ) private void setSourceFile( File file )
{ {
Log.info( "File selected [" + file.getAbsolutePath() + "]"); mLog.info( "File selected [" + file.getAbsolutePath() + "]");
WaveSource source = null; WaveSource source = null;
@@ -141,12 +145,11 @@ public class Viewer
source = floatSource; source = floatSource;
Log.info( "File opened as float wave file" ); mLog.info( "File opened as float wave file" );
} }
catch( Exception e ) catch( Exception e )
{ {
Log.error( "Couldn't open file as float source - " + mLog.error( "Couldn't open file as float source", e);
e.getLocalizedMessage() );
} }
if( source == null ) if( source == null )
@@ -159,12 +162,11 @@ public class Viewer
source = complex; source = complex;
Log.info( "File opened as complex wave file" ); mLog.info( "File opened as complex wave file" );
} }
catch( Exception e ) catch( Exception e )
{ {
Log.error( "Couldn't open file as float source - " + mLog.error( "Couldn't open file as float source", e);
e.getLocalizedMessage() );
} }
} }

View File

@@ -34,9 +34,12 @@ import javax.swing.JOptionPane;
import javax.swing.JPanel; import javax.swing.JPanel;
import javax.swing.JTextField; import javax.swing.JTextField;
import log.Log;
import message.MessageDirection; import message.MessageDirection;
import net.miginfocom.swing.MigLayout; import net.miginfocom.swing.MigLayout;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import source.Source.SampleType; import source.Source.SampleType;
import source.wave.WaveSource; import source.wave.WaveSource;
import source.wave.WaveSource.PositionListener; import source.wave.WaveSource.PositionListener;
@@ -52,6 +55,10 @@ import decode.passport.PassportDecoder;
public class WaveSourceFrame extends JInternalFrame implements PositionListener public class WaveSourceFrame extends JInternalFrame implements PositionListener
{ {
private static final long serialVersionUID = 1L;
private final static Logger mLog =
LoggerFactory.getLogger( WaveSourceFrame.class );
private WaveSource mSource; private WaveSource mSource;
private JDesktopPane mDesktop; private JDesktopPane mDesktop;
@@ -128,7 +135,7 @@ public class WaveSourceFrame extends JInternalFrame implements PositionListener
DecoderType selected = DecoderType selected =
(DecoderType)mComboDecoders.getSelectedItem(); (DecoderType)mComboDecoders.getSelectedItem();
Log.info( "Selected:" + selected.getDisplayString() ); mLog.info( "Selected:" + selected.getDisplayString() );
Decoder decoder = null; Decoder decoder = null;
@@ -189,8 +196,8 @@ public class WaveSourceFrame extends JInternalFrame implements PositionListener
} }
catch ( IOException e ) catch ( IOException e )
{ {
Log.error( "Viewer - error trying to fetch next [" + mLog.error( "Viewer - error trying to fetch next [" +
mCount + "] samples - " + e.getLocalizedMessage() ); mCount + "] samples", e );
JOptionPane.showMessageDialog( WaveSourceFrame.this, JOptionPane.showMessageDialog( WaveSourceFrame.this,
"Cannot read " + mCount + " more samples [" + "Cannot read " + mCount + " more samples [" +
@@ -230,8 +237,8 @@ public class WaveSourceFrame extends JInternalFrame implements PositionListener
} }
catch( Exception e ) catch( Exception e )
{ {
Log.error( "WaveSourceFrame - exception during jump " mLog.error( "WaveSourceFrame - exception during jump "
+ "to - " + e.getLocalizedMessage() ); + "to", e );
JOptionPane.showMessageDialog( WaveSourceFrame.this, JOptionPane.showMessageDialog( WaveSourceFrame.this,
"Can't jump to position [" + getText() + "]", "Can't jump to position [" + getText() + "]",

View File

@@ -17,6 +17,7 @@
******************************************************************************/ ******************************************************************************/
package instrument.tap.stream; package instrument.tap.stream;
import gui.SDRTrunk;
import instrument.gui.SampleModel; import instrument.gui.SampleModel;
import instrument.tap.Tap; import instrument.tap.Tap;
import instrument.tap.TapViewPanel; import instrument.tap.TapViewPanel;
@@ -29,11 +30,15 @@ import java.awt.geom.Point2D;
import java.util.List; import java.util.List;
import java.util.Observable; import java.util.Observable;
import log.Log; import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class FloatTapPhaseViewPanel extends TapViewPanel public class FloatTapPhaseViewPanel extends TapViewPanel
{ {
private static final long serialVersionUID = 1L; private final static Logger mLog =
LoggerFactory.getLogger( FloatTapPhaseViewPanel.class );
private static final long serialVersionUID = 1L;
private Tap mTap; private Tap mTap;
private List<Float> mSamples; private List<Float> mSamples;
private int mSampleCount; private int mSampleCount;
@@ -50,7 +55,7 @@ public class FloatTapPhaseViewPanel extends TapViewPanel
getModel().setSampleCount( mSampleCount ); getModel().setSampleCount( mSampleCount );
getModel().setDelay( tap.getDelay() ); getModel().setDelay( tap.getDelay() );
Log.info( "Float Tap Panel [" + tap.getName() + "] count: " + mLog.info( "Float Tap Panel [" + tap.getName() + "] count: " +
getModel().getSampleCount() + " delay:" + getModel().getDelay() ); getModel().getSampleCount() + " delay:" + getModel().getDelay() );
} }

View File

@@ -17,6 +17,7 @@
******************************************************************************/ ******************************************************************************/
package instrument.tap.stream; package instrument.tap.stream;
import gui.SDRTrunk;
import instrument.gui.SampleModel; import instrument.gui.SampleModel;
import instrument.tap.Tap; import instrument.tap.Tap;
import instrument.tap.TapViewPanel; import instrument.tap.TapViewPanel;
@@ -29,11 +30,14 @@ import java.awt.geom.Point2D;
import java.util.List; import java.util.List;
import java.util.Observable; import java.util.Observable;
import log.Log; import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class FloatTapViewPanel extends TapViewPanel public class FloatTapViewPanel extends TapViewPanel
{ {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
private final static Logger mLog = LoggerFactory.getLogger( SDRTrunk.class );
private Tap mTap; private Tap mTap;
private List<Float> mSamples; private List<Float> mSamples;
private int mSampleCount; private int mSampleCount;
@@ -50,7 +54,7 @@ public class FloatTapViewPanel extends TapViewPanel
getModel().setSampleCount( mSampleCount ); getModel().setSampleCount( mSampleCount );
getModel().setDelay( tap.getDelay() ); getModel().setDelay( tap.getDelay() );
Log.info( "Float Tap Panel [" + tap.getName() + "] count: " + mLog.info( "Float Tap Panel [" + tap.getName() + "] count: " +
getModel().getSampleCount() + " delay:" + getModel().getDelay() ); getModel().getSampleCount() + " delay:" + getModel().getDelay() );
} }
@@ -109,7 +113,7 @@ public class FloatTapViewPanel extends TapViewPanel
float scaledValue = value / (float)Short.MAX_VALUE; float scaledValue = value / (float)Short.MAX_VALUE;
Log.info( "Float value is:" + scaledValue ); // mLog.info( "Float value is:" + scaledValue );
float y = middle - ( middle * scaledValue * mVerticalZoom ); float y = middle - ( middle * scaledValue * mVerticalZoom );
/* Clip y to zero as necessary */ /* Clip y to zero as necessary */

View File

@@ -17,7 +17,6 @@
******************************************************************************/ ******************************************************************************/
package instrument.tap.stream; package instrument.tap.stream;
import log.Log;
import instrument.tap.TapListener; import instrument.tap.TapListener;
import instrument.tap.TapType; import instrument.tap.TapType;
import sample.Listener; import sample.Listener;

View File

@@ -29,7 +29,6 @@ import java.awt.geom.Rectangle2D;
import java.util.List; import java.util.List;
import java.util.Observable; import java.util.Observable;
import log.Log;
import dsp.fsk.SymbolEvent; import dsp.fsk.SymbolEvent;
public class SymbolEventTapViewPanel extends TapViewPanel public class SymbolEventTapViewPanel extends TapViewPanel

View File

@@ -1,280 +0,0 @@
/*******************************************************************************
* SDR Trunk
* Copyright (C) 2014 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
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* 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 log;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.nio.file.Files;
import java.nio.file.Path;
import properties.SystemProperties;
import util.TimeStamp;
public class Log
{
private static Writer mLogFile;
public Log()
{
}
private static void log( String msg )
{
log( msg, null);
}
/**
* Logs just the raw message, without a preceeding timestamp
*/
public void logRaw( String rawmsg )
{
try
{
mLogFile.write( rawmsg );
}
catch ( IOException e )
{
System.out.println(
"Couldn't write warning msg to log file: " + rawmsg );
}
}
private static void log( String msg, String label)
{
if( mLogFile != null )
{
try
{
mLogFile.write( TimeStamp.getTimeStamp( " " ) );
mLogFile.write( " " );
if( label != null )
{
mLogFile.write( label + ":" );
}
mLogFile.write( msg + "\n" );
mLogFile.flush();
}
catch (IOException e)
{
System.out.println(
"Couldn't write warning msg to log file: " + msg );
}
}
//echo to console
System.out.println( ( label == null ? "" : label + ": " ) + msg );
}
private static void log( String msg, String label, Throwable throwable )
{
StringBuilder sb = new StringBuilder();
if( msg != null )
{
sb.append( msg );
sb.append( "\n" );
}
sb.append( "---- STACK TRACE ----\n" );
sb.append( "\tERROR: " );
sb.append( "\tCause: " + throwable.getCause().toString() );
sb.append( "\t" + throwable.getMessage() );
sb.append( "\t" + throwable.getLocalizedMessage() + "\n" );
StackTraceElement[] stack = throwable.getStackTrace();
for( StackTraceElement element: stack )
{
sb.append( "\t" );
sb.append( element.toString() );
sb.append( ":" );
sb.append( element.getLineNumber() );
sb.append( "\n" );
}
sb.append( "\n" );
log( sb.toString(), label );
for( Throwable t: throwable.getSuppressed() )
{
log( "Suppressed", label, t );
}
}
public static void header( String name )
{
StringBuilder sb = new StringBuilder();
sb.append( "********** " );
sb.append( name );
sb.append( " **********" );
log( sb.toString() );
}
public static void info( String msg )
{
log( msg );
}
public static void info( byte[] bytes )
{
StringBuilder sb = new StringBuilder();
for( int x = 0; x < bytes.length; x++ )
{
sb.append( String.format( "%02X ", bytes[ x ] ) );
}
info( sb.toString() );
}
public static void info( String header, byte[] bytes )
{
StringBuilder sb = new StringBuilder();
sb.append( header );
for( int x = 0; x < bytes.length; x++ )
{
sb.append( String.format( "%02X ", bytes[ x ] ) );
}
info( sb.toString() );
}
public static void warning( String msg )
{
log( msg, "WARNING" );
}
public static void error( String msg )
{
log( msg, "ERROR" );
}
public static void error( String msg, Throwable throwable )
{
log( msg, "ERROR", throwable );
}
public static void debug( String msg )
{
log( msg, "DEBUG" );
}
public static void debug( String msg, Throwable throwable )
{
log( msg, "DEBUG", throwable );
}
/**
* Initializes logging to the specified filename
*/
public static void init( String filename )
{
try
{
mLogFile = new OutputStreamWriter(
new FileOutputStream( filename ) );
Log.info( "SDRTrunk Multi-Channel Trunking Decoder Application Log" );
Log.info( "Log - application logging started [" + filename + "]" );
logUserEnvironment();
}
catch (FileNotFoundException e)
{
System.out.println("Couldn't open log file:" + filename );
}
}
/**
* Initializes the log file using system properties settings
*/
public static void init()
{
SystemProperties props = SystemProperties.getInstance();
String logBaseFileName = props.get( "log.basefilename",
"_SDRTrunk_application" );
Path logPath = props.getApplicationFolder( "logs" );
if( !Files.exists( logPath ) )
{
try
{
Files.createDirectory( logPath );
}
catch ( IOException e )
{
Log.error( "Log - couldn't create 'logs' subdirectory in the " +
"SDRTrunk application directory" );
}
}
String logFileName = TimeStamp.getTimeStamp( "_" ) + logBaseFileName +
".log";
Path logFile = logPath.resolve( logFileName );
init( logFile.toString() );
}
public static void logUserEnvironment()
{
Log.header( "User Environment" );
Log.info( "OS:\t\t\t" + System.getProperty( "os.name" ) );
Log.info( "OS Version:\t\t" + System.getProperty( "os.version" ) );
Log.info( "OS Arch:\t\t" + System.getProperty( "os.arch" ) );
Log.info( "Java Vendor:\t\t" + System.getProperty( "java.vendor" ) );
Log.info( "Java Vendor URL:\t" + System.getProperty( "java.vendor.url" ) );
Log.info( "Java Version:\t\t" + System.getProperty( "java.version" ) );
Log.info( "User:\t\t\t" + System.getProperty( "user.name" ) );
Log.info( "User Home:\t\t" + System.getProperty( "user.home" ) );
Log.info( "User Directory:\t\t" + System.getProperty( "user.dir" ) );
Log.header( "Java Class Path" );
Log.info( System.getProperty( "java.class.path" ) );
}
public static void close()
{
if( mLogFile != null )
{
try
{
mLogFile.flush();
mLogFile.close();
}
catch( Exception e )
{
System.out.println( "Couldn't close log file" );
}
}
}
}

View File

@@ -17,6 +17,8 @@
******************************************************************************/ ******************************************************************************/
package map; package map;
import gui.SDRTrunk;
import java.awt.Component; import java.awt.Component;
import java.awt.Dimension; import java.awt.Dimension;
import java.awt.event.ActionEvent; import java.awt.event.ActionEvent;
@@ -43,7 +45,9 @@ import javax.swing.event.ListSelectionEvent;
import javax.swing.event.ListSelectionListener; import javax.swing.event.ListSelectionListener;
import javax.swing.filechooser.FileFilter; import javax.swing.filechooser.FileFilter;
import log.Log; import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import net.miginfocom.swing.MigLayout; import net.miginfocom.swing.MigLayout;
import settings.Setting; import settings.Setting;
import settings.SettingChangeListener; import settings.SettingChangeListener;
@@ -56,6 +60,8 @@ public class IconManager extends JFrame
public enum Mode { NORMAL, NEW, EDIT } public enum Mode { NORMAL, NEW, EDIT }
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
private final static Logger mLog =
LoggerFactory.getLogger( IconManager.class );
private ResourceManager mResourceManager; private ResourceManager mResourceManager;
@@ -334,11 +340,9 @@ public class IconManager extends JFrame
{ {
case EDIT: //Cancel case EDIT: //Cancel
case NEW: //Cancel case NEW: //Cancel
Log.info( "Right clicked - cancel" );
setMode( Mode.NORMAL ); setMode( Mode.NORMAL );
break; break;
case NORMAL: //Edit case NORMAL: //Edit
Log.info( "Right clicked - edit" );
setMode( Mode.EDIT ); setMode( Mode.EDIT );
break; break;
} }

View File

@@ -26,19 +26,15 @@ import java.awt.event.MouseEvent;
import java.awt.event.MouseWheelListener; import java.awt.event.MouseWheelListener;
import java.awt.geom.Point2D; import java.awt.geom.Point2D;
import javax.swing.JMenu;
import javax.swing.JMenuItem; import javax.swing.JMenuItem;
import javax.swing.JPopupMenu; import javax.swing.JPopupMenu;
import javax.swing.SwingUtilities; import javax.swing.SwingUtilities;
import javax.swing.event.MouseInputAdapter; import javax.swing.event.MouseInputAdapter;
import log.Log;
import org.jdesktop.swingx.JXMapViewer; import org.jdesktop.swingx.JXMapViewer;
import org.jdesktop.swingx.mapviewer.GeoPosition; import org.jdesktop.swingx.mapviewer.GeoPosition;
import settings.SettingsManager; import settings.SettingsManager;
import controller.ResourceManager;
public class MapMouseListener extends MouseInputAdapter implements MouseWheelListener public class MapMouseListener extends MouseInputAdapter implements MouseWheelListener
{ {

View File

@@ -22,8 +22,6 @@ import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent; import java.awt.event.KeyEvent;
import java.awt.geom.Point2D; import java.awt.geom.Point2D;
import log.Log;
import org.jdesktop.swingx.JXMapViewer; import org.jdesktop.swingx.JXMapViewer;
/** /**

View File

@@ -17,6 +17,8 @@
******************************************************************************/ ******************************************************************************/
package org.jdesktop.swingx.mapviewer; package org.jdesktop.swingx.mapviewer;
import gui.SDRTrunk;
import java.awt.image.BufferedImage; import java.awt.image.BufferedImage;
import java.io.ByteArrayInputStream; import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream; import java.io.ByteArrayOutputStream;
@@ -38,9 +40,9 @@ import java.util.concurrent.ThreadFactory;
import javax.imageio.ImageIO; import javax.imageio.ImageIO;
import javax.swing.SwingUtilities; import javax.swing.SwingUtilities;
import log.Log;
import org.jdesktop.swingx.mapviewer.util.GeoUtil; import org.jdesktop.swingx.mapviewer.util.GeoUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/** /**
* The <code>AbstractTileFactory</code> provides * The <code>AbstractTileFactory</code> provides
@@ -48,6 +50,9 @@ import org.jdesktop.swingx.mapviewer.util.GeoUtil;
*/ */
public abstract class AbstractTileFactory extends TileFactory public abstract class AbstractTileFactory extends TileFactory
{ {
private final static Logger mLog =
LoggerFactory.getLogger( AbstractTileFactory.class );
/** /**
* Creates a new instance of DefaultTileFactory using the spcified TileFactoryInfo * Creates a new instance of DefaultTileFactory using the spcified TileFactoryInfo
* @param info a TileFactoryInfo to configure this TileFactory * @param info a TileFactoryInfo to configure this TileFactory
@@ -345,7 +350,6 @@ public abstract class AbstractTileFactory extends TileFactory
if (img == null) if (img == null)
{ {
System.out.println("error loading: " + uri); System.out.println("error loading: " + uri);
Log.info("Failed to load: " + uri);
trys--; trys--;
} }
else else
@@ -371,11 +375,13 @@ public abstract class AbstractTileFactory extends TileFactory
{ {
if (trys == 0) if (trys == 0)
{ {
Log.error("Failed to load a tile at url: " + tile.getURL() + ", stopping - " + e.getLocalizedMessage() ); mLog.error("Failed to load a tile at url: " +
tile.getURL() + ", stopping", e );
} }
else else
{ {
Log.warning("Failed to load a tile at url: " + tile.getURL() + ", retrying - " + e.getLocalizedMessage() ); mLog.error("Failed to load a tile at url: " +
tile.getURL() + ", retrying", e );
trys--; trys--;
} }
} }

View File

@@ -9,15 +9,17 @@
package org.jdesktop.swingx.mapviewer; package org.jdesktop.swingx.mapviewer;
import gui.SDRTrunk;
import java.awt.Graphics2D; import java.awt.Graphics2D;
import java.awt.geom.Point2D; import java.awt.geom.Point2D;
import java.awt.image.BufferedImage; import java.awt.image.BufferedImage;
import javax.imageio.ImageIO; import javax.imageio.ImageIO;
import log.Log;
import org.jdesktop.swingx.JXMapViewer; import org.jdesktop.swingx.JXMapViewer;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/** /**
* This is a standard waypoint renderer. * This is a standard waypoint renderer.
@@ -25,6 +27,9 @@ import org.jdesktop.swingx.JXMapViewer;
*/ */
public class DefaultWaypointRenderer implements WaypointRenderer<Waypoint> public class DefaultWaypointRenderer implements WaypointRenderer<Waypoint>
{ {
private final static Logger mLog =
LoggerFactory.getLogger( DefaultWaypointRenderer.class );
private BufferedImage img = null; private BufferedImage img = null;
/** /**
@@ -38,7 +43,7 @@ public class DefaultWaypointRenderer implements WaypointRenderer<Waypoint>
} }
catch (Exception ex) catch (Exception ex)
{ {
Log.warning("couldn't read standard_waypoint.png - " + ex.getLocalizedMessage() ); mLog.error("couldn't read standard_waypoint.png", ex );
} }
} }

View File

@@ -34,13 +34,17 @@ import java.net.URLConnection;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import log.Log; import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/** /**
* @author joshy * @author joshy
*/ */
public class LocalResponseCache extends ResponseCache public class LocalResponseCache extends ResponseCache
{ {
private final static Logger mLog =
LoggerFactory.getLogger( LocalResponseCache.class );
private final File cacheDir; private final File cacheDir;
private boolean checkForUpdates; private boolean checkForUpdates;
@@ -159,12 +163,12 @@ public class LocalResponseCache extends ResponseCache
} }
catch (MalformedURLException ex) catch (MalformedURLException ex)
{ {
Log.error("An exception occurred - " + ex.getLocalizedMessage() ); mLog.error("An exception occurred - ", ex );
return false; return false;
} }
catch (IOException ex) catch (IOException ex)
{ {
Log.error("An exception occurred - " + ex.getLocalizedMessage() ); mLog.error("An exception occurred - ", ex );
return false; return false;
} }
if (!(conn instanceof HttpURLConnection)) if (!(conn instanceof HttpURLConnection))
@@ -260,7 +264,7 @@ public class LocalResponseCache extends ResponseCache
catch (FileNotFoundException ex) catch (FileNotFoundException ex)
{ {
// should not happen, since we already checked for existence // should not happen, since we already checked for existence
Log.error("An exception occurred - " + ex.getLocalizedMessage() ); mLog.error("An exception occurred - ", ex );
} }
this.headers = rqstHeaders; this.headers = rqstHeaders;
} }
@@ -293,7 +297,7 @@ public class LocalResponseCache extends ResponseCache
catch (FileNotFoundException ex) catch (FileNotFoundException ex)
{ {
// should not happen if cache dir is valid // should not happen if cache dir is valid
Log.error("An exception occurred" + ex.getLocalizedMessage() ); mLog.error("An exception occurred", ex );
} }
} }

View File

@@ -31,11 +31,16 @@ import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller; import javax.xml.bind.Marshaller;
import javax.xml.bind.Unmarshaller; import javax.xml.bind.Unmarshaller;
import log.Log; import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import properties.SystemProperties; import properties.SystemProperties;
public class PlaylistManager public class PlaylistManager
{ {
private final static Logger mLog =
LoggerFactory.getLogger( PlaylistManager.class );
private Playlist mPlaylist = new Playlist(); private Playlist mPlaylist = new Playlist();
public PlaylistManager() public PlaylistManager()
@@ -95,7 +100,8 @@ public class PlaylistManager
} }
catch( Exception e ) catch( Exception e )
{ {
Log.error( "PlaylistManager - couldn't create file to save playlist [" + filePath.toString() + "]" ); mLog.error( "PlaylistManager - couldn't create file to save "
+ "playlist [" + filePath.toString() + "]" );
} }
OutputStream out = null; OutputStream out = null;
@@ -116,15 +122,14 @@ public class PlaylistManager
} }
catch ( JAXBException e ) catch ( JAXBException e )
{ {
Log.error( "PlaylistManager - jaxb exception while saving " + mLog.error( "PlaylistManager - jaxb exception while saving " +
"playlist: " + e.getLocalizedMessage() ); "playlist: ", e );
e.printStackTrace();
} }
} }
catch ( Exception e ) catch ( Exception e )
{ {
Log.error( "PlaylistManager - coulcn't open outputstream to " + mLog.error( "PlaylistManager - coulcn't open outputstream to " +
"save playlist [" + filePath.toString() + "]" ); "save playlist [" + filePath.toString() + "]", e );
} }
finally finally
{ {
@@ -150,7 +155,7 @@ public class PlaylistManager
{ {
if( Files.exists( playlistPath ) ) if( Files.exists( playlistPath ) )
{ {
Log.info( "PlaylistManager - loading playlist file [" + mLog.info( "PlaylistManager - loading playlist file [" +
playlistPath.toString() + "]" ); playlistPath.toString() + "]" );
JAXBContext context = null; JAXBContext context = null;
@@ -171,17 +176,14 @@ public class PlaylistManager
} }
catch ( JAXBException e ) catch ( JAXBException e )
{ {
Log.error( "PlaylistManager - jaxb exception while loading " + mLog.error( "PlaylistManager - jaxb exception while loading " +
"playlist: " + e.getLocalizedMessage() ); "playlist: ", e );
e.printStackTrace();
} }
} }
catch ( Exception e ) catch ( Exception e )
{ {
e.printStackTrace(); mLog.error( "PlaylistManager - coulcn't open inputstream to " +
Log.error( "PlaylistManager - coulcn't open inputstream to " + "load playlist [" + playlistPath.toString() + "]", e );
"load playlist [" + playlistPath.toString() + "]" );
} }
finally finally
{ {
@@ -193,16 +195,15 @@ public class PlaylistManager
} }
catch ( IOException e ) catch ( IOException e )
{ {
Log.error( "PlaylistManager - exception while closing " + mLog.error( "PlaylistManager - exception while closing " +
"the playlist file inputstream reader - " + "the playlist file inputstream reader", e );
e.getLocalizedMessage() );
} }
} }
} }
} }
else else
{ {
Log.info( "PlaylistManager - playlist does not exist [" + mLog.info( "PlaylistManager - playlist does not exist [" +
playlistPath.toString() + "]" ); playlistPath.toString() + "]" );
} }

View File

@@ -28,7 +28,8 @@ import java.nio.file.Path;
import java.nio.file.Paths; import java.nio.file.Paths;
import java.util.Properties; import java.util.Properties;
import log.Log; import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/** /**
* SystemProperties - provides an isolated instance of properties for the * SystemProperties - provides an isolated instance of properties for the
@@ -37,6 +38,9 @@ import log.Log;
public class SystemProperties public class SystemProperties
{ {
private final static Logger mLog =
LoggerFactory.getLogger( SystemProperties.class );
private static String sDEFAULT_APP_ROOT = "SDRTrunk"; private static String sDEFAULT_APP_ROOT = "SDRTrunk";
private static String sPROPERTIES_FILENAME = "SDRTrunk.properties"; private static String sPROPERTIES_FILENAME = "SDRTrunk.properties";
@@ -83,13 +87,13 @@ public class SystemProperties
mProperties.store( out, comments ); mProperties.store( out, comments );
Log.info( "SystemProperties - saved current properties [" + mLog.info( "SystemProperties - saved current properties [" +
propsPath.toString() + "]" ); propsPath.toString() + "]" );
} }
catch( Exception e ) catch( Exception e )
{ {
Log.error( "SystemProperties - exception while saving " + mLog.error( "SystemProperties - exception while saving " +
"application properties:" + e.getLocalizedMessage() ); "application properties", e );
} }
finally finally
{ {
@@ -142,8 +146,8 @@ public class SystemProperties
} }
catch ( IOException e ) catch ( IOException e )
{ {
Log.error( "SystemProperties - exception while creating " + mLog.error( "SystemProperties - exception while creating " +
"app folder [" + folder + "]" ); "app folder [" + folder + "]", e );
} }
} }
@@ -154,11 +158,11 @@ public class SystemProperties
{ {
if( mPropertiesPath == null ) if( mPropertiesPath == null )
{ {
Log.info( "SystemProperties - no properties file loaded - using defaults" ); mLog.info( "SystemProperties - no properties file loaded - using defaults" );
} }
else else
{ {
Log.info( "SystemProperties - application properties loaded [" + mPropertiesPath.toString() + "]" ); mLog.info( "SystemProperties - application properties loaded [" + mPropertiesPath.toString() + "]" );
} }
} }
@@ -180,8 +184,8 @@ public class SystemProperties
} }
catch ( FileNotFoundException e ) catch ( FileNotFoundException e )
{ {
Log.error( "SDRTrunk - exception while opening inputstream on " + mLog.error( "SDRTrunk - exception while opening inputstream on " +
"application properties file - " + e.getLocalizedMessage() ); "application properties file", e );
} }
if( in != null ) if( in != null )
@@ -192,9 +196,8 @@ public class SystemProperties
} }
catch ( IOException e ) catch ( IOException e )
{ {
Log.error( "SDRTrunk - exception while loading properties " + mLog.error( "SDRTrunk - exception while loading properties " +
"inputstream into SystemProperties - " + "inputstream into SystemProperties", e );
e.getLocalizedMessage() );
} }
finally finally
{ {
@@ -209,7 +212,7 @@ public class SystemProperties
} }
} }
Log.info( "SystemProperties - loaded [" + mLog.info( "SystemProperties - loaded [" +
propertiesPath.toString() + "]" ); propertiesPath.toString() + "]" );
} }

View File

@@ -23,7 +23,9 @@ import java.util.concurrent.LinkedBlockingQueue;
import javax.sound.sampled.AudioFormat; import javax.sound.sampled.AudioFormat;
import log.Log; import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import record.Recorder; import record.Recorder;
import record.RecorderType; import record.RecorderType;
import sample.Listener; import sample.Listener;
@@ -35,6 +37,9 @@ import buffer.FloatSampleBufferAssembler;
*/ */
public class BooleanWaveRecorder extends Recorder implements Listener<Boolean> public class BooleanWaveRecorder extends Recorder implements Listener<Boolean>
{ {
private final static Logger mLog =
LoggerFactory.getLogger( BooleanWaveRecorder.class );
private AudioFormat mAudioFormat; private AudioFormat mAudioFormat;
private boolean mRunning = false; private boolean mRunning = false;
private boolean mPaused = false; private boolean mPaused = false;
@@ -117,7 +122,8 @@ public class BooleanWaveRecorder extends Recorder implements Listener<Boolean>
if( !success ) if( !success )
{ {
Log.error( "Wave recorder buffer overflow - throwing away " + buffer.capacity() + " samples" ); mLog.error( "Wave recorder buffer overflow - throwing away " +
buffer.capacity() + " samples" );
} }
} }
} }
@@ -137,7 +143,8 @@ public class BooleanWaveRecorder extends Recorder implements Listener<Boolean>
if( !mToWriteBufferQueue.offer( mCurrentBuffer.get() ) ) if( !mToWriteBufferQueue.offer( mCurrentBuffer.get() ) )
{ {
//We had an overflow ... log it //We had an overflow ... log it
Log.error( "ShortWaveRecorder: buffer overflow - throwing away 1 second of sample data" ); mLog.error( "ShortWaveRecorder: buffer overflow - throwing "
+ "away 1 second of sample data" );
} }
mCurrentBuffer.reset(); mCurrentBuffer.reset();
@@ -159,12 +166,13 @@ public class BooleanWaveRecorder extends Recorder implements Listener<Boolean>
} }
catch ( IOException ioe ) catch ( IOException ioe )
{ {
Log.error( "IOException while trying to write to the wave writer - " + ioe.getLocalizedMessage() ); mLog.error( "IOException while trying to write to the "
+ "wave writer", ioe );
} }
catch ( InterruptedException e ) catch ( InterruptedException e )
{ {
Log.error( "Oops ... error while processing the buffer queue for " + mLog.error( "Oops ... error while processing the buffer "
" the wave recorder - " + e.getLocalizedMessage() ); + "queue for the wave recorder", e );
} }
} }
} }

View File

@@ -23,7 +23,9 @@ import java.util.concurrent.LinkedBlockingQueue;
import javax.sound.sampled.AudioFormat; import javax.sound.sampled.AudioFormat;
import log.Log; import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import record.Recorder; import record.Recorder;
import record.RecorderType; import record.RecorderType;
import sample.Listener; import sample.Listener;
@@ -37,6 +39,9 @@ import buffer.ComplexSampleBufferAssembler;
*/ */
public class ComplexWaveRecorder extends Recorder implements Listener<ComplexSample> public class ComplexWaveRecorder extends Recorder implements Listener<ComplexSample>
{ {
private final static Logger mLog =
LoggerFactory.getLogger( ComplexWaveRecorder.class );
private AudioFormat mAudioFormat; private AudioFormat mAudioFormat;
private boolean mRunning = false; private boolean mRunning = false;
private boolean mPaused = false; private boolean mPaused = false;
@@ -119,7 +124,7 @@ public class ComplexWaveRecorder extends Recorder implements Listener<ComplexSam
if( !success ) if( !success )
{ {
Log.error( "Wave recorder buffer overflow - throwing away " + mLog.error( "Wave recorder buffer overflow - throwing away " +
buffer.capacity() + " samples" ); buffer.capacity() + " samples" );
} }
} }
@@ -136,7 +141,7 @@ public class ComplexWaveRecorder extends Recorder implements Listener<ComplexSam
if( !mToWriteBufferQueue.offer( mCurrentBuffer.get() ) ) if( !mToWriteBufferQueue.offer( mCurrentBuffer.get() ) )
{ {
//We had an overflow ... log it //We had an overflow ... log it
Log.error( "ComplexWaveRecorder: buffer overflow - throwing " mLog.error( "ComplexWaveRecorder: buffer overflow - throwing "
+ "away 1 second of sample data" ); + "away 1 second of sample data" );
} }
@@ -159,14 +164,13 @@ public class ComplexWaveRecorder extends Recorder implements Listener<ComplexSam
} }
catch ( IOException ioe ) catch ( IOException ioe )
{ {
Log.error( "IOException while trying to write to the wave " mLog.error( "IOException while trying to write to the wave "
+ "writer - " + ioe.getLocalizedMessage() ); + "writer", ioe );
} }
catch ( InterruptedException e ) catch ( InterruptedException e )
{ {
Log.error( "Oops ... error while processing the buffer " mLog.error( "Oops ... error while processing the buffer "
+ "queue for the wave recorder - " + + "queue for the wave recorder", e );
e.getLocalizedMessage() );
} }
} }
} }

View File

@@ -23,7 +23,9 @@ import java.util.concurrent.LinkedBlockingQueue;
import javax.sound.sampled.AudioFormat; import javax.sound.sampled.AudioFormat;
import log.Log; import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import record.Recorder; import record.Recorder;
import record.RecorderType; import record.RecorderType;
import sample.Listener; import sample.Listener;
@@ -35,6 +37,9 @@ import buffer.FloatSampleBufferAssembler;
*/ */
public class FloatWaveRecorder extends Recorder implements Listener<Float> public class FloatWaveRecorder extends Recorder implements Listener<Float>
{ {
private final static Logger mLog =
LoggerFactory.getLogger( FloatWaveRecorder.class );
private AudioFormat mAudioFormat; private AudioFormat mAudioFormat;
private boolean mRunning = false; private boolean mRunning = false;
private boolean mPaused = false; private boolean mPaused = false;
@@ -117,7 +122,7 @@ public class FloatWaveRecorder extends Recorder implements Listener<Float>
if( !success ) if( !success )
{ {
Log.error( "Wave recorder buffer overflow - throwing away " + mLog.error( "Wave recorder buffer overflow - throwing away " +
buffer.capacity() + " samples" ); buffer.capacity() + " samples" );
} }
} }
@@ -134,7 +139,7 @@ public class FloatWaveRecorder extends Recorder implements Listener<Float>
if( !mToWriteBufferQueue.offer( mCurrentBuffer.get() ) ) if( !mToWriteBufferQueue.offer( mCurrentBuffer.get() ) )
{ {
//We had an overflow ... log it //We had an overflow ... log it
Log.error( "FloatWaveRecorder: buffer overflow - throwing " mLog.error( "FloatWaveRecorder: buffer overflow - throwing "
+ "away 1 second of sample data" ); + "away 1 second of sample data" );
} }
@@ -157,14 +162,13 @@ public class FloatWaveRecorder extends Recorder implements Listener<Float>
} }
catch ( IOException ioe ) catch ( IOException ioe )
{ {
Log.error( "IOException while trying to write to the wave " mLog.error( "IOException while trying to write to the wave "
+ "writer - " + ioe.getLocalizedMessage() ); + "writer", ioe );
} }
catch ( InterruptedException e ) catch ( InterruptedException e )
{ {
Log.error( "Oops ... error while processing the buffer " mLog.error( "Oops ... error while processing the buffer "
+ "queue for the wave recorder - " + + "queue for the wave recorder", e );
e.getLocalizedMessage() );
} }
} }
} }

View File

@@ -17,13 +17,17 @@
******************************************************************************/ ******************************************************************************/
package record.wave; package record.wave;
import gui.SDRTrunk;
import java.io.IOException; import java.io.IOException;
import java.nio.ByteBuffer; import java.nio.ByteBuffer;
import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.LinkedBlockingQueue;
import javax.sound.sampled.AudioFormat; import javax.sound.sampled.AudioFormat;
import log.Log; import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import record.Recorder; import record.Recorder;
import record.RecorderType; import record.RecorderType;
import util.waveaudio.WaveWriter; import util.waveaudio.WaveWriter;
@@ -33,6 +37,9 @@ import util.waveaudio.WaveWriter;
*/ */
public class WaveRecorder extends Recorder public class WaveRecorder extends Recorder
{ {
private final static Logger mLog =
LoggerFactory.getLogger( WaveRecorder.class );
private AudioFormat mAudioFormat; private AudioFormat mAudioFormat;
private boolean mRunning = false; private boolean mRunning = false;
private boolean mPaused = false; private boolean mPaused = false;
@@ -101,7 +108,8 @@ public class WaveRecorder extends Recorder
if( !success ) if( !success )
{ {
Log.error( "Wave recorder buffer overflow - throwing away " + buffer.capacity() + " samples" ); mLog.error( "Wave recorder buffer overflow - throwing away " +
buffer.capacity() + " samples" );
} }
} }
} }
@@ -121,12 +129,13 @@ public class WaveRecorder extends Recorder
} }
catch ( IOException ioe ) catch ( IOException ioe )
{ {
Log.error( "IOException while trying to write to the wave writer - " + ioe.getLocalizedMessage() ); mLog.error( "IOException while trying to write to the "
+ "wave writer", ioe );
} }
catch ( InterruptedException e ) catch ( InterruptedException e )
{ {
Log.error( "Oops ... error while processing the buffer queue for " + mLog.error( "Oops ... error while processing the buffer"
" the wave recorder - " + e.getLocalizedMessage() ); + " queue for the wave recorder", e );
} }
} }
} }

View File

@@ -19,8 +19,6 @@ package sample.complex;
import java.io.Serializable; import java.io.Serializable;
import log.Log;
/** /**
* ComplexSample for handling left/right channel audio, or inphase/quadrature * ComplexSample for handling left/right channel audio, or inphase/quadrature
* samples, etc. * samples, etc.

View File

@@ -17,9 +17,13 @@
******************************************************************************/ ******************************************************************************/
package sample.complex; package sample.complex;
import gui.SDRTrunk;
import java.util.List; import java.util.List;
import log.Log; import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import sample.Listener; import sample.Listener;
import source.tuner.FrequencyChangeListener; import source.tuner.FrequencyChangeListener;
import buffer.FloatAveragingBuffer; import buffer.FloatAveragingBuffer;
@@ -28,6 +32,9 @@ public class ComplexSampleRateCounter implements Listener<ComplexSample>,
ComplexSampleListListener, ComplexSampleListListener,
FrequencyChangeListener FrequencyChangeListener
{ {
private final static Logger mLog =
LoggerFactory.getLogger( ComplexSampleRateCounter.class );
private int mCounter; private int mCounter;
private int mAverageCounter; private int mAverageCounter;
private int mExpectedSampleRate; private int mExpectedSampleRate;
@@ -44,7 +51,7 @@ public class ComplexSampleRateCounter implements Listener<ComplexSample>,
mLastRun = System.currentTimeMillis(); mLastRun = System.currentTimeMillis();
Log.info( "Complex Sample Rate Counter started ...." ); mLog.info( "Complex Sample Rate Counter started ...." );
} }
@Override @Override
@@ -65,7 +72,7 @@ public class ComplexSampleRateCounter implements Listener<ComplexSample>,
mAverageCounter++; mAverageCounter++;
Log.info( "Complex Sample Rate Avg " + mAverageCounter + mLog.info( "Complex Sample Rate Avg " + mAverageCounter +
" current [" + elapsed + " ms/" + average + " current [" + elapsed + " ms/" + average +
" hz] average [" + runningAverage + " hz] expected [" + " hz] average [" + runningAverage + " hz] expected [" +
mExpectedSampleRate + " hz] over [" + mExpectedSampleRate + " hz] over [" +
@@ -91,7 +98,7 @@ public class ComplexSampleRateCounter implements Listener<ComplexSample>,
mAverageCounter++; mAverageCounter++;
Log.info( "Complex Sample Rate Avg " + mAverageCounter + mLog.info( "Complex Sample Rate Avg " + mAverageCounter +
" current [" + elapsed + " ms/" + average + " current [" + elapsed + " ms/" + average +
" hz] average [" + runningAverage + " hz] expected [" + " hz] average [" + runningAverage + " hz] expected [" +
mExpectedSampleRate + " hz] over [" + mExpectedSampleRate + " hz] over [" +

View File

@@ -37,11 +37,12 @@ import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller; import javax.xml.bind.Marshaller;
import javax.xml.bind.Unmarshaller; import javax.xml.bind.Unmarshaller;
import log.Log;
import map.DefaultIcon; import map.DefaultIcon;
import map.MapIcon; import map.MapIcon;
import org.jdesktop.swingx.mapviewer.GeoPosition; import org.jdesktop.swingx.mapviewer.GeoPosition;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import properties.SystemProperties; import properties.SystemProperties;
import settings.ColorSetting.ColorSettingName; import settings.ColorSetting.ColorSettingName;
@@ -56,6 +57,9 @@ import source.tuner.rtl.r820t.R820TTunerConfiguration;
public class SettingsManager public class SettingsManager
{ {
private final static Logger mLog =
LoggerFactory.getLogger( SettingsManager.class );
private Settings mSettings = new Settings(); private Settings mSettings = new Settings();
private ArrayList<SettingChangeListener> mListeners = private ArrayList<SettingChangeListener> mListeners =
@@ -441,7 +445,7 @@ public class SettingsManager
} }
/* Something happened ... the above should always return an icon */ /* Something happened ... the above should always return an icon */
Log.error( "SettingsManager - couldn't return an icon named [" + mLog.error( "SettingsManager - couldn't return an icon named [" +
name + "] of heigh [" + height + "]" ); name + "] of heigh [" + height + "]" );
return null; return null;
@@ -697,8 +701,8 @@ public class SettingsManager
} }
catch( Exception e ) catch( Exception e )
{ {
Log.error( "SettingsManager - couldn't create file to save " mLog.error( "SettingsManager - couldn't create file to save "
+ "settings [" + filePath.toString() + "]" ); + "settings [" + filePath.toString() + "]", e );
} }
OutputStream out = null; OutputStream out = null;
@@ -719,13 +723,13 @@ public class SettingsManager
} }
catch ( JAXBException e ) catch ( JAXBException e )
{ {
Log.error( "SettingsManager - jaxb exception while saving " + mLog.error( "SettingsManager - jaxb exception while saving " +
"settings: " + e.getLocalizedMessage() ); "settings", e );
} }
} }
catch ( Exception e ) catch ( Exception e )
{ {
Log.error( "SettingsManager - coulcn't open outputstream to " + mLog.error( "SettingsManager - coulcn't open outputstream to " +
"save settings [" + filePath.toString() + "]" ); "save settings [" + filePath.toString() + "]" );
} }
finally finally
@@ -752,7 +756,7 @@ public class SettingsManager
{ {
if( Files.exists( settingsPath ) ) if( Files.exists( settingsPath ) )
{ {
Log.info( "SettingsManager - loading settings file [" + mLog.info( "SettingsManager - loading settings file [" +
settingsPath.toString() + "]" ); settingsPath.toString() + "]" );
JAXBContext context = null; JAXBContext context = null;
@@ -773,16 +777,14 @@ public class SettingsManager
} }
catch ( JAXBException e ) catch ( JAXBException e )
{ {
Log.error( "SettingsManager - jaxb exception while loading " + mLog.error( "SettingsManager - jaxb exception while loading " +
"settings: " + e.getLocalizedMessage() ); "settings", e );
e.printStackTrace();
} }
} }
catch ( Exception e ) catch ( Exception e )
{ {
Log.error( "SettingsManager - coulcn't open inputstream to " + mLog.error( "SettingsManager - coulcn't open inputstream to " +
"load settings [" + settingsPath.toString() + "]" ); "load settings [" + settingsPath.toString() + "]", e );
} }
finally finally
{ {
@@ -794,16 +796,15 @@ public class SettingsManager
} }
catch ( IOException e ) catch ( IOException e )
{ {
Log.error( "SettingsManager - exception while closing " + mLog.error( "SettingsManager - exception while closing " +
"the settings file inputstream reader - " + "the settings file inputstream reader", e );
e.getLocalizedMessage() );
} }
} }
} }
} }
else else
{ {
Log.info( "SettingsManager - settings does not exist [" + mLog.info( "SettingsManager - settings does not exist [" +
settingsPath.toString() + "]" ); settingsPath.toString() + "]" );
} }

View File

@@ -28,7 +28,9 @@ import javax.sound.sampled.Line;
import javax.sound.sampled.Mixer; import javax.sound.sampled.Mixer;
import javax.sound.sampled.TargetDataLine; import javax.sound.sampled.TargetDataLine;
import log.Log; import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import source.config.SourceConfigMixer; import source.config.SourceConfigMixer;
import source.config.SourceConfiguration; import source.config.SourceConfiguration;
import source.tuner.MixerTunerDataLine; import source.tuner.MixerTunerDataLine;
@@ -37,6 +39,9 @@ import controller.channel.ProcessingChain;
public class MixerManager public class MixerManager
{ {
private final static Logger mLog =
LoggerFactory.getLogger( MixerManager.class );
private static MixerManager sInstance = null; private static MixerManager sInstance = null;
private HashMap<String,TargetDataLine> mMixerLines = private HashMap<String,TargetDataLine> mMixerLines =
@@ -129,7 +134,7 @@ public class MixerManager
{ {
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
sb.append( "MixerManager - loading system mixer devices\n" ); sb.append( "loading system mixer devices\n" );
for( Mixer.Info mixerInfo: AudioSystem.getMixerInfo() ) for( Mixer.Info mixerInfo: AudioSystem.getMixerInfo() )
{ {
@@ -189,7 +194,7 @@ public class MixerManager
} }
} }
Log.info( sb.toString() ); mLog.info( sb.toString() );
} }
private TargetDataLine getTargetDataLine( Mixer.Info mixerInfo, AudioFormat format ) private TargetDataLine getTargetDataLine( Mixer.Info mixerInfo, AudioFormat format )
@@ -254,5 +259,4 @@ public class MixerManager
return sb.toString(); return sb.toString();
} }
} }

View File

@@ -27,13 +27,18 @@ import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.LineUnavailableException; import javax.sound.sampled.LineUnavailableException;
import javax.sound.sampled.TargetDataLine; import javax.sound.sampled.TargetDataLine;
import log.Log; import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import sample.Listener; import sample.Listener;
import source.FloatArraySource; import source.FloatArraySource;
import source.SourceException; import source.SourceException;
public class MixerSource extends FloatArraySource public class MixerSource extends FloatArraySource
{ {
private final static Logger mLog =
LoggerFactory.getLogger( MixerSource.class );
private long mFrequency = 0; private long mFrequency = 0;
private int mBufferSize = 16384; private int mBufferSize = 16384;
@@ -174,7 +179,7 @@ public class MixerSource extends FloatArraySource
{ {
mRunning.set( false ); mRunning.set( false );
Log.error( "ComplexMixerSource - mixer target data line" mLog.error( "ComplexMixerSource - mixer target data line"
+ " is null" ); + " is null" );
} }
else else
@@ -201,9 +206,8 @@ public class MixerSource extends FloatArraySource
} }
catch ( LineUnavailableException e ) catch ( LineUnavailableException e )
{ {
Log.error( "ComplexMixerSource - mixer target data line" mLog.error( "ComplexMixerSource - mixer target data line"
+ "not available to read data from - " + + "not available to read data from", e );
e.getLocalizedMessage() );
mRunning.set( false ); mRunning.set( false );
} }
@@ -224,9 +228,8 @@ public class MixerSource extends FloatArraySource
} }
catch ( Exception e ) catch ( Exception e )
{ {
Log.error( "ComplexMixerSource - error while reading" mLog.error( "ComplexMixerSource - error while reading"
+ "from the mixer target data line - " + + "from the mixer target data line", e );
e.getLocalizedMessage() );
mRunning.set( false ); mRunning.set( false );
} }

View File

@@ -17,11 +17,15 @@
******************************************************************************/ ******************************************************************************/
package source.recording; package source.recording;
import gui.SDRTrunk;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
import java.util.List; import java.util.List;
import log.Log; import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import settings.SettingsManager; import settings.SettingsManager;
import source.Source; import source.Source;
import source.SourceException; import source.SourceException;
@@ -33,6 +37,9 @@ import controller.channel.ProcessingChain;
public class RecordingSourceManager public class RecordingSourceManager
{ {
private final static Logger mLog =
LoggerFactory.getLogger( RecordingSourceManager.class );
private ResourceManager mResourceManager; private ResourceManager mResourceManager;
private ArrayList<Recording> mRecordings = new ArrayList<Recording>(); private ArrayList<Recording> mRecordings = new ArrayList<Recording>();
@@ -138,7 +145,8 @@ public class RecordingSourceManager
ArrayList<RecordingConfiguration> recordingConfigurations = ArrayList<RecordingConfiguration> recordingConfigurations =
settingsManager.getRecordingConfigurations(); settingsManager.getRecordingConfigurations();
Log.info( "RecordingSourceManager - discovered [" + recordingConfigurations.size() + "] recording configurations" ); mLog.info( "RecordingSourceManager - discovered [" +
recordingConfigurations.size() + "] recording configurations" );
for( RecordingConfiguration config: recordingConfigurations ) for( RecordingConfiguration config: recordingConfigurations )
{ {

View File

@@ -17,7 +17,6 @@
******************************************************************************/ ******************************************************************************/
package source.tuner; package source.tuner;
import log.Log;
import sample.Listener; import sample.Listener;
import sample.complex.ComplexSample; import sample.complex.ComplexSample;
import sample.complex.ComplexSampleUtils; import sample.complex.ComplexSampleUtils;
@@ -86,8 +85,6 @@ public class NumericallyControlledOscillator implements Listener<ComplexSample>,
*/ */
public void setFrequency( long frequency ) public void setFrequency( long frequency )
{ {
Log.info( "NumericallyControlledOscillator - setting sine wave gen to freq:" + frequency );
mFrequency = frequency; mFrequency = frequency;
mSineWaveGenerator.setFrequency( frequency ); mSineWaveGenerator.setFrequency( frequency );
} }

View File

@@ -22,13 +22,18 @@ import java.util.Collections;
import java.util.Iterator; import java.util.Iterator;
import java.util.concurrent.RejectedExecutionException; import java.util.concurrent.RejectedExecutionException;
import log.Log; import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import source.SourceException; import source.SourceException;
import source.tuner.FrequencyController.Tunable; import source.tuner.FrequencyController.Tunable;
import controller.ThreadPoolManager; import controller.ThreadPoolManager;
public abstract class TunerController implements Tunable public abstract class TunerController implements Tunable
{ {
private final static Logger mLog =
LoggerFactory.getLogger( TunerController.class );
/* List of currently tuned channels being served to demod channels */ /* List of currently tuned channels being served to demod channels */
protected ArrayList<TunerChannel> mTunedChannels = protected ArrayList<TunerChannel> mTunedChannels =
new ArrayList<TunerChannel>(); new ArrayList<TunerChannel>();
@@ -176,7 +181,7 @@ public abstract class TunerController implements Tunable
} }
else else
{ {
Log.error( "Tuner Controller - couldn't find the tuned channel " mLog.error( "Tuner Controller - couldn't find the tuned channel "
+ "to release it" ); + "to release it" );
} }
} }

View File

@@ -29,7 +29,9 @@ import javax.usb.UsbHostManager;
import javax.usb.UsbHub; import javax.usb.UsbHub;
import javax.usb.UsbServices; import javax.usb.UsbServices;
import log.Log; import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import source.Source; import source.Source;
import source.SourceException; import source.SourceException;
import source.config.SourceConfigTuner; import source.config.SourceConfigTuner;
@@ -48,6 +50,9 @@ import controller.channel.ProcessingChain;
public class TunerManager public class TunerManager
{ {
private final static Logger mLog =
LoggerFactory.getLogger( TunerManager.class );
private static final String sLOADED = "\t[LOADED]\t"; private static final String sLOADED = "\t[LOADED]\t";
private static final String sNOT_LOADED = "\t[NOT LOADED]\t"; private static final String sNOT_LOADED = "\t[NOT LOADED]\t";
@@ -90,14 +95,12 @@ public class TunerManager
} }
catch ( RejectedExecutionException ree ) catch ( RejectedExecutionException ree )
{ {
Log.error( "TunerManager - couldn't provide tuner channel " mLog.error( "couldn't provide tuner channel source", ree );
+ "source - " + ree.getLocalizedMessage() );
} }
catch ( SourceException e ) catch ( SourceException e )
{ {
Log.error( "TunerManager - error obtaining channel " + mLog.error( "error obtaining channel from tuner [" +
"from tuner [" + tuner.getName() + "] - " tuner.getName() + "]", e );
+ e.getLocalizedMessage() );
} }
} }
} }
@@ -125,11 +128,20 @@ public class TunerManager
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
sb.append( "Tuner Manager - discovered [" + devices.size() + sb.append( "discovered and using [" + devices.size() +
"] USB tuner devices\n" ); "] available tuner devices\n" );
mLog.info( "inspecting [" + devices.size() + "] available usb tuner devices" );
int counter = 0;
for( USBTunerDevice device: devices ) for( USBTunerDevice device: devices )
{ {
counter++;
mLog.info( "inspecting usb device [" + counter + "] tuner class: "
+ device.getTunerClass().toString() );
String status = sNOT_LOADED; String status = sNOT_LOADED;
String name = "Unknown"; String name = "Unknown";
String reason = "No device driver class available"; String reason = "No device driver class available";
@@ -252,7 +264,9 @@ public class TunerManager
tunerType = RTL2832TunerController.identifyTunerType( device ); tunerType = RTL2832TunerController.identifyTunerType( device );
} }
Log.debug( "TunerManager - identified tuner class [" + tunerClass.toString() + "] with tuner type [" + tunerType.toString() + "]" ); mLog.debug( "identified tuner class [" +
tunerClass.toString() + "] with tuner type [" +
tunerType.toString() + "]" );
switch( tunerType ) switch( tunerType )
{ {
@@ -288,13 +302,14 @@ public class TunerManager
} }
break; break;
case RAFAELMICRO_R820T: case RAFAELMICRO_R820T:
Log.debug( "TunerManager - attempting to construct R820T tuner controller" ); mLog.debug( "attempting to construct R820T "
+ "tuner controller" );
try try
{ {
R820TTunerController controller = R820TTunerController controller =
new R820TTunerController( device ); new R820TTunerController( device );
Log.debug( "TunerManager - init() R820T tuner controller" ); mLog.debug( "initializing R820T tuner controller" );
controller.init(); controller.init();
RTL2832Tuner rtlTuner = RTL2832Tuner rtlTuner =
@@ -306,12 +321,13 @@ public class TunerManager
if( config != null ) if( config != null )
{ {
Log.debug( "TunerManager - applying tuner config to R820T tuner" ); mLog.debug( "applying tuner config to R820T tuner" );
rtlTuner.apply( config ); rtlTuner.apply( config );
} }
else else
{ {
Log.debug( "TunerManager - R820T tuner config was null - not applied" ); mLog.debug( "R820T tuner config was "
+ "null - not applied" );
} }
mTuners.add( rtlTuner ); mTuners.add( rtlTuner );
@@ -325,7 +341,7 @@ public class TunerManager
reason = "Error constructing R820T tuner " reason = "Error constructing R820T tuner "
+ "controller - " + se.getLocalizedMessage(); + "controller - " + se.getLocalizedMessage();
Log.error( "TunerManager - error constructing tuner", se ); mLog.error( "error constructing tuner", se );
} }
break; break;
case FITIPOWER_FC0012: case FITIPOWER_FC0012:
@@ -372,8 +388,8 @@ public class TunerManager
sb.append( "\n" ); sb.append( "\n" );
} }
Log.header( "Configuring USB Tuners" ); mLog.info( "Configuring USB Tuners" );
Log.info( sb.toString() ); mLog.info( sb.toString() );
} }
/** /**
@@ -385,8 +401,8 @@ public class TunerManager
List<UsbDevice> devices = getUSBDevices(); List<UsbDevice> devices = getUSBDevices();
sb.append( "TunerManager - discovered [" + devices.size() + sb.append( "discovered [" + devices.size() +
"] attached usb devices\n" ); "] attached USB devices\n" );
ArrayList<USBTunerDevice> tuners = new ArrayList<USBTunerDevice>(); ArrayList<USBTunerDevice> tuners = new ArrayList<USBTunerDevice>();
@@ -416,8 +432,8 @@ public class TunerManager
sb.append( "\n" ); sb.append( "\n" );
} }
Log.header( "USB Device Discovery" ); mLog.info( "USB Device Discovery" );
Log.info( sb.toString() ); mLog.info( sb.toString() );
return tuners; return tuners;
} }
@@ -437,13 +453,11 @@ public class TunerManager
} }
catch( SecurityException e ) catch( SecurityException e )
{ {
Log.error( "TunerManager - security exception while getting " mLog.error( "security exception while getting USB devices", e );
+ "USB devices" );
} }
catch( UsbException e ) catch( UsbException e )
{ {
Log.error( "TunerManager - usb exception while getting USB " mLog.error( "usb exception while getting USB devices", e );
+ "devices - " + e.getLocalizedMessage() );
} }
return devices; return devices;

View File

@@ -25,14 +25,19 @@ import javax.swing.JMenuItem;
import javax.swing.JPanel; import javax.swing.JPanel;
import javax.swing.JPopupMenu; import javax.swing.JPopupMenu;
import log.Log; import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import source.SourceException; import source.SourceException;
import spectrum.SpectrumFrame; import spectrum.SpectrumFrame;
import controller.BaseNode; import controller.BaseNode;
public class TunerNode extends BaseNode implements FrequencyChangeListener public class TunerNode extends BaseNode implements FrequencyChangeListener
{ {
private static final long serialVersionUID = 1L; private final static Logger mLog =
LoggerFactory.getLogger( TunerNode.class );
private static final long serialVersionUID = 1L;
private static DecimalFormat FREQUENCY_FORMAT = new DecimalFormat( "0.00000" ); private static DecimalFormat FREQUENCY_FORMAT = new DecimalFormat( "0.00000" );
private static DecimalFormat SAMPLE_RATE_FORMAT = new DecimalFormat( "0.000" ); private static DecimalFormat SAMPLE_RATE_FORMAT = new DecimalFormat( "0.000" );
@@ -52,8 +57,8 @@ public class TunerNode extends BaseNode implements FrequencyChangeListener
} }
catch ( SourceException e ) catch ( SourceException e )
{ {
Log.error( "TunerNode - error reading frequency and sample rate " mLog.error( "TunerNode - error reading frequency and sample rate "
+ "from tuner - " + e.getLocalizedMessage() ); + "from tuner", e );
} }
} }

View File

@@ -21,7 +21,9 @@ import java.util.concurrent.RejectedExecutionException;
import javax.swing.JPanel; import javax.swing.JPanel;
import log.Log; import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import source.SourceException; import source.SourceException;
import source.tuner.Tuner; import source.tuner.Tuner;
import source.tuner.TunerChannel; import source.tuner.TunerChannel;
@@ -35,6 +37,8 @@ import controller.ThreadPoolManager;
public class B100Tuner extends Tuner public class B100Tuner extends Tuner
{ {
private final static Logger mLog = LoggerFactory.getLogger( B100Tuner.class );
private USBTunerDevice mDevice; private USBTunerDevice mDevice;
public B100Tuner( USBTunerDevice device ) public B100Tuner( USBTunerDevice device )
@@ -68,7 +72,7 @@ public class B100Tuner extends Tuner
@Override @Override
public void apply( TunerConfiguration config ) throws SourceException public void apply( TunerConfiguration config ) throws SourceException
{ {
Log.error( "B100 Tuner - can't apply tuner configuration" ); mLog.error( "B100 Tuner - can't apply tuner configuration" );
} }
@Override @Override

View File

@@ -27,7 +27,9 @@ import javax.usb.UsbInterface;
import javax.usb.UsbInterfacePolicy; import javax.usb.UsbInterfacePolicy;
import javax.usb.UsbPipe; import javax.usb.UsbPipe;
import log.Log; import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import source.SourceException; import source.SourceException;
import source.tuner.TunerClass; import source.tuner.TunerClass;
import source.tuner.TunerConfiguration; import source.tuner.TunerConfiguration;
@@ -39,6 +41,9 @@ import controller.ResourceManager;
public abstract class FCDTunerController extends TunerController public abstract class FCDTunerController extends TunerController
{ {
private final static Logger mLog =
LoggerFactory.getLogger( FCDTunerController.class );
public final static int sINT_NULL_VALUE = -1; public final static int sINT_NULL_VALUE = -1;
public final static long sLONG_NULL_VALUE = -1l; public final static long sLONG_NULL_VALUE = -1l;
public final static double sDOUBLE_NULL_VALUE = -1.0D; public final static double sDOUBLE_NULL_VALUE = -1.0D;
@@ -208,7 +213,8 @@ public abstract class FCDTunerController extends TunerController
} }
else else
{ {
Log.info( "Attempted to claim the Funcube HID interface, but it's in use by another program" ); mLog.info( "Attempted to claim the Funcube HID interface, but "
+ "it's in use by another program" );
} }
return claimed; return claimed;
@@ -228,7 +234,8 @@ public abstract class FCDTunerController extends TunerController
} }
catch ( Exception e ) catch ( Exception e )
{ {
Log.error( "Exception thrown while releasing the funcube HID interface" + e.getLocalizedMessage() ); mLog.error( "Exception thrown while releasing the funcube HID "
+ "interface", e );
} }
} }
@@ -345,13 +352,13 @@ public abstract class FCDTunerController extends TunerController
} }
else else
{ {
Log.error( "FCD Pro Tuner Controller - couldn't gain access " + mLog.error( "FCD Pro Tuner Controller - couldn't gain access " +
"to the USB in/out endpoints or pipes." ); "to the USB in/out endpoints or pipes." );
} }
} }
else else
{ {
Log.error( "FCD Pro Tuner Controller - couldn't claim the USB " + mLog.error( "FCD Pro Tuner Controller - couldn't claim the USB " +
"interface. Check to see if another program is using it." ); "interface. Check to see if another program is using it." );
} }
} }

View File

@@ -25,7 +25,6 @@ import java.awt.event.FocusListener;
import java.text.DecimalFormat; import java.text.DecimalFormat;
import java.util.ArrayList; import java.util.ArrayList;
import javax.swing.BorderFactory;
import javax.swing.ComboBoxModel; import javax.swing.ComboBoxModel;
import javax.swing.DefaultComboBoxModel; import javax.swing.DefaultComboBoxModel;
import javax.swing.JButton; import javax.swing.JButton;
@@ -43,21 +42,28 @@ import javax.swing.event.ChangeListener;
import javax.usb.UsbClaimException; import javax.usb.UsbClaimException;
import javax.usb.UsbException; import javax.usb.UsbException;
import com.jidesoft.swing.JideTabbedPane;
import log.Log;
import net.miginfocom.swing.MigLayout; import net.miginfocom.swing.MigLayout;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import source.SourceException; import source.SourceException;
import source.tuner.TunerConfiguration; import source.tuner.TunerConfiguration;
import source.tuner.TunerType; import source.tuner.TunerType;
import source.tuner.fcd.proV1.FCD1TunerController.LNAEnhance; import source.tuner.fcd.proV1.FCD1TunerController.LNAEnhance;
import source.tuner.fcd.proV1.FCD1TunerController.LNAGain; import source.tuner.fcd.proV1.FCD1TunerController.LNAGain;
import source.tuner.fcd.proV1.FCD1TunerController.MixerGain; import source.tuner.fcd.proV1.FCD1TunerController.MixerGain;
import com.jidesoft.swing.JideTabbedPane;
import controller.ResourceManager; import controller.ResourceManager;
public class FCD1TunerConfigurationPanel extends JPanel public class FCD1TunerConfigurationPanel extends JPanel
{ {
private static final long serialVersionUID = 1L; private final static Logger mLog =
LoggerFactory.getLogger( FCD1TunerConfigurationPanel.class );
private static final long serialVersionUID = 1L;
private ResourceManager mResourceManager; private ResourceManager mResourceManager;
private FCD1TunerController mController; private FCD1TunerController mController;
@@ -180,10 +186,9 @@ public class FCD1TunerConfigurationPanel extends JPanel
"FCD Pro Tuner Controller - cannot claim FCD " "FCD Pro Tuner Controller - cannot claim FCD "
+ "Controller to apply LNA gain [" + gain.toString() + "]" ); + "Controller to apply LNA gain [" + gain.toString() + "]" );
Log.error( "FuncubeDonglePro Controller - usb claim " mLog.error( "FuncubeDonglePro Controller - usb claim "
+ "exception while applying LNA gain value [" + + "exception while applying LNA gain value [" +
gain.toString() + "] - " + gain.toString() + "]", e1 );
e1.getLocalizedMessage() );
} }
catch ( UsbException e1 ) catch ( UsbException e1 )
{ {
@@ -192,10 +197,9 @@ public class FCD1TunerConfigurationPanel extends JPanel
"FCD Pro Tuner Controller - FCD Controller " "FCD Pro Tuner Controller - FCD Controller "
+ "cannot apply LNA gain [" + gain.toString() + "]" ); + "cannot apply LNA gain [" + gain.toString() + "]" );
Log.error( "FuncubeDonglePro Controller - " mLog.error( "FuncubeDonglePro Controller - "
+ "exception while applying LNA gain value [" + + "exception while applying LNA gain value [" +
gain.toString() + "] - " + gain.toString() + "]", e1 );
e1.getLocalizedMessage() );
} }
save(); save();
@@ -235,10 +239,9 @@ public class FCD1TunerConfigurationPanel extends JPanel
"FCD Pro Tuner Controller - cannot claim FCD " "FCD Pro Tuner Controller - cannot claim FCD "
+ "Controller to apply LNA enhance [" + enhance.toString() + "]" ); + "Controller to apply LNA enhance [" + enhance.toString() + "]" );
Log.error( "FuncubeDonglePro Controller - usb claim " mLog.error( "FuncubeDonglePro Controller - usb claim "
+ "exception while applying LNA enhance value [" + + "exception while applying LNA enhance value [" +
enhance.toString() + "] - " + enhance.toString() + "]", e1 );
e1.getLocalizedMessage() );
} }
catch ( UsbException e1 ) catch ( UsbException e1 )
{ {
@@ -247,10 +250,9 @@ public class FCD1TunerConfigurationPanel extends JPanel
"FCD Pro Tuner Controller - FCD Controller " "FCD Pro Tuner Controller - FCD Controller "
+ "cannot apply LNA enhance [" + enhance.toString() + "]" ); + "cannot apply LNA enhance [" + enhance.toString() + "]" );
Log.error( "FuncubeDonglePro Controller - " mLog.error( "FuncubeDonglePro Controller - "
+ "exception while applying LNA enhance value [" + + "exception while applying LNA enhance value [" +
enhance.toString() + "] - " + enhance.toString() + "]", e1 );
e1.getLocalizedMessage() );
} }
save(); save();
@@ -289,10 +291,9 @@ public class FCD1TunerConfigurationPanel extends JPanel
"FCD Pro Tuner Controller - cannot claim FCD " "FCD Pro Tuner Controller - cannot claim FCD "
+ "Controller to apply Mixer gain [" + gain.toString() + "]" ); + "Controller to apply Mixer gain [" + gain.toString() + "]" );
Log.error( "FuncubeDonglePro Controller - usb claim " mLog.error( "FuncubeDonglePro Controller - usb claim "
+ "exception while applying Mixer gain value [" + + "exception while applying Mixer gain value [" +
gain.toString() + "] - " + gain.toString() + "]", e1 );
e1.getLocalizedMessage() );
} }
catch ( UsbException e1 ) catch ( UsbException e1 )
{ {
@@ -301,10 +302,9 @@ public class FCD1TunerConfigurationPanel extends JPanel
"FCD Pro Tuner Controller - FCD Controller " "FCD Pro Tuner Controller - FCD Controller "
+ "cannot apply Mixer gain [" + gain.toString() + "]" ); + "cannot apply Mixer gain [" + gain.toString() + "]" );
Log.error( "FuncubeDonglePro Controller - " mLog.error( "FuncubeDonglePro Controller - "
+ "exception while applying Mixer gain value [" + + "exception while applying Mixer gain value [" +
gain.toString() + "] - " + gain.toString() + "]", e1 );
e1.getLocalizedMessage() );
} }
save(); save();
@@ -363,9 +363,8 @@ public class FCD1TunerConfigurationPanel extends JPanel
+ "apply frequency correction value: " + value + + "apply frequency correction value: " + value +
e1.getLocalizedMessage() ); e1.getLocalizedMessage() );
Log.error( "FuncubeDonglePro Controller - couldn't apply " mLog.error( "FuncubeDonglePro Controller - couldn't apply "
+ "frequency correction value: " + value + + "frequency correction value: " + value, e1 );
e1.getLocalizedMessage() );
} }
} }
} ); } );
@@ -522,9 +521,8 @@ public class FCD1TunerConfigurationPanel extends JPanel
+ "apply the tuner configuration settings - " + + "apply the tuner configuration settings - " +
e1.getLocalizedMessage() ); e1.getLocalizedMessage() );
Log.error( "FuncubeDonglePro Controller - couldn't apply " mLog.error( "FuncubeDonglePro Controller - couldn't apply "
+ "config [" + config.getName() + "] - " + + "config [" + config.getName() + "]", e1 );
e1.getLocalizedMessage() );
} }
} }
@@ -639,11 +637,10 @@ public class FCD1TunerConfigurationPanel extends JPanel
+ mCorrectionComponent.toString() + + mCorrectionComponent.toString() +
" correction value [" + value + "]" ); " correction value [" + value + "]" );
Log.error( "FuncubeDonglePro Controller - usb claim " mLog.error( "FuncubeDonglePro Controller - usb claim "
+ "exception while applying " + "exception while applying "
+ mCorrectionComponent.toString() + mCorrectionComponent.toString()
+ " correction value [" + value + "] - " + + " correction value [" + value + "]", e1 );
e1.getLocalizedMessage() );
} }
catch ( UsbException e1 ) catch ( UsbException e1 )
{ {
@@ -654,11 +651,10 @@ public class FCD1TunerConfigurationPanel extends JPanel
+ mCorrectionComponent.toString() + + mCorrectionComponent.toString() +
" correction value [" + value + "]" ); " correction value [" + value + "]" );
Log.error( "FuncubeDonglePro Controller - usb " mLog.error( "FuncubeDonglePro Controller - usb "
+ "exception while applying " + "exception while applying "
+ mCorrectionComponent.toString() + mCorrectionComponent.toString()
+ " correction value [" + value + "] - " + + " correction value [" + value + "]", e1 );
e1.getLocalizedMessage() );
} }
} }
} ); } );

View File

@@ -21,7 +21,9 @@ import javax.swing.JPanel;
import javax.usb.UsbClaimException; import javax.usb.UsbClaimException;
import javax.usb.UsbException; import javax.usb.UsbException;
import log.Log; import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import source.SourceException; import source.SourceException;
import source.tuner.TunerClass; import source.tuner.TunerClass;
import source.tuner.TunerConfiguration; import source.tuner.TunerConfiguration;
@@ -34,6 +36,9 @@ import controller.ResourceManager;
public class FCD1TunerController extends FCDTunerController public class FCD1TunerController extends FCDTunerController
{ {
private final static Logger mLog =
LoggerFactory.getLogger( FCD1TunerController.class );
public static final int sMINIMUM_TUNABLE_FREQUENCY = 64000000; public static final int sMINIMUM_TUNABLE_FREQUENCY = 64000000;
public static final int sMAXIMUM_TUNABLE_FREQUENCY = 1700000000; public static final int sMAXIMUM_TUNABLE_FREQUENCY = 1700000000;
public static final int sSAMPLE_RATE = 96000; public static final int sSAMPLE_RATE = 96000;
@@ -153,7 +158,7 @@ public class FCD1TunerController extends FCDTunerController
{ {
int gain = (int)send( FCDCommand.APP_GET_LNA_GAIN ); int gain = (int)send( FCDCommand.APP_GET_LNA_GAIN );
Log.info( "FCD1: lna gain setting is:" + gain ); mLog.info( "FCD1: lna gain setting is:" + gain );
mLNAGain = LNAGain.valueOf( gain ); mLNAGain = LNAGain.valueOf( gain );
} }
@@ -301,7 +306,7 @@ public class FCD1TunerController extends FCDTunerController
mPhaseCorrection = ( (double)phase / (double)Short.MAX_VALUE ); mPhaseCorrection = ( (double)phase / (double)Short.MAX_VALUE );
Log.info( "FCD1: correction:" + correction + " gain:" + gain + " phase:" + phase ); mLog.info( "FCD1: correction:" + correction + " gain:" + gain + " phase:" + phase );
} }
/** /**
@@ -440,7 +445,7 @@ public class FCD1TunerController extends FCDTunerController
{ {
int enhance = (int)send( FCDCommand.APP_GET_LNA_ENHANCE ); int enhance = (int)send( FCDCommand.APP_GET_LNA_ENHANCE );
Log.info( "FCD1: lna enhance setting is: " + enhance ); mLog.info( "FCD1: lna enhance setting is: " + enhance );
mLNAEnhance = LNAEnhance.valueOf( enhance ); mLNAEnhance = LNAEnhance.valueOf( enhance );
} }
@@ -460,7 +465,7 @@ public class FCD1TunerController extends FCDTunerController
{ {
int gain = (int)send( FCDCommand.APP_GET_MIXER_GAIN ); int gain = (int)send( FCDCommand.APP_GET_MIXER_GAIN );
Log.info( "FCD1: mixer gain setting is:" + gain ); mLog.info( "FCD1: mixer gain setting is:" + gain );
mMixerGain = MixerGain.valueOf( gain ); mMixerGain = MixerGain.valueOf( gain );
} }

View File

@@ -17,27 +17,32 @@
******************************************************************************/ ******************************************************************************/
package source.tuner.fcd.proV1; package source.tuner.fcd.proV1;
import java.awt.Color;
import gui.control.JFrequencyControl; import gui.control.JFrequencyControl;
import javax.swing.BorderFactory; import java.awt.Color;
import javax.swing.JLabel; import javax.swing.JLabel;
import javax.swing.JPanel; import javax.swing.JPanel;
import com.jidesoft.swing.JideTabbedPane;
import log.Log;
import net.miginfocom.swing.MigLayout; import net.miginfocom.swing.MigLayout;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import source.SourceException; import source.SourceException;
import source.tuner.FrequencyChangeListener; import source.tuner.FrequencyChangeListener;
import source.tuner.fcd.FCDTuner; import source.tuner.fcd.FCDTuner;
import source.tuner.fcd.FCDTunerDetailsPanel; import source.tuner.fcd.FCDTunerDetailsPanel;
import com.jidesoft.swing.JideTabbedPane;
import controller.ResourceManager; import controller.ResourceManager;
public class FCD1TunerEditorPanel extends JPanel implements FrequencyChangeListener public class FCD1TunerEditorPanel extends JPanel implements FrequencyChangeListener
{ {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
private final static Logger mLog =
LoggerFactory.getLogger( FCD1TunerEditorPanel.class );
private FCDTuner mTuner; private FCDTuner mTuner;
private FCD1TunerController mController; private FCD1TunerController mController;
@@ -95,8 +100,8 @@ public class FCD1TunerEditorPanel extends JPanel implements FrequencyChangeListe
} }
catch ( SourceException e ) catch ( SourceException e )
{ {
Log.error( "FCTProController - error setting frequency [" + mLog.error( "FCTProController - error setting frequency [" +
frequency + "] - " + e.getLocalizedMessage() ); frequency + "]", e );
} }
} }
} }

View File

@@ -25,7 +25,6 @@ import java.awt.event.FocusListener;
import java.text.DecimalFormat; import java.text.DecimalFormat;
import java.util.ArrayList; import java.util.ArrayList;
import javax.swing.BorderFactory;
import javax.swing.ComboBoxModel; import javax.swing.ComboBoxModel;
import javax.swing.DefaultComboBoxModel; import javax.swing.DefaultComboBoxModel;
import javax.swing.JButton; import javax.swing.JButton;
@@ -42,8 +41,11 @@ import javax.swing.SwingConstants;
import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener; import javax.swing.event.ChangeListener;
import log.Log;
import net.miginfocom.swing.MigLayout; import net.miginfocom.swing.MigLayout;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import source.SourceException; import source.SourceException;
import source.tuner.TunerConfiguration; import source.tuner.TunerConfiguration;
import source.tuner.TunerConfigurationAssignment; import source.tuner.TunerConfigurationAssignment;
@@ -52,7 +54,10 @@ import controller.ResourceManager;
public class FCD2TunerConfigurationPanel extends JPanel public class FCD2TunerConfigurationPanel extends JPanel
{ {
private static final long serialVersionUID = 1L; private final static Logger mLog =
LoggerFactory.getLogger( FCD2TunerConfigurationPanel.class );
private static final long serialVersionUID = 1L;
private ResourceManager mResourceManager; private ResourceManager mResourceManager;
private FCD2TunerController mController; private FCD2TunerController mController;
private FCD2TunerConfiguration mSelectedConfig; private FCD2TunerConfiguration mSelectedConfig;
@@ -158,9 +163,8 @@ public class FCD2TunerConfigurationPanel extends JPanel
+ "apply frequency correction value: " + value + + "apply frequency correction value: " + value +
e1.getLocalizedMessage() ); e1.getLocalizedMessage() );
Log.error( "FuncubeDongleProPlus Controller - couldn't apply " mLog.error( "FuncubeDongleProPlus Controller - couldn't apply "
+ "frequency correction value: " + value + + "frequency correction value: " + value, e1 );
e1.getLocalizedMessage() );
} }
} }
} ); } );
@@ -330,9 +334,8 @@ public class FCD2TunerConfigurationPanel extends JPanel
+ "apply the tuner configuration settings - " + + "apply the tuner configuration settings - " +
e1.getLocalizedMessage() ); e1.getLocalizedMessage() );
Log.error( "FuncubeDongleProPlus Controller - couldn't apply " mLog.error( "FuncubeDongleProPlus Controller - couldn't apply "
+ "config [" + config.getName() + "] - " + + "config [" + config.getName() + "]", e1 );
e1.getLocalizedMessage() );
} }
} }

View File

@@ -21,7 +21,9 @@ import javax.swing.JPanel;
import javax.usb.UsbClaimException; import javax.usb.UsbClaimException;
import javax.usb.UsbException; import javax.usb.UsbException;
import log.Log; import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import source.SourceException; import source.SourceException;
import source.tuner.TunerClass; import source.tuner.TunerClass;
import source.tuner.TunerConfiguration; import source.tuner.TunerConfiguration;
@@ -34,6 +36,9 @@ import controller.ResourceManager;
public class FCD2TunerController extends FCDTunerController public class FCD2TunerController extends FCDTunerController
{ {
private final static Logger mLog =
LoggerFactory.getLogger( FCD2TunerController.class );
public static final int sMINIMUM_TUNABLE_FREQUENCY = 150000; public static final int sMINIMUM_TUNABLE_FREQUENCY = 150000;
public static final int sMAXIMUM_TUNABLE_FREQUENCY = 2050000000; public static final int sMAXIMUM_TUNABLE_FREQUENCY = 2050000000;
public static final int sSAMPLE_RATE = 192000; public static final int sSAMPLE_RATE = 192000;
@@ -162,14 +167,13 @@ public class FCD2TunerController extends FCDTunerController
} }
catch ( UsbClaimException e ) catch ( UsbClaimException e )
{ {
Log.error( "FCTTunerController - couldn't claim funcube HID to" mLog.error( "FCTTunerController - couldn't claim funcube HID to"
+ " get dc correction value" ); + " get dc correction value", e );
} }
catch ( UsbException e ) catch ( UsbException e )
{ {
Log.error( "FCTTunerController - error getting dc correction " mLog.error( "FCTTunerController - error getting dc correction "
+ "value - " + e.getLocalizedMessage() ); + "value", e );
} }
return dcCorrection; return dcCorrection;
@@ -183,14 +187,13 @@ public class FCD2TunerController extends FCDTunerController
} }
catch ( UsbClaimException e ) catch ( UsbClaimException e )
{ {
Log.error( "FCDTunerController - error claiming usb hid while " mLog.error( "FCDTunerController - error claiming usb hid while "
+ "trying to set dc correction to [" + value + "]" ); + "trying to set dc correction to [" + value + "]", e );
} }
catch ( UsbException e ) catch ( UsbException e )
{ {
Log.error( "FCDTunerController - error while " mLog.error( "FCDTunerController - error while "
+ "trying to set dc correction to [" + value + "] - " + + "trying to set dc correction to [" + value + "]", e );
e.getLocalizedMessage() );
} }
} }
@@ -204,13 +207,13 @@ public class FCD2TunerController extends FCDTunerController
} }
catch ( UsbClaimException e ) catch ( UsbClaimException e )
{ {
Log.error( "FCTTunerController - couldn't claim funcube HID to" mLog.error( "FCTTunerController - couldn't claim funcube HID to"
+ " get iq correction value" ); + " get iq correction value", e );
} }
catch ( UsbException e ) catch ( UsbException e )
{ {
Log.error( "FCTTunerController - error getting iq correction " mLog.error( "FCTTunerController - error getting iq correction "
+ "value - " + e.getLocalizedMessage() ); + "value", e );
} }
@@ -225,14 +228,13 @@ public class FCD2TunerController extends FCDTunerController
} }
catch ( UsbClaimException e ) catch ( UsbClaimException e )
{ {
Log.error( "FCDTunerController - error claiming usb hid while " mLog.error( "FCDTunerController - error claiming usb hid while "
+ "trying to set iq correction to [" + value + "]" ); + "trying to set iq correction to [" + value + "]", e );
} }
catch ( UsbException e ) catch ( UsbException e )
{ {
Log.error( "FCDTunerController - error while " mLog.error( "FCDTunerController - error while "
+ "trying to set iq correction to [" + value + "] - " + + "trying to set iq correction to [" + value + "]", e );
e.getLocalizedMessage() );
} }
} }

View File

@@ -17,26 +17,31 @@
******************************************************************************/ ******************************************************************************/
package source.tuner.fcd.proplusV2; package source.tuner.fcd.proplusV2;
import java.awt.Color;
import gui.control.JFrequencyControl; import gui.control.JFrequencyControl;
import javax.swing.BorderFactory; import java.awt.Color;
import javax.swing.JLabel; import javax.swing.JLabel;
import javax.swing.JPanel; import javax.swing.JPanel;
import com.jidesoft.swing.JideTabbedPane;
import log.Log;
import net.miginfocom.swing.MigLayout; import net.miginfocom.swing.MigLayout;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import source.SourceException; import source.SourceException;
import source.tuner.FrequencyChangeListener; import source.tuner.FrequencyChangeListener;
import source.tuner.fcd.FCDTuner; import source.tuner.fcd.FCDTuner;
import source.tuner.fcd.FCDTunerDetailsPanel; import source.tuner.fcd.FCDTunerDetailsPanel;
import com.jidesoft.swing.JideTabbedPane;
import controller.ResourceManager; import controller.ResourceManager;
public class FCD2TunerEditorPanel extends JPanel implements FrequencyChangeListener public class FCD2TunerEditorPanel extends JPanel implements FrequencyChangeListener
{ {
private final static Logger mLog =
LoggerFactory.getLogger( FCD2TunerEditorPanel.class );
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
private FCDTuner mTuner; private FCDTuner mTuner;
@@ -94,8 +99,8 @@ public class FCD2TunerEditorPanel extends JPanel implements FrequencyChangeListe
} }
catch ( SourceException e ) catch ( SourceException e )
{ {
Log.error( "FCTProController - error setting frequency [" + mLog.error( "FCTProController - error setting frequency [" +
frequency + "] - " + e.getLocalizedMessage() ); frequency + "]", e );
} }
} }
} }

View File

@@ -22,7 +22,9 @@ import java.util.concurrent.RejectedExecutionException;
import javax.swing.JPanel; import javax.swing.JPanel;
import javax.usb.UsbException; import javax.usb.UsbException;
import log.Log; import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import sample.Listener; import sample.Listener;
import source.SourceException; import source.SourceException;
import source.tuner.FrequencyChangeListener; import source.tuner.FrequencyChangeListener;
@@ -38,6 +40,9 @@ import controller.ThreadPoolManager;
public class RTL2832Tuner extends Tuner public class RTL2832Tuner extends Tuner
{ {
private final static Logger mLog =
LoggerFactory.getLogger( RTL2832Tuner.class );
private TunerClass mTunerClass; private TunerClass mTunerClass;
protected RTL2832TunerController mController; protected RTL2832TunerController mController;
@@ -98,8 +103,7 @@ public class RTL2832Tuner extends Tuner
} }
catch( SourceException e ) catch( SourceException e )
{ {
Log.error( "RTL2832 Tuner - couldn't get sample rate - " + mLog.error( "RTL2832 Tuner - couldn't get sample rate", e );
e.getLocalizedMessage() );
} }
return 0; return 0;

View File

@@ -54,8 +54,8 @@ import javax.usb.event.UsbPipeErrorEvent;
import javax.usb.event.UsbPipeListener; import javax.usb.event.UsbPipeListener;
import javax.usb.util.DefaultUsbControlIrp; import javax.usb.util.DefaultUsbControlIrp;
import log.Log; import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.usb4java.LibUsb; import org.usb4java.LibUsb;
import sample.Listener; import sample.Listener;
@@ -68,6 +68,9 @@ import controller.ResourceManager;
public abstract class RTL2832TunerController extends TunerController public abstract class RTL2832TunerController extends TunerController
{ {
private final static Logger mLog =
LoggerFactory.getLogger( RTL2832TunerController.class );
public final static int sINT_NULL_VALUE = -1; public final static int sINT_NULL_VALUE = -1;
public final static long sLONG_NULL_VALUE = -1l; public final static long sLONG_NULL_VALUE = -1l;
public final static double sDOUBLE_NULL_VALUE = -1.0D; public final static double sDOUBLE_NULL_VALUE = -1.0D;
@@ -215,7 +218,7 @@ public abstract class RTL2832TunerController extends TunerController
+ "set default sample rate", e ); + "set default sample rate", e );
} }
byte[] eeprom; byte[] eeprom = null;
try try
{ {
@@ -224,8 +227,7 @@ public abstract class RTL2832TunerController extends TunerController
} }
catch( Exception e ) catch( Exception e )
{ {
throw new SourceException( "RTL2832 Tuner Controller - couldn't " mLog.error( "error while reading the EEPROM device descriptor", e );
+ "read EEPROM descriptor byte array", e );
} }
try try
@@ -234,14 +236,15 @@ public abstract class RTL2832TunerController extends TunerController
if( eeprom == null ) if( eeprom == null )
{ {
Log.error( "RTL2832 Tuner Controller - eeprom byte array was " mLog.error( "eeprom byte array was null - constructed "
+ "null - constructed empty descriptor object" ); + "empty descriptor object" );
} }
} }
catch( Exception e ) catch( Exception e )
{ {
throw new SourceException( "RTL2832 Tuner Controller - error " mLog.error( "error while constructing device descriptor using "
+ "constructing descriptor object from eeprom byte array", e ); + "descriptor byte array " +
( eeprom == null ? "[null]" : Arrays.toString( eeprom )), e );
} }
} }
@@ -391,23 +394,23 @@ public abstract class RTL2832TunerController extends TunerController
if( claim( iface ) ) if( claim( iface ) )
{ {
Log.debug( "RTL2832 - usb interface claimed" ); mLog.debug( "usb interface claimed" );
/* Perform a dummy write to see if the device needs reset */ /* Perform a dummy write to see if the device needs reset */
writeRegister( device, Block.USB, Address.USB_SYSCTL.getAddress(), 0x09, 1 ); writeRegister( device, Block.USB, Address.USB_SYSCTL.getAddress(), 0x09, 1 );
Log.debug( "RTL2832 - initializing baseband" ); mLog.debug( "initializing baseband" );
/* Initialize the baseband */ /* Initialize the baseband */
initBaseband( device ); initBaseband( device );
Log.debug( "RTL2832 - enabling I2C repeater" ); mLog.debug( "enabling I2C repeater" );
enableI2CRepeater( device, true ); enableI2CRepeater( device, true );
boolean controlI2CRepeater = false; boolean controlI2CRepeater = false;
Log.debug( "RTL2832 - testing for tuner types" ); mLog.debug( "testing for tuner types" );
/* Test for each tuner type until we find the correct one */ /* Test for each tuner type until we find the correct one */
if( isE4000Tuner( device, controlI2CRepeater ) ) if( isE4000Tuner( device, controlI2CRepeater ) )
@@ -435,19 +438,18 @@ public abstract class RTL2832TunerController extends TunerController
tunerClass = TunerType.FITIPOWER_FC0012; tunerClass = TunerType.FITIPOWER_FC0012;
} }
Log.debug( "RTL2832 - disabling I2C repeater -- detected tuner type:" + tunerClass.toString() ); mLog.debug( "disabling I2C repeater -- detected tuner type:" + tunerClass.toString() );
enableI2CRepeater( device, false ); enableI2CRepeater( device, false );
Log.debug( "RTL2832 - releasing USB interface" ); mLog.debug( "releasing USB interface" );
iface.release(); iface.release();
} }
} }
catch( Exception e ) catch( Exception e )
{ {
Log.error( "RTL2832TunerController - error while determining " mLog.error( "error while determining tuner type", e );
+ "tuner type - ", e );
} }
return tunerClass; return tunerClass;
@@ -518,8 +520,8 @@ public abstract class RTL2832TunerController extends TunerController
} }
else else
{ {
Log.error( "RTL2832 Tuner Controller - attempt to claim USB " mLog.error( "attempt to claim USB interface failed - in use by "
+ "interface failed - in use by another application" ); + "another application" );
} }
return false; return false;
@@ -556,8 +558,7 @@ public abstract class RTL2832TunerController extends TunerController
} }
catch ( Exception e ) catch ( Exception e )
{ {
Log.error( "RTL2832 Tuner Controller - attempt to release USB " mLog.error( "attempt to release USB interface failed", e );
+ "interface failed - " + e.getLocalizedMessage() );
} }
} }
@@ -962,7 +963,7 @@ public abstract class RTL2832TunerController extends TunerController
protected static boolean isE4000Tuner( UsbDevice device, protected static boolean isE4000Tuner( UsbDevice device,
boolean controlI2CRepeater ) throws UsbClaimException boolean controlI2CRepeater ) throws UsbClaimException
{ {
Log.debug( "RTL2832 - testing for E4000 tuner" ); mLog.debug( "testing for E4000 tuner" );
try try
{ {
@@ -1011,7 +1012,8 @@ public abstract class RTL2832TunerController extends TunerController
boolean controlI2CRepeater ) boolean controlI2CRepeater )
throws UsbClaimException throws UsbClaimException
{ {
Log.debug( "RTL2832 - testing for F0013 tuner" ); mLog.debug( "testing for F0013 tuner" );
try try
{ {
int value = readI2CRegister( device, FC0013_I2C_ADDRESS, int value = readI2CRegister( device, FC0013_I2C_ADDRESS,
@@ -1068,7 +1070,8 @@ public abstract class RTL2832TunerController extends TunerController
protected static boolean isR820TTuner( UsbDevice device, protected static boolean isR820TTuner( UsbDevice device,
boolean controlI2CRepeater ) throws UsbClaimException boolean controlI2CRepeater ) throws UsbClaimException
{ {
Log.debug( "RTL2832 - testing for R820T tuner" ); mLog.debug( "testing for R820T tuner" );
try try
{ {
int value = readI2CRegister( device, R820T_I2C_ADDRESS, int value = readI2CRegister( device, R820T_I2C_ADDRESS,
@@ -1210,24 +1213,44 @@ public abstract class RTL2832TunerController extends TunerController
* Label 4,5 ... (user defined) * Label 4,5 ... (user defined)
*/ */
public byte[] readEEPROM( UsbDevice device, short offset, int length ) public byte[] readEEPROM( UsbDevice device, short offset, int length )
throws IllegalArgumentException, UsbDisconnectedException, UsbException throws IllegalArgumentException
{ {
if( offset + length > 256 ) if( offset + length > 256 )
{ {
throw new IllegalArgumentException( "RTL2832 Tuner Controller - " throw new IllegalArgumentException( "cannot read more than 256 "
+ "cannot read more than 256 bytes from EEPROM" ); + "bytes from EEPROM - requested to read to byte [" +
( offset + length ) + "]" );
} }
byte[] data = new byte[ length ]; byte[] data = new byte[ length ];
byte[] onebyte = new byte[ 1 ]; byte[] onebyte = new byte[ 1 ];
/* Tell the RTL-2832 to address the EEPROM */ try
writeRegister( device, Block.IIC, EEPROM_ADDRESS, (byte)offset, 1 ); {
/* Tell the RTL-2832 to address the EEPROM */
writeRegister( device, Block.IIC, EEPROM_ADDRESS, (byte)offset, 1 );
}
catch( UsbException e )
{
mLog.error( "usb error while attempting to set read address to "
+ "EEPROM register, prior to reading the EEPROM device "
+ "descriptor", e );
}
for( int x = 0; x < length; x++ ) for( int x = 0; x < length; x++ )
{ {
byte[] temp = read( device, Block.IIC, EEPROM_ADDRESS, onebyte ); try
data[ x ] = temp[ 0 ]; {
byte[] temp = read( device, Block.IIC, EEPROM_ADDRESS, onebyte );
data[ x ] = temp[ 0 ];
}
catch( Exception e )
{
mLog.error( "error while reading eeprom byte [" + x + "/" +
length + "] aborting eeprom read and returning partially "
+ "filled descriptor byte array", e );
x = length;
}
} }
return data; return data;
@@ -1514,7 +1537,8 @@ public abstract class RTL2832TunerController extends TunerController
{ {
if( mRunning.compareAndSet( false, true ) ) if( mRunning.compareAndSet( false, true ) )
{ {
Log.debug( "RTL2832TunerController [" + getUniqueID() + "] - starting sample fetch thread" ); mLog.debug( "rtl2832 [" + getUniqueID() +
"] - starting sample fetch thread" );
ArrayList<UsbIrp> irps = new ArrayList<UsbIrp>(); ArrayList<UsbIrp> irps = new ArrayList<UsbIrp>();
@@ -1570,7 +1594,8 @@ public abstract class RTL2832TunerController extends TunerController
{ {
if( mRunning.compareAndSet( true, false ) ) if( mRunning.compareAndSet( true, false ) )
{ {
Log.debug( "RTL2832TunerController - stopping sample fetch thread" ); mLog.debug( "rtl2832 [" + getUniqueID() +
"] - stopping sample fetch thread" );
mUSBPipe.abortAllSubmissions(); mUSBPipe.abortAllSubmissions();
@@ -1626,8 +1651,7 @@ public abstract class RTL2832TunerController extends TunerController
| IllegalArgumentException | UsbDisconnectedException | IllegalArgumentException | UsbDisconnectedException
| UsbException e ) | UsbException e )
{ {
Log.error( "RTL2832TunerController - error while " mLog.error( "error while processing samples", e );
+ "processing samples - " + e.getLocalizedMessage() );
} }
} }
} }
@@ -1640,9 +1664,8 @@ public abstract class RTL2832TunerController extends TunerController
* the reset process and ignore all subsequent errors */ * the reset process and ignore all subsequent errors */
if( mResetting.compareAndSet( false, true ) ) if( mResetting.compareAndSet( false, true ) )
{ {
Log.error( "RTL2832TunerController - error during data transfer - " mLog.error( "error during data transfer resetting USB pipe to "
+ "resetting USB pipe to RTL-2832 - " + + "RTL-2832", e );
e.getUsbException().getLocalizedMessage() );
stop(); stop();
@@ -1714,7 +1737,7 @@ public abstract class RTL2832TunerController extends TunerController
sb.append( " count:" ); sb.append( " count:" );
sb.append( mSampleRateAverageCount ); sb.append( mSampleRateAverageCount );
Log.info( sb.toString() ); mLog.info( sb.toString() );
} }
} }

View File

@@ -42,10 +42,11 @@ import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener; import javax.swing.event.ChangeListener;
import javax.usb.UsbException; import javax.usb.UsbException;
import com.jidesoft.swing.JideTabbedPane;
import log.Log;
import net.miginfocom.swing.MigLayout; import net.miginfocom.swing.MigLayout;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import source.SourceException; import source.SourceException;
import source.tuner.TunerConfiguration; import source.tuner.TunerConfiguration;
import source.tuner.TunerConfigurationAssignment; import source.tuner.TunerConfigurationAssignment;
@@ -60,7 +61,10 @@ import controller.ResourceManager;
public class E4KTunerConfigurationPanel extends JPanel public class E4KTunerConfigurationPanel extends JPanel
{ {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
private ResourceManager mResourceManager; private final static Logger mLog =
LoggerFactory.getLogger( E4KTunerConfigurationPanel.class );
private ResourceManager mResourceManager;
private E4KTunerController mController; private E4KTunerController mController;
private E4KTunerConfiguration mSelectedConfig; private E4KTunerConfiguration mSelectedConfig;
@@ -223,9 +227,8 @@ public class E4KTunerConfigurationPanel extends JPanel
+ "frequency correction value: " + value + + "frequency correction value: " + value +
e1.getLocalizedMessage() ); e1.getLocalizedMessage() );
Log.error( "E4K Tuner Controller - couldn't apply " mLog.error( "E4K Tuner Controller - couldn't apply "
+ "frequency correction value: " + value + + "frequency correction value: " + value, e1 );
e1.getLocalizedMessage() );
} }
} }
} ); } );
@@ -263,9 +266,9 @@ public class E4KTunerConfigurationPanel extends JPanel
+ "rate setting [" + sampleRate.getLabel() + "] " + + "rate setting [" + sampleRate.getLabel() + "] " +
eSampleRate.getLocalizedMessage() ); eSampleRate.getLocalizedMessage() );
Log.error( "E4K Tuner Controller - couldn't apply sample " mLog.error( "E4K Tuner Controller - couldn't apply sample "
+ "rate setting [" + sampleRate.getLabel() + "] " + + "rate setting [" + sampleRate.getLabel() + "]",
eSampleRate.getLocalizedMessage() ); eSampleRate );
} }
} }
} ); } );
@@ -389,8 +392,8 @@ public class E4KTunerConfigurationPanel extends JPanel
"E4K Tuner Controller - couldn't apply the gain " "E4K Tuner Controller - couldn't apply the gain "
+ "setting - " + e.getLocalizedMessage() ); + "setting - " + e.getLocalizedMessage() );
Log.error( "E4K Tuner Controller - couldn't apply " mLog.error( "E4K Tuner Controller - couldn't apply "
+ "gain setting - " + e.getLocalizedMessage() ); + "gain setting", e );
} }
} }
} ); } );
@@ -435,8 +438,8 @@ public class E4KTunerConfigurationPanel extends JPanel
"E4K Tuner Controller - couldn't apply the mixer " "E4K Tuner Controller - couldn't apply the mixer "
+ "gain setting - " + e.getLocalizedMessage() ); + "gain setting - " + e.getLocalizedMessage() );
Log.error( "E4K Tuner Controller - couldn't apply mixer " mLog.error( "E4K Tuner Controller - couldn't apply mixer "
+ "gain setting - " + e.getLocalizedMessage() ); + "gain setting", e );
} }
} }
} ); } );
@@ -475,8 +478,8 @@ public class E4KTunerConfigurationPanel extends JPanel
"E4K Tuner Controller - couldn't apply the LNA " "E4K Tuner Controller - couldn't apply the LNA "
+ "gain setting - " + e.getLocalizedMessage() ); + "gain setting - " + e.getLocalizedMessage() );
Log.error( "E4K Tuner Controller - couldn't apply LNA " mLog.error( "E4K Tuner Controller - couldn't apply LNA "
+ "gain setting - " + e.getLocalizedMessage() ); + "gain setting - ", e );
} }
} }
} ); } );
@@ -514,8 +517,8 @@ public class E4KTunerConfigurationPanel extends JPanel
"E4K Tuner Controller - couldn't apply the enhance " "E4K Tuner Controller - couldn't apply the enhance "
+ "gain setting - " + e.getLocalizedMessage() ); + "gain setting - " + e.getLocalizedMessage() );
Log.error( "E4K Tuner Controller - couldn't apply enhance " mLog.error( "E4K Tuner Controller - couldn't apply enhance "
+ "gain setting - " + e.getLocalizedMessage() ); + "gain setting", e );
} }
} }
} ); } );
@@ -630,9 +633,8 @@ public class E4KTunerConfigurationPanel extends JPanel
+ "apply the tuner configuration settings - " + + "apply the tuner configuration settings - " +
e1.getLocalizedMessage() ); e1.getLocalizedMessage() );
Log.error( "E4K Tuner Controller - couldn't apply " mLog.error( "E4K Tuner Controller - couldn't apply "
+ "config [" + config.getName() + "] - " + + "config [" + config.getName() + "]", e1 );
e1.getLocalizedMessage() );
} }
} }

View File

@@ -25,8 +25,11 @@ import java.awt.EventQueue;
import javax.swing.JLabel; import javax.swing.JLabel;
import javax.swing.JPanel; import javax.swing.JPanel;
import log.Log;
import net.miginfocom.swing.MigLayout; import net.miginfocom.swing.MigLayout;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import source.SourceException; import source.SourceException;
import source.tuner.FrequencyChangeListener; import source.tuner.FrequencyChangeListener;
import source.tuner.rtl.RTL2832InfoPanel; import source.tuner.rtl.RTL2832InfoPanel;
@@ -37,6 +40,9 @@ import controller.ResourceManager;
public class E4KTunerEditorPanel extends JPanel implements FrequencyChangeListener public class E4KTunerEditorPanel extends JPanel implements FrequencyChangeListener
{ {
private final static Logger mLog =
LoggerFactory.getLogger( E4KTunerEditorPanel.class );
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
private E4KTunerController mController; private E4KTunerController mController;
@@ -101,8 +107,8 @@ public class E4KTunerEditorPanel extends JPanel implements FrequencyChangeListen
} }
catch ( SourceException e ) catch ( SourceException e )
{ {
Log.error( "E4KTunerController - error setting frequency [" + mLog.error( "E4KTunerController - error setting frequency [" +
frequency + "] - " + e.getLocalizedMessage() ); frequency + "]", e );
} }
} }
} ); } );

View File

@@ -42,8 +42,11 @@ import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener; import javax.swing.event.ChangeListener;
import javax.usb.UsbException; import javax.usb.UsbException;
import log.Log;
import net.miginfocom.swing.MigLayout; import net.miginfocom.swing.MigLayout;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import source.SourceException; import source.SourceException;
import source.tuner.TunerConfiguration; import source.tuner.TunerConfiguration;
import source.tuner.TunerConfigurationAssignment; import source.tuner.TunerConfigurationAssignment;
@@ -57,7 +60,10 @@ import controller.ResourceManager;
public class R820TTunerConfigurationPanel extends JPanel public class R820TTunerConfigurationPanel extends JPanel
{ {
private static final long serialVersionUID = 1L; private final static Logger mLog =
LoggerFactory.getLogger( R820TTunerConfigurationPanel.class );
private static final long serialVersionUID = 1L;
private static final R820TGain DEFAULT_GAIN = R820TGain.GAIN_279; private static final R820TGain DEFAULT_GAIN = R820TGain.GAIN_279;
private ResourceManager mResourceManager; private ResourceManager mResourceManager;
@@ -214,9 +220,8 @@ public class R820TTunerConfigurationPanel extends JPanel
+ "frequency correction value: " + value + + "frequency correction value: " + value +
e1.getLocalizedMessage() ); e1.getLocalizedMessage() );
Log.error( "R820T Tuner Controller - couldn't apply " mLog.error( "R820T Tuner Controller - couldn't apply "
+ "frequency correction value: " + value + + "frequency correction value: " + value, e1 );
e1.getLocalizedMessage() );
} }
} }
} ); } );
@@ -254,9 +259,9 @@ public class R820TTunerConfigurationPanel extends JPanel
+ "rate setting [" + sampleRate.getLabel() + "] " + + "rate setting [" + sampleRate.getLabel() + "] " +
eSampleRate.getLocalizedMessage() ); eSampleRate.getLocalizedMessage() );
Log.error( "R820T Tuner Controller - couldn't apply sample " mLog.error( "R820T Tuner Controller - couldn't apply sample "
+ "rate setting [" + sampleRate.getLabel() + "] " + + "rate setting [" + sampleRate.getLabel() + "]",
eSampleRate.getLocalizedMessage() ); eSampleRate );
} }
} }
} ); } );
@@ -318,8 +323,8 @@ public class R820TTunerConfigurationPanel extends JPanel
"R820T Tuner Controller - couldn't apply the gain " "R820T Tuner Controller - couldn't apply the gain "
+ "setting - " + e.getLocalizedMessage() ); + "setting - " + e.getLocalizedMessage() );
Log.error( "R820T Tuner Controller - couldn't apply " mLog.error( "R820T Tuner Controller - couldn't apply "
+ "gain setting - " + e.getLocalizedMessage() ); + "gain setting - ", e );
} }
} }
} ); } );
@@ -369,8 +374,8 @@ public class R820TTunerConfigurationPanel extends JPanel
"R820T Tuner Controller - couldn't apply the mixer " "R820T Tuner Controller - couldn't apply the mixer "
+ "gain setting - " + e.getLocalizedMessage() ); + "gain setting - " + e.getLocalizedMessage() );
Log.error( "R820T Tuner Controller - couldn't apply mixer " mLog.error( "R820T Tuner Controller - couldn't apply mixer "
+ "gain setting - " + e.getLocalizedMessage() ); + "gain setting - ", e );
} }
} }
} ); } );
@@ -415,8 +420,8 @@ public class R820TTunerConfigurationPanel extends JPanel
"R820T Tuner Controller - couldn't apply the LNA " "R820T Tuner Controller - couldn't apply the LNA "
+ "gain setting - " + e.getLocalizedMessage() ); + "gain setting - " + e.getLocalizedMessage() );
Log.error( "R820T Tuner Controller - couldn't apply LNA " mLog.error( "R820T Tuner Controller - couldn't apply LNA "
+ "gain setting - " + e.getLocalizedMessage() ); + "gain setting - ", e );
} }
} }
} ); } );
@@ -459,8 +464,8 @@ public class R820TTunerConfigurationPanel extends JPanel
"R820T Tuner Controller - couldn't apply the VGA " "R820T Tuner Controller - couldn't apply the VGA "
+ "gain setting - " + e.getLocalizedMessage() ); + "gain setting - " + e.getLocalizedMessage() );
Log.error( "R820T Tuner Controller - couldn't apply VGA " mLog.error( "R820T Tuner Controller - couldn't apply VGA "
+ "gain setting - " + e.getLocalizedMessage() ); + "gain setting", e );
} }
} }
} ); } );
@@ -575,9 +580,8 @@ public class R820TTunerConfigurationPanel extends JPanel
+ "apply the tuner configuration settings - " + + "apply the tuner configuration settings - " +
e1.getLocalizedMessage() ); e1.getLocalizedMessage() );
Log.error( "R820T Tuner Controller - couldn't apply " mLog.error( "R820T Tuner Controller - couldn't apply "
+ "config [" + config.getName() + "] - " + + "config [" + config.getName() + "]", e1 );
e1.getLocalizedMessage() );
} }
} }

View File

@@ -25,7 +25,9 @@ package source.tuner.rtl.r820t;
import javax.swing.JPanel; import javax.swing.JPanel;
import javax.usb.UsbException; import javax.usb.UsbException;
import log.Log; import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import source.SourceException; import source.SourceException;
import source.tuner.TunerConfiguration; import source.tuner.TunerConfiguration;
import source.tuner.TunerType; import source.tuner.TunerType;
@@ -35,6 +37,9 @@ import controller.ResourceManager;
public class R820TTunerController extends RTL2832TunerController public class R820TTunerController extends RTL2832TunerController
{ {
private final static Logger mLog =
LoggerFactory.getLogger( R820TTunerController.class );
public static final long MIN_FREQUENCY = 3180000; public static final long MIN_FREQUENCY = 3180000;
public static final long MAX_FREQUENCY = 1782030000; public static final long MAX_FREQUENCY = 1782030000;
public static final int R820T_IF_FREQUENCY = 3570000; public static final int R820T_IF_FREQUENCY = 3570000;
@@ -236,33 +241,32 @@ public class R820TTunerController extends RTL2832TunerController
{ {
try try
{ {
Log.debug( "R820T Tuner Controller - testing USB interface" ); mLog.debug( "testing USB interface" );
/* Dummy write to test USB interface */ /* Dummy write to test USB interface */
writeRegister( mUSBDevice, Block.USB, writeRegister( mUSBDevice, Block.USB,
Address.USB_SYSCTL.getAddress(), (short)0x09, 1 ); Address.USB_SYSCTL.getAddress(), (short)0x09, 1 );
Log.debug( "R820T Tuner Controller - initializing RTL2832 tuner baseband" ); mLog.debug( "initializing RTL2832 tuner baseband" );
initBaseband( mUSBDevice ); initBaseband( mUSBDevice );
Log.debug( "R820T Tuner Controller - enabling I2C repeater" ); mLog.debug( "enabling I2C repeater" );
enableI2CRepeater( mUSBDevice, true ); enableI2CRepeater( mUSBDevice, true );
boolean i2CRepeaterControl = false; boolean i2CRepeaterControl = false;
Log.debug( "R820T Tuner Controller - initializing R820T tuner" ); mLog.debug( "initializing R820T tuner" );
initTuner( i2CRepeaterControl ); initTuner( i2CRepeaterControl );
Log.debug( "R820T Tuner Controller - disabling I2C repeater" ); mLog.debug( "disabling I2C repeater" );
enableI2CRepeater( mUSBDevice, false ); enableI2CRepeater( mUSBDevice, false );
Log.debug( "R820T Tuner Controller - initializing RTL tuner controller super class" ); mLog.debug( "initializing RTL2832 tuner controller super class" );
/* Initialize the super class */ /* Initialize the super class */
super.init(); super.init();
} }
catch( UsbException e ) catch( UsbException e )
{ {
throw new SourceException( "R820T Tuner Controller - error during " throw new SourceException( "error during init()", e );
+ "init()", e );
} }
} }
@@ -345,7 +349,8 @@ public class R820TTunerController extends RTL2832TunerController
if( !calibrationSuccessful( calibrationCode ) ) if( !calibrationSuccessful( calibrationCode ) )
{ {
Log.error( "Calibration NOT successful!!" ); mLog.error( "Calibration NOT successful - code: " +
calibrationCode );
} }
} }
@@ -354,14 +359,11 @@ public class R820TTunerController extends RTL2832TunerController
calibrationCode = 0; calibrationCode = 0;
} }
Log.debug( "Calibration Code is:" + calibrationCode );
/* Write calibration code */ /* Write calibration code */
byte filt_q = 0x10; byte filt_q = 0x10;
calibrationCode = calibrationCode | filt_q;
writeR820TRegister( Register.FILTER_CALIBRATION_CODE, writeR820TRegister( Register.FILTER_CALIBRATION_CODE,
(byte)calibrationCode, controlI2C ); (byte)( calibrationCode | filt_q ), controlI2C );
/* Set BW, Filter gain & HP Corner */ /* Set BW, Filter gain & HP Corner */
writeR820TRegister( Register.BANDWIDTH_FILTER_GAIN_HIGHPASS_FILTER_CORNER, writeR820TRegister( Register.BANDWIDTH_FILTER_GAIN_HIGHPASS_FILTER_CORNER,

View File

@@ -22,23 +22,28 @@ import gui.control.JFrequencyControl;
import java.awt.Color; import java.awt.Color;
import java.awt.EventQueue; import java.awt.EventQueue;
import javax.swing.BorderFactory;
import javax.swing.JLabel; import javax.swing.JLabel;
import javax.swing.JPanel; import javax.swing.JPanel;
import com.jidesoft.swing.JideTabbedPane;
import log.Log;
import net.miginfocom.swing.MigLayout; import net.miginfocom.swing.MigLayout;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import source.SourceException; import source.SourceException;
import source.tuner.FrequencyChangeListener; import source.tuner.FrequencyChangeListener;
import source.tuner.rtl.RTL2832InfoPanel; import source.tuner.rtl.RTL2832InfoPanel;
import source.tuner.rtl.e4k.E4KTunerConfigurationPanel;
import com.jidesoft.swing.JideTabbedPane;
import controller.ResourceManager; import controller.ResourceManager;
public class R820TTunerEditorPanel extends JPanel implements FrequencyChangeListener public class R820TTunerEditorPanel extends JPanel implements FrequencyChangeListener
{ {
private static final long serialVersionUID = 1L; private final static Logger mLog =
LoggerFactory.getLogger( R820TTunerEditorPanel.class );
private static final long serialVersionUID = 1L;
private R820TTunerController mController; private R820TTunerController mController;
private ResourceManager mResourceManager; private ResourceManager mResourceManager;
@@ -101,8 +106,8 @@ public class R820TTunerEditorPanel extends JPanel implements FrequencyChangeList
} }
catch ( SourceException e ) catch ( SourceException e )
{ {
Log.error( "R820T Tuner Controller - error setting frequency [" + mLog.error( "R820T Tuner Controller - error setting frequency [" +
frequency + "] - " + e.getLocalizedMessage() ); frequency + "]", e );
} }
} }
} ); } );

View File

@@ -26,9 +26,9 @@ import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicBoolean;
import log.Log;
import org.jtransforms.fft.FloatFFT_1D; import org.jtransforms.fft.FloatFFT_1D;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import sample.Listener; import sample.Listener;
import source.Source; import source.Source;
@@ -45,6 +45,9 @@ import dsp.filter.Window.WindowType;
public class DFTProcessor implements Listener<Float[]>, public class DFTProcessor implements Listener<Float[]>,
FrequencyChangeListener FrequencyChangeListener
{ {
private final static Logger mLog =
LoggerFactory.getLogger( DFTProcessor.class );
private CopyOnWriteArrayList<DFTResultsConverter> mListeners = private CopyOnWriteArrayList<DFTResultsConverter> mListeners =
new CopyOnWriteArrayList<DFTResultsConverter>(); new CopyOnWriteArrayList<DFTResultsConverter>();
@@ -198,8 +201,8 @@ public class DFTProcessor implements Listener<Float[]>,
} }
catch ( InterruptedException e ) catch ( InterruptedException e )
{ {
Log.error( "DFTProcessor - exception while awaiting shutdown of " mLog.error( "DFTProcessor - exception while awaiting shutdown of "
+ "calculation scheduler for reset" ); + "calculation scheduler for reset", e );
} }
} }
@@ -222,7 +225,7 @@ public class DFTProcessor implements Listener<Float[]>,
{ {
if( !mQueue.offer( samples ) ) if( !mQueue.offer( samples ) )
{ {
Log.error( "DFTProcessor - [" + mSampleType.toString() mLog.error( "DFTProcessor - [" + mSampleType.toString()
+ "]queue is full, purging queue, " + "]queue is full, purging queue, "
+ "samples[" + samples + "]" ); + "samples[" + samples + "]" );

View File

@@ -29,7 +29,6 @@ import java.awt.event.MouseEvent;
import java.awt.event.MouseListener; import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener; import java.awt.event.MouseMotionListener;
import java.text.DecimalFormat; import java.text.DecimalFormat;
import java.text.Format;
import java.util.ArrayList; import java.util.ArrayList;
import javax.swing.JCheckBoxMenuItem; import javax.swing.JCheckBoxMenuItem;
@@ -42,8 +41,11 @@ import javax.swing.JSeparator;
import javax.swing.JSplitPane; import javax.swing.JSplitPane;
import javax.swing.SwingUtilities; import javax.swing.SwingUtilities;
import log.Log;
import net.miginfocom.swing.MigLayout; import net.miginfocom.swing.MigLayout;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import sample.Listener; import sample.Listener;
import settings.ColorSetting; import settings.ColorSetting;
import settings.ColorSetting.ColorSettingName; import settings.ColorSetting.ColorSettingName;
@@ -90,6 +92,9 @@ public class SpectralDisplayPanel extends JPanel
TunerSelectionListener TunerSelectionListener
{ {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
private final static Logger mLog =
LoggerFactory.getLogger( SpectralDisplayPanel.class );
private static DecimalFormat sCURSOR_FORMAT = new DecimalFormat( "000.00000" ); private static DecimalFormat sCURSOR_FORMAT = new DecimalFormat( "000.00000" );
/** /**
@@ -384,8 +389,8 @@ public class SpectralDisplayPanel extends JPanel
} }
catch ( SourceException e ) catch ( SourceException e )
{ {
Log.info( "DFTProcessor - exception during new tuner setup - " mLog.info( "DFTProcessor - exception during new tuner setup - "
+ "couldn't get frequency from the tuner" ); + "couldn't get frequency from the tuner", e );
} }
} }
} }

View File

@@ -29,7 +29,9 @@ import java.awt.geom.Line2D;
import javax.swing.JPanel; import javax.swing.JPanel;
import log.Log; import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import settings.ColorSetting; import settings.ColorSetting;
import settings.ColorSetting.ColorSettingName; import settings.ColorSetting.ColorSettingName;
import settings.IntegerSetting; import settings.IntegerSetting;
@@ -45,6 +47,8 @@ public class SpectrumPanel extends JPanel
SpectralDisplayAdjuster SpectralDisplayAdjuster
{ {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
private final static Logger mLog =
LoggerFactory.getLogger( SpectrumPanel.class );
/* Set display bins size to 1, so that we're guaranteed a reset to the /* Set display bins size to 1, so that we're guaranteed a reset to the
* correct width once the first sample set arrives */ * correct width once the first sample set arrives */

View File

@@ -25,10 +25,13 @@ import java.nio.ByteBuffer;
import javax.sound.sampled.AudioFormat; import javax.sound.sampled.AudioFormat;
import log.Log; import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class WaveWriter public class WaveWriter
{ {
private final static Logger mLog = LoggerFactory.getLogger( WaveWriter.class );
private static final int sTOTAL_BYTE_LIMIT = Integer.MAX_VALUE; private static final int sTOTAL_BYTE_LIMIT = Integer.MAX_VALUE;
private BufferedOutputStream mOutputStream; private BufferedOutputStream mOutputStream;
private boolean mRunning = false; private boolean mRunning = false;
@@ -128,8 +131,7 @@ public class WaveWriter
raf.seek( 40 ); raf.seek( 40 );
raf.write( newDataSize ); raf.write( newDataSize );
//debug mLog.info( "Closing recording [" + mFileName + "] amending file byte size to:" + newByteCount );
Log.info( "Closing recording [" + mFileName + "] amending file byte size to:" + newByteCount );
raf.close(); raf.close();
} }