gr::fec::encoder
gr::block
gnuradio/fec/encoder.h
std::shared_ptr< encoder > std::shared_ptr<encoder> gr::fec::encoder::sptr sptr gr::fec::encoder::sptr
sptr static sptr gr::fec::encoder::make (generic_encoder::sptr my_encoder, size_t input_item_size, size_t output_item_size) make gr::fec::encoder::make generic_encoder::sptr my_encoder size_t input_item_size size_t output_item_size

Build the FEC encoder block from an FECAPI encoder object.

my_encoder

An FECAPI encoder object child of the generic_encoder class.

input_item_size

size of a block of data for the encoder.

output_item_size

size of a block of data the encoder will produce.

int int gr::fec::encoder::general_work (int noutput_items, gr_vector_int &ninput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items) override=0 general_work gr::fec::encoder::general_work general_work int noutput_items gr_vector_int & ninput_items gr_vector_const_void_star & input_items gr_vector_void_star & output_items

compute output items from input items

noutput_items

number of output items to write on each output stream

ninput_items

number of input items available on each input stream

input_items

vector of pointers to the input items, one entry per input stream

output_items

vector of pointers to the output items, one entry per output stream

number of items actually written to each output stream or WORK_CALLED_PRODUCE or WORK_DONE. It is OK to return a value less than noutput_items.

WORK_CALLED_PRODUCE is used where not all outputs produce the same number of items. general_work must call produce() for each output to indicate the number of items actually produced.

WORK_DONE indicates that no more data will be produced by this block.

general_work must call consume or consume_each to indicate how many items were consumed on each input stream.

int int gr::fec::encoder::fixed_rate_ninput_to_noutput (int ninput) override=0 fixed_rate_ninput_to_noutput gr::fec::encoder::fixed_rate_ninput_to_noutput fixed_rate_ninput_to_noutput int ninput

Given ninput samples, return number of output samples that will be produced. N.B. this is only defined if fixed_rate returns true. Generally speaking, you don't need to override this.

int int gr::fec::encoder::fixed_rate_noutput_to_ninput (int noutput) override=0 fixed_rate_noutput_to_ninput gr::fec::encoder::fixed_rate_noutput_to_ninput fixed_rate_noutput_to_ninput int noutput

Given noutput samples, return number of input samples required to produce noutput. N.B. this is only defined if fixed_rate returns true. Generally speaking, you don't need to override this.

void void gr::fec::encoder::forecast (int noutput_items, gr_vector_int &ninput_items_required) override=0 forecast gr::fec::encoder::forecast forecast int noutput_items gr_vector_int & ninput_items_required

Estimate input requirements given output request.

noutput_items

number of output items to produce

ninput_items_required

number of input items required on each input stream

Given a request to product `noutput_items`, estimate the number of data items required on each input stream. The estimate doesn't have to be exact, but should be close.

Creates the encoder block for use in GNU Radio flowgraphs from a given FECAPI object derived from the generic_encoder class.

Generally, we would use the fec.extended_encoder Python implementation to instantiate this. The extended_encoder wraps up a few more details, like taking care of puncturing as well as the encoder itself.

gr::basic_block
gr::block
gr::fec::encoder
gr::messages::msg_accepter
gr::msg_accepter
std::enable_shared_from_this< basic_block >
T
gr::basic_block
d_name
d_symbol_alias
d_symbol_name
d_input_signature
d_output_signature
d_debug_logger
d_logger
msg_queue
d_rpc_vars
d_message_subscribers
gr::block
d_max_output_buffer
d_min_output_buffer
d_pmt_done
d_system_port
gr::fec::encoder
gr::io_signature
gr::messages::msg_accepter
gr::msg_accepter
std::basic_string< Char >
std::deque< T >
elements
std::enable_shared_from_this< basic_block >
std::map< pmt::pmt_t, msg_queue_t, msg_queue_comparator >
keys
elements
std::shared_ptr< T >
ptr
std::shared_ptr< io_signature >
ptr
std::shared_ptr< logger >
std::shared_ptr< pmt_base >
std::string
std::vector< long >
std::vector< rpcbasic_sptr >
elements
p
- gr::fec::encoder
  _post
- gr::fec::encoder
  active_thread_priority
- gr::fec::encoder
  add_item_tag
- gr::fec::encoder
  add_item_tag
- gr::fec::encoder
  alias
- gr::fec::encoder
  alias_pmt
- gr::fec::encoder
  alias_set
- gr::fec::encoder
  alignment
- gr::fec::encoder
  allocate_buffer
- gr::fec::encoder
  allocate_detail
- gr::fec::encoder
  basic_block
- gr::fec::encoder
  basic_block
- gr::fec::encoder
  BLACK
- gr::fec::encoder
  blkd_input_timer_value
- gr::fec::encoder
  block
- gr::fec::encoder
  block
- gr::fec::encoder
  check_topology
- gr::fec::encoder
  clear_finished
- gr::fec::encoder
  color
- gr::fec::encoder
  consume
- gr::fec::encoder
  consume_each
- gr::fec::encoder
  d_blkd_input_timer_value
- gr::fec::encoder
  d_color
- gr::fec::encoder
  d_debug_logger
- gr::fec::encoder
  d_input_signature
- gr::fec::encoder
  d_logger
- gr::fec::encoder
  d_max_output_buffer
- gr::fec::encoder
  d_message_subscribers
- gr::fec::encoder
  d_min_output_buffer
- gr::fec::encoder
  d_name
- gr::fec::encoder
  d_output_signature
- gr::fec::encoder
  d_pmt_done
- gr::fec::encoder
  d_rpc_set
- gr::fec::encoder
  d_rpc_vars
- gr::fec::encoder
  d_setlock
- gr::fec::encoder
  d_symbol_alias
- gr::fec::encoder
  d_symbol_name
- gr::fec::encoder
  d_symbolic_id
- gr::fec::encoder
  d_system_port
- gr::fec::encoder
  d_unique_id
- gr::fec::encoder
  declare_sample_delay
- gr::fec::encoder
  declare_sample_delay
- gr::fec::encoder
  delete_head_nowait
- gr::fec::encoder
  detail
- gr::fec::encoder
  dispatch_msg
- gr::fec::encoder
  empty_handled_p
- gr::fec::encoder
  empty_handled_p
- gr::fec::encoder
  empty_p
- gr::fec::encoder
  empty_p
- gr::fec::encoder
  enable_update_rate
- gr::fec::encoder
  erase_msg
- gr::fec::encoder
  expand_minmax_buffer
- gr::fec::encoder
  finished
- gr::fec::encoder
  fixed_rate
- gr::fec::encoder
  fixed_rate_ninput_to_noutput
- gr::fec::encoder
  fixed_rate_noutput_to_ninput
- gr::fec::encoder
  forecast
- gr::fec::encoder
  general_work
- gr::fec::encoder
  get_iterator
- gr::fec::encoder
  get_msg_map
- gr::fec::encoder
  get_tags_in_range
- gr::fec::encoder
  get_tags_in_range
- gr::fec::encoder
  get_tags_in_window
- gr::fec::encoder
  get_tags_in_window
- gr::fec::encoder
  GREY
- gr::fec::encoder
  has_msg_handler
- gr::fec::encoder
  has_msg_port
- gr::fec::encoder
  history
- gr::fec::encoder
  identifier
- gr::fec::encoder
  input_signature
- gr::fec::encoder
  insert_tail
- gr::fec::encoder
  is_pc_rpc_set
- gr::fec::encoder
  is_rpc_set
- gr::fec::encoder
  is_set_max_noutput_items
- gr::fec::encoder
  is_unaligned
- gr::fec::encoder
  log_level
- gr::fec::encoder
  make
- gr::fec::encoder
  max_noutput_items
- gr::fec::encoder
  max_output_buffer
- gr::fec::encoder
  message_port_is_hier
- gr::fec::encoder
  message_port_is_hier_in
- gr::fec::encoder
  message_port_is_hier_out
- gr::fec::encoder
  message_port_pub
- gr::fec::encoder
  message_port_register_in
- gr::fec::encoder
  message_port_register_out
- gr::fec::encoder
  message_port_sub
- gr::fec::encoder
  message_port_unsub
- gr::fec::encoder
  message_ports_in
- gr::fec::encoder
  message_ports_out
- gr::fec::encoder
  message_subscribers
- gr::fec::encoder
  min_noutput_items
- gr::fec::encoder
  min_output_buffer
- gr::fec::encoder
  mp_relative_rate
- gr::fec::encoder
  msg_accepter
- gr::fec::encoder
  msg_queue
- gr::fec::encoder
  name
- gr::fec::encoder
  nitems_read
- gr::fec::encoder
  nitems_written
- gr::fec::encoder
  nmsgs
- gr::fec::encoder
  no_pc_rpc
- gr::fec::encoder
  notify_msg_neighbors
- gr::fec::encoder
  output_multiple
- gr::fec::encoder
  output_multiple_set
- gr::fec::encoder
  output_signature
- gr::fec::encoder
  pc_input_buffers_full
- gr::fec::encoder
  pc_input_buffers_full
- gr::fec::encoder
  pc_input_buffers_full_avg
- gr::fec::encoder
  pc_input_buffers_full_avg
- gr::fec::encoder
  pc_input_buffers_full_var
- gr::fec::encoder
  pc_input_buffers_full_var
- gr::fec::encoder
  pc_noutput_items
- gr::fec::encoder
  pc_noutput_items_avg
- gr::fec::encoder
  pc_noutput_items_var
- gr::fec::encoder
  pc_nproduced
- gr::fec::encoder
  pc_nproduced_avg
- gr::fec::encoder
  pc_nproduced_var
- gr::fec::encoder
  pc_output_buffers_full
- gr::fec::encoder
  pc_output_buffers_full
- gr::fec::encoder
  pc_output_buffers_full_avg
- gr::fec::encoder
  pc_output_buffers_full_avg
- gr::fec::encoder
  pc_output_buffers_full_var
- gr::fec::encoder
  pc_output_buffers_full_var
- gr::fec::encoder
  pc_throughput_avg
- gr::fec::encoder
  pc_work_time
- gr::fec::encoder
  pc_work_time_avg
- gr::fec::encoder
  pc_work_time_total
- gr::fec::encoder
  pc_work_time_var
- gr::fec::encoder
  post
- gr::fec::encoder
  processor_affinity
- gr::fec::encoder
  produce
- gr::fec::encoder
  relative_rate
- gr::fec::encoder
  relative_rate_d
- gr::fec::encoder
  relative_rate_i
- gr::fec::encoder
  remove_item_tag
- gr::fec::encoder
  remove_item_tag
- gr::fec::encoder
  replace_buffer
- gr::fec::encoder
  reset_perf_counters
- gr::fec::encoder
  rpc_set
- gr::fec::encoder
  sample_delay
- gr::fec::encoder
  set_alignment
- gr::fec::encoder
  set_blkd_input_timer_value
- gr::fec::encoder
  set_block_alias
- gr::fec::encoder
  set_color
- gr::fec::encoder
  set_detail
- gr::fec::encoder
  set_fixed_rate
- gr::fec::encoder
  set_history
- gr::fec::encoder
  set_input_signature
- gr::fec::encoder
  set_inverse_relative_rate
- gr::fec::encoder
  set_is_unaligned
- gr::fec::encoder
  set_log_level
- gr::fec::encoder
  set_max_noutput_items
- gr::fec::encoder
  set_max_output_buffer
- gr::fec::encoder
  set_max_output_buffer
- gr::fec::encoder
  set_min_noutput_items
- gr::fec::encoder
  set_min_output_buffer
- gr::fec::encoder
  set_min_output_buffer
- gr::fec::encoder
  set_msg_handler
- gr::fec::encoder
  set_output_multiple
- gr::fec::encoder
  set_output_signature
- gr::fec::encoder
  set_processor_affinity
- gr::fec::encoder
  set_relative_rate
- gr::fec::encoder
  set_relative_rate
- gr::fec::encoder
  set_tag_propagation_policy
- gr::fec::encoder
  set_thread_priority
- gr::fec::encoder
  set_unaligned
- gr::fec::encoder
  setup_pc_rpc
- gr::fec::encoder
  setup_rpc
- gr::fec::encoder
  shared_from_base
- gr::fec::encoder
  sptr
- gr::fec::encoder
  start
- gr::fec::encoder
  stop
- gr::fec::encoder
  symbol_name
- gr::fec::encoder
  symbolic_id
- gr::fec::encoder
  system_handler
- gr::fec::encoder
  tag_propagation_policy
- gr::fec::encoder
  tag_propagation_policy_t
- gr::fec::encoder
  thread_priority
- gr::fec::encoder
  to_basic_block
- gr::fec::encoder
  TPP_ALL_TO_ALL
- gr::fec::encoder
  TPP_CUSTOM
- gr::fec::encoder
  TPP_DONT
- gr::fec::encoder
  TPP_ONE_TO_ONE
- gr::fec::encoder
  unaligned
- gr::fec::encoder
  unique_id
- gr::fec::encoder
  unset_max_noutput_items
- gr::fec::encoder
  unset_processor_affinity
- gr::fec::encoder
  update_rate
- gr::fec::encoder
  vcolor
- gr::fec::encoder
  WHITE
- gr::fec::encoder
  WORK_CALLED_PRODUCE
- gr::fec::encoder
  WORK_DONE
- gr::fec::encoder
  work_return_t
- gr::fec::encoder
  ~basic_block
- gr::fec::encoder
  ~block
- gr::fec::encoder
  ~msg_accepter