Changeset 9722

Show
Ignore:
Timestamp:
10/05/08 20:39:21
Author:
trondeau
Message:

fixing pick_*subdev functions to properly return dboard specs the same as in the Python code.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • gnuradio/branches/features/cppdb/gr-usrp/src/usrp1_base.cc

    r9720 r9722  
    143143//******************************************************************************/ 
    144144 
    145 struct subdev_spec 
     145std::vector<int>  
    146146pick_tx_subdevice(usrp_basic *u) 
    147147{ 
     
    163163} 
    164164 
    165 struct subdev_spec 
     165std::vector<int>  
    166166pick_rx_subdevice(usrp_basic *u) 
    167167{ 
     
    187187} 
    188188 
    189 struct subdev_spec  
     189std::vector<int>  
    190190pick_subdev(usrp_basic *u, int candidates[], int ncandidates) 
    191191{ 
     
    196196  */ 
    197197 
    198   struct subdev_spec ss
     198  std::vector<int> ss(2)
    199199   
    200200  int db0 = u->db(0)[0]->dbid(); 
     
    202202  for(int i=0; i < ncandidates; i++) { 
    203203    if(candidates[i] == db0) { 
    204       ss.side = 0; 
    205       ss.spec = 0; 
     204      ss[0] = 0; 
     205      ss[1] = 0; 
    206206      return ss; 
    207207    } 
    208208    if(candidates[i] == db1) { 
    209       ss.side = 1; 
    210       ss.spec = 0; 
     209      ss[0] = 1; 
     210      ss[1] = 0; 
    211211      return ss; 
    212212    } 
    213213  } 
    214214  if(db0 >= 0) { 
    215     ss.side = 0; 
    216     ss.spec = 0; 
     215    ss[0] = 0; 
     216    ss[1] = 0; 
    217217    return ss; 
    218218  } 
    219219  if(db1 >= 0) { 
    220     ss.side = 1; 
    221     ss.spec = 0; 
     220    ss[0] = 1; 
     221    ss[1] = 0; 
    222222    return ss; 
    223223  } 
  • gnuradio/branches/features/cppdb/gr-usrp/src/usrp1_base.h

    r9720 r9722  
    391391float calc_dxc_freq(float target_freq, float baseband_freq, long fs, bool &inverted); 
    392392 
    393 struct subdev_spec 
    394 
    395   int side; 
    396   int spec; 
    397 }; 
    398  
    399 struct subdev_spec pick_tx_subdevice(usrp_basic *u); 
    400 struct subdev_spec pick_rx_subdevice(usrp_basic *u); 
    401 struct subdev_spec pick_subdev(usrp_basic *u, int candidates[], int ncandidates); 
     393std::vector<int> pick_tx_subdevice(usrp_basic *u); 
     394std::vector<int> pick_rx_subdevice(usrp_basic *u); 
     395std::vector<int> pick_subdev(usrp_basic *u, int candidates[], int ncandidates); 
    402396 
    403397#endif /* INCLUDED_USRP1_BASE_H */ 
  • gnuradio/branches/features/cppdb/gr-usrp/src/usrp1_base.i

    r9717 r9722  
    110110  int  nduc(); 
    111111}; 
    112  
    113 struct subdev_spec pick_tx_subdevice(usrp_basic *u); 
    114 struct subdev_spec pick_rx_subdevice(usrp_basic *u); 
    115 struct subdev_spec pick_subdev(usrp_basic *u, int candidates[], int ncandidates); 
  • gnuradio/branches/features/cppdb/gr-usrp/src/usrp1_sink_base.h

    r9718 r9722  
    8080  db_base_sptr selected_subdev(const std::vector<int> &subdev_spec);   
    8181  unsigned int determine_tx_mux_value(const std::vector<int> &subdev_spec); 
     82  usrp_standard_tx * usrp() { return d_usrp.get(); } 
    8283 
    8384  // Wrapper function to call tune from USRP sink class 
  • gnuradio/branches/features/cppdb/gr-usrp/src/usrp1_sink_c.cc

    r9656 r9722  
    107107} 
    108108 
     109/******************************************************************************/ 
     110 
     111std::vector<int> 
     112pick_tx_subdevice(usrp1_sink_c_sptr u) 
     113{ 
     114  return pick_tx_subdevice(u->usrp()); 
     115} 
  • gnuradio/branches/features/cppdb/gr-usrp/src/usrp1_sink_c.h

    r9656 r9722  
    8585}; 
    8686 
     87 
     88std::vector<int> pick_tx_subdevice(usrp1_sink_c_sptr u); 
     89 
     90 
    8791#endif /* INCLUDED_USRP1_SINK_C_H */ 
  • gnuradio/branches/features/cppdb/gr-usrp/src/usrp1_sink_s.cc

    r9656 r9722  
    106106} 
    107107 
     108/******************************************************************************/ 
     109 
     110std::vector<int> 
     111pick_tx_subdevice(usrp1_sink_s_sptr u) 
     112{ 
     113  return pick_tx_subdevice(u->usrp()); 
     114} 
  • gnuradio/branches/features/cppdb/gr-usrp/src/usrp1_sink_s.h

    r9656 r9722  
    8484}; 
    8585 
     86 
     87std::vector<int> pick_tx_subdevice(usrp1_sink_s_sptr u); 
     88 
     89 
    8690#endif /* INCLUDED_USRP1_SINK_S_H */ 
  • gnuradio/branches/features/cppdb/gr-usrp/src/usrp1_source.i

    r9717 r9722  
    5656  unsigned int determine_rx_mux_value(const std::vector<int> &subdev_spec); 
    5757  db_base_sptr selected_subdev(const std::vector<int> &subdev_spec); 
     58  usrp_standard_rx * usrp(); 
    5859 
    5960  int work (int noutput_items, 
     
    183184}; 
    184185 
    185  
     186std::vector<int> pick_rx_subdevice(usrp1_source_c_sptr u); 
     187std::vector<int> pick_rx_subdevice(usrp1_source_s_sptr u); 
  • gnuradio/branches/features/cppdb/gr-usrp/src/usrp1_source_base.h

    r9717 r9722  
    9696  db_base_sptr selected_subdev(const std::vector<int> &subdev_spec); 
    9797  unsigned int determine_rx_mux_value(const std::vector<int> &subdev_spec); 
     98  usrp_standard_rx * usrp() { return d_usrp.get(); } 
    9899 
    99100  // Wrapper function to call tune from USRP source class 
  • gnuradio/branches/features/cppdb/gr-usrp/src/usrp1_source_c.cc

    r9656 r9722  
    131131  bytes_read = nitems * nusrp_bytes_per_item; 
    132132} 
     133 
     134/******************************************************************************/ 
     135 
     136std::vector<int> 
     137pick_rx_subdevice(usrp1_source_c_sptr u) 
     138{ 
     139  return pick_rx_subdevice(u->usrp()); 
     140} 
  • gnuradio/branches/features/cppdb/gr-usrp/src/usrp1_source_c.h

    r9656 r9722  
    9090}; 
    9191 
     92 
     93std::vector<int> pick_rx_subdevice(usrp1_source_c_sptr u); 
     94 
     95 
    9296#endif /* INCLUDED_USRP1_SOURCE_C_H */ 
  • gnuradio/branches/features/cppdb/gr-usrp/src/usrp1_source_s.cc

    r9656 r9722  
    131131  bytes_read = nitems * nusrp_bytes_per_item; 
    132132} 
     133 
     134 
     135/******************************************************************************/ 
     136 
     137std::vector<int> 
     138pick_rx_subdevice(usrp1_source_s_sptr u) 
     139{ 
     140  return pick_rx_subdevice(u->usrp()); 
     141} 
  • gnuradio/branches/features/cppdb/gr-usrp/src/usrp1_source_s.h

    r9656 r9722  
    9292}; 
    9393 
     94 
     95std::vector<int> pick_rx_subdevice(usrp1_source_s_sptr u); 
     96 
     97 
    9498#endif /* INCLUDED_USRP1_SOURCE_S_H */