 Readme                                                                                 9th July 2022
=====================================================================================================
=  DCSDecoder - SDR# plug-in                                                                        =
=                                   by Vasili (TSSDR) and updated and modified by thewraith         =
=====================================================================================================
=====================================================================================================

Description
===========
Decode the DCS code transmitted with a NFM signal and display.
- By default, this will usually be more than one code for +/-.
- Use option to reduce codes returned to the standard(extended) list.

Can display the DCS code on the plug-in panel, frequency spectrum or in a auxiliary (aux) window.
From v1.3.2.0+, plug-in will send DCS code value to Frequency Scanner plug-in (v2.2.12.0+) to be
 displayed/logged with-in that plug-in.

Set audio only to be heard if matched a set DCS code. (Code squelch)
NOTE: You cannot use the CTCSS and DCS tone/code squelch at same time.


=====================================================================================================

Installation
============
 see MagicLine.txt


=====================================================================================================

Usage
=====
Start SDR# and start the radio (press play button).
Select detector to be 'NFM'.
Open/Find the 'DCS Decoder' panel and enable the 'Detect' check-box.
Tune VFO to any active frequency to determine if singal has a DCS code.
On receiving DCS code, "Detected" and DCS code will be displayed.

Labels and controls
===================
Displayed codes "Code +", "Code -"
- This is the Normal(+) and Inverted(-) of the same received code. (see 'Other information' section below)
- There can be up to 6 codes shown (see 'Other information' section below)
  Not all returned codes may be part of the standard(extended) set of DCS codes.
  See 'Manual options' section below to help filter the results.
- Double clicking the 'Code +' values label will open the configure window

"Set this code"
- Sets the current displayed DCS code to be used for code squelch.
  This will enable the code 'Squelch' checkbox at same time.

"Squelch" and "Code"
- When enabled, will only allow audio to be heard if received DCS code matches the set DCS code.
- NOTE: You cannot use the CTCSS and DCS tone/code squelch at same time.

"Show on spectrum"
- Shows + DCS code at VFO marker *
- Shows +- DCS code in top left corner offrequency spectrum
* Using option "DCS.OnlyUseDcsCodesInTable" will show both +/- at VFO marker (only first code of each)

"Aux window"
- Opens an auxiliary window which is a mirror of plug-in panel minus some options
- Remembers last window position.

"No reset"
- By default, when frequency is changed, the displayed DCS code will be cleared.
- When enabled, will prevent DCS code from been cleared until next code is detected.
  e.g. This my be desirable when using with Frequency Scanner plug-in.


Configure window (open by double clicking the 'Code +' values label)
================
Spectrum label Y offset [100]
- Positions the VFO marker DCS +/- code at a % of available vertical space in spectrum

Keep Aux window open
- When enabled, will force the Aux window to be always open
  Default is to close window when not playing or not NFM.

Filter returned DCS codes
- Reduces the list to the most likely used codes (hopefully only two)
- The plug-in will display both +/- codes at the VFO marker (also passed to Frequency Scanner plug-in when option is 1,2)
- Three options are:
   'All DCS codes' - May contain invalid (non-standard) codes
   'Only standard 83 DCS codes' - As defined in ETSI TS 103 236 V1.1.1 (Table 2)
   'Only standard 83+21 extended DCS codes' -  Same as '1' + 21 extended DCS codes

Swap + - DCS codes
- This reverts back to the old way.


=====================================================================================================

Other information

Info on DCS
- ETSI TS 103 236 V1.1.1 - 4.2 DCS - Table 2: DCS Codewords on page 8
- http://mmi-comm.tripod.com/dcs.html
- http://onfreq.com/syntorx/dcs.html     (explains why multiple codes can be seen)


=====================================================================================================
 Notes, bugs, limits or other things of possible interest
=====================================================================================================

NOTE:
 Not all aspects of this plug-in, whether it be it's usage, features, options, bugs, issues, problems 
 or any other unforeseeable things maybe covered by this documentation.

Theme colors may not be perfectly matched.

Increasing SDR# Audio latency may improve DCS decoding [60+ mS]

Off frequency transmissions may affect DCS decoding.

This plug-in default set-up decodes all the possible code combinations (for + and -)
- It is not possible to know if the real code used is + or -.
- The real code may not be first in the list of codes returned.
  Use the option 'Filter returned DCS codes' described above to reduce the list of standard(extended)
   codes to the most likely ones used by transmission.

=====================================================================================================

This modified version and documentation by thewraith2008 started in 2020

see Changelog.txt for more details about changes and fixes.

Support forum here:
 https://forums.radioreference.com/forums/software-defined-radio.193/

Release thread here:
 https://forums.radioreference.com/threads/fixing-the-sdr-ctcss-plug-in.431010/

NOTE: Support is not guaranteed. Especially if the answers are contained in the documentation or on forum.




Special thanks to the creators of the following software:

 SDRSharp (SDR#) by Youssef Touil (Airspy)
  https://airspy.com/
  The DCS Decoder plug-in utilises code from the SDR# plug-in API.
   As such, that code used by the plug-in is the property of Youssef Touil (Airspy).

 DCS Decoder (this original SDR# Plug-in) by Vasili (TSSDR)
  http://rtl-sdr.ru
  Thanks Vasili for allowing me to update this plug-in.




 Necessary Disclaimer:
  This program is "as is"
  This program most probably contains errors, bugs or whatever and that it may crash itself, SDR#, the plug-ins,
   windows or your car. You accept that you use it at your own risk.
  I make no promises to update it or support it.
  I'm under no obligation to implement anything.
  The creator of SDR# has the right to change their code as they see fit. Because of this, this program/plugin 
   can and probably will break.
  Not reading the read-me/set-up and usage documentation files may cause you issues.
