21 #ifndef INCLUDED_CYBERRADIO_SNAPSHOT_VECTOR_SOURCE_IMPL_H 22 #define INCLUDED_CYBERRADIO_SNAPSHOT_VECTOR_SOURCE_IMPL_H 27 #include <arpa/inet.h> 31 #include <linux/if_ether.h> 32 #include <linux/if_packet.h> 33 #include <net/ethernet.h> 36 #include <netinet/in.h> 37 #include <netinet/ip.h> 38 #include <netinet/udp.h> 45 #include <sys/socket.h> 47 #include <sys/types.h> 54 #include <volk/volk.h> 59 namespace CyberRadio {
63 std::string d_radio_type;
66 unsigned int d_block_rate;
67 unsigned int d_block_size;
72 unsigned int block_rate;
73 unsigned int block_size;
74 unsigned int packets_per_block;
76 bool d_byteSwap, d_iqSwap;
77 bool d_bswap32, d_bswap16;
78 int d_samples_per_frame;
79 bool initializing, running;
81 int stream_counter, sample_counter;
82 bool program_starting;
84 std::vector<gr_complex> sampleVector;
85 struct iovec rxVec[3];
89 int32_t thisCount, lastCount, countDiff;
90 bool d_iq_swap, d_byte_swap;
92 void (*_parseHeader)(
char *, int);
94 void set_bswap_flags(
void);
95 void set_byteSwap(
bool byteSwap);
96 void set_iqSwap(
bool iqSwap);
98 static void _parseHeaderNull(
char *hdr,
int hdr_len) {
99 std::cout <<
"_parseHeaderNull" << std::endl;
101 static void _parseHeaderNdr308(
char *hdr,
int hdr_len) {
102 std::cout <<
"_parseHeaderNdr308" << std::endl;
104 static void _parseHeaderNdr551(
char *hdr,
int hdr_len) {
105 std::cout <<
"_parseHeaderNdr551" << std::endl;
108 void rxControlMsg(pmt::pmt_t msg);
109 void txStatusMsg(
void);
113 const std::string &ip,
unsigned int port,
114 unsigned int block_size,
unsigned int block_rate);
116 int initSocket(
const std::string ip,
unsigned short port);
123 int work(
int noutput_items, gr_vector_const_void_star &input_items,
124 gr_vector_void_star &output_items);
Definition: snapshot_vector_source_impl.h:61
<+description of block+>
Definition: snapshot_vector_source.h:36
snapshot_vector_source_impl(const std::string radio_type, const std::string &ip, unsigned int port, unsigned int block_size, unsigned int block_rate)
Provides GNU Radio blocks.
Definition: NDR651_duc_sink_mk2.h:21
int work(int noutput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items)
int initSocket(const std::string ip, unsigned short port)
~snapshot_vector_source_impl()