aboutsummaryrefslogtreecommitdiffstats
path: root/rdsparse/parser_impl.h
diff options
context:
space:
mode:
authorMatthias P. Braendli <matthias.braendli@mpb.li>2016-03-18 16:02:25 +0100
committerMatthias P. Braendli <matthias.braendli@mpb.li>2016-03-18 16:02:25 +0100
commit78a5d1945922e9d4b9932c9d39d61a9f192bcd56 (patch)
treece99822cb4b1f143b32ddf3d9b6de83f6b6f4160 /rdsparse/parser_impl.h
parent626c6d11cba32fac3bef312c8791df15f5bbf65a (diff)
downloadmmbtools-aux-78a5d1945922e9d4b9932c9d39d61a9f192bcd56.tar.gz
mmbtools-aux-78a5d1945922e9d4b9932c9d39d61a9f192bcd56.tar.bz2
mmbtools-aux-78a5d1945922e9d4b9932c9d39d61a9f192bcd56.zip
Add rdparse tool in development
Diffstat (limited to 'rdsparse/parser_impl.h')
-rw-r--r--rdsparse/parser_impl.h78
1 files changed, 78 insertions, 0 deletions
diff --git a/rdsparse/parser_impl.h b/rdsparse/parser_impl.h
new file mode 100644
index 0000000..331b38b
--- /dev/null
+++ b/rdsparse/parser_impl.h
@@ -0,0 +1,78 @@
+/*
+ * Copyright (C) 2014 Bastian Bloessl <bloessl@ccs-labs.org>
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+#ifndef INCLUDED_RDS_PARSER_IMPL_H
+#define INCLUDED_RDS_PARSER_IMPL_H
+
+#include <gnuradio/thread/thread.h>
+
+namespace rds {
+
+class parser_impl
+{
+public:
+ parser_impl(bool log, bool debug, unsigned char pty_locale);
+
+ void parse(unsigned int *group);
+
+private:
+
+ void reset();
+ void send_message(long, std::string);
+ double decode_af(unsigned int);
+ void decode_optional_content(int, unsigned long int *);
+
+ void decode_type0( unsigned int* group, bool B);
+ void decode_type1( unsigned int* group, bool B);
+ void decode_type2( unsigned int* group, bool B);
+ void decode_type3( unsigned int* group, bool B);
+ void decode_type4( unsigned int* group, bool B);
+ void decode_type5( unsigned int* group, bool B);
+ void decode_type6( unsigned int* group, bool B);
+ void decode_type7( unsigned int* group, bool B);
+ void decode_type8( unsigned int* group, bool B);
+ void decode_type9( unsigned int* group, bool B);
+ void decode_type10(unsigned int* group, bool B);
+ void decode_type11(unsigned int* group, bool B);
+ void decode_type12(unsigned int* group, bool B);
+ void decode_type13(unsigned int* group, bool B);
+ void decode_type14(unsigned int* group, bool B);
+ void decode_type15(unsigned int* group, bool B);
+
+ unsigned int program_identification;
+ unsigned char program_type;
+ unsigned char pi_country_identification;
+ unsigned char pi_area_coverage;
+ unsigned char pi_program_reference_number;
+ char radiotext[65];
+ char program_service_name[9];
+ bool radiotext_AB_flag;
+ bool traffic_program;
+ bool traffic_announcement;
+ bool music_speech;
+ bool mono_stereo;
+ bool artificial_head;
+ bool compressed;
+ bool static_pty;
+ bool log;
+ bool debug;
+ unsigned char pty_locale;
+};
+
+}; // namespace rds
+
+#endif /* INCLUDED_RDS_PARSER_IMPL_H */
+