diff options
Diffstat (limited to 'op25/gr-op25_repeater/include/op25_repeater')
9 files changed, 140 insertions, 8 deletions
diff --git a/op25/gr-op25_repeater/include/op25_repeater/CMakeLists.txt b/op25/gr-op25_repeater/include/op25_repeater/CMakeLists.txt index 0fbd32c..0e3335e 100644 --- a/op25/gr-op25_repeater/include/op25_repeater/CMakeLists.txt +++ b/op25/gr-op25_repeater/include/op25_repeater/CMakeLists.txt @@ -25,6 +25,10 @@ install(FILES vocoder.h gardner_costas_cc.h p25_frame_assembler.h + frame_assembler.h ambe_encoder_sb.h + ysf_tx_sb.h + dstar_tx_sb.h + nxdn_tx_sb.h fsk4_slicer_fb.h DESTINATION include/op25_repeater ) diff --git a/op25/gr-op25_repeater/include/op25_repeater/ambe_encoder_sb.h b/op25/gr-op25_repeater/include/op25_repeater/ambe_encoder_sb.h index 1bfe061..22bdf87 100644 --- a/op25/gr-op25_repeater/include/op25_repeater/ambe_encoder_sb.h +++ b/op25/gr-op25_repeater/include/op25_repeater/ambe_encoder_sb.h @@ -47,7 +47,7 @@ namespace gr { * creating new instances. */ static sptr make(int versbose_flag); - virtual void set_gain_adjust(float gain_adjust) {} + virtual void set_gain_adjust(float gain_adjust) = 0; }; } // namespace op25_repeater diff --git a/op25/gr-op25_repeater/include/op25_repeater/dstar_tx_sb.h b/op25/gr-op25_repeater/include/op25_repeater/dstar_tx_sb.h index 8564feb..be652d3 100644 --- a/op25/gr-op25_repeater/include/op25_repeater/dstar_tx_sb.h +++ b/op25/gr-op25_repeater/include/op25_repeater/dstar_tx_sb.h @@ -48,7 +48,7 @@ namespace gr { * creating new instances. */ static sptr make(int versbose_flag, const char * conf_file); - virtual void set_gain_adjust(float gain_adjust) {} + virtual void set_gain_adjust(float gain_adjust) = 0; }; } // namespace op25_repeater diff --git a/op25/gr-op25_repeater/include/op25_repeater/frame_assembler.h b/op25/gr-op25_repeater/include/op25_repeater/frame_assembler.h new file mode 100644 index 0000000..cb86b00 --- /dev/null +++ b/op25/gr-op25_repeater/include/op25_repeater/frame_assembler.h @@ -0,0 +1,62 @@ +/* -*- c++ -*- */ +/* + * Copyright 2017 Max H. Parke KA1RBI + * + * This 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, or (at your option) + * any later version. + * + * This software 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 software; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, + * Boston, MA 02110-1301, USA. + */ + + +#ifndef INCLUDED_OP25_REPEATER_FRAME_ASSEMBLER_H +#define INCLUDED_OP25_REPEATER_FRAME_ASSEMBLER_H + +#include <op25_repeater/api.h> +#include <gnuradio/block.h> +#include <gnuradio/msg_queue.h> + +namespace gr { + namespace op25_repeater { + + /*! + * \brief <+description of block+> + * \ingroup op25_repeater + * + */ + class OP25_REPEATER_API frame_assembler : virtual public gr::block + { + public: + typedef boost::shared_ptr<frame_assembler> sptr; + + /*! + * \brief Return a shared_ptr to a new instance of op25_repeater::frame_assembler. + * + * To avoid accidental use of raw pointers, op25_repeater::frame_assembler's + * constructor is in a private implementation + * class. op25_repeater::frame_assembler::make is the public interface for + * creating new instances. + */ + static sptr make(const char* options, int debug, gr::msg_queue::sptr queue, int msgq_id); + virtual void set_xormask(const char*p) = 0; + virtual void set_nac(int nac) = 0; + virtual void set_slotid(int slotid) = 0; + virtual void insert_whitelist(int grpaddr) = 0; + virtual void insert_blacklist(int grpaddr) = 0; + }; + + } // namespace op25_repeater +} // namespace gr + +#endif /* INCLUDED_OP25_REPEATER_FRAME_ASSEMBLER_H */ + diff --git a/op25/gr-op25_repeater/include/op25_repeater/gardner_costas_cc.h b/op25/gr-op25_repeater/include/op25_repeater/gardner_costas_cc.h index 261ca11..07c0d3f 100644 --- a/op25/gr-op25_repeater/include/op25_repeater/gardner_costas_cc.h +++ b/op25/gr-op25_repeater/include/op25_repeater/gardner_costas_cc.h @@ -47,7 +47,14 @@ namespace gr { * creating new instances. */ static sptr make(float samples_per_symbol, float gain_mu, float gain_omega, float alpha, float beta, float max_freq, float min_freq); - virtual void set_omega(float omega) {} + virtual void set_omega(float omega) = 0; + virtual float get_freq_error(void) = 0; + virtual int get_error_band(void) = 0; + virtual void set_muted(bool) = 0; + virtual bool is_muted(void) = 0; + virtual void set_tdma(bool) = 0; + virtual bool is_tdma(void) = 0; + virtual void enable_sync_plot(bool) = 0; }; } // namespace op25_repeater diff --git a/op25/gr-op25_repeater/include/op25_repeater/nxdn_tx_sb.h b/op25/gr-op25_repeater/include/op25_repeater/nxdn_tx_sb.h new file mode 100644 index 0000000..8c29fb4 --- /dev/null +++ b/op25/gr-op25_repeater/include/op25_repeater/nxdn_tx_sb.h @@ -0,0 +1,58 @@ +/* -*- c++ -*- */ +/* + * DMR Encoder (C) Copyright 2017 Max H. Parke KA1RBI + * This file is part of OP25 + * + * This 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, or (at your option) + * any later version. + * + * This software 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 software; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, + * Boston, MA 02110-1301, USA. + */ + + +#ifndef INCLUDED_OP25_REPEATER_NXDN_TX_SB_H +#define INCLUDED_OP25_REPEATER_NXDN_TX_SB_H + +#include <op25_repeater/api.h> +#include <gnuradio/block.h> + +namespace gr { + namespace op25_repeater { + + /*! + * \brief <+description of block+> + * \ingroup op25_repeater + * + */ + class OP25_REPEATER_API nxdn_tx_sb : virtual public gr::block + { + public: + typedef boost::shared_ptr<nxdn_tx_sb> sptr; + + /*! + * \brief Return a shared_ptr to a new instance of op25_repeater::nxdn_tx_sb. + * + * To avoid accidental use of raw pointers, op25_repeater::nxdn_tx_sb's + * constructor is in a private implementation + * class. op25_repeater::nxdn_tx_sb::make is the public interface for + * creating new instances. + */ + static sptr make(int versbose_flag, const char * conf_file, bool nxdn96_mode); + virtual void set_gain_adjust(float gain_adjust) = 0; + }; + + } // namespace op25_repeater +} // namespace gr + +#endif /* INCLUDED_OP25_REPEATER_NXDN_TX_SB_H */ + diff --git a/op25/gr-op25_repeater/include/op25_repeater/p25_frame_assembler.h b/op25/gr-op25_repeater/include/op25_repeater/p25_frame_assembler.h index d2c24ef..9851b8e 100644 --- a/op25/gr-op25_repeater/include/op25_repeater/p25_frame_assembler.h +++ b/op25/gr-op25_repeater/include/op25_repeater/p25_frame_assembler.h @@ -47,9 +47,10 @@ namespace gr { * class. op25_repeater::p25_frame_assembler::make is the public interface for * creating new instances. */ - static sptr make(const char* udp_host, int port, int debug, bool do_imbe, bool do_output, bool do_msgq, gr::msg_queue::sptr queue, bool do_audio_output, bool do_phase2_tdma); - virtual void set_xormask(const char*p) {} - virtual void set_slotid(int slotid) {} + static sptr make(const char* udp_host, int port, int debug, bool do_imbe, bool do_output, bool do_msgq, gr::msg_queue::sptr queue, bool do_audio_output, bool do_phase2_tdma, int msgq_id); + virtual void set_xormask(const char*p) = 0; + virtual void set_nac(int nac) = 0; + virtual void set_slotid(int slotid) = 0; }; } // namespace op25_repeater diff --git a/op25/gr-op25_repeater/include/op25_repeater/vocoder.h b/op25/gr-op25_repeater/include/op25_repeater/vocoder.h index ce271e4..e1ec414 100644 --- a/op25/gr-op25_repeater/include/op25_repeater/vocoder.h +++ b/op25/gr-op25_repeater/include/op25_repeater/vocoder.h @@ -47,7 +47,7 @@ namespace gr { * creating new instances. */ static sptr make(bool encode_flag, bool verbose_flag, int stretch_amt, char* udp_host, int udp_port, bool raw_vectors_flag); - virtual void set_gain_adjust(float gain_adjust) {} + virtual void set_gain_adjust(float gain_adjust) = 0; }; } // namespace op25_repeater diff --git a/op25/gr-op25_repeater/include/op25_repeater/ysf_tx_sb.h b/op25/gr-op25_repeater/include/op25_repeater/ysf_tx_sb.h index 570fbc3..06d6a64 100644 --- a/op25/gr-op25_repeater/include/op25_repeater/ysf_tx_sb.h +++ b/op25/gr-op25_repeater/include/op25_repeater/ysf_tx_sb.h @@ -48,7 +48,7 @@ namespace gr { * creating new instances. */ static sptr make(int versbose_flag, const char * conf_file, bool fullrate_mode); - virtual void set_gain_adjust(float gain_adjust) {} + virtual void set_gain_adjust(float gain_adjust) = 0; }; } // namespace op25_repeater |