23 #ifndef INCLUDED_GR_PACKET_SINK_H
24 #define INCLUDED_GR_PACKET_SINK_H
69 enum state_t {STATE_SYNC_SEARCH, STATE_HAVE_SYNC, STATE_HAVE_HEADER};
71 static const int MAX_PKT_LEN = 4096;
72 static const int HEADERBITLEN = 32;
75 unsigned long long d_sync_vector;
76 unsigned int d_threshold;
80 unsigned long long d_shift_reg;
82 unsigned int d_header;
83 int d_headerbitlen_cnt;
85 unsigned char d_packet[MAX_PKT_LEN];
86 unsigned char d_packet_byte;
87 int d_packet_byte_index;
97 void enter_have_sync();
98 void enter_have_header(
int payload_len);
100 int slice(
float x) {
return x > 0 ? 1 : 0; }
105 return ((d_header >> 16) ^ (d_header & 0xffff)) == 0;
108 int header_payload_len()
111 int t = (d_header >> 16) & 0xffff;
118 int work(
int noutput_items,
124 bool carrier_sensed()
const
126 return d_state != STATE_SYNC_SEARCH;