} vrt_test_sig_t;
+typedef enum{
+ VRT_BAND_SEL_A='A',
+ VRT_BAND_SEL_B='B',
+ VRT_BAND_SEL_C='C',
+ VRT_BAND_SEL_D='D',
+
+ } vrt_band_sel_t;
+
namespace vrt {
/*
int d_data_port; // our data port number
vrt::rx::sptr d_rx; // has-a rx
- int d_band_select; // band select setting
+ vrt_band_sel_t d_band_select; // band select setting
int d_rx_antenna; // antenna type rf/cal
int d_attenuation0; // attenuation setting
int d_attenuation1; // attenuation setting
int *ctrl_fd_ptr, struct in_addr *ctrl_port_inaddr,
int *data_fd_ptr, int *data_port_ptr);
+ // dsprxno selects the Rx DSP pipe (0 or 1) to configure
static bool
- send_rx_command(int ctrl_fd, bool start,
- struct in_addr addr, int data_port, int samples_per_pkt, int siggen_param);
+ send_rx_command(int ctrl_fd, int rxdspno, bool start,
+ struct in_addr addr, int data_port, int samples_per_pkt);
+ // dsprxno selects the Rx DSP pipe (0 or 1) to stop
static bool
- send_stop_rx_command(int ctrl_fd);
+ send_stop_rx_command(int ctrl_fd, int rxdspno);
static int control_port() { return 790; }
int data_socket_fd() const { return d_data_fd; }
vrt::rx::sptr vrt_rx() const { return d_rx; }
- bool start_streaming(int samples_per_pkt = 0);
- bool stop_streaming();
+ bool start_streaming(int rxdspno, int samples_per_pkt = 0);
+ bool stop_streaming(int rxdspno);
/* convenience methods that ultimately write the dboard pins */
bool set_center_freq(double target_freq);
- bool set_band_select(const std::string &band);
+ bool set_band_select(vrt_band_sel_t band);
+ vrt_band_sel_t get_band_select(void){return d_band_select;}
//void set_10dB_atten(bool on);
bool set_attenuation0(int attenuation);
bool select_rx_antenna(const std::string &ant);
bool set_lo_freq(double freq);
bool set_cal_freq(double freq);
bool set_beamforming(int32_t gains[8]);
+ bool set_cal_enb(bool enb);
/*
* The first parameter for these is a bitmask which indicates which
* daughterboard or daughterboards to apply the operation to.