12 #ifndef INCLUDED_CYBERRADIO_VITA_IQ_SOURCE_IMPL_H 13 #define INCLUDED_CYBERRADIO_VITA_IQ_SOURCE_IMPL_H 16 #include <LibCyberRadio/Common/Vita49Packet.h> 17 #include <boost/asio.hpp> 18 #include <boost/format.hpp> 19 #include <boost/thread.hpp> 22 #include <sys/types.h> 29 namespace CyberRadio {
45 int debug(
const char *format, ...);
52 boost::asio::ip::udp::socket *
socket;
63 size_t vita_header_size,
size_t vita_tail_size,
64 bool byte_swapped,
bool iq_swapped,
float iq_scale_factor,
65 const std::string &host,
66 const std::vector<unsigned short> &port_list,
bool tagged,
70 int work(
int noutput_items, gr_vector_const_void_star &input_items,
71 gr_vector_void_star &output_items);
76 int debug(
const char *format, ...);
89 size_t d_payload_size;
90 size_t d_vita_header_size;
91 size_t d_vita_tail_size;
94 float d_iq_scale_factor;
97 std::vector<unsigned short> d_port_list;
101 std::vector<vita_iq_udp_port *> d_udp_ports;
102 boost::mutex d_udp_port_mtx;
103 std::vector<float> d_realtime_sample_rates;
104 std::vector<long> d_realtime_sample_counts;
105 time_t d_realtime_last_time;
boost::asio::io_service io_service
Definition: vita_iq_source_impl.h:54
float get_realtime_sample_rate(int output)
Gets the real-time calculated sample rate for a specific output.
int work(int noutput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items)
std::string host
Definition: vita_iq_source_impl.h:48
int packet_size
Definition: vita_iq_source_impl.h:50
char * recv_buffer
Definition: vita_iq_source_impl.h:55
int port
Definition: vita_iq_source_impl.h:49
bool is_packet_ready() const
void recalc_packet_size()
Definition: vita_iq_source_impl.h:34
int bytes_recvd
Definition: vita_iq_source_impl.h:56
boost::asio::ip::udp::endpoint endpoint
Definition: vita_iq_source_impl.h:53
Provides GNU Radio blocks.
Definition: NDR651_duc_sink_mk2.h:21
bool connected
Definition: vita_iq_source_impl.h:51
void generate_vita_tags(int output, const Vita49Packet &vp)
void disconnect_udp_ports()
LibCyberRadio::Vita49Packet Vita49Packet
Definition: vita_iq_source_impl.h:26
A generic VITA 49-compatible I/Q data source block.
Definition: vita_iq_source.h:66
Definition: vita_iq_source_impl.h:60
LibCyberRadio::Vita49Packet Vita49Packet
Definition: vita_iq_source_2_impl.h:26
vita_iq_udp_port(const std::string &host="0.0.0.0", int port=40001, int packet_size=8192, bool debug=false)
vita_iq_source_impl(int vita_type, size_t payload_size, size_t vita_header_size, size_t vita_tail_size, bool byte_swapped, bool iq_swapped, float iq_scale_factor, const std::string &host, const std::vector< unsigned short > &port_list, bool tagged, bool debug)
boost::asio::ip::udp::socket * socket
Definition: vita_iq_source_impl.h:52