/* -*- C++ -*- */ %feature("autodoc", "1"); %{ #include %} %include "exception.i" %import "gnuradio.i" %{ #include "gnuradio_swig_bug_workaround.h" #include "op25_fsk4_demod_ff.h" #include "op25_fsk4_slicer_fb.h" #include "op25_decoder_bf.h" #include "op25_pcap_source_b.h" %} // ---------------------------------------------------------------- /* * This does some behind-the-scenes magic so we can * access fsk4_square_ff from python as fsk4.square_ff */ GR_SWIG_BLOCK_MAGIC(op25, fsk4_demod_ff); /* * Publicly-accesible default constuctor function for op25_fsk4_demod_bf. */ op25_fsk4_demod_ff_sptr op25_make_fsk4_demod_ff(gr_msg_queue_sptr queue, float sample_rate, float symbol_rate); class op25_fsk4_demod_ff : public gr_block { private: op25_fsk4_demod_ff(gr_msg_queue_sptr queue, float sample_rate, float symbol_rate); }; // ---------------------------------------------------------------- /* * This does some behind-the-scenes magic so we can invoke * op25_make_slicer_fb from python as op25.slicer_fbf. */ GR_SWIG_BLOCK_MAGIC(op25, fsk4_slicer_fb); /* * Publicly-accesible default constuctor function for op25_decoder_bf. */ op25_fsk4_slicer_fb_sptr op25_make_fsk4_slicer_fb(const std::vector &slice_levels); /* * The op25_fsk4_slicer block. Takes a series of float samples and * partitions them into dibit symbols according to the slices_levels * provided to the constructor. */ class op25_fsk4_slicer_fb : public gr_sync_block { private: op25_fsk4_slicer_fb (const std::vector &slice_levels); }; // ---------------------------------------------------------------- /* * This does some behind-the-scenes magic so we can invoke * op25_make_decoder_bsf from python as op25.decoder_bf. */ GR_SWIG_BLOCK_MAGIC(op25, decoder_bf); /* * Publicly-accesible default constuctor function for op25_decoder_bf. */ op25_decoder_bf_sptr op25_make_decoder_bf(); /** * The op25_decoder_bf block. Accepts a stream of dibit symbols and * produces an 8KS/s audio stream. */ class op25_decoder_bf : public gr_block { private: op25_decoder_bf(); public: const char *destination() const; gr_msg_queue_sptr get_msgq() const; void set_msgq(gr_msg_queue_sptr msgq); }; // ---------------------------------------------------------------- /* * This does some behind-the-scenes magic so we can invoke * op25_make_pcap_source_b from python as op25.pcap_source_b. */ GR_SWIG_BLOCK_MAGIC(op25, pcap_source_b); /* * Publicly-accesible constuctor function for op25_pcap_source. */ op25_pcap_source_b_sptr op25_make_pcap_source_b(const char *path, float delay); /* * The op25_pcap_source block. Reads symbols from a tcpdump-formatted * file and produces a stream of symbols of the appropriate size. */ class op25_pcap_source_b : public gr_sync_block { private: op25_pcap_source_b(const char *path, float delay); }; // ----------------------------------------------------------------