mirror of
https://github.com/DSheirer/sdrtrunk.git
synced 2026-11-12 00:27:26 -05:00
05fa5c25fd323f32c5302fdc9c3ee4e49cb9bc0a
messages and events can be accurately timestamped, and more importantly, allocated traffic channels can request to be pre-loaded with buffered samples to ensure that traffic channels don't miss any samples that are currently missed due processing latency inherent in current buffer sizing. This should reduce the clipping of starting messages or voice on the traffic channels. Restructures processing path for tuner frequency and sample rate change events. The tuner now embeds these events in the sequence of buffers that are generated immediately after the event occurs since those are the buffers that will be impacted by the change. Previously, the change event would be broadcast throughout the system and would impact any buffered/cached buffers. This also reduces the number of source event change listeners that have to be managed. Note: this change is not yet implemented in all tuners ... only in the TestTuner implementation. Updates the polyphase channelizer to now buffer channel results and then dispatch the buffer to the channel output processors to improve efficiency of using float arrays versus single value complex float processing.
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.