Hamlib 4.7~git
 
Loading...
Searching...
No Matches
tones.h
1/*
2 * Hamlib Interface - CTCSS and DCS tables header
3 * Copyright (c) 2000-2009 by Stephane Fillod and Frank Singleton
4 *
5 *
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
10 *
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
15 *
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19 *
20 */
21
22#ifndef _TONES_H
23#define _TONES_H 1
24
25
26#include <hamlib/rig.h> /* and implicitly rig_dll.h */
27
28
29/*
30 * 52 CTCSS sub-audible tones
31 */
32#define FULL_CTCSS_LIST \
33 600, 670, 693, 719, 744, 770, 797, 825, 854, 885, 915, \
34 948, 974, 1000, 1035, 1072, 1109, 1148, 1188, 1200, 1230, 1273, \
35 1318, 1365, 1413, 1462, 1514, 1567, 1598, 1622, 1655, 1679, \
36 1713, 1738, 1773, 1799, 1835, 1862, 1899, 1928, 1966, 1995, \
37 2035, 2065, 2107, 2181, 2257, 2291, 2336, 2418, 2503, 2541, \
38 0,
39
40static const tone_t static_full_ctcss_list[] =
41{
42 FULL_CTCSS_LIST
43};
44
45#define FULL_CTCSS_LIST_COUNT 52
46
47
48/*
49 * 50 CTCSS sub-audible tones, from 67.0Hz to 254.1Hz
50 *
51 * \note Don't even think about changing a bit of this array, several
52 * backends depend on it. If you need to, create a copy for your
53 * own caps. --SF
54 */
55#define COMMON_CTCSS_LIST \
56 670, 693, 719, 744, 770, 797, 825, 854, 885, 915, \
57 948, 974, 1000, 1035, 1072, 1109, 1148, 1188, 1230, 1273, \
58 1318, 1365, 1413, 1462, 1514, 1567, 1598, 1622, 1655, 1679, \
59 1713, 1738, 1773, 1799, 1835, 1862, 1899, 1928, 1966, 1995, \
60 2035, 2065, 2107, 2181, 2257, 2291, 2336, 2418, 2503, 2541, \
61 0,
62
63static const tone_t static_common_ctcss_list[] =
64{
65 COMMON_CTCSS_LIST
66};
67
68#define COMMON_CTCSS_LIST_COUNT 50
69
70
71/*
72 * 104 DCS codes
73 */
74#define COMMON_DCS_LIST \
75 23, 25, 26, 31, 32, 36, 43, 47, 51, 53, \
76 54, 65, 71, 72, 73, 74, 114, 115, 116, 122, 125, 131, \
77 132, 134, 143, 145, 152, 155, 156, 162, 165, 172, 174, 205, \
78 212, 223, 225, 226, 243, 244, 245, 246, 251, 252, 255, 261, \
79 263, 265, 266, 271, 274, 306, 311, 315, 325, 331, 332, 343, \
80 346, 351, 356, 364, 365, 371, 411, 412, 413, 423, 431, 432, \
81 445, 446, 452, 454, 455, 462, 464, 465, 466, 503, 506, 516, \
82 523, 526, 532, 546, 565, 606, 612, 624, 627, 631, 632, 654, \
83 662, 664, 703, 712, 723, 731, 732, 734, 743, 754, \
84 0,
85
86static const tone_t static_common_dcs_list[] =
87{
88 COMMON_DCS_LIST
89};
90
91#define COMMON_DCS_LIST_COUNT 104
92
93/*
94 * 106 DCS codes
95 */
96#define FULL_DCS_LIST \
97 17, 23, 25, 26, 31, 32, 36, 43, 47, 50, 51, 53, \
98 54, 65, 71, 72, 73, 74, 114, 115, 116, 122, 125, 131, \
99 132, 134, 143, 145, 152, 155, 156, 162, 165, 172, 174, 205, \
100 212, 223, 225, 226, 243, 244, 245, 246, 251, 252, 255, 261, \
101 263, 265, 266, 271, 274, 306, 311, 315, 325, 331, 332, 343, \
102 346, 351, 356, 364, 365, 371, 411, 412, 413, 423, 431, 432, \
103 445, 446, 452, 454, 455, 462, 464, 465, 466, 503, 506, 516, \
104 523, 526, 532, 546, 565, 606, 612, 624, 627, 631, 632, 654, \
105 662, 664, 703, 712, 723, 731, 732, 734, 743, 754, \
106 0,
107
108static const tone_t static_full_dcs_list[] =
109{
110 FULL_DCS_LIST
111};
112
113#define FULL_DCS_LIST_COUNT 106
114
115/*
116 * These arrays cannot be shared on Win32 systems,
117 * because DLL's vars don't have constant address.
118 */
119#if (defined(_WIN32) || defined(__CYGWIN__)) // && !defined(IN_HAMLIB)
120#define common_ctcss_list (tone_t*)static_common_ctcss_list
121#define full_ctcss_list (tone_t*)static_full_ctcss_list
122#define full_dcs_list (tone_t*)static_full_dcs_list
123#define common_dcs_list (tone_t*)static_common_dcs_list
124
125#else
126
127extern HAMLIB_EXPORT_VAR(tone_t) full_ctcss_list[];
128extern HAMLIB_EXPORT_VAR(tone_t) common_ctcss_list[];
129extern HAMLIB_EXPORT_VAR(tone_t) full_dcs_list[];
130extern HAMLIB_EXPORT_VAR(tone_t) common_dcs_list[];
131
132#endif
133
134#endif /* _TONES_H */
tone_t full_dcs_list[]
Definition tones.c:64
tone_t common_dcs_list[]
Definition tones.c:59
tone_t common_ctcss_list[]
Definition tones.c:54
tone_t full_ctcss_list[]
Definition tones.c:45
Hamlib rig data structures.