GNU Radio 3.6.3 C++ API
pageri_flex_modes.h
Go to the documentation of this file.
1 /*
2  * Copyright 2006,2007 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 3, 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 #ifndef INCLUDED_PAGERI_FLEX_MODES_H
23 #define INCLUDED_PAGERI_FLEX_MODES_H
24 
25 #include <gr_types.h>
26 
27 #define FLEX_SYNC_MARKER 0xA6C6AAAA
28 
29 typedef struct flex_mode
30 {
31  gr_int32 sync; // Outer synchronization code
32  unsigned int baud; // Baudrate of SYNC2 and DATA
33  unsigned int levels; // FSK encoding of SYNC2 and DATA
34 }
36 
37 extern const flex_mode_t flex_modes[];
38 extern const char *flex_page_desc[];
39 extern const int num_flex_modes;
40 int find_flex_mode(gr_int32 sync_code);
41 extern unsigned char flex_bcd[];
42 
43 typedef enum {
53 }
55 
57 {
58  return (type == FLEX_ALPHANUMERIC ||
59  type == FLEX_SECURE);
60 }
61 
62 inline bool is_numeric_page(page_type_t type)
63 {
64  return (type == FLEX_STANDARD_NUMERIC ||
65  type == FLEX_SPECIAL_NUMERIC ||
66  type == FLEX_NUMBERED_NUMERIC);
67 }
68 
69 inline bool is_tone_page(page_type_t type)
70 {
71  return (type == FLEX_TONE);
72 }
73 
74 #endif // INCLUDED_PAGERI_FLEX_MODES_H