38gnss_sdr_fpga_sample_counter_sptr gnss_sdr_make_fpga_sample_counter(
double _fs, int32_t _interval_ms);
40class gnss_sdr_fpga_sample_counter :
public gr::block
43 ~gnss_sdr_fpga_sample_counter();
44 int general_work(
int noutput_items,
45 gr_vector_int &ninput_items,
46 gr_vector_const_void_star &input_items,
47 gr_vector_void_star &output_items);
50 const std::string device_name =
"counter";
52 static const uint32_t FPGA_PAGE_SIZE = 0x1000;
53 static const uint32_t test_reg_sanity_check = 0x55AA;
55 friend gnss_sdr_fpga_sample_counter_sptr gnss_sdr_make_fpga_sample_counter(
double _fs, int32_t _interval_ms);
56 gnss_sdr_fpga_sample_counter(
double _fs, int32_t _interval_ms);
57 uint32_t test_register(uint32_t writeval);
58 void configure_samples_per_output(uint32_t interval);
59 void close_device(
void);
60 void open_device(
void);
63 void wait_for_interrupt(
void)
const;
65 volatile uint32_t *map_base;
68 uint64_t sample_counter;
69 uint64_t last_sample_counter;
70 uint64_t current_T_rx_ms;
72 uint32_t samples_per_output;
73 uint32_t samples_per_report;
78 uint32_t current_days;
79 int32_t report_interval_ms;
82 bool flag_enable_send_msg;