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