mirror of
https://github.com/DSheirer/sdrtrunk.git
synced 2026-11-12 08:37:25 -05:00
667c50174d95b96fc833a70b683d3667675d293e
# Conflicts: # .idea/dictionaries/denny.xml # .idea/libraries/imports.xml # sdrtrunk.iml # src/audio/AudioModule.java # src/audio/broadcast/StreamManager.java # src/buffer/FloatCircularBuffer.java # src/channel/state/AlwaysUnsquelchedDecoderState.java # src/channel/state/ChannelState.java # src/channel/state/DecoderState.java # src/channel/traffic/TrafficChannelManager.java # src/controller/channel/Channel.java # src/dsp/filter/FilterFactory.java # src/dsp/filter/Window.java # src/dsp/filter/design/FilterView.java # src/dsp/filter/design/FilterViewer.java # src/dsp/filter/fir/FIRFilterSpecification.java # src/dsp/filter/fir/remez/RemezFIRFilterDesigner.java # src/dsp/gain/AutomaticGainControl.java # src/dsp/gain/ComplexFeedForwardGainControl.java # src/dsp/mixer/Oscillator.java # src/dsp/psk/LSMDemodulator.java # src/gui/control/JFrequencyControl.java # src/instrument/tap/stream/BinaryTapViewPanel.java # src/module/Module.java # src/module/ProcessingChain.java # src/module/decode/Decoder.java # src/module/decode/am/AMDecoder.java # src/module/decode/fleetsync2/Fleetsync2Decoder.java # src/module/decode/fleetsync2/Fleetsync2DecoderState.java # src/module/decode/lj1200/LJ1200Decoder.java # src/module/decode/lj1200/LJ1200DecoderState.java # src/module/decode/ltrnet/LTRNetDecoder.java # src/module/decode/ltrnet/LTRNetDecoderState.java # src/module/decode/ltrstandard/LTRStandardDecoder.java # src/module/decode/ltrstandard/LTRStandardDecoderState.java # src/module/decode/mdc1200/MDCDecoder.java # src/module/decode/mdc1200/MDCDecoderState.java # src/module/decode/mpt1327/MPT1327Decoder.java # src/module/decode/mpt1327/MPT1327DecoderState.java # src/module/decode/nbfm/NBFMDecoder.java # src/module/decode/p25/C4FMSymbolFilter.java # src/module/decode/p25/P25Decoder.java # src/module/decode/p25/P25DecoderState.java # src/module/decode/p25/P25_C4FMDecoder.java # src/module/decode/p25/P25_LSMDecoder.java # src/module/decode/p25/audio/P25AudioModule.java # src/module/decode/passport/PassportDecoder.java # src/module/decode/passport/PassportDecoderState.java # src/module/decode/tait/Tait1200Decoder.java # src/module/decode/tait/Tait1200DecoderState.java # src/module/demodulate/am/AMDemodulatorModule.java # src/module/demodulate/audio/DemodulatedAudioFilterModule.java # src/module/demodulate/fm/FMDemodulatorModule.java # src/module/log/EventLogger.java # src/record/AudioRecorder.java # src/record/RecorderManager.java # src/record/wave/ComplexBufferWaveRecorder.java # src/record/wave/RealBufferWaveRecorder.java # src/sample/Broadcaster.java # src/sample/OverflowableTransferQueue.java # src/sample/SampleType.java # src/source/ComplexSource.java # src/source/ISourceEventProvider.java # src/source/InvalidFrequencyException.java # src/source/RealSource.java # src/source/Source.java # src/source/config/SourceConfigRecording.java # src/source/config/SourceConfigTuner.java # src/source/heartbeat/Heartbeat.java # src/source/heartbeat/IHeartbeatListener.java # src/source/heartbeat/IHeartbeatProvider.java # src/source/mixer/RealMixerSource.java # src/source/recording/Recording.java # src/source/recording/RecordingSourceManager.java # src/source/tuner/ITunerChannelProvider.java # src/source/tuner/Tuner.java # src/source/tuner/TunerClass.java # src/source/tuner/TunerController.java # src/source/tuner/TunerEditor.java # src/source/tuner/TunerManager.java # src/source/tuner/TunerModel.java # src/source/tuner/TunerSourceEditor.java # src/source/tuner/TunerType.java # src/source/tuner/airspy/AirspyTuner.java # src/source/tuner/airspy/AirspyTunerController.java # src/source/tuner/airspy/AirspyTunerEditor.java # src/source/tuner/configuration/TunerConfigurationModel.java # src/source/tuner/fcd/FCDTuner.java # src/source/tuner/fcd/FCDTunerController.java # src/source/tuner/fcd/proV1/FCD1TunerController.java # src/source/tuner/fcd/proV1/FCD1TunerEditor.java # src/source/tuner/fcd/proplusV2/FCD2TunerController.java # src/source/tuner/fcd/proplusV2/FCD2TunerEditor.java # src/source/tuner/hackrf/HackRFTuner.java # src/source/tuner/hackrf/HackRFTunerController.java # src/source/tuner/hackrf/HackRFTunerEditor.java # src/source/tuner/rtl/RTL2832Tuner.java # src/source/tuner/rtl/RTL2832TunerController.java # src/source/tuner/rtl/e4k/E4KTunerController.java # src/source/tuner/rtl/e4k/E4KTunerEditor.java # src/source/tuner/rtl/r820t/R820TTunerController.java # src/source/tuner/rtl/r820t/R820TTunerEditor.java # src/source/tuner/usb/USBTransferProcessor.java # src/source/wave/ComplexWaveSource.java # src/source/wave/RealWaveSource.java # src/spectrum/ChannelSpectrumPanel.java # src/spectrum/DFTProcessor.java # src/spectrum/OverlayPanel.java # src/spectrum/SpectralDisplayPanel.java
sdrtrunk
A cross-platform java application for decoding, monitoring, recording and streaming trunked mobile and related radio protocols using Software Defined Radios (SDR).
Figure 1: sdrtrunk Version 0.3.0 Application Screenshot
Instructions:
Build the project
Project uses gradle as build system. You can build it with locally installed gradle or if you do not have/want install gradle you can use preconfigured linux/windows wrapper.
Build with locally installed gradle 4.3.1
gradle clean buildSdr
Build with preconfigured wrapper for linux/windows
Linux
./gradlew clean buildSdr
Windows
gradle.bat clean buildSdr
This would add gradle, download all project dependencies and build JAR
Development
All dependencies/versions are controlled from build.gradle. To change the new release version tag of artifact - change property:
version = '0.3.2'
Run SDRTrunk
SDRTrunk is packed into single uber-jar file. There is need to have folders with dependecies and adding them with classpath. Just run with java.
Use Java8
java -jar build/libs/sdr-trunk-all-0.3.2.jar
TODO ITEMS
- Move project to gradle build
- Changed folders structure, based on java project
- Dependencies are moved to gradle and versions are updated
- Create uberJAR with all dependencies
- Some dependencies left in imports folder. Find them and include into gradle
- Move images into resources of project
- Add tests to project. This would guarantee that after refactoring part of functionality is not broken
- Create modular OOP system (radio-module, gui, web-ui, etc). This would allow to use RADIO modules to call from CLI, GUI or Web UI. And use SDRTrunk as dependency for other projects.