Project

General

Profile

DevelopersToneModes » History » Version 17

Dan Smith, 02/11/2023 02:59 PM

1 4 Dan Smith
{{toc}}
2 5 Dan Smith
3 17 Dan Smith
# Tone Modes in CHIRP
4 1 Dan Smith
5 17 Dan Smith
## (None)
6 1 Dan Smith
7
An empty Memory.tmode means that no tone is transmitted or received
8
9 17 Dan Smith
## Tone
10 1 Dan Smith
11
A Memory.tmode of "Tone" means that the radio will transmit a single sub-audible tone, according to the Memory.rtone value. In this mode, the receiver is carrier squelch.
12
13 17 Dan Smith
## TSQL
14 1 Dan Smith
15 3 Dan Smith
A Memory.tmode of "TSQL" means that the radio will transmit a sub-audible tone, according to either the Memory.rtone or Memory.ctone value. In this mode, the receiver uses tone squelch with the same value as the transmitter. If the radio's feature set includes "has_ctone" (most Icom and Kenwood radios) then the value used in this case is Memory.ctone. Otherwise, use Memory.rtone.
16 1 Dan Smith
17 17 Dan Smith
## DTCS
18 1 Dan Smith
19 7 Filippi Marco
A Memory.tmode of "DTCS" means that the radio will transmit a DCS code, according to either the Memory.dtcs or Memory.rx_dtcs value. In this mode, the receiver uses DTCS squelch with the same value of the transmitter. If the radio's feature set includes "has_rx_dtcs" then the value used in this case is Memory.rx_dtcs. Otherwise, use Memory.dtcs.
20 1 Dan Smith
21 17 Dan Smith
## TSQL-R
22 13 Daniel Clemmensen
23
A Memory.tmode of "TSQL-R" means that the radio will squelch when the tone is received and use carrier squelch if not. This is usually used to listen for transmissions that should not be there. If the radio's feature set includes "has_ctone" then the value used in this case is Memory.ctone. Otherwise, use Memory.rtone.
24
25 17 Dan Smith
## DTCS-R
26 13 Daniel Clemmensen
27
A Memory.mode of "DTCS-R" means that the radio will not transmit a sub-audible tone, but will squelch the receiver when the specified DCS is present and use carrier squelch when it is not. If the radio's feature set includes "has_rx_dtcs" then the value used in this case is Memory.rx_dtcs. Otherwise, use Memory.dtcs.
28
29 17 Dan Smith
## Cross
30 1 Dan Smith
31 17 Dan Smith
A Memory.tmode of "Cross" means that the radio will use an asymmetric squelch configuration according to the value of `Memory.cross_mode`:
32 1 Dan Smith
33 17 Dan Smith
## Tone->Tone
34 1 Dan Smith
35 15 Daniel Clemmensen
A cross_mode of "Tone->Tone" means the radio will transmit one sub-audible and will use another tone to open the receive squelch. The tone values are in Memory.rtone and Memory.ctone respectively. By convention, the driver code generally expects "Cross": "Tone->Tone" to be used only when the two tones are different, and a mode of "TSQL" to be used when the tones are the same.
36 1 Dan Smith
37 17 Dan Smith
## Tone->DTCS
38 1 Dan Smith
39 8 Filippi Marco
A cross mode of "Tone->DTCS" means that the radio will use a sub-audible tone for transmit, according to Memory.rtone, and a DCS code for receiver squelch. If the radio's feature set includes "has_rx_dtcs" then the value used in this case is Memory.rx_dtcs. Otherwise, use Memory.dtcs
40 1 Dan Smith
41 17 Dan Smith
## DTCS->Tone
42 1 Dan Smith
43 9 Filippi Marco
A cross mode of "DTCS->Tone" means that the radio will use a DCS code for transmit, according to Memory.dtcs, and a sub-audible tone for receiver squelch. If the radio's feature set includes "has_ctone" then the value used in this case is Memory.ctone. Otherwise, use Memory.rtone.
44 1 Dan Smith
45 17 Dan Smith
## ->Tone
46 1 Dan Smith
47 10 Filippi Marco
A cross mode of "->Tone" means that the radio will not transmit a sub-audible tone, but will enable tone squelch on the receiver.  If the radio's feature set includes "has_ctone" then the value used in this case is Memory.ctone. Otherwise, use Memory.rtone.
48 1 Dan Smith
49 17 Dan Smith
## ->DTCS
50 1 Dan Smith
51 11 Filippi Marco
A cross mode of "->DTCS" means that the radio will not transmit a sub-audible tone, but will enable DCS squelch on the receiver. If the radio's feature set includes "has_rx_dtcs" then the value used in this case is Memory.rx_dtcs. Otherwise, use Memory.dtcs.
52 3 Dan Smith
53 17 Dan Smith
## DTCS->
54 12 Filippi Marco
55
A cross mode of "DTCS->" means that the radio will use a DCS code for transmit, according to Memory.dtcs. In this mode, the receiver is carrier squelch.
56
57 17 Dan Smith
## DTCS->DTCS
58 12 Filippi Marco
59 16 Daniel Clemmensen
A cross mode of "DTCS->DTCS" means that the radio will transmit a DCS code and will use a DSC code to open the squelch. The code values are Memory.dtcs and Memory.rx_dtcs respectively. By convention, CHIRP generally uses "Cross":"DTCS->DTCS" when the two codes are different, and uses a mode of "DTCS" when they are the same.
60 12 Filippi Marco
61 17 Dan Smith
# Radio Behavior
62 3 Dan Smith
63 17 Dan Smith
## Icom/Kenwood style
64 3 Dan Smith
65
Most (maybe all?) Icoms and Kenwoods behave in a specific way. They store two tone values, one of which gets used in Tone mode, and the other which gets used in TSQL (CTCSS) mode. No Icom (that I'm aware of) can use the two values for separate TX and RX tones, nor can *most* Kenwoods. However, at least the Kenwood D72 can operate this way.
66
67 17 Dan Smith
## Yaesu style
68 1 Dan Smith
69 13 Daniel Clemmensen
Older Yaesu radios store just a single tone value, which gets used regardless of whether or not the radio is in Tone or TSQL mode.
70
71
Newer Yaesu HTs use both rtone and ctone. These radios support all of the ctcss modes. They also store separate DTCS transmit and receive. they support all modes except DTCS-R and all cross modes except TONE->DTCS and DTCS->Tone. 
72 3 Dan Smith
73 17 Dan Smith
## Commercial style (Wouxun, Baofeng, etc)
74 3 Dan Smith
75
These radios store separate TX and RX tones all the time (and often overload the same field for DTCS and tone values, storing a flag if the value is not to be used). These are effectively in "Cross" mode all the time, but CHIRP detects the common modes and provides the appearance of the other radios (emulating Tone, TSQL, and DTCS where possible).
76 12 Filippi Marco
77 17 Dan Smith
# Memory tone fields usage matrix
78 12 Filippi Marco
79
This table summarize which memory fields are used in each tone mode.
80
81
<pre>
82
           |   rtone  |  ctone  |   dtcs  | rx_dtcs
83
           +----------+---------+---------+--------
84
Tone       |    X     |         |         |
85
ToneSQL    | !has_ct  | has_ct  |         |
86
DTCS       |          |         | !has_rd | has_rd
87
->Tone     | !has_ct  | has_ct  |         |
88
->DTCS     |          |         | !has_rd | has_rd
89
Tone->     |    X     |         |         |
90
Tone->Tone |    X     |   X     |         |
91
Tone->DTCS |    X     |         | !has_rd | has_rd
92
DTCS->     |          |         |    X    |
93
DTCS->Tone | !has_ct  | has_ct  |    X    |
94
DTCS->DTCS |          |         |    X    |   X
95
           
96
97
Legend
98
X       field used
99
has_ct  used if has_ctone is set
100
!has_ct used if has_ctone is not set
101
has_rd  used if has_rx_dtcs is set
102
!has_rd used if has_rx_dtcs is not set
103
</pre>