GNU Radio 3.4.0 C++ API
|
00001 #ifndef MSDD_RS__RS_6000_H 00002 #define MSDD_RS__RS_6000_H 00003 00004 #include <boost/scoped_ptr.hpp> 00005 00006 class MSDD6000_RS { 00007 class detail; 00008 00009 //! holds objects with system dependent types 00010 boost::scoped_ptr<detail> d_detail; 00011 00012 public: 00013 00014 enum state { 00015 STATE_STOPPED, STATE_STARTED 00016 }; 00017 00018 MSDD6000_RS(char* ip_addr); 00019 ~MSDD6000_RS(); 00020 00021 /* set functions -- sets digitizer parameters */ 00022 00023 // void set_output(int mode, void* arg); 00024 00025 void set_rf_attn(int attn); 00026 void set_ddc_gain(int gain); 00027 void set_fc(int center_mhz, int offset_hz); 00028 void set_ddc_samp_rate(float sample_rate_khz); 00029 void set_ddc_bw(float bw_khz); 00030 00031 void start(); 00032 void stop(); 00033 00034 /* function starts the flow of data from the digitizer */ 00035 int start_data(); 00036 /* function stops the flow of data from the digitizer */ 00037 int stop_data(); 00038 00039 /* query functions -- queries digitizer 'actual' parameters */ 00040 float pull_ddc_samp_rate(); 00041 float pull_ddc_bw(); 00042 float pull_rx_freq(); 00043 int pull_ddc_gain(); 00044 int pull_rf_atten(); 00045 00046 void send_request(float,float,float,float,float,float,float); 00047 int read(char*, int); 00048 00049 int parse_control(char*, int); 00050 00051 private: 00052 // parameters for a receiver object. 00053 int d_fc_mhz; 00054 int d_offset_hz; 00055 int d_rf_attn; 00056 int d_ddc_gain; 00057 float d_ddc_sample_rate_khz; 00058 float d_ddc_bw_khz; 00059 int d_start; 00060 int d_sock; 00061 state d_state; 00062 00063 }; 00064 00065 00066 #endif