GNU Radio's RDS Package
constants.h
Go to the documentation of this file.
1/*
2 * Copyright 2004 Free Software Foundation, Inc.
3 *
4 * This file is part of GNU Radio
5 *
6 * GNU Radio is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2, or (at your option)
9 * any later version.
10 *
11 * GNU Radio 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
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with GNU Radio; see the file COPYING. If not, write to
18 * the Free Software Foundation, Inc., 51 Franklin Street,
19 * Boston, MA 02110-1301, USA.
20 */
21
22
23/* see page 59, Annex C, table C.1 in the standard
24 * offset word C' has been put at the end */
25static const unsigned int offset_pos[5]={0,1,2,3,2};
26static const unsigned int offset_word[5]={252,408,360,436,848};
27static const unsigned int syndrome[5]={383,14,303,663,748};
28static const char * const offset_name[]={"A","B","C","D","C'"};
29
30/* Annex F of RBDS Standard Table F.1 (North America) and
31 * Table F.2 (Europe) */
32const std::string pty_table[32][2]={
33 {"Undefined", "Undefined"},
34 {"News", "News"},
35 {"Current Affairs", "Information"},
36 {"Information", "Sports"},
37 {"Sport", "Talk"},
38 {"Education", "Rock"},
39 {"Drama", "Classic Rock"},
40 {"Culture", "Adult Hits"},
41 {"Science", "Soft Rock"},
42 {"Varied", "Top 40"},
43 {"Pop Music", "Country"},
44 {"Rock Music", "Oldies"},
45 {"Easy Listening", "Soft"},
46 {"Light Classical", "Nostalgia"},
47 {"Serious Classical", "Jazz"},
48 {"Other Music", "Classical"},
49 {"Weather", "Rhythm & Blues"},
50 {"Finance", "Soft Rhythm & Blues"},
51 {"Children’s Programmes", "Language"},
52 {"Social Affairs", "Religious Music"},
53 {"Religion", "Religious Talk"},
54 {"Phone-In", "Personality"},
55 {"Travel", "Public"},
56 {"Leisure", "College"},
57 {"Jazz Music", "Spanish Talk"},
58 {"Country Music", "Spanish Music"},
59 {"National Music", "Hip Hop"},
60 {"Oldies Music", "Unassigned"},
61 {"Folk Music", "Unassigned"},
62 {"Documentary", "Weather"},
63 {"Alarm Test", "Emergency Test"},
64 {"Alarm", "Emergency"}};
65
66/* page 71, Annex D, table D.1 in the standard */
67const std::string pi_country_codes[15][5]={
68 {"DE","GR","MA","__","MD"},
69 {"DZ","CY","CZ","IE","EE"},
70 {"AD","SM","PL","TR","__"},
71 {"IL","CH","VA","MK","__"},
72 {"IT","JO","SK","__","__"},
73 {"BE","FI","SY","__","UA"},
74 {"RU","LU","TN","__","__"},
75 {"PS","BG","__","NL","PT"},
76 {"AL","DK","LI","LV","SI"},
77 {"AT","GI","IS","LB","__"},
78 {"HU","IQ","MC","__","__"},
79 {"MT","GB","LT","HR","__"},
80 {"DE","LY","YU","__","__"},
81 {"__","RO","ES","SE","__"},
82 {"EG","FR","NO","BY","BA"}};
83
84/* page 72, Annex D, table D.2 in the standard */
85const std::string coverage_area_codes[16]={
86 "Local",
87 "International",
88 "National",
89 "Supra-regional",
90 "Regional 1",
91 "Regional 2",
92 "Regional 3",
93 "Regional 4",
94 "Regional 5",
95 "Regional 6",
96 "Regional 7",
97 "Regional 8",
98 "Regional 9",
99 "Regional 10",
100 "Regional 11",
101 "Regional 12"};
102
103const std::string rds_group_acronyms[16]={
104 "BASIC",
105 "PIN/SL",
106 "RT",
107 "AID",
108 "CT",
109 "TDC",
110 "IH",
111 "RP",
112 "TMC",
113 "EWS",
114 "___",
115 "___",
116 "___",
117 "___",
118 "EON",
119 "___"};
120
121/* page 74, Annex E, table E.1 in the standard: that's the ASCII table!!! */
122
123/* see page 84, Annex J in the standard */
124const std::string language_codes[44]={
125 "Unknown/not applicable",
126 "Albanian",
127 "Breton",
128 "Catalan",
129 "Croatian",
130 "Welsh",
131 "Czech",
132 "Danish",
133 "German",
134 "English",
135 "Spanish",
136 "Esperanto",
137 "Estonian",
138 "Basque",
139 "Faroese",
140 "French",
141 "Frisian",
142 "Irish",
143 "Gaelic",
144 "Galician",
145 "Icelandic",
146 "Italian",
147 "Lappish",
148 "Latin",
149 "Latvian",
150 "Luxembourgian",
151 "Lithuanian",
152 "Hungarian",
153 "Maltese",
154 "Dutch",
155 "Norwegian",
156 "Occitan",
157 "Polish",
158 "Portuguese",
159 "Romanian",
160 "Romansh",
161 "Serbian",
162 "Slovak",
163 "Slovene",
164 "Finnish",
165 "Swedish",
166 "Turkish",
167 "Flemish",
168 "Walloon"};
169
170/* see page 12 in ISO 14819-1 */
171const std::string tmc_duration[8][2]={
172 {"no duration given", "no duration given"},
173 {"15 minutes", "next few hours"},
174 {"30 minutes", "rest of the day"},
175 {"1 hour", "until tomorrow evening"},
176 {"2 hours", "rest of the week"},
177 {"3 hours", "end of next week"},
178 {"4 hours", "end of the month"},
179 {"rest of the day", "long period"}};
180
181/* optional message content, data field lengths and labels
182 * see page 15 in ISO 14819-1 */
183const int optional_content_lengths[16]={3,3,5,5,5,8,8,8,8,11,16,16,16,16,0,0};
184
185const std::string label_descriptions[16]={
186 "Duration",
187 "Control code",
188 "Length of route affected",
189 "Speed limit advice",
190 "Quantifier",
191 "Quantifier",
192 "Supplementary information code",
193 "Explicit start time",
194 "Explicit stop time",
195 "Additional event",
196 "Detailed diversion instructions",
197 "Destination",
198 "RFU (Reserved for future use)",
199 "Cross linkage to source of problem, or another route",
200 "Separator",
201 "RFU (Reserved for future use)"};
const std::string label_descriptions[16]
Definition: constants.h:185
static const unsigned int offset_pos[5]
Definition: constants.h:25
const std::string rds_group_acronyms[16]
Definition: constants.h:103
static const unsigned int syndrome[5]
Definition: constants.h:27
const std::string pi_country_codes[15][5]
Definition: constants.h:67
const std::string coverage_area_codes[16]
Definition: constants.h:85
const std::string pty_table[32][2]
Definition: constants.h:32
static const char *const offset_name[]
Definition: constants.h:28
static const unsigned int offset_word[5]
Definition: constants.h:26
const std::string language_codes[44]
Definition: constants.h:124
const std::string tmc_duration[8][2]
Definition: constants.h:171
const int optional_content_lengths[16]
Definition: constants.h:183