diff --git a/.project b/.project new file mode 100644 index 0000000..7a8b5d4 --- /dev/null +++ b/.project @@ -0,0 +1,11 @@ + + + sdrtrunk.wiki + + + + + + + + diff --git a/Home.md b/Home.md index 5e3b274..071819c 100644 --- a/Home.md +++ b/Home.md @@ -1,6 +1,8 @@ #SDRTrunk# -SDRTrunk is a java based application for decoding and trunk tracking multiple analog and digital radio channels across multiple USB dongle tuners and/or sound card inputs from scanner radios. +SDRTrunk is a java application for decoding and trunk tracking multiple analog +and digital radio channels across multiple USB dongle tuners and/or sound card +inputs from scanner radios. * [Getting Started](GettingStarted) * [User's Manual](UserManual) diff --git a/HomeOriginal.md b/HomeOriginal.md new file mode 100644 index 0000000..071819c --- /dev/null +++ b/HomeOriginal.md @@ -0,0 +1,51 @@ +#SDRTrunk# + +SDRTrunk is a java application for decoding and trunk tracking multiple analog +and digital radio channels across multiple USB dongle tuners and/or sound card +inputs from scanner radios. + +* [Getting Started](GettingStarted) +* [User's Manual](UserManual) +* [Download](https://drive.google.com/folderview?id=0B7BHsssXUq8eOHBTNndCczZTd0k&usp=sharing) +* [Support](https://groups.google.com/forum/#!forum/sdrtrunk) + +This application uses some of the fantastic components available from JIDE Software. + +**Operating Systems** + +* [Linux](SetupLinux) +* [Windows](SetupWindows) +* Any operating system supported by Java and libusb, however other systems have not yet been tested + +**Requirements** + +* [Java](http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html) 7 or newer + +**Supported Tuners** + +* [Funcube Dongle Pro](FuncubeDonglePro) +* [Funcube Dongle Pro Plus](FuncubeDongleProPlus) +* [HackRF](HackRF) +* [RTL-2832 with E4000 Tuner](E4000) +* [RTL-2832 with R820T Tuner](R820T) +* [Sound card(s) connected to scanner audio output](SoundCard) + +**Decoders** + +* [APCO-25 Phase 1](P25Phase1) - C4FM and CQPSK/LSM +* [Fleetsync II](Fleetsync2) +* [LJ-1200](LJ1200) +* [LTR](LTR) +* [LTR-Net](LTRNet) +* [MDC-1200](MDC1200) +* [MPT-1327](MPT1327) +* [Passport](Passport) +* [Tait CCDI 1200](Tait1200) ANI/GPS + +Note: nomitive use of protocol names are for identification. Registered trademarks are the property of their respective owners. + +**Source Code** + +Source code is available on this website + +* [Downloading and Compiling sdrtrunk](Building) \ No newline at end of file diff --git a/APCO25.md b/v0.1.0/APCO25.md similarity index 70% rename from APCO25.md rename to v0.1.0/APCO25.md index f24a2a3..1f76c95 100644 --- a/APCO25.md +++ b/v0.1.0/APCO25.md @@ -1,6 +1,23 @@ # APCO-25 Decoder # -The APCO-25 decoder will decoder P-25 phase I signals that are using either +The P25 decoder processes all voice, trunking, and data messages and provides +traffic/voice/data call following when a tuner is available that can monitor +both the control channel and any traffic channels within the available bandwidth +of the tuner, or across multiple tuners. + +## P-25 Phase I## +Supports FDMA Common Air Interface (CAI) C4FM modulation and Linear Simulcast +Modulation (LSM). + +## P-25 Phase II## +Phase II TDMA decoding is not currently supported. + +## P-25 Hybrid (Phase I/II)## +P25 hybrid systems use both Phase 1 control channels and Phase I and Phase II +traffic channels, providing transition support for users with a combination of +Phase I and Phase II radios. + +sdrtrunk supports decoding some Phase II support mSupports decoding of FDMA control chaThe APCO-25 decoder will decode P-25 phase I signals that are using either C4FM modulation or LSM Simulcast (CQPSK) modulation. It will process trunked, conventional and packet data messages. diff --git a/ActivitySummary.md b/v0.1.0/ActivitySummary.md similarity index 100% rename from ActivitySummary.md rename to v0.1.0/ActivitySummary.md diff --git a/Airspy.md b/v0.1.0/Airspy.md similarity index 100% rename from Airspy.md rename to v0.1.0/Airspy.md diff --git a/Alias.md b/v0.1.0/Alias.md similarity index 100% rename from Alias.md rename to v0.1.0/Alias.md diff --git a/AliasAction.md b/v0.1.0/AliasAction.md similarity index 100% rename from AliasAction.md rename to v0.1.0/AliasAction.md diff --git a/AliasGroup.md b/v0.1.0/AliasGroup.md similarity index 100% rename from AliasGroup.md rename to v0.1.0/AliasGroup.md diff --git a/AliasList.md b/v0.1.0/AliasList.md similarity index 100% rename from AliasList.md rename to v0.1.0/AliasList.md diff --git a/ApplicationLog.md b/v0.1.0/ApplicationLog.md similarity index 100% rename from ApplicationLog.md rename to v0.1.0/ApplicationLog.md diff --git a/ApplicationOverview.md b/v0.1.0/ApplicationOverview.md similarity index 100% rename from ApplicationOverview.md rename to v0.1.0/ApplicationOverview.md diff --git a/B100.md b/v0.1.0/B100.md similarity index 100% rename from B100.md rename to v0.1.0/B100.md diff --git a/Building.md b/v0.1.0/Building.md similarity index 100% rename from Building.md rename to v0.1.0/Building.md diff --git a/CallEvents.md b/v0.1.0/CallEvents.md similarity index 100% rename from CallEvents.md rename to v0.1.0/CallEvents.md diff --git a/Channel.md b/v0.1.0/Channel.md similarity index 100% rename from Channel.md rename to v0.1.0/Channel.md diff --git a/ChannelMap.md b/v0.1.0/ChannelMap.md similarity index 100% rename from ChannelMap.md rename to v0.1.0/ChannelMap.md diff --git a/Configuration.md b/v0.1.0/Configuration.md similarity index 100% rename from Configuration.md rename to v0.1.0/Configuration.md diff --git a/DecodingChannels.md b/v0.1.0/DecodingChannels.md similarity index 100% rename from DecodingChannels.md rename to v0.1.0/DecodingChannels.md diff --git a/E4000.md b/v0.1.0/E4000.md similarity index 100% rename from E4000.md rename to v0.1.0/E4000.md diff --git a/Editor.md b/v0.1.0/Editor.md similarity index 100% rename from Editor.md rename to v0.1.0/Editor.md diff --git a/EventLogger.md b/v0.1.0/EventLogger.md similarity index 100% rename from EventLogger.md rename to v0.1.0/EventLogger.md diff --git a/FC0013.md b/v0.1.0/FC0013.md similarity index 100% rename from FC0013.md rename to v0.1.0/FC0013.md diff --git a/Fleetsync2.md b/v0.1.0/Fleetsync2.md similarity index 100% rename from Fleetsync2.md rename to v0.1.0/Fleetsync2.md diff --git a/FuncubeDonglePro.md b/v0.1.0/FuncubeDonglePro.md similarity index 100% rename from FuncubeDonglePro.md rename to v0.1.0/FuncubeDonglePro.md diff --git a/FuncubeDongleProPlus.md b/v0.1.0/FuncubeDongleProPlus.md similarity index 100% rename from FuncubeDongleProPlus.md rename to v0.1.0/FuncubeDongleProPlus.md diff --git a/GettingStarted.md b/v0.1.0/GettingStarted.md similarity index 100% rename from GettingStarted.md rename to v0.1.0/GettingStarted.md diff --git a/HackRF.md b/v0.1.0/HackRF.md similarity index 100% rename from HackRF.md rename to v0.1.0/HackRF.md diff --git a/JMBE.md b/v0.1.0/JMBE.md similarity index 100% rename from JMBE.md rename to v0.1.0/JMBE.md diff --git a/LTR.md b/v0.1.0/LTR.md similarity index 100% rename from LTR.md rename to v0.1.0/LTR.md diff --git a/LTRNet.md b/v0.1.0/LTRNet.md similarity index 100% rename from LTRNet.md rename to v0.1.0/LTRNet.md diff --git a/MDC1200.md b/v0.1.0/MDC1200.md similarity index 100% rename from MDC1200.md rename to v0.1.0/MDC1200.md diff --git a/MPT1327.md b/v0.1.0/MPT1327.md similarity index 100% rename from MPT1327.md rename to v0.1.0/MPT1327.md diff --git a/Map.md b/v0.1.0/Map.md similarity index 100% rename from Map.md rename to v0.1.0/Map.md diff --git a/Messages.md b/v0.1.0/Messages.md similarity index 100% rename from Messages.md rename to v0.1.0/Messages.md diff --git a/NBFM.md b/v0.1.0/NBFM.md similarity index 100% rename from NBFM.md rename to v0.1.0/NBFM.md diff --git a/Passport.md b/v0.1.0/Passport.md similarity index 100% rename from Passport.md rename to v0.1.0/Passport.md diff --git a/Playlist.md b/v0.1.0/Playlist.md similarity index 100% rename from Playlist.md rename to v0.1.0/Playlist.md diff --git a/ProjectHome.md b/v0.1.0/ProjectHome.md similarity index 100% rename from ProjectHome.md rename to v0.1.0/ProjectHome.md diff --git a/R820T.md b/v0.1.0/R820T.md similarity index 100% rename from R820T.md rename to v0.1.0/R820T.md diff --git a/ScreenCapture.md b/v0.1.0/ScreenCapture.md similarity index 100% rename from ScreenCapture.md rename to v0.1.0/ScreenCapture.md diff --git a/SetupLinux.md b/v0.1.0/SetupLinux.md similarity index 100% rename from SetupLinux.md rename to v0.1.0/SetupLinux.md diff --git a/SetupWindows.md b/v0.1.0/SetupWindows.md similarity index 100% rename from SetupWindows.md rename to v0.1.0/SetupWindows.md diff --git a/Site.md b/v0.1.0/Site.md similarity index 100% rename from Site.md rename to v0.1.0/Site.md diff --git a/SoundCard.md b/v0.1.0/SoundCard.md similarity index 100% rename from SoundCard.md rename to v0.1.0/SoundCard.md diff --git a/SpectralDisplay.md b/v0.1.0/SpectralDisplay.md similarity index 100% rename from SpectralDisplay.md rename to v0.1.0/SpectralDisplay.md diff --git a/System.md b/v0.1.0/System.md similarity index 100% rename from System.md rename to v0.1.0/System.md diff --git a/Tuner.md b/v0.1.0/Tuner.md similarity index 100% rename from Tuner.md rename to v0.1.0/Tuner.md diff --git a/UserManual.md b/v0.1.0/UserManual.md similarity index 100% rename from UserManual.md rename to v0.1.0/UserManual.md diff --git a/WaterfallDisplay.md b/v0.1.0/WaterfallDisplay.md similarity index 100% rename from WaterfallDisplay.md rename to v0.1.0/WaterfallDisplay.md diff --git a/images/Alias.png b/v0.1.0/images/Alias.png similarity index 100% rename from images/Alias.png rename to v0.1.0/images/Alias.png diff --git a/images/AliasActions.png b/v0.1.0/images/AliasActions.png similarity index 100% rename from images/AliasActions.png rename to v0.1.0/images/AliasActions.png diff --git a/images/AliasESNID.png b/v0.1.0/images/AliasESNID.png similarity index 100% rename from images/AliasESNID.png rename to v0.1.0/images/AliasESNID.png diff --git a/images/AliasFleetsyncID.png b/v0.1.0/images/AliasFleetsyncID.png similarity index 100% rename from images/AliasFleetsyncID.png rename to v0.1.0/images/AliasFleetsyncID.png diff --git a/images/AliasGroup.png b/v0.1.0/images/AliasGroup.png similarity index 100% rename from images/AliasGroup.png rename to v0.1.0/images/AliasGroup.png diff --git a/images/AliasList.png b/v0.1.0/images/AliasList.png similarity index 100% rename from images/AliasList.png rename to v0.1.0/images/AliasList.png diff --git a/images/AliasMDC1200ID.png b/v0.1.0/images/AliasMDC1200ID.png similarity index 100% rename from images/AliasMDC1200ID.png rename to v0.1.0/images/AliasMDC1200ID.png diff --git a/images/AliasMIDID.png b/v0.1.0/images/AliasMIDID.png similarity index 100% rename from images/AliasMIDID.png rename to v0.1.0/images/AliasMIDID.png diff --git a/images/AliasMPT1327ID.png b/v0.1.0/images/AliasMPT1327ID.png similarity index 100% rename from images/AliasMPT1327ID.png rename to v0.1.0/images/AliasMPT1327ID.png diff --git a/images/AliasSiteID.png b/v0.1.0/images/AliasSiteID.png similarity index 100% rename from images/AliasSiteID.png rename to v0.1.0/images/AliasSiteID.png diff --git a/images/AliasStatusID.png b/v0.1.0/images/AliasStatusID.png similarity index 100% rename from images/AliasStatusID.png rename to v0.1.0/images/AliasStatusID.png diff --git a/images/AliasTalkgroupID.png b/v0.1.0/images/AliasTalkgroupID.png similarity index 100% rename from images/AliasTalkgroupID.png rename to v0.1.0/images/AliasTalkgroupID.png diff --git a/images/AliasUniqueID.png b/v0.1.0/images/AliasUniqueID.png similarity index 100% rename from images/AliasUniqueID.png rename to v0.1.0/images/AliasUniqueID.png diff --git a/images/CallEvents.png b/v0.1.0/images/CallEvents.png similarity index 100% rename from images/CallEvents.png rename to v0.1.0/images/CallEvents.png diff --git a/images/Channel.png b/v0.1.0/images/Channel.png similarity index 100% rename from images/Channel.png rename to v0.1.0/images/Channel.png diff --git a/images/ChannelMap.png b/v0.1.0/images/ChannelMap.png similarity index 100% rename from images/ChannelMap.png rename to v0.1.0/images/ChannelMap.png diff --git a/images/Configuration.png b/v0.1.0/images/Configuration.png similarity index 100% rename from images/Configuration.png rename to v0.1.0/images/Configuration.png diff --git a/images/E4000.png b/v0.1.0/images/E4000.png similarity index 100% rename from images/E4000.png rename to v0.1.0/images/E4000.png diff --git a/images/FuncubeDonglePro.png b/v0.1.0/images/FuncubeDonglePro.png similarity index 100% rename from images/FuncubeDonglePro.png rename to v0.1.0/images/FuncubeDonglePro.png diff --git a/images/FuncubeDongleProPlus.png b/v0.1.0/images/FuncubeDongleProPlus.png similarity index 100% rename from images/FuncubeDongleProPlus.png rename to v0.1.0/images/FuncubeDongleProPlus.png diff --git a/images/HackRF.png b/v0.1.0/images/HackRF.png similarity index 100% rename from images/HackRF.png rename to v0.1.0/images/HackRF.png diff --git a/images/Overview.png b/v0.1.0/images/Overview.png similarity index 100% rename from images/Overview.png rename to v0.1.0/images/Overview.png diff --git a/images/P25_Decoding.png b/v0.1.0/images/P25_Decoding.png similarity index 100% rename from images/P25_Decoding.png rename to v0.1.0/images/P25_Decoding.png diff --git a/images/P25_Decoding_2.png b/v0.1.0/images/P25_Decoding_2.png similarity index 100% rename from images/P25_Decoding_2.png rename to v0.1.0/images/P25_Decoding_2.png diff --git a/images/SDRTrunk_application.png b/v0.1.0/images/SDRTrunk_application.png similarity index 100% rename from images/SDRTrunk_application.png rename to v0.1.0/images/SDRTrunk_application.png diff --git a/images/ScriptAction.png b/v0.1.0/images/ScriptAction.png similarity index 100% rename from images/ScriptAction.png rename to v0.1.0/images/ScriptAction.png diff --git a/images/Site.png b/v0.1.0/images/Site.png similarity index 100% rename from images/Site.png rename to v0.1.0/images/Site.png diff --git a/images/System.png b/v0.1.0/images/System.png similarity index 100% rename from images/System.png rename to v0.1.0/images/System.png diff --git a/images/Tuners.png b/v0.1.0/images/Tuners.png similarity index 100% rename from images/Tuners.png rename to v0.1.0/images/Tuners.png diff --git a/images/passport_decoding.png b/v0.1.0/images/passport_decoding.png similarity index 100% rename from images/passport_decoding.png rename to v0.1.0/images/passport_decoding.png diff --git a/v0.2.0/AM.md b/v0.2.0/AM.md new file mode 100644 index 0000000..67788bd --- /dev/null +++ b/v0.2.0/AM.md @@ -0,0 +1,8 @@ +# AM Decoder # + +The AM decoder is a simple AM demodulator for monitoring air band and other +amplitude modulated signals. + +## Squelch Control ## + +The AM decoder doesn't provide any audio squelch control. \ No newline at end of file diff --git a/v0.2.0/APCO25.md b/v0.2.0/APCO25.md new file mode 100644 index 0000000..e45cd46 --- /dev/null +++ b/v0.2.0/APCO25.md @@ -0,0 +1,81 @@ +# APCO-25 Decoder # + +The P25 decoder processes all voice, trunking, and data messages and provides +traffic/voice/data call following when a tuner is available that can monitor +both the control channel and any traffic channels within the available bandwidth +of the tuner, or across multiple tuners. + +## P-25 Phase I## +Decodes FDMA Common Air Interface (CAI) C4FM modulation and Linear Simulcast +Modulation (LSM). + +## P-25 Phase II## +Phase II TDMA decoding is not currently supported. + +## P-25 Hybrid (Phase I/II)## +P25 hybrid systems use both Phase 1 control channels and Phase I and Phase II +traffic channels, providing transition support for users with a combination of +Phase I and Phase II radios. + +TDMA configuration messages that are broadcast on Phase I control channels are +decoded. Currently these include the TDMA timing synchronization and TDMA +channel identifier messages. + +## Audio Vocoders ## + +### IMBE ### +APCO-25 Phase I audio calls use the multi-band excitation model vocoder to +compress the digitized audio. SDRTrunk supports the JMBE library for decoding +audio, but DOES NOT include the jmbe library in the normal application download. +You must download and compile the library and place the jmbe-x.x.x.jar file in +the same directory from where you launch the sdrtrunk application. On startup, +sdrtrunk will attempt to discover the library and can then decode imbe audio. + +[JMBE library](https://github.com/DSheirer/jmbe) + +[How To Setup JMBE](JMBE) + +### VSELP ### +SDRTrunk recognizes VSELP audio CODEC messages and will display them in the +messages tab during decoding. However, it will not decode the audio. + +## Traffic Channel Following ## +The P25 decoder provides full traffic channel following when monitoring a P25 +control channel. You can optionally select to not follow data calls in the +decoder configuration when setting up the channel for decoding. + +## Talkgroups and Addresses ## + +All talkgroups and radio addresses are listed in hexadecimal (base-16) notation +and use the digits 0 - 9 and the letters A - F. Talkgroups are four characters +in length and radio addresses are six characters in length. + +Packet data IP Version 4 addresses will normally show in the from column of the +events window and the Logical Link ID (radio address) will show in the from +column with the radio's IP Version 4 address listed in the details column. If +the data contains UDP over IP protocol, the UDP source and destination ports +will be appended to the IP address. + +## Aliases ## + +You can create an Alias List and attach it to your P25 decoder in the channel +configuration window. + +When aliasing talkgroups and radio addresses, ensure you include the full 4 or 6 +character talkgroup or address with leading zeros. + +## Modulation ## + +Choose either C4FM or LSM Simulcast (CQPSK) modulation in the channel configuration +decoder tab. When you select the P25 Decoder from the drop-down list, the +modulation selector list will appear. + +## P25 Decoding Example ## + +The following screenshot shows the application configured to decode one P25 +control channel. It also shows 3 traffic channels being decoded where the +call event was decoded on the control channel and sdrtrunk automatically +created the 3 decoder channels to follow the calls. + +![](images/P25Decoder.png) + diff --git a/v0.2.0/ActivitySummary.md b/v0.2.0/ActivitySummary.md new file mode 100644 index 0000000..f753422 --- /dev/null +++ b/v0.2.0/ActivitySummary.md @@ -0,0 +1,13 @@ +# Activity Summary # + +The activity summary window displays a summary of information about network, frequency, call and user activity received. The format of the activity summary is different for each decoder. + +If you are using [auxiliary decoders](AuxiliaryDecoder), then the activity summary for each of those auxiliary decoders is included at the end of the primary decoder activity summary. + +## Accessing Activity Summary ## + +The activity summary window can be accessed from any of the channel context menus + + * **[Configuration](Configuration)** - right-click on a currently decoding channel in the configuration tree + * **[Decoding Channels](DecodingChannels)** - right-click on a channel + * **[Spectral Display](SpectralDisplay)** - right click on a currently decoding channel overlay \ No newline at end of file diff --git a/v0.2.0/Airspy.md b/v0.2.0/Airspy.md new file mode 100644 index 0000000..a0d3a13 --- /dev/null +++ b/v0.2.0/Airspy.md @@ -0,0 +1,62 @@ +# Airspy # + +## Tuner Configurations ## + +SDRTrunk allows you to define multiple named tuner configurations per tuner +type. A **Default** configuration is automatically created the first time you +use each specific tuner type and will be recreated again if you accidentally +delete or rename the **Default** configuration. + +Each time you plug your USB tuner into a new USB port, it will automatically +use the **Default** tuner configuration. If you select a different named +configuration, SDRTrunk will remember to use that named configuration each time +you use the USB tuner in that specific USB port. If you create a named +configuration for your tuner and subsequently move the tuner to a different +USB port, simply select that named configuration from the drop-down list and it +will store that port to named configuration setting. + +All changes to a named configuration are automatically saved. + +## Configuration ## + + * **Frequency** - sets the tuned frequency + * **Config Tab** - controls for changing tuner configuration + * **Info Tab** - displays information about the tuner + +### Configuration Tab ### + + * **Configuration Selection List** - selects a named configuration to use. Automatically applies the corresponding settings to the tuner + * **Name** - tuner configuration name. + + * **New** - creates a new named tuner configuration + * **Delete** - deletes the currently listed tuner configuration + +### Info Tab ### +The info tab displays information about the tuner: + + * **Serial** - serial number of the Airspy tuner. + +## Using the Airspy ## + +## Updating Firmware ## + +The firmware label shown on the Info tab is the GIT revision label that was +tagged against the software release. SDRTrunk does not support +flashing the Airspy with new firmware. Use the Airspy tools to update the +tuner. + +## Using Airspy With Linux ## + +If you've never setup your airspy for linux, you'll need to add permissions to allow users to access the airspy: + +1. Copy the file **\config\52-airspy.rules** from the sdrtrunk application folder to your **\etc\udev\rules.d** folder. + + sudo cp 52-airspy.rules \etc\udev\rules.d + +2. Set file permissions. + + sudo chmod u=rw,g=r,o=r 52-airspy.rules + +3. Refresh the udev rules + + sudo udevadm control --reload-rules diff --git a/v0.2.0/Alias.md b/v0.2.0/Alias.md new file mode 100644 index 0000000..3bbaaba --- /dev/null +++ b/v0.2.0/Alias.md @@ -0,0 +1,98 @@ +# Alias # + +An alias is a user defined label that can be associated with one or more +identifiers produced by the decoders. Each alias can include: + + * **Alias Identifier** - (see below) one or more identifiers that you want to be associated with the alias + * [Alias Action](AliasAction) - an action that you want to happen each time the alias is active + * [Non-Recordable](NonRecordable) - indicates that the alias should not be recorded when + AUDIO recording is specified for the decoding channel + * [Call Priority](CallPriority) - specifies audio playback priority for this alias or allows + you to designate an alias as 'DO NOT MONITOR' + +![](images/Alias.png) + +## Creating an Alias ## + +Right-click on the Alias Group folder and select **New Alias**. + +## Deleting an Alias ## + +Right-click on the Alias and select **Delete** + +## Configuring an Alias ## + + * **Name** - display name for the alias + * **Map Color** - for decoders that produce (GPS) locations where the entity can be plotted on the map, designates the color of the label and history trail used for that entity + * **Map Icon** - picture to display with the alias + * **[Icon Manager](IconManager)** - tool for managing and importing new pictures to use with Aliases. + * **Save** - saves any changes to the alias + * **Reset** - resets the alias with the last saved values + +## Alias Identifiers ## + +Each message and event produced by the decoders contains user and system +identifiers that can be aliased. One or more of these decoded identifiers can +be assigned to an alias. + +### Alias Identifier Wildcards ### + +Each of the alias identifiers (except LTR-Net unique ID and Status) allow you to +specify a single character wildcard (asterisk) or a full java regular expression +to use when matching identifiers. + +Examples: + +``` +0-**-123 LTR talkgroup 123 on any LCN +ABCD12** Any electronic serial numbers beginning with ABCD12 +(?!FA-40|FA-41|FA-42).* Any lojack site ID except for FA-40, FA-41, or FA-42 (use '|' to separate each site identifier) +``` + +### Create an Alias Identifier ### + +Right-click on the Alias folder and in the ADD ID menu, select the type of alias +identifer you want to associate with the Alias. + +### Delete an Alias Identifier ### + +Right-click on the Alias identifier and select **Delete**. + +## Alias Identifier Types ## + + * **ESN** - electronic serial number. + +![](images/AliasESNID.png) + + * **Fleetsync** - fleetsync identifier. + +![](images/AliasFleetsyncID.png) + + * **LoJack** - lojack tower or transponder and related functions. + + * **MDC-1200** - MDC-1200 identifier. + +![](images/AliasMDC1200ID.png) + + * **MIN** - passport radio Mobile ID Number (MIN). + +![](images/AliasMIDID.png) + + * **MPT-1327** - MPT-1327 user or group identifier. + +![](images/AliasMPT1327ID.png) + + * **Site** - site number. + +![](images/AliasSiteID.png) + + * **Status** - status numeric value produced by decoders like P25 or FLEETSYNC + + * **Talkgroup** - used with P25, LTR and Passport talkgroups. **TGID** +identifies the formatted talkgroup. + +![](images/AliasTalkgroupID.png) + + * **Unique ID** - LTR-Net mobile radio unique ID (UID). + +![](images/AliasUniqueID.png) \ No newline at end of file diff --git a/v0.2.0/AliasAction.md b/v0.2.0/AliasAction.md new file mode 100644 index 0000000..cc82d4e --- /dev/null +++ b/v0.2.0/AliasAction.md @@ -0,0 +1,48 @@ +# Alias Action # + +You can assign one or more alias actions to an alias that will be executed when the alias becomes active in a decoded message. Each message type can produce one or more aliases against any of the identifiers in the message that can be associated with an alias. + +## Interval ## + +Interval defines when and how often the action will occur. + +**Once** - the action will only occur once when the alias is first active for the duration that sdrtrunk is running. + +**Once, Reset After Delay** - the action will occur when the alias is first active, but will suppress any further actions for a specified number of seconds. Once the delay period has elapsed, this action will again alert in the future if the alias is active. + +**Until Dismissed** - the action will occur when the alias is first noted active and will continue to occur every specified number of seconds. A dialog window with an OK button will pop up and the action will repeat until the user clicks the OK button. The action will reset 15 seconds after the OK button is pressed and will alert again in the future if the alias is active. + +## Period ## + +Specifies the time period in seconds for the two interval options that require a time period setting. + +# Available Alias Actions # + +![](images/AliasActions.png) + +## Audio Clip ## + +Plays the audio clip specified by the file name. The audio clip action provides a file selection button and a test button to allow you to play the selected audio file to ensure that the file is a supported audio type. + +## Beep ## + +Beeps the computer + +## Script ## + +The script action allows you to select a script, batch file, or program to execute when the action occurs. Select the program from the File button and use the Test button to test the script to ensure that the script operates correctly. + +![](images/ScriptAction.png) + +# Errors # + +If any errors are encountered playing an audio clip or executing a script, a popup window will appear providing details on the error. + +# How To Assign An Alias Action # + + * Right-click on an alias + * Select the Add Action menu and choose from the list of available actions + * Ensure the newly added alias action is highlighted in the tree + * Configure the interval and period settings + * Optionally select a file and test the action against the file + * Click the Save button at the bottom of the configuration window \ No newline at end of file diff --git a/v0.2.0/AliasGroup.md b/v0.2.0/AliasGroup.md new file mode 100644 index 0000000..f1d2e2e --- /dev/null +++ b/v0.2.0/AliasGroup.md @@ -0,0 +1,13 @@ +# Alias Group # + +Contains a list of [Aliases](Alias) used by the decoder to assign an alias name to one or more identifiers produced by the decoder. Use alias groups to arrange each set of user aliases into groups on a system. + +![](images/AliasGroup.png) + +## Creating an Alias Group ## + +Right-click on the Alias List folder and select **New Group**. + +## Deleting an Alias Group ## + +Right-click on the Alias Group and select **Delete** \ No newline at end of file diff --git a/v0.2.0/AliasList.md b/v0.2.0/AliasList.md new file mode 100644 index 0000000..5911468 --- /dev/null +++ b/v0.2.0/AliasList.md @@ -0,0 +1,13 @@ +# Alias List # + +Contains a list of [Alias Groups](AliasGroup) and [Aliases](Alias) used by the decoder to assign an alias name to one or more identifiers produced by the decoder. + +![](images/AliasList.png) + +## Creating an Alias List ## + +Right-click on the Alias Lists folder and select **New Alias List**. + +## Deleting an Alias List ## + +Right-click on the Alias List and select **Delete** \ No newline at end of file diff --git a/v0.2.0/ApplicationLog.md b/v0.2.0/ApplicationLog.md new file mode 100644 index 0000000..63f60d1 --- /dev/null +++ b/v0.2.0/ApplicationLog.md @@ -0,0 +1,19 @@ +# Application Log # + +The application log contains logging information about the application. Note: see [EventLog](EventLog) for details about logging of decoded channel messages. + +# Location # + +**Windows 7**: + +c:\Users\(your username)\sdrtrunk\log\ + + +--- + + +**Linux**: + +In your user directory: + +~\sdrtrunk\log \ No newline at end of file diff --git a/v0.2.0/ApplicationOverview.md b/v0.2.0/ApplicationOverview.md new file mode 100644 index 0000000..a1a7be2 --- /dev/null +++ b/v0.2.0/ApplicationOverview.md @@ -0,0 +1,15 @@ +### Application Overview ### + + * [Audio Panel](AudioPanel) + * [Channel Spectrum](ChannelSpectrum) + * [Configuration](Configuration) + * [Decoding Channels](DecodingChannels) + * [Editor](Editor) + * [Events](CallEvents) + * [Map](Map) + * [Messages](Messages) + * [Spectral Display](SpectralDisplay) + * [Waterfall Display](WaterfallDisplay) + +![](images/Overview.png) + \ No newline at end of file diff --git a/v0.2.0/AudioPanel.md b/v0.2.0/AudioPanel.md new file mode 100644 index 0000000..bc23ae8 --- /dev/null +++ b/v0.2.0/AudioPanel.md @@ -0,0 +1,64 @@ +# Audio Panel # + +The audio panel controls the audio that is played from the decoding channels to +either you computer speakers or headphones. Audio from each decoding channel +is automatically routed to the Audio Manager and the audio manager automatically +routes the highest priority audio to the speakers. + +Each audio playback channel is automatically started and stopped depending on +audio availability. Playback channels use an internal buffer to store a +small number of audio frames before automatically starting playback. Therefore, +you may experience a slight delay between seeing a call start in the decoder +window and audio playback starting. Likewise, you may hear audio playing for a +short period after the decoding channel display indicates that the call has +ended. + +Audio priority can be specified for each alias that you create. If you want +certain talkgroups or identifiers to have a higher priority for listening, you +can create the alias, assign the talkgroup(s) or identifier(s) and specify a +priority. + +If a call is in playback over the speakers and a higher priority call comes in, +the higher priority call will be routed and the existing call audio will be +stopped. + +You can override all call priorities defined in the system when you select an +individual decoding channel. Any audio produced from a selected channel is +routed with the highest priority for playback. + +## Audio Playback Device ## + +The default audio playback device with mono audio is selected by default. You +can change the audio playback device and choose the number of playback channels +by right-clicking on the audio panel and use the AUDIO OUTPUT menu to select a +different audio device. + +## Mono Audio Playback ## +You can select mono audio playback to have any playback audio routed to both +speakers. + +![](images/mono_audio_panel.png) + +## Stereo Audio Playback ## +You can select stereo audio playback so that you have independent LEFT and RIGHT +audio playback over a stereo audio output. Each audio channel will be managed +by the Audio Manager and all audio produced by all decoding channels will be +routed to these two channels on a priority basis. + +![](images/stereo_audio_panel.png) + +## Mute Button ## +The green speaker icon on the audio panel is the master mute control. Click the +icon to mute the audio and the icon will turn red. Click again, and the audio +will unmute and the icon will turn green again. + +![](images/audio_muted.png) + +## Channel Menu ## +Right-click on either the MONO channel, or the LEFT or RIGHT channel to access +the context menu for the channel. You can independently mute or change the +audio volume of each channel via this context menu. + +## Channel Mute ## +Each channel will show a RED M in the panel when the audio is muted either via +the master mute button, or by the channel mute context menu. \ No newline at end of file diff --git a/v0.2.0/B100.md b/v0.2.0/B100.md new file mode 100644 index 0000000..1fb77ca --- /dev/null +++ b/v0.2.0/B100.md @@ -0,0 +1,5 @@ +# Ettus Research B100 with WBX Daughter Card # + +Coming soon. + +https://www.ettus.com/product/details/UB100D-BDL \ No newline at end of file diff --git a/v0.2.0/Building.md b/v0.2.0/Building.md new file mode 100644 index 0000000..2cfa8ee --- /dev/null +++ b/v0.2.0/Building.md @@ -0,0 +1,28 @@ +# Downloading and Compiling sdrtrunk # + +This page describes several methods for checking out the source code from the SVN server and building the sdrtrunk application on your local computer. + +## Eclipse IDE ## + +If you use the [Eclipse IDE for Java](http://www.eclipse.org/downloads/), you can download and import the sdrtrunk project directly into Eclipse. + + 1. Install an eclipse svn plugin ( Help > Install New Software, choose the Luna site, Collaboration > Subversive SVN ) + 1. Project Explorer > Import > SVN > Project from SVN + 1. Create a new repository location: https://sdrtrunk.googlecode.com/svn +> or http://sdrtrunk.googlecode.com/svn/trunk/ + 1. Open the ant view ( Window > Show View > Ant ) + 1. Drag the ant build script from the Package Explorer (sdrtrunk/build/build.xml) into the ant view panel + 1. Click the play button to execute the default build target + 1. Compiled software package is placed in the sdrtrunk/product/xxx.zip folder + +## Manually ## + + 1. Install the Java JDK version 1.7 or higher and create a JAVA\_HOME environment variable pointing to the JDK installation folder + 1. Install an SVN client on your computer: [Tortoise SVN](http://tortoisesvn.net/downloads.html) on windows or kdesvn on Linux + 1. Checkout the source code from https://sdrtrunk.googlecode.com/svn +> or http://sdrtrunk.googlecode.com/svn/trunk/ + 1. Install the latest version of [Ant](http://ant.apache.org/) and follow the installation instructions in the [manual](http://ant.apache.org/manual/index.html) + 1. Change to the sdrtrunk build directory ( sdrtrunk/build ) + 1. Execute the ant command. + +Ant will look for a file named build.xml in the current folder and will run the the default build target. The compiled and zipped output program file will be located in the sdrtrunk/product/xxx.zip folder. \ No newline at end of file diff --git a/v0.2.0/CallEvents.md b/v0.2.0/CallEvents.md new file mode 100644 index 0000000..4a23ad2 --- /dev/null +++ b/v0.2.0/CallEvents.md @@ -0,0 +1,50 @@ +# Call Events # + +The **Events** window displays a history of the radio calls and network messages +that have been decoded for each channel. Select each channel individually in +the [decoding channels](DecodingChannels) window to display the call event +history for that channel. + +![](images/CallEvents.png) + +## Call Event Table Details ## + + * **Time** - time that the event occurred + * **Event** - call event description + * **From** - identifier of the radio that initiated the call + * **From Alias** - alias label of the from entity + * **To** - identifier of the radio or talkgroup receiving the call + * **To Alias** - alias label of the to entity + * **Channel** - channel number for the event + * **Frequency** - frequency of the channel number + * **Details** - minimal additional details for the call event + +## Call Event Types ## + * **Acknowledge** - acknowledgement from a radio + * **ANI** - automatic number identification for a radio + * **Announcement** - announcement transmitted on a control channel + * **Call** - call event + * **Call Alert** - a mobile radio is alerted about a pending call + * **Call Detect** - a call detected on another channel + * **Call-Do Not Monitor** - a call where either the TO or FROM identifier's + alias has a call priority with the 'Do Not Monitor' box checked + * **Command** - the network is commanding a mobile radio to do something + * **Data Call** - a data call event + * **Deregister** - a mobile radio is deregistering from the network + * **Emergency** - emergency notification from a radio + * **Encrypted Call** - a call using encryption + * **ESN** - radio registering on the network with an ESN, or responding to an ESN interrogation + * **Function** - a function transmitted by the network to the mobile radio + * **GPS** - gps location broadcast from a mobile radio + * **Group Call** - a group call event + * **Page** - the system is paging a radio + * **Query** - the network is querying the status of a mobile radio + * **Register** - radio registering on the network + * **Response** - the network is responding to a mobile radio + * **SDM** - short data message + * **Station ID** - network callsign (FCC ID) + * **Status** - status message + * **Telephone Interconnect** - a landline call to or from a mobile radio + * **Unit To Unit Call** - mobile radio to mobile radio call + * **Unique ID** - LTR-Net unique identifier for a radio registration + \ No newline at end of file diff --git a/v0.2.0/CallPriority.md b/v0.2.0/CallPriority.md new file mode 100644 index 0000000..0a28604 --- /dev/null +++ b/v0.2.0/CallPriority.md @@ -0,0 +1,18 @@ +# Call Priority # + +Any alias can be assigned a call monitoring priority. Priority values range +from 1 to 100, with 1 being the highest priority and 100 being the lowest. + +Audio playback will use any call priority that you have specified and will +automatically override lower priority calls with higher priority calls when they +occur. + +You can designate an alias as 'DO NOT MONITOR' and any audio calls where that +alias is a participant will not be routed for audio playback. + +Note: if you select a decoding channel, any audio from that channel will have +the highest priority and will override any settings that you have defined. +Selected audio has an effective priority of 0 so it will be higher priority than +your priority 1 alias calls. + +![](images/call_priority.png) diff --git a/v0.2.0/Channel.md b/v0.2.0/Channel.md new file mode 100644 index 0000000..ca01fde --- /dev/null +++ b/v0.2.0/Channel.md @@ -0,0 +1,67 @@ +# Channel # + +A channel defines all of the configuration details needed for to setup a radio channel for decoding. When a [Channel](Channel) is actively decoding, the system icon is colored Green. If there is no source available, the channel icon turns red. + +![](images/Channel.png) + +## Creating a New Channel ## + +Right-click on a [Site](Site) folder and select 'New Channel'. + +## Deleting a Channel ## + +Right-click on the [Channel](Channel) and select 'Delete' + +## Starting/Stopping Channel Decoding ## + +Use the Enabled check box in the channel configuration to turn decoding on or off. Once you save the configuration, the channel will automatically start decoding, if enabled. + +**Quick Start** - right-click on the channel in the configuration window, or right-click on the channel in the spectral display and selected 'Enable' or 'Disable' to turn the decoder on or off with one click. + +## Channel Configuration ## + + * **Enabled** - turns the channel on/off for decoding. + * **Name** - name for the channel + * **Aliases** - assigns an AliasList to the channel so that any identifiers produced by the decoder can have an [Alias](Alias) value. + * **Source Tab** - designates the source for raw sampled data to feed the decoder + * **Decoder Tab** - designates the primary decoder to use for this channel + * **Aux Tab** - identifies additional auxiliary decoders to use in addition to the primary decoder + * **Event Log Tab** - logging options for decoded events + * **Record Tab** - recording options + +### Source Tab ### + +The source tab allows you to specify the source for raw sampled data to feed the primary and auxiliary decoders. + + * **No Source** - this is the default source when a new channel is created. You cannot decode a channel with this source. + * **Mixer/Sound Card** - allows you to use an external radio scanner with the audio output or discriminator tapped audio from the scanner patched to a sound card input on the computer. Select the Mixer (Sound Card) and Channel for the sound card where you have the scanner audio patched. + * **Tuner** - allows you to specify a radio frequency as the source for raw samples. You must have a [Tuner](Tuner) attached to your computer and it must appear in the list of [Tuners](Tuners) in the SDRTrunk [Configuration](Configuration) window. If no tuners are attached, or if none of the attached tuners can tune the requested frequency, the channel will indicated 'No Tuner' when you enable it. + +### Decoder Tab ### + +The decoder tab provides a list of available primary [decoders](Decoder) to select for the channel. Only one primary decoder can be selected per channel. If you want to run multiple primary decoders, create additional channels, each with a different primary decoder. + + * [LTR-Standard](LTR) - FM demodulator and Logic Trunked Radio (LTR) trunked radio signaling decoder + * [LTR-Net](LTRNet) - FM demodulator and LTR-Net trunked radio signaling decoder + * [MPT-1327](MPT1327) - FM demodulator and MPT-1327 trunked radio signaling decoder. Provides automatic traffic channel following. + * [NBFM](NBFM) - narrow-band FM demodulator. + * [Passport](Passport) - FM demodulator and Passport trunked radio signaling decoder. + +## Aux Tab ## +The aux tab allows you to select from multiple auxiliary decoders to use in addition to the selected primary decoder. Auxiliary decoders are used to decode pass-band audio signals like gps and digital radio identification bursts that are used on some trunked and conventional radio systems. + + * [Fleetsync II](Fleetsync2Decoder) - decodes ANI, Acknowledge, Status, Paging and GPS bursts + * [MDC-1200](MDC1200Decoder) - decodes MDC-1200 ANI bursts.** + +### Event Log Tab ### +The event log tab allows you to select from multiple textual logging options. + + * **Binary Messages** - logs raw binary messages created by the decoder. Each message contains a timestamp, protocol, and a string of binary ones and zeros. + * **Decoded Messages** - logs decoded textual messages created by the decoder. + * **Call Events** - logs all of the call events that can be seen in the [Calls](CallEvents) window. + +### Record Tab ### +The record tab provides options for recording of the demodulated/decoded audio and/or the raw I/Q samples from a tuner or complex mixer source. + + * **Audio** - records all demodulated audio, uninterrupted and without squelch control in a wave file. + * **Baseband I/Q** - records all raw baseband sample data in a two-channel, 16-bits per sample wave file. \ No newline at end of file diff --git a/v0.2.0/ChannelMap.md b/v0.2.0/ChannelMap.md new file mode 100644 index 0000000..04ae549 --- /dev/null +++ b/v0.2.0/ChannelMap.md @@ -0,0 +1,35 @@ +# Introduction # + +Channel Maps are used by some decoders to specify the channel number to frequency mapping used by a system. Most decoders do not require a channel map. Channel Maps allow the trunking controller to tell a mobile radio to go to a channel number for a radio call, without having to specify the frequency. An accurate channel map is essential for decoders that support traffic channel following, so that SDRTrunk can tune to the correct traffic channel frequency to decode the traffic channel call. + +![](images/ChannelMap.png) + +## Create a Channel Map ## + +Right-click on the Channel Maps folder and selected **New Channel Map** + +## Delete a Channel Map ## + +Right-click on the Channel Map and select **Delete** + +## Channel Ranges ## + +A channel map contains one or more channel ranges. A range defines a range of channel numbers, the base frequency, and the channel size. A simple math formula produces the channel frequency by multiplying the channel number by the channel size, and adding that value to the base frequency. A channel map can contain multiple channel ranges to support systems where the channel frequencies are not allocated in a contiguous manner. + +### Add a Channel Range ### + +Click 'New Range'. + +### Delete a Channel Range ### + +Highlight the range and click 'Delete' + +## Configuring a Channel Map ## + + * **Name** - Update the name for your channel map. Once you have finished updating the channel map, you can then select this name in the channel's decoder configuration tab. + + * **Range** - update the default channel range in the table with beginning and ending channel numbers, base frequency, and channel size. Use the **New Range** button to add additional channel ranges to the channel map. Use the **Delete** button to delete any channel ranges that aren't needed. + + * **Save** - saves the current configuration. + + * **Reset** - resets the channel map to the last saved state \ No newline at end of file diff --git a/v0.2.0/ChannelSpectrum.md b/v0.2.0/ChannelSpectrum.md new file mode 100644 index 0000000..5892cb0 --- /dev/null +++ b/v0.2.0/ChannelSpectrum.md @@ -0,0 +1,27 @@ +# Channel Spectrum # + +The channel spectrum window allows you to view the dynamic frequency content of +the demodulated audio produced from the currently selected decoding channel. +The demodulated audio is processed with a Discrete Fourier Transform (DFT) +similar to the Spectral Display. This display allows you to hover over each of +the peaks in the audio frequency and a frequency readout is displayed next the +cursor. + +You can use the frequency readout to measure spectral content like CTCSS tones +that may be present in the demodulated audio output. + +Spectral display processing only occurs when you have a channel selected and +when the spectral display tab is displayed. If you have the spectral display +tab displayed and no channels are selected, the display will be empty. + +Note: certain decoders like the P25-LSM decoder do not produce demodulated audio +and will not display audio content in the channel spectrum window. The audio +output from digital voice CODECs is not displayed in this channel spectrum +window. + +## Context Menus ## +You can change the color, FFT size, and frame rate of the channel spectrum +window by right-clicking anywhere in the display and choosing from the menu +options. + +![](images/channel_spectrum.png) \ No newline at end of file diff --git a/v0.2.0/Configuration.md b/v0.2.0/Configuration.md new file mode 100644 index 0000000..6ddc224 --- /dev/null +++ b/v0.2.0/Configuration.md @@ -0,0 +1,10 @@ +# Configuration # + +The configuration window uses a tree list to provide access to each of the +configurable features and settings in the SDRTrunk application. + + * [Tuners](Tuner) - controls each of the tuners available to the application + * [Playlist](Playlist) - allows you to create and edit decoding channels, + channel maps, and alias lists + +![](images/Configuration.png) \ No newline at end of file diff --git a/v0.2.0/Decoder.md b/v0.2.0/Decoder.md new file mode 100644 index 0000000..3e882bf --- /dev/null +++ b/v0.2.0/Decoder.md @@ -0,0 +1,43 @@ +# Decoders # + +Each decoding [channel](Channel) can have one primary decoder and one or more +auxiliary decoders. If you want to run multiple primary decoders on the same +frequency, create separate channels for each primary decoder. + +## Primary Decoders ### + + * [AM](AM) - AM demodulator + * [LTR-Standard](LTR) - FM demodulator and Logic Trunked Radio (LTR) trunked radio signaling decoder + * [LTR-Net](LTRNet) - FM demodulator and LTR-Net trunked radio signaling decoder + * [MPT-1327](MPT1327) - FM demodulator and MPT-1327 trunked radio signaling decoder and automatic trunked channel following. + * [NBFM](NBFM) - narrow-band FM demodulator. + * [Passport](Passport) - FM demodulator and Passport trunked radio signaling decoder. + * [P-25 Phase 1 C4FM](APCO25) - FM demodulator with P25 message decoder and automatic trunked channel following. + * [P-25 Phase 1 LSM](APCO25) - Quadrature demodulator with P25 message decoder and automatic trunked channel following. + +## Auxiliary Decoders ## +Auxiliary decoders are designed to process demodulated audio or in-band +signalling that is normally layered on top of another digital protocol or FM +modulated analog repeater channel. These layered protocols provide services +like Automatic Number Identification (ANI), status messaging, GPS location, +emergency notification, etc. Auxiliary protocols may be transmitted when the +mobile radio user keys the microphone, or in the case of GPS, they can key the +radio and transmit the GPS location without any user actions. + +How do auxiliary decoders work? Demodulated audio from a primary decoder that uses +an FM demodulator is simultaneously routed to each of the auxiliary decoders +and the decode results and added to the Events and Messages lists, as well as +displayed in the [decoding channel](DecodingChannels) windows. + +Auxiliary decoders are normally used with analog decoders like NBFM, LTR, +LTR-Net, and Passport. + + * [Fleetsync II](Fleetsync2Decoder) - decodes ANI, Acknowledge, Status, Paging and GPS bursts + * [LJ1200](LoJackDecoder) - decodes LoJack data bursts on 173.075 MHz in US. + * [MDC-1200](MDC1200Decoder) - decodes MDC-1200 ANI bursts. + * [Tait 1200](TaitDecoder) - decodes Tait CCDI protocol GPS location bursts. + +**Note**: there are a wide variety of these auxiliary service protocols that can be +easily added to SDRTrunk. If you encounter a new audio-band protocol, collect +a number of good quality samples and send them to the author via the google +support group for possible inclusion in the sdrtrunk application. \ No newline at end of file diff --git a/v0.2.0/DecodingChannels.md b/v0.2.0/DecodingChannels.md new file mode 100644 index 0000000..a60319c --- /dev/null +++ b/v0.2.0/DecodingChannels.md @@ -0,0 +1,116 @@ +# Decoding Channels # + +The decoding channels window displays a list of each of the channels that you +have enabled for decode. + +## Standard vs. Traffic Channels ## + +There are two types of decoding channels processed by the system. STANDARD +channels are defined in the playlist and enabled/disabled by you. TRAFFIC +channels are dynamically created by the Traffic Channel Manager when you are +decoding a control channel and the decoder detects that the monitored network +has allocated a traffic channel. The traffic channel is created, enabled and +disabled at the end of the call. If you are decoding a trunked control channel +and you have configured the decoder to allow traffic channels, you will see these +traffic channels appear in the decoding channels list and then disappear upon +call teardown. + +## Decoding Channel Window ## + +Each decoding channel that you have enabled will have a display panel that shows +the channel information and the current state of the channel. + +![](images/channel_state.png) + +* **Decoder** - name of the primary decoder and related display fields that are unique to each decoder +* **Frequency** - frequency for the channel or audio input source name +* **Logging & Recording** - indicates logging (LOG) and recording (AUDIO/BASEBAND) options are enabled for this channel +* **Name** - name of the channel +* **Site** - channel's site name +* **State** - indicates the current channel state +* **System** - channel's system name + +## Channel States ## +Channel state tracks activity for the primary decoder and any auxiliary decoders +that have been added to the channel. Each state has a color associated with it +to provide visual feedback when the state changes. You can change the color +for each of these states using the right-click context menu. + +### IDLE State ### +Idle is the normal/resting state for a channel when it is not decoding any channel +activity, or when it is only decoding routine, periodic messages from the channel. + +![](images/idle_state.png) + +### CALL State ### +Call indicates the decoder is processing a call sequence. + +![](images/call_state.png) + +### CONTROL State ### +Control indicates that the decoder is processing a trunked radio system control channel. + +![](images/control_state.png) + +### DATA State ### +Data indicates that the decoder is processing a data call between the network +and the mobile radio. Normally, there will be no audio during this state. + +![](images/data_state.png) + +### FADE or TEARDOWN State ### +The FADE and TEARDOWN states occur after any CALL, DATA, or ENCRYPTED states to +provide a short period of time where you can still view the event details after +the event is over. For short audio calls, this provides you a moment to look +at the decoder and see which Identifiers were involved in the event. + +Standard channels use the FADE state and Traffic channels use the TEARDOWN state. +Traffic channels are immediately disabled, so you will likely not see the +TEARDOWN state. Standard channels will immediately transition back to an IDLE +state after the brief FADE pause. + +![](images/fade_state.png) + +### Automatic Audio Squelch ### +Channel state also controls audio playback. When you are using a trunking or +digital decoder, audio will only playback when the channel is in a CALL state. +If you are using a non-trunking decoder like the AM or the NBFM narrow band FM +demodulator, no automatic audio squelch is provided. + +## Selected Channel ## + +A decoding channel can be selected or deselected by left-clicking on the channel +display. A selected channel will have a color (yellow) highlight around the +perimiter of the channel display. Selecting a channel causes several changes +in the application display: + + * **Audio Playback Priority** is set to override all other audio priorities that + you have defined with aliases. This causes any audio output from the + selected channel to automatically be played to the speakers. + * **Channel Spectrum** will display demodulated audio from the channel only + when the channel spectrum tab is visible. When the channel spectrum tab is + hidden by selecting another tab, the spectrum display and processing is halted + even though the channel may still be selected + * **Events** tab in the configuration window will display any decode events + for the decoder channel. + * **Messages** tab in the configuration window will display any decoded + messages from the decoder channel. + + +## Channel Display Context Menus ## + +Right-click on any of the decoding channel displays to see a list of +context-sensitive menus applicable to each channel. + +### CHANNEL Menu ### + * **Disable** - disables decoding for this channel + * [Activity Summary](ActivitySummary) - displays a current activity summary for the channel + * **Delete** - disables and permanently deletes the channel from the [playlist](Playlist) + +### COLOR Menu ### + * **Background** - changes the background color of the channel display. Note: + the channel state color may obscure this background color. + * **Channel State** - changes the color gradient used for each channel state + * **Labels** - changes the text colors for the primary DECODER and the auxiliary + AUX DECODER display labels and the DETAILS for the channel like System, Site and Name. + * **Selected** - changes the channel selection border color diff --git a/v0.2.0/E4000.md b/v0.2.0/E4000.md new file mode 100644 index 0000000..11227cd --- /dev/null +++ b/v0.2.0/E4000.md @@ -0,0 +1,42 @@ +# Elonics E4000 # + +http://www.nooelec.com/store/sdr/sdr-receivers.html + +![](images/E4000.png) + +## Tuner Configurations ## + +SDRTrunk allows you to define multiple named tuner configurations per tuner type. A **Default** configuration is automatically created the first time you use each specific tuner type and will be recreated again if you accidentally delete or rename the **Default** configuration. + +SDRTrunk uses the serial number from the E4000 that can be set using the rtl\_eeprom utility, so automatically associate a named tuner configuration with the E4000 dongle, regardless of which USB port is used. + +All changes to a named configuration are automatically saved. + +## Configuration ## + + * **Frequency** - sets the tuned frequency + * **Configuration Tab** - controls for changing tuner configuration + * **Info Tab** - displays information about the tuner + +### Configuration Tab ### + + * **Config** - selects a named configuration to use. Automatically applies the corresponding settings to the tuner + * **Name** - tuner configuration name. + * **Correction PPM** - correction value to align the currently tuned frequency with the frequency display values. Increasing the value causes the frequency display to move to the left and vice-versa. + * **Sample Rate** - sets the sample rate to use for the tuner. + * **Master Gain** - sets the overall gain for the tuner and automatically controls the individual gain controls. Use the **Manual** setting to enable and independently change the LNA, Mixer and Enhance gain controls + * **LNA Gain** - sets the LNA gain. Place the Master Gain into **Manual** mode to enable this control. + * **Mixer Gain** - sets the Mixer gain. Place the Master Gain into **Manual** mode to enable this control. + * **Enhance Gain** - sets the Enhance gain. Place the Master Gain into **Manual** mode to enable this control. + * **New** - creates a new named tuner configuration + * **Delete** - deletes the currently listed tuner configuration + +### Info Tab ### +The info tab displays information about the tuner: + + * **USB ID** - USB vendor and product identifiers. + * **Vendor** - vendor name from EEPROM + * **Product** - product label from EEPROM + * **Serial** - serial label from EEPROM + * **IR Enabled** - IR enabled setting from EEPROM + * **Remote Wake** - remote wake setting from EEPROM \ No newline at end of file diff --git a/v0.2.0/Editor.md b/v0.2.0/Editor.md new file mode 100644 index 0000000..a7769b6 --- /dev/null +++ b/v0.2.0/Editor.md @@ -0,0 +1,5 @@ +# Editor # + +[Configuration](Configuration) details for each node in the [configuration](Configuration) tree is displayed in the editor window when you select the node in the configuration tree window. + +Use the editor window to update configuration details and then choose **Save** to save the updates or **Reset** to restore the settings to the last saved version. \ No newline at end of file diff --git a/v0.2.0/EventLogger.md b/v0.2.0/EventLogger.md new file mode 100644 index 0000000..9d0c858 --- /dev/null +++ b/v0.2.0/EventLogger.md @@ -0,0 +1,21 @@ +# Event Log # + +The event log contains logging information about decoded messages from one of the decoder channels. Each channel will generate a log file that starts with a time stamp and ends with the channel name and a .log suffix. + +Note: see [ApplicationLog](ApplicationLog) for details about logging of application information. + +# Location # + +**Windows 7**: + +c:\Users\(your username)\SDRtrunk\event\_logs\ + + +--- + + +**Linux**: + +In your user directory: + +~\SDRtrunk\event\_logs \ No newline at end of file diff --git a/v0.2.0/FC0013.md b/v0.2.0/FC0013.md new file mode 100644 index 0000000..46b608c --- /dev/null +++ b/v0.2.0/FC0013.md @@ -0,0 +1,5 @@ +# RTL-2832 with Fitipower FC0013 Tuner # + +Coming soon. + +http://www.nooelec.com/store/sdr/sdr-receivers. \ No newline at end of file diff --git a/v0.2.0/Fleetsync2.md b/v0.2.0/Fleetsync2.md new file mode 100644 index 0000000..f106972 --- /dev/null +++ b/v0.2.0/Fleetsync2.md @@ -0,0 +1,29 @@ +# Fleetsync II Decoder # + +Fleetsync is a digital radio identifier, status, GPS, and data protocol that is normally used in addition to other trunked radio protocols and/or on conventional radio channels. The decoder decodes Automatic Number Identification (ANI), Acknowledgements, Status and GPS messages. If you discover additional message types, please share them with the author for inclusion in the decoder. + +## Using Fleetsync Decoder ## + +Select the Fleetsync decoder in the **Aux** tab of the channel configuration window. If you are decoding a conventional channel, then use the [NBFM](NBFM) decoder as the primary decoder. The Fleetsync auxiliary decoder can be used in addition to any of the primary analog trunked radio decoders. + +## GPS ## + +GPS data bursts normally occur on a conventional radio channel, separate from normal voice communications. Each mobile radio has a unique timestamp that tells it when to broadcast, so that users don't broadcast on top of each other. In addition to the defined time to transmit, radios are told how often to broadcast. Broadcast updates of 1, 3, 5 and 6 minute intervals have been observed. + +Smaller fleets may broadcast more often. Larger fleets will broadcast less often, because each radio must have an opportunity to broadcast at least once within the repeat interval. + +## Status ## + +Mobile radios are programmed with a pre-defined list of canned status messages. The decoder will display the status number received. If you can determine the meaning of each status number, you can alias the status number with a status alias identifier so that the meaning is displayed, instead of the status number. + +## Acknowledge ## + +Some radio networks will acknowledge status messages. When this happens, the mobile radio will broadcast a status message, and the network will immediately respond with an acknowledgement. + +## Aliases ## + +Add the following aliases to each alias list you are using for Fleetsync: + + * 099-0999 Broadcast Call + * `*``*``*`-0999 Fleet Call + * 099-`*``*``*``*` Supervisor Call \ No newline at end of file diff --git a/v0.2.0/FuncubeDonglePro.md b/v0.2.0/FuncubeDonglePro.md new file mode 100644 index 0000000..5204f4c --- /dev/null +++ b/v0.2.0/FuncubeDonglePro.md @@ -0,0 +1,42 @@ +# Funcube Dongle Pro Tuner # + +![](images/FuncubeDonglePro.png) + +## Tuner Configurations ## + +SDRTrunk allows you to define multiple named tuner configurations per tuner type. A **Default** configuration is automatically created the first time you use each specific tuner type and will be recreated again if you accidentally delete or rename the **Default** configuration. + +Each time you plug your USB tuner into a new USB port, it will automatically use the **Default** tuner configuration. If you select a different named configuration, SDRTrunk will remember to use that named configuration each time you use the USB tuner in that specific USB port. If you create a named configuration for your tuner and subsequently move the tuner to a different USB port, simply select that named configuration from the drop-down list and it will store that port to named configuration setting. + +All changes to a named configuration are automatically saved. + +## Configuration ## + + * **Frequency** - sets the tuned frequency + * **Configuration Tab** - controls for changing tuner configuration + * **Info Tab** - displays information about the tuner + +### Configuration Tab ### + + + * **Configuration Selection List** - selects a named configuration to use. Automatically applies the corresponding settings to the tuner + * **Name** - tuner configuration name. + * **Correction Tab - Frequency PPM** - correction value to align the currently tuned frequency with the frequency display values. Increasing the value causes the frequency display to move to the left and vice-versa. + * **Correction Tab - DC Inphase** - corrects for DC offset in the Inphase component + * **Correction Tab - DC Quadrature** - corrects for DC offset in the Quadrature component + * **Correction Tab - Gain** - corrects for Gain + * **Correction Tab - Phase** - corrects for Phase + * **Gain Tab - LNA** - LNA gain setting + * **Gain Tab - LNA Enahance** - LNA enhance gain setting + * **Gain Tab - Mixer** - Mixer gain setting + * **New** - creates a new named tuner configuration + * **Delete** - deletes the currently listed tuner configuration + +### Info Tab ### +The info tab displays information about the tuner: + + * **USB Address** - current USB bus and device port, and USB vendor and product identifiers. + * **Cellular Band** - indicates if the cellular band is blocked or unblocked for this tuner + * **Firmware** - firmware revision + +Note: firmware on the http://www.funcubedongle.com/?page_id=313 website is identified by a major revision and letter. Convert the listed firmware minor revision number to a letter to identify the correct firmware revision on the funcube website. For example, firmware **18.10** is listed as **18j** on the funcube website. \ No newline at end of file diff --git a/v0.2.0/FuncubeDongleProPlus.md b/v0.2.0/FuncubeDongleProPlus.md new file mode 100644 index 0000000..8f195a4 --- /dev/null +++ b/v0.2.0/FuncubeDongleProPlus.md @@ -0,0 +1,34 @@ +# Funcube Dongle Pro Plus Tuner # + +![](images/FuncubeDongleProPlus.png) + +## Tuner Configurations ## + +SDRTrunk allows you to define multiple named tuner configurations per tuner type. A **Default** configuration is automatically created the first time you use each specific tuner type and will be recreated again if you accidentally delete or rename the **Default** configuration. + +Each time you plug your USB tuner into a new USB port, it will automatically use the **Default** tuner configuration. If you select a different named configuration, SDRTrunk will remember to use that named configuration each time you use the USB tuner in that specific USB port. If you create a named configuration for your tuner and subsequently move the tuner to a different USB port, simply select that named configuration from the drop-down list and it will store that port to named configuration setting. + +All changes to a named configuration are automatically saved. + +## Configuration ## + + * **Frequency** - sets the tuned frequency + * **Configuration Tab** - controls for changing tuner configuration + * **Info Tab** - displays information about the tuner + +### Configuration Tab ### + + * **Config** - list of named configurations. Automatically applies the corresponding settings to the tuner + * **Name** - tuner configuration name. + * **Correction PPM** - correction value to align the currently tuned frequency with the frequency display values. Increasing the value causes the frequency display to move to the left and vice-versa. + * **LNA Gain** - LNA gain setting + * **Mixer Gain** - Mixer gain setting + * **New** - creates a new named tuner configuration + * **Delete** - deletes the currently listed tuner configuration + +### Info Tab ### +The info tab displays information about the tuner: + + * **USB Address** - current USB bus and device port, and USB vendor and product identifiers. + * **Cellular Band** - indicates if the cellular band is blocked or unblocked for this tuner + * **Firmware** - firmware revision \ No newline at end of file diff --git a/v0.2.0/GettingStarted.md b/v0.2.0/GettingStarted.md new file mode 100644 index 0000000..e0e2db2 --- /dev/null +++ b/v0.2.0/GettingStarted.md @@ -0,0 +1,37 @@ +## Getting started with SDRTRunk ## + +### Setup ### + + * [Linux](SetupLinux) + * [Windows](SetupWindows) + +![](images/Overview.png) + +[Application Overview](ApplicationOverview) + +### Quick Start - SDR Dongle ### + +1. Select a tuner to display in the spectral display + +2. Tune to a frequency near the channel that you want to decode. Do not tune +the channel into the center of the display. Adjust the frequency so that the +channel is either to the left or to the right of the center of the display. + +3. Right-click on the frequency in the spectral display, choose **Add Decoder** +select the type of decoder that you want to use. + +4. If a tuner is available, the channel will immediately start decoding with +default settings. Select the channel in the **Decoding Channels** window to see +call events and decoded messages. + +### Quick Start - Sound Card / Scanner Audio ### + +1. Create a new [channel](Channel) + +2. In the channel editor select the correct **Mixer** and **Channel** in the source tab, corresponding to where you have patched your scanner audio into the computer. + +3. Select **Enabled** + +4. Hit **Save**. + +5. Select the channel in the [decoding channels](DecodingChannels) window to hear the pass-through audio. \ No newline at end of file diff --git a/v0.2.0/HackRF.md b/v0.2.0/HackRF.md new file mode 100644 index 0000000..31d1faa --- /dev/null +++ b/v0.2.0/HackRF.md @@ -0,0 +1,87 @@ +# HackRF # + +![](images/HackRF.png) + +## Tuner Configurations ## + +SDRTrunk allows you to define multiple named tuner configurations per tuner +type. A **Default** configuration is automatically created the first time you +use each specific tuner type and will be recreated again if you accidentally +delete or rename the **Default** configuration. + +Each time you plug your USB tuner into a new USB port, it will automatically +use the **Default** tuner configuration. If you select a different named +configuration, SDRTrunk will remember to use that named configuration each time +you use the USB tuner in that specific USB port. If you create a named +configuration for your tuner and subsequently move the tuner to a different +USB port, simply select that named configuration from the drop-down list and it +will store that port to named configuration setting. + +All changes to a named configuration are automatically saved. + +## Configuration ## + + * **Frequency** - sets the tuned frequency + * **Config Tab** - controls for changing tuner configuration + * **Info Tab** - displays information about the tuner + +### Configuration Tab ### + + * **Configuration Selection List** - selects a named configuration to use. Automatically applies the corresponding settings to the tuner + * **Name** - tuner configuration name. + * **Correction PPM** - correction value to align the currently tuned frequency with the frequency display values. Increasing the value causes the frequency display to move to the left and vice-versa. + * **Sample Rate** - sampling rate of the tuner - corresponds to the visible/tunable bandwidth + * **Gain - Amp** - turns the amplifier on/off + * **Gain - LNA** - gain settings for the Low Noise Amplifier + * **Gain - VGA** - gain settings for the Variable Gain Amplifier + + * **New** - creates a new named tuner configuration + * **Delete** - deletes the currently listed tuner configuration + +### Info Tab ### +The info tab displays information about the tuner: + + * **Serial** - serial number of the HackRF board. + * **Part** - part number + * **Firmware** - firmware revision + +## Using the HackRF ## + +One of the most important settings on the HackRF are the gain settings. The +gain settings affect each portion of the radio spectrum differently, so you +need to adjust the gain each time you move to a different part of the frequency +spectrum. + +Strong nearby signals easily overload the HackRF. If the spectral display +rises significantly, or if you notice the spectral display jumping up and down, +this is an indication that you have overloaded the tuner. Another symptom of +overload is spectral mirroring, where the left and right side look identical. + +Broadcast FM radio stations overload the tuner and you may or may not be able +to set the gain low enough to visualize the entire FM band. + +Note: on startup if you have previously used a high sample rate, you may notice +lagging/stalling in the application. Change the sample rate to a lower sample +rate until the application stabilizes, and then select the desired sample rate. + +### Setting Gain ### + + * Set the frequency, or enable a channel and the tuner will automatically +> adjust the frequency. + * Turn the amplifier off and set LNA and VGA gain to 0. + * Slowly adjust the LNA gain higher until you see the spectral display rise +> significantly high or start to jump. Back off the gain setting until the +> display settles down. + * Repeat this step for the VGA gain setting. + * Experiment with the Amp button to turn the amplifier on or off. + +If you have a strong nearby signal that is close in frequency to the channel +that you want to decode, attempt to tune the strong signal up or down, so that +it is no longer in the viewable passband of the tuner. + +## Updating Firmware ## + +The firmware label shown on the Info tab is the GIT revision label that was +tagged against the software release. SDRTrunk does not currently support +flashing the HackRF with new firmware. Use the HackRF tools to update the +tuner. \ No newline at end of file diff --git a/v0.2.0/JMBE.md b/v0.2.0/JMBE.md new file mode 100644 index 0000000..6a14262 --- /dev/null +++ b/v0.2.0/JMBE.md @@ -0,0 +1,40 @@ +# JMBE Library # + +The Java Multi-Band Excitation (JMBE) library provides decoder support for +converting IMBE encoded audio frames to normal audio so that you can listen to +the audio calls over your computer speakers. + +Website: [JMBE](https://github.com/DSheirer/jmbe) + +## Patent Warning ## + +The JMBE library contains source code that may be patent protected. Users +should check local laws before downloading, compiling, using, or DISTRIBUTING +compiled versions of the JMBE library. + +## Copyright Notice ## + +Copyrights for the terms MBE and IMBE are the property of their respective +owners. + +## Adding JMBE to SDRTrunk for decoding MBE audio ## + +* Download the **jmbe\_builder.zip** (windows) or the **jmbe\_builder.tar.gz** (linux) file to your computer and uncompress the file. These files are available in the [Download](https://drive.google.com/folderview?id=0B7BHsssXUq8eOHBTNndCczZTd0k&usp=sharing) folder + +* Run the **make\_jmbe\_library\_windows.bat** (windows) or the **make\_jmbe\_library\_linux.sh** (linux) file. This will download the source code and create the **jmbe-x.x.x.jar** file. The file that gets created will have version numbers in place of the x's in the filename. + +* Copy the **jmbe-x.x.x.jar** file to the same folder where you run the sdrtrunk scripts to start the sdrtrunk program. + +* Start SDRTrunk normally and the program will automatically discover and use the jmbe library. + +## Troubleshooting ## + +If you download, compile and copy the JMBE library jar file to the same directory as the SDRTrunk application, you should not have any issues. + +SDRTrunk will generate a log entry to let you know if it discovered the jmbe library correctly for each P25 channel that you have decoding: + +> 09:38:54.166 INFO d.p.audio.P25AudioOutput - JMBE audio conversion library successfully loaded - P25 audio will be available + +Or, when the library cannot be found, each channel will log: + +> 09:38:54.166 INFO d.p.audio.P25AudioOutput - JMBE audio conversion library NOT FOUND \ No newline at end of file diff --git a/v0.2.0/LTR.md b/v0.2.0/LTR.md new file mode 100644 index 0000000..2b9ea56 --- /dev/null +++ b/v0.2.0/LTR.md @@ -0,0 +1,14 @@ +# LTR Standard Decoder # + +## Squelch Control ## + +The LTR decoder provides signaling-based squelch control. + +## Aliases ## + +If you are in the United States and your LTR network occasionally broadcasts its FCC station callsign, then add the following alias to each alias list you are using for LTR to identify these as FCC Callsign Broadcasts: + + * `*`-`*``*`-255 FCC CWID + +![](images/ltr_decoding.png) + \ No newline at end of file diff --git a/v0.2.0/LTRNet.md b/v0.2.0/LTRNet.md new file mode 100644 index 0000000..3d8e550 --- /dev/null +++ b/v0.2.0/LTRNet.md @@ -0,0 +1,65 @@ +# LTR-Net Decoder # + +The LTR-Net decoder will decode both Inbound Status Word (ISW) and Outbound Status Word (OSW) messaging. ISW messages are transmitted by the mobile radio on the uplink, or input frequency of the repeater. The network broadcasts OSW messages on the downlink or output frequency of the repeater. + +Many of the LTR-Net system information messages are two-part messages. In the decoded messages table, you will see references to part 1 of 2 or for ESNs, you may only see one half of the ESN (1234xxxx). + +## Squelch Control ## + +The LTR-Net decoder provides signaling-based audio squelch control. + +## Channels ## + +Each LTR-Net site supports 1-20 Logical Channel Numbers (LCN). Each site will have a continuously transmitting Home Status Channel (HSC). + +Each LCN transmits the same site configuration message set. The HSC transmits these messages repeatedly, and the individual traffic channels transmit these messages one at a time, every few seconds. + +The HSC will support traffic calls if the primary traffic channels become saturated. In addition, the HSC will reflect all traffic call activity from all traffic channels on the site. An effective strategy for determining site usage is to monitor the HSC and then look at the call event table to see call activity for the entire site. + +## Activity Summary ## +The [Activity Summary](ActivitySummary) information window displays all decoded information about the current site (site id, channels, frequencies, talkgroups, etc.). + +## Talkgroups ## + +LTR-Net supports roaming of users across all sites in the system. Each talkgroup is defined to be unique at a specific site, or unique across the network. + +If you discover that a talkgroup is unique across the network, you can wildcard the talkgroup alias, so that that alias is used on every site in the systme for the talkgroup. Wildcard the area and channel fields for a global talkgroup ( `*`-`*``*`**-123 )** + +## Special Talkgroups ## + +Talkgroups 240 - 247 are reserved for special network functions like PSTN telephone calls to/from a radio, or network phone patches. + +## Unique ID ## +Each radio is assigned a unique ID by the system. This supports radio identification to the network, and supports individual radio messaging by the network. Unique IDs are 16--bit values ranging 1 - 65536. + +## ESN ## +Each LTR-Net radio has a globally unique Electronic Serial Number that is set at the vendor factory. + +## Decoding ESNs and Unique IDs ## + +The mobile radio's Electronic Serial Number (ESN) is broadcast by the radio on the uplink frequency upon registration. In response, the network broadcasts a radio Unique ID assignment on the downlink frequency to the mobile radio. The radio then uses that unique ID for all subsequent communications. + +You can discover these ESN and Unique ID assignments by decoding both the uplink and downlink frequencies for a specific channel at the same time. Watch the uplink call event table for ESN messages. Find the corresponding radio register message from the downlink frequency that matches the timestamp. + +If the mobile radio later makes a call, you can discover the Unique ID and the talkgroup that the radio belongs to and the identity of the user. + +## LTR-Net Aliasing ## + +Setup an alias with all three pieces of information ( ESN, Unique ID, +and Talkgroup ) and you will then know when that radio is registering on the network, and which radio in the talkgroup is broadcasting. + +### Aliases to use with LTR-Net ### + + * `*`-`*``*`-240 Special Talkgroup + * `*`-`*``*`-241 Special Talkgroup + * `*`-`*``*`-242 Special Talkgroup + * `*`-`*``*`-243 Special Talkgroup + * `*`-`*``*`-244 Special Talkgroup + * `*`-`*``*`-245 Special Talkgroup + * `*`-`*``*`-246 Special Talkgroup + * `*`-`*``*`-247 Special Talkgroup + * `*`-`*``*`-253 Radio Register + * `*`-`*``*`-254 FCC CWID + +![](images/ltrnet_decoding.png) + \ No newline at end of file diff --git a/v0.2.0/MDC1200.md b/v0.2.0/MDC1200.md new file mode 100644 index 0000000..ce50fb2 --- /dev/null +++ b/v0.2.0/MDC1200.md @@ -0,0 +1,3 @@ +# MDC-1200 Decoder # + +The MDC-1200 decoder is a work in progress. The decoder doesn't provide any error detection or error correction, so some of the decoded messages may not be accurate. \ No newline at end of file diff --git a/v0.2.0/MPT1327.md b/v0.2.0/MPT1327.md new file mode 100644 index 0000000..f239072 --- /dev/null +++ b/v0.2.0/MPT1327.md @@ -0,0 +1,59 @@ +# MPT-1327 # + +The MPT-1327 decoder provides decoding of both control and traffic channel +signaling and trunked traffic channel following. + +## Trunked Channel Following ## + +Configure the MPT-1327 decoder to process the system control channel and specify +a channel map. The application will automatically detect call events and +dynamically create a traffic channel to monitor these calls and end the traffic +channel whenever the channel timeout occurs, or the end of call is detected. + +Each system that you monitor may have different call timeouts. You can change +this timeout from the default 45 seconds to meet your needs. However, if you +specify a long timeout and the end of call is not detected, you'll have a long +period of static at the end of your calls and recordings. + +Specify the maximum number of traffic channels that the decoder can allocate +simultaneously in order to keep total processing to a level that your computer +can handle. You may have to experiment with this value in order to keep the +application from allocating more channels than your computer can process. Start +with 1 traffic channel and monitor your computer's CPU and memory to see how it +responds. Keep increasing the traffic channel count and restart the channel +until you find the maximum number of traffic channels that your computer can +process and then consider reducing that count by one or two. + +## Channel Map ## +You must specify a channel map name in the decoder configuration in order for +trunked channel following to work. Otherwise, the application does not know +about the channel number to frequency mapping. You can run the decoder without +a chanel map against control and traffic channels, however no trunked channel +following will occur. + +If you don't know what the [channel map](ChannelMap) is, you can try to find the license +for the system that specifies the frequencies for the system. Configure an +sdrtrunk channel to monitor each frequency and after successfully decoding a +call, look at the messages tab. The end of call signaling messages tell the mobile +radio what channel it is currently on, and what the channel number is for the +control channel that the mobile radio must return to. You can use these +channel numbers to determine the channel map. If you need help, use the +radioreference.com forums, or post a help request in the sdrtrunk support group. +There is also a wiki page on radioreference.com that details how to calculate +the channel map from known frequency to channel number pairings. + +## Squelch Control ## + +When moniting a control channel the audio is muted. When monitoring a traffic +channel, audio squelch is controlled by the call start and call end signaling that +is decoded on the traffic channel. + +## Talkgroups ## + +The following talkgroups are used in all MPT-1327 systems. Create an alias +group containing the following MPT-1327 system idents: + + * `*``*``*`-8185 = System Register + * `*``*``*`-8190 = System Controller + +![](images/mpt1327_decoding.png) diff --git a/v0.2.0/Map.md b/v0.2.0/Map.md new file mode 100644 index 0000000..61b9b69 --- /dev/null +++ b/v0.2.0/Map.md @@ -0,0 +1,10 @@ +# Map # + +The map displays any decoded messages that contain location data, like GPS positions. + +The map component uses aliases to determine the display label, icon and color to use when plotting decoded messages. Update messages from the same entity are chained together. + +The map uses map tiles from the open street map server. If you do not have an internet connection, no map data will be displayed, however decoded messages will be plotted. + +## Default Location and Zoom ## +Drag the map to recenter the view and use the mouse wheel to zoom in or out. Right-click on the map to store the location and zoom level as the map default. \ No newline at end of file diff --git a/v0.2.0/Messages.md b/v0.2.0/Messages.md new file mode 100644 index 0000000..af75824 --- /dev/null +++ b/v0.2.0/Messages.md @@ -0,0 +1,3 @@ +# Messages # + +The messages component displays messages as they are decoded by the channel decoder. All messages from the primary decoder and any messages from auxiliary decoders are displayed. \ No newline at end of file diff --git a/v0.2.0/NBFM.md b/v0.2.0/NBFM.md new file mode 100644 index 0000000..f0e77a3 --- /dev/null +++ b/v0.2.0/NBFM.md @@ -0,0 +1,7 @@ +# NBFM Decoder # + +The NBFM decoder is a simple FM demodulator. You can use any of the [auxiliary decoders](Decoder) in conjunction with the NBFM decoder. + +## Squelch Control ## + +The NBFM doesn't provide any squelch control. \ No newline at end of file diff --git a/v0.2.0/NonRecordable.md b/v0.2.0/NonRecordable.md new file mode 100644 index 0000000..64b4621 --- /dev/null +++ b/v0.2.0/NonRecordable.md @@ -0,0 +1,15 @@ +# Non-Recordable # + +Any alias can be designated as non-recordable. + +Audio recording can be enabled for all calls that occur on the decoding channel. +By using the non-recordable alias setting, you can designate certain aliases +to not be recorded. + +When you are initially monitoring a new system, this feature allows you to record +every call. Then, as you identify each user or group on the system, you can +create an alias for the group and designate the group as non-recordable. +Eventually, you record fewer groups until you identify all of the users on the +system. + +![](images/non_recordable.png) diff --git a/v0.2.0/Passport.md b/v0.2.0/Passport.md new file mode 100644 index 0000000..734497a --- /dev/null +++ b/v0.2.0/Passport.md @@ -0,0 +1,41 @@ +# Passport # + +The passport decoder will decode the Outbound Status Word (OSW) messages and +signaling that are transmitted by the network to the mobile radio. Passport +systems do not have dedicated control channels, therefore this decoder does not +support trunked channel following. + +## Talkgroups ## + +User mobile radios are normally assigned the talkgroup identifiers starting +from 1, upward. Group talkgroups are normally assigned from the highest +talkgroup numbers working their way downward. You can create an alias for each +talkgroup. + +## Mobile ID Number (MIN) ## + +Each passport mobile radio on the network is assigned a MIN. You can create +an alias for each MIN. + +## Squelch Control ## + +The Passport decoder provides signaling-based squelch control. + +## Aliases ## + +If you are in the United States, and your Passport network may occasionally +broadcast its FCC station callsign. Add the following alias and talkgroup +identifier to your alias list to automatically identify these station ID +call events: + + * 65535 FCC CWID + +## Passport Decode Example ## + +The below screenshot shows a passport channel being decoded where the system +also uses the Fleetsync auxiliary protocol overlay. SDRTrunk decodes both the +passport signaling and the fleetsync data bursts and displays the decoded +information. In this instance, the mobile radio is transmitting an automatic + Fleetsync GPS location report without the user's input. + +![](images/passport_decoding.png) \ No newline at end of file diff --git a/v0.2.0/Playlist.md b/v0.2.0/Playlist.md new file mode 100644 index 0000000..4fd3911 --- /dev/null +++ b/v0.2.0/Playlist.md @@ -0,0 +1,11 @@ +# Playlist # + +The playlist contains a folder for each of the following: + + * [Alias Lists](AliasList) - alias lists that can be attached to each decoding channel + * [Channel Maps](ChannelMap) - required for certain decoders like MPT-1327 + * [Systems](System) - all configured decoding channels, arranged by System and Site + +Note: the Systems, Channel Maps and Alias Lists folders cannot be deleted or changed. + +![](images/Configuration.png) \ No newline at end of file diff --git a/v0.2.0/ProjectHome.md b/v0.2.0/ProjectHome.md new file mode 100644 index 0000000..786ad55 --- /dev/null +++ b/v0.2.0/ProjectHome.md @@ -0,0 +1,49 @@ +## SDRTrunk ## + +SDRTrunk is a java based application for decoding and trunk tracking multiple analog and digital radio channels across multiple USB dongle tuners and/or sound card inputs from scanner radios. + + * **[Getting Started](GettingStarted)** + * **[User's Manual](UserManual) + ***[Download](https://drive.google.com/folderview?id=0B7BHsssXUq8eOHBTNndCczZTd0k&usp=sharing) + +This application uses some of the fantastic components available from [JIDE Software](http://www.jidesoft.com). + +![http://sdrtrunk.googlecode.com/svn/wiki/images/SDRTrunk_application.png](http://sdrtrunk.googlecode.com/svn/wiki/images/SDRTrunk_application.png) + +### Operating Systems ### + + * **Linux** + * **Windows** + * Any operating system supported by Java and libusb, however other systems have not yet been tested + +### Requirements ### + + * **[Java 7](http://www.java.com/en/download/index.jsp)** or newer + +### Supported [Tuners](Tuner) ### + * Airspy - coming soon + * Funcube Dongle Pro + * Funcube Dongle Pro Plus + * HackRF + * RTL-2832 with E4000 Tuner + * RTL-2832 with R820T Tuner + * Sound card(s) connected to scanner audio output + +### Decoders ### + * [APCO-25](APCO25) Phase 1 - C4FM and CQPSK/LSM - coming soon + * [Fleetsync II](Fleetsync2) + * [LJ-1200](LJ1200) + * [LTR](LTR) + * [LTR-Net](LTRNet) + * [MDC-1200](MDC1200) + * [MPT-1327](MPT1327) + * [Passport](Passport) + * [Tait CCDI 1200 ANI/GPS](Tait) + +Note: nomitive use of protocol names are for identification. Registered trademarks are the property of their respective owners. + +### Source Code ### + +The source code is available on this website + + * [Downloading and Compiling](Building) sdrtrunk \ No newline at end of file diff --git a/v0.2.0/R820T.md b/v0.2.0/R820T.md new file mode 100644 index 0000000..b5265f1 --- /dev/null +++ b/v0.2.0/R820T.md @@ -0,0 +1,7 @@ +# RTL-2832 with Rafael Micro R820T Tuner # + +http://www.nooelec.com/store/sdr/sdr-receivers.html + +Windows Users: R820T support requires installation of Zadig driver: + +http://zadig.akeo.ie \ No newline at end of file diff --git a/v0.2.0/ScreenCapture.md b/v0.2.0/ScreenCapture.md new file mode 100644 index 0000000..6240f04 --- /dev/null +++ b/v0.2.0/ScreenCapture.md @@ -0,0 +1,5 @@ +# Screen Capture # + +Click on the menu item entitled **Screen Capture** to automatically create a screen capture of the currently displayed screen layout. + +Screen captures are stored in the **Screen Captures** sub folder in the sdrTrunk folder in your user directory. \ No newline at end of file diff --git a/v0.2.0/SetupLinux.md b/v0.2.0/SetupLinux.md new file mode 100644 index 0000000..0d01034 --- /dev/null +++ b/v0.2.0/SetupLinux.md @@ -0,0 +1,19 @@ +1. Install Java JRE version 7 or newer from http://www.oracle.com/java + +2. Verify java installation: + +``` +terminal: java -version + +java version "1.7.0_55" +Java(TM) SE Runtime Environment (build 1.7.0_55) +Java HotSpot (TM) 64-bit Server VM +``` + +3. Install udev rules file for any tuners you'll be using into the /etc/udev/rules.d/ directory. The **funcube-dongle.rules** and **rtl-sdr.rules** files are included. + +4. Run the SDRTrunk start script: + +``` +terminal: ./run_SDRTrunk +``` \ No newline at end of file diff --git a/v0.2.0/SetupWindows.md b/v0.2.0/SetupWindows.md new file mode 100644 index 0000000..5bb87ee --- /dev/null +++ b/v0.2.0/SetupWindows.md @@ -0,0 +1,17 @@ +1. Install Java JRE version 7 or newer from http://www.oracle.com/java + +2. Verify java installation: + +``` +c:\ java -version + +java version "1.7.0_55" +Java(TM) SE Runtime Environment (build 1.7.0_55) +Java HotSpot (TM) 64-bit Server VM +``` + +3. Run the SDRTrunk start script: + +``` +C:\SDRTRunk\run_SDRTrunk.bat +``` \ No newline at end of file diff --git a/v0.2.0/Site.md b/v0.2.0/Site.md new file mode 100644 index 0000000..bc8c4ad --- /dev/null +++ b/v0.2.0/Site.md @@ -0,0 +1,23 @@ +# Site # + +A site is the next level below a [System](System) for managing a set of [channels](Channel). Use a different site for each trunked radio tower location, or to organize a collection of related channels. + +When a [Channel](Channel) within the [Site](Site) is actively decoding, the system icon is colored Green. + +![](images/Site.png) + +# Creating a New Site # + +2. Right-click on a [System](System) folder and select 'New Site'. + +3. Select the new [Site](Site) and update the name in the editor. Click 'Save'. + +# Deleting a Site # + +2. Right-click on the [Site](Site) and select 'Delete' + +# Changing a Site Name # + +2. Select the site from the list. + +3. Update the name in the editor and click 'Save' \ No newline at end of file diff --git a/v0.2.0/SoundCard.md b/v0.2.0/SoundCard.md new file mode 100644 index 0000000..78e7d98 --- /dev/null +++ b/v0.2.0/SoundCard.md @@ -0,0 +1,7 @@ +# Sound Card / Mixer Sources # + +You can input the headset audio, and/or discriminator audio output from your scanner to use as a source for each of the decoders. Normal headset audio works great with MPT-1327, Fleetsync and MDC-1200. Discriminator audio is required for LTR, LTR-Net and Passport since the signalling would be filtered out by the normal headset audio filters. + +Use the **NBFM** decoder first when you are trying to setup a scanner to sound card setup. Configure a channel using the NBFM decoder and select the sound card and left or right channel as the input. Enable the channel and once running, select the channel in the [decoding channels](DecodingChannels) window to hear the audio output. Adjust the scanner audio volume to mid-level, but not so high as to induce clipping on the signal. + +Once you have good sound running through the system, change the decoder from NBFM to the one you want to use and save the configuration. \ No newline at end of file diff --git a/v0.2.0/SpectralDisplay.md b/v0.2.0/SpectralDisplay.md new file mode 100644 index 0000000..96b579f --- /dev/null +++ b/v0.2.0/SpectralDisplay.md @@ -0,0 +1,59 @@ +# Introduction # + +The spectral display component shows the frequency activity of the currently selected tuner and all configured decoder channels. + +## Cursor ## +A cursor with frequency readout is automatically shown as you move the mouse about the spectral display window. When zoomed +in, the zoom level is also displayed below the frequency value. + +![](images/spectral_display.png) + +## Zoom ## +The spectral and waterfall displays can be zoomed together using the mouse scroll wheel, or using the right-click context menu. + +When zoomed in, a small zoom window appears at the bottom of the waterfall display indicating the area of the spectral and waterfall displays that is visible and the zoom level. You can left click drag the display with the mouse when zoomed in to drag the display left or right. The zoom control + +![](images/zoom_window.png) + +## Context Menus ## + +Right-click anywhere in the spectral display to show a list of context-specific menu options. + +### Channel Menu ### + +Channels defined in the [Playlist](Playlist) are also displayed in the spectral display window. Each channel exposes a context menu allowing you to start/stop the channel decoder, or view the [ActivitySummary](ActivitySummary) for currently decoding channels + +### Frequency Menu ### + +The current frequency displayed by the cursor displays as a menu that allows you to assign a decoder and automatically start decoding that channel. A channel configuration is automatically created and enabled. + +### Color Menu ### + +The color menu allows you to change any of the global color settings used by all spectral displays. + + * **Background** - background color for the spectral display + * **Channel** - channel overlay color for channels that are defined in the configuration, but are currently not processing (decoding) or selected + * **Channel Processing** - channel overlay color for any channels that are currently processing (decoding) + * **Channel Selected** - channel overlay color for the channel that is currently selected in the [Decoding Channels](DecodingChannels) window. + * **Cursor** - color used for the cursor and frequency readout + * **Gradient Bottom** - bottom color for the gradient used to display the frequency spectrum + * **Gradient Top** - top color for the gradient used to display the frequency spectrum + * **Lines** - color used for lines and frequency labels + +### Display Menu ### + +The display menu allows you to change settings associated with Discrete Fourier Transform (DFT) results that are displayed in the spectral display. +* **Averaging** - sets the averaging window size. Averaging occurs over multiple sets of DFT results. +* **Channel** - controls display of channel overlays. Choose to display ALL, NONE, or only the channels currently ENABLED and decoding. +* **FFT Width** - bin size used in DFT calculations, 512 - 32,768. Using a higher setting provides increased resolution in the display, but also significantly increases CPU usage. +* **Frame Rate** - determines the number of times per second that the DFT is calculated and the spectral display is updated. +* **Window Type** - specifies the windowing method to use prior to calculating the DFT. Windowing minimizes signals from bleeding over into neighboring DFT bins. +* **Smoothing** - sets the smoothing filter type. Smoothing is applied across DFT bins within the same DFT result set. + +### Zoom Menu ### + +Changes the zoom size where 1x is no zoom and 64x is the display zoomed in 64 times. + +## Changing Displayed [Tuner](Tuner) ## + +Right-click on the desired tuner in the [Configuration](Configuration) window and select **Show in Main Spectrum**, or choose **New Spectrum Window** to create a new, separate Spectral Display and Waterfall. \ No newline at end of file diff --git a/v0.2.0/System.md b/v0.2.0/System.md new file mode 100644 index 0000000..8491d01 --- /dev/null +++ b/v0.2.0/System.md @@ -0,0 +1,29 @@ +# System # + +A system is a top-level folder for managing a set of [sites](Site) and [channels](Channel). Use a different system for each trunked radio network, or to organize a collection of related sites and channels. + +When a channel within the system is actively decoding, the system icon is colored Green. + +![](images/System.png) + +# Creating a New System # + +1. Expand the [Playlist](Playlist) folder and the [Systems](Systems) folder + +2. Right-click on the [Systems](Systems) folder and select 'New System'. + +3. Select the new [System](System) folder and update the system name in the editor. Click 'Save'. + +# Deleting a System # + +1. Expand the [Playlist](Playlist) folder and the [Systems](Systems) folder + +2. Right-click on the [System](System) and select 'Delete' + +# Changing a System Name # + +1. Expand the [Playlist](Playlist) folder and the [Systems](Systems) folder + +2. Select the system from the list. + +3. Update the system name in the editor and click 'Save' \ No newline at end of file diff --git a/v0.2.0/Tuner.md b/v0.2.0/Tuner.md new file mode 100644 index 0000000..fc773a2 --- /dev/null +++ b/v0.2.0/Tuner.md @@ -0,0 +1,30 @@ +# Tuner # + +The Tuners folder contains a listing of all recognized tuners that are automatically discovered upon startup of the SDRTrunk application. Each tuner displays the tuner type, name, serial number (if known), and the currently tuned frequency and [bandwidth/sample] rate. + +![](images/Tuners.png) + +## Supported Tuners ## + +The following tuners are currently supported by the SDRTrunk application. Additional tuner support will be added in the future. + + * [Airspy](Airspy) + * [Ettus B100/WBX Daughter Card](B100)** - (planned). SDRTrunk will recognize the B100 but it will not allow you to use or configure the B100 + * [Funcube Dongle Pro](FuncubeDonglePro) (1.0) + * [Funcube Dongle Pro Plus](FuncubeDongleProPlus) (2.0) + * [HackRF](HackRF) + * [RTL-2832 with Elonics E4000](E4000) + * [RTL-2832 with Rafael Micro R820T or R820T2](R820T) + +## Tuner Management ## + +SDRTrunk manages all tuners as a pooled set of resources. As you enable channels for decoding, SDRTrunk polls each tuner to see if it can support the requested channel, and then assigns the channel to the tuner. If no tuners can support the channel, then the channel will not start and will be disabled. + +Each tuner can source one or more channel frequencies, as long as the set of channel frequencies fit within the current center tuned frequency and bandwidth (sample rate) of the tuner. As additional channels are sourced by the tuner, the tuner controller will automatically adjust the center frequency to provide a best-fit of all of the requested channels, while ensuring that no channels overlap any DC-spike that may be present in the center of the spectrum for some types of tuners. + +## Visualizing the Tuner Spectrum ## +On startup, SDRTrunk automatically displays the first discovered tuner in the [Spectral Display](SpectralDisplay). All tuners can be displayed in the main spectral display or in additional spectral display windows. + + * **Application Spectral Display** - right-click on any of the tuners and select **Show in Main Spectrum** to show the spectral display for that tuner in the main application display. + + * **Additional Spectral Display** - right click on any of the tuners and select **New Spectrum Window** to open a new window and display the spectrum for that tuner. You can open as many spectral display windows as you want, including multiple windows on the same tuner. \ No newline at end of file diff --git a/v0.2.0/UserManual.md b/v0.2.0/UserManual.md new file mode 100644 index 0000000..8e36045 --- /dev/null +++ b/v0.2.0/UserManual.md @@ -0,0 +1,50 @@ +# SDRTrunk Version 0.2.x User's Manual # + +#[Application Overview](ApplicationOverview)# + +#Aliases# + +* [Alias List](AliasList) +* [Alias Group](AliasGroup) +* [Alias](Alias) +* [Alias Actions](AliasAction) + +#Auxiliary Decoders# + +* [Fleetsync II](Fleetsync2) +* [MDC1200](MDC1200) + +#[Configuration](Configuration)# + +* [Alias Lists](AliasList) +* [Channel Maps](ChannelMap) +* [Playlist](Playlist) + +#Decoders# + +* [LTR](LTR) +* [LTRNet](LTRNet) +* [MPT1327](MPT1327) +* [NBFM](NBFM) +* [Passport](Passport) + +#Logging# + +* [Application Log](ApplicationLog) +* [Event Log](EventLogger) + +#[Recorder](Recorder)# + +#Source and [Tuners](Tuner)# + +* [Sound Card](SoundCard) +* [Airspy](Airspy) +* [Ettus Research B100](B100) +* [Funcube Dongle Pro](FuncubeDonglePro) +* [Funcube Dongle Pro Plus](FuncubeDongleProPlus) +* [RTL-2832 with E4000 Tuner](E4000) +* [RTL-2832 with FC0013 Tuner](FC0013) +* [RTL-2832 with R820T Tuner](R820T) + +#[ScreenCapture](ScreenCapture) Screen Captures# + diff --git a/v0.2.0/WaterfallDisplay.md b/v0.2.0/WaterfallDisplay.md new file mode 100644 index 0000000..e597dcd --- /dev/null +++ b/v0.2.0/WaterfallDisplay.md @@ -0,0 +1,15 @@ +# Waterfall Display # + +The waterfall display shows a history of the frequency content of the currently displayed [tuner](Tuner). + +![](images/waterfall.png) + +## Context Menus ## + +Right-click anywhere in the waterfall display to view a list of context-sensitive menu options. See the [Spectral Display](SpectralDisplay) page to see descriptions of the Color, Display and Frequency context menus. + + * **Pause** - pauses the waterfall and displays **Paused** in the upper left corner. When you un-pause the display, the waterfall will show all frequency history that happened while paused. + +Note: if you see a signal in the waterfall, you can pause the waterfall and use the zoom control to zoom in on the transmission to inspect the bandwidth and frequency, or other features of the signal. You can optionally expand the viewable height of the waterfall window to view waterfall signals that appear to have scrolled off the screen. There is a limited history available. + +![](images/waterfall_paused.png) diff --git a/v0.2.0/images/.directory b/v0.2.0/images/.directory new file mode 100644 index 0000000..6c29431 --- /dev/null +++ b/v0.2.0/images/.directory @@ -0,0 +1,4 @@ +[Dolphin] +PreviewsShown=true +Timestamp=2016,2,5,19,28,33 +Version=3 diff --git a/v0.2.0/images/Alias.png b/v0.2.0/images/Alias.png new file mode 100644 index 0000000..92fb148 Binary files /dev/null and b/v0.2.0/images/Alias.png differ diff --git a/v0.2.0/images/AliasActions.png b/v0.2.0/images/AliasActions.png new file mode 100644 index 0000000..ffe3b3f Binary files /dev/null and b/v0.2.0/images/AliasActions.png differ diff --git a/v0.2.0/images/AliasESNID.png b/v0.2.0/images/AliasESNID.png new file mode 100644 index 0000000..eb33a5f Binary files /dev/null and b/v0.2.0/images/AliasESNID.png differ diff --git a/v0.2.0/images/AliasFleetsyncID.png b/v0.2.0/images/AliasFleetsyncID.png new file mode 100644 index 0000000..eaa913f Binary files /dev/null and b/v0.2.0/images/AliasFleetsyncID.png differ diff --git a/v0.2.0/images/AliasGroup.png b/v0.2.0/images/AliasGroup.png new file mode 100644 index 0000000..dc96a9b Binary files /dev/null and b/v0.2.0/images/AliasGroup.png differ diff --git a/v0.2.0/images/AliasList.png b/v0.2.0/images/AliasList.png new file mode 100644 index 0000000..dc3d451 Binary files /dev/null and b/v0.2.0/images/AliasList.png differ diff --git a/v0.2.0/images/AliasMDC1200ID.png b/v0.2.0/images/AliasMDC1200ID.png new file mode 100644 index 0000000..9bb96d2 Binary files /dev/null and b/v0.2.0/images/AliasMDC1200ID.png differ diff --git a/v0.2.0/images/AliasMIDID.png b/v0.2.0/images/AliasMIDID.png new file mode 100644 index 0000000..4e7a9bb Binary files /dev/null and b/v0.2.0/images/AliasMIDID.png differ diff --git a/v0.2.0/images/AliasMPT1327ID.png b/v0.2.0/images/AliasMPT1327ID.png new file mode 100644 index 0000000..151e04e Binary files /dev/null and b/v0.2.0/images/AliasMPT1327ID.png differ diff --git a/v0.2.0/images/AliasSiteID.png b/v0.2.0/images/AliasSiteID.png new file mode 100644 index 0000000..883cfde Binary files /dev/null and b/v0.2.0/images/AliasSiteID.png differ diff --git a/v0.2.0/images/AliasStatusID.png b/v0.2.0/images/AliasStatusID.png new file mode 100644 index 0000000..a23bcf1 Binary files /dev/null and b/v0.2.0/images/AliasStatusID.png differ diff --git a/v0.2.0/images/AliasTalkgroupID.png b/v0.2.0/images/AliasTalkgroupID.png new file mode 100644 index 0000000..4d60615 Binary files /dev/null and b/v0.2.0/images/AliasTalkgroupID.png differ diff --git a/v0.2.0/images/AliasUniqueID.png b/v0.2.0/images/AliasUniqueID.png new file mode 100644 index 0000000..3665e80 Binary files /dev/null and b/v0.2.0/images/AliasUniqueID.png differ diff --git a/v0.2.0/images/CallEvents.png b/v0.2.0/images/CallEvents.png new file mode 100644 index 0000000..bf22c0c Binary files /dev/null and b/v0.2.0/images/CallEvents.png differ diff --git a/v0.2.0/images/Channel.png b/v0.2.0/images/Channel.png new file mode 100644 index 0000000..cadb2ef Binary files /dev/null and b/v0.2.0/images/Channel.png differ diff --git a/v0.2.0/images/ChannelMap.png b/v0.2.0/images/ChannelMap.png new file mode 100644 index 0000000..1d29596 Binary files /dev/null and b/v0.2.0/images/ChannelMap.png differ diff --git a/v0.2.0/images/Configuration.png b/v0.2.0/images/Configuration.png new file mode 100644 index 0000000..e6ab022 Binary files /dev/null and b/v0.2.0/images/Configuration.png differ diff --git a/v0.2.0/images/E4000.png b/v0.2.0/images/E4000.png new file mode 100644 index 0000000..ba6d5dd Binary files /dev/null and b/v0.2.0/images/E4000.png differ diff --git a/v0.2.0/images/FuncubeDonglePro.png b/v0.2.0/images/FuncubeDonglePro.png new file mode 100644 index 0000000..ecd8aed Binary files /dev/null and b/v0.2.0/images/FuncubeDonglePro.png differ diff --git a/v0.2.0/images/FuncubeDongleProPlus.png b/v0.2.0/images/FuncubeDongleProPlus.png new file mode 100644 index 0000000..4361a5c Binary files /dev/null and b/v0.2.0/images/FuncubeDongleProPlus.png differ diff --git a/v0.2.0/images/HackRF.png b/v0.2.0/images/HackRF.png new file mode 100644 index 0000000..09de78c Binary files /dev/null and b/v0.2.0/images/HackRF.png differ diff --git a/v0.2.0/images/Overview.png b/v0.2.0/images/Overview.png new file mode 100644 index 0000000..e9017c7 Binary files /dev/null and b/v0.2.0/images/Overview.png differ diff --git a/v0.2.0/images/P25Decoder.png b/v0.2.0/images/P25Decoder.png new file mode 100644 index 0000000..b5fff2a Binary files /dev/null and b/v0.2.0/images/P25Decoder.png differ diff --git a/v0.2.0/images/SDRTrunk_application.png b/v0.2.0/images/SDRTrunk_application.png new file mode 100644 index 0000000..06f67b0 Binary files /dev/null and b/v0.2.0/images/SDRTrunk_application.png differ diff --git a/v0.2.0/images/ScriptAction.png b/v0.2.0/images/ScriptAction.png new file mode 100644 index 0000000..cf9ade5 Binary files /dev/null and b/v0.2.0/images/ScriptAction.png differ diff --git a/v0.2.0/images/Site.png b/v0.2.0/images/Site.png new file mode 100644 index 0000000..65d7dfe Binary files /dev/null and b/v0.2.0/images/Site.png differ diff --git a/v0.2.0/images/System.png b/v0.2.0/images/System.png new file mode 100644 index 0000000..9549bd5 Binary files /dev/null and b/v0.2.0/images/System.png differ diff --git a/v0.2.0/images/Tuners.png b/v0.2.0/images/Tuners.png new file mode 100644 index 0000000..baeecf9 Binary files /dev/null and b/v0.2.0/images/Tuners.png differ diff --git a/v0.2.0/images/airspy.png b/v0.2.0/images/airspy.png new file mode 100644 index 0000000..29359f3 Binary files /dev/null and b/v0.2.0/images/airspy.png differ diff --git a/v0.2.0/images/audio_muted.png b/v0.2.0/images/audio_muted.png new file mode 100644 index 0000000..56fd5f7 Binary files /dev/null and b/v0.2.0/images/audio_muted.png differ diff --git a/v0.2.0/images/call_state.png b/v0.2.0/images/call_state.png new file mode 100644 index 0000000..85b3668 Binary files /dev/null and b/v0.2.0/images/call_state.png differ diff --git a/v0.2.0/images/channel_state.png b/v0.2.0/images/channel_state.png new file mode 100644 index 0000000..2b98655 Binary files /dev/null and b/v0.2.0/images/channel_state.png differ diff --git a/v0.2.0/images/control_state.png b/v0.2.0/images/control_state.png new file mode 100644 index 0000000..3f99bc3 Binary files /dev/null and b/v0.2.0/images/control_state.png differ diff --git a/v0.2.0/images/data_state.png b/v0.2.0/images/data_state.png new file mode 100644 index 0000000..d0ef0ff Binary files /dev/null and b/v0.2.0/images/data_state.png differ diff --git a/v0.2.0/images/fade_state.png b/v0.2.0/images/fade_state.png new file mode 100644 index 0000000..911f0e8 Binary files /dev/null and b/v0.2.0/images/fade_state.png differ diff --git a/v0.2.0/images/idle_state.png b/v0.2.0/images/idle_state.png new file mode 100644 index 0000000..6833eb9 Binary files /dev/null and b/v0.2.0/images/idle_state.png differ diff --git a/v0.2.0/images/ltr_decoding.png b/v0.2.0/images/ltr_decoding.png new file mode 100644 index 0000000..d0b3449 Binary files /dev/null and b/v0.2.0/images/ltr_decoding.png differ diff --git a/v0.2.0/images/ltrnet_decoding.png b/v0.2.0/images/ltrnet_decoding.png new file mode 100644 index 0000000..363014b Binary files /dev/null and b/v0.2.0/images/ltrnet_decoding.png differ diff --git a/v0.2.0/images/mono_audio_panel.png b/v0.2.0/images/mono_audio_panel.png new file mode 100644 index 0000000..1de6a68 Binary files /dev/null and b/v0.2.0/images/mono_audio_panel.png differ diff --git a/v0.2.0/images/mpt1327_decoding.png b/v0.2.0/images/mpt1327_decoding.png new file mode 100644 index 0000000..f718808 Binary files /dev/null and b/v0.2.0/images/mpt1327_decoding.png differ diff --git a/v0.2.0/images/passport_decoding.png b/v0.2.0/images/passport_decoding.png new file mode 100644 index 0000000..1bec04f Binary files /dev/null and b/v0.2.0/images/passport_decoding.png differ diff --git a/v0.2.0/images/spectral_display.png b/v0.2.0/images/spectral_display.png new file mode 100644 index 0000000..b1b3289 Binary files /dev/null and b/v0.2.0/images/spectral_display.png differ diff --git a/v0.2.0/images/stereo_audio_panel.png b/v0.2.0/images/stereo_audio_panel.png new file mode 100644 index 0000000..040c3e4 Binary files /dev/null and b/v0.2.0/images/stereo_audio_panel.png differ diff --git a/v0.2.0/images/waterfall.png b/v0.2.0/images/waterfall.png new file mode 100644 index 0000000..a02d133 Binary files /dev/null and b/v0.2.0/images/waterfall.png differ diff --git a/v0.2.0/images/waterfall_paused.png b/v0.2.0/images/waterfall_paused.png new file mode 100644 index 0000000..ffe9657 Binary files /dev/null and b/v0.2.0/images/waterfall_paused.png differ diff --git a/v0.2.0/images/zoom_window.png b/v0.2.0/images/zoom_window.png new file mode 100644 index 0000000..530e155 Binary files /dev/null and b/v0.2.0/images/zoom_window.png differ