aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/usrp/usrp1/usrp1_impl.hpp
diff options
context:
space:
mode:
authorJosh Blum <josh@joshknows.com>2010-09-24 15:53:03 -0700
committerJosh Blum <josh@joshknows.com>2010-09-24 15:53:03 -0700
commit192663bcc919a794a24eabb38d12519f445b7a47 (patch)
treeba55269010c4484bef12d4019c691d9e469165d7 /host/lib/usrp/usrp1/usrp1_impl.hpp
parent77cdb4a9695e71e64e1d87cfad2cb4d8717f971e (diff)
parent5d6d25b49cc783ef012410064bc9eb0e66e50227 (diff)
downloaduhd-192663bcc919a794a24eabb38d12519f445b7a47.tar.gz
uhd-192663bcc919a794a24eabb38d12519f445b7a47.tar.bz2
uhd-192663bcc919a794a24eabb38d12519f445b7a47.zip
Merge branch 'master' into usrp_e
Conflicts: host/CMakeLists.txt
Diffstat (limited to 'host/lib/usrp/usrp1/usrp1_impl.hpp')
-rw-r--r--host/lib/usrp/usrp1/usrp1_impl.hpp24
1 files changed, 20 insertions, 4 deletions
diff --git a/host/lib/usrp/usrp1/usrp1_impl.hpp b/host/lib/usrp/usrp1/usrp1_impl.hpp
index c2f693eeb..20ae3c02a 100644
--- a/host/lib/usrp/usrp1/usrp1_impl.hpp
+++ b/host/lib/usrp/usrp1/usrp1_impl.hpp
@@ -91,8 +91,16 @@ public:
recv_mode_t,
size_t timeout);
- size_t get_max_send_samps_per_packet(void) const { return 0; }
- size_t get_max_recv_samps_per_packet(void) const { return 0; }
+ static const size_t BYTES_PER_PACKET = 512*4; //under the transfer size
+
+ size_t get_max_send_samps_per_packet(void) const {
+ return BYTES_PER_PACKET/_tx_otw_type.get_sample_size()/_tx_subdev_spec.size();
+ }
+
+ size_t get_max_recv_samps_per_packet(void) const {
+ return BYTES_PER_PACKET/_rx_otw_type.get_sample_size()/_rx_subdev_spec.size();
+ }
+
bool recv_async_msg(uhd::async_metadata_t &, size_t);
private:
@@ -179,19 +187,27 @@ private:
void rx_dsp_init(void);
void rx_dsp_get(const wax::obj &, wax::obj &);
void rx_dsp_set(const wax::obj &, const wax::obj &);
- double _rx_dsp_freq; size_t _rx_dsp_decim;
+ uhd::dict<std::string, double> _rx_dsp_freqs;
+ size_t _rx_dsp_decim;
wax_obj_proxy::sptr _rx_dsp_proxy;
//tx dsp functions and settings
void tx_dsp_init(void);
void tx_dsp_get(const wax::obj &, wax::obj &);
void tx_dsp_set(const wax::obj &, const wax::obj &);
- double _tx_dsp_freq; size_t _tx_dsp_interp;
+ uhd::dict<std::string, double> _tx_dsp_freqs;
+ size_t _tx_dsp_interp;
wax_obj_proxy::sptr _tx_dsp_proxy;
//transports
uhd::transport::usb_zero_copy::sptr _data_transport;
usrp_ctrl::sptr _ctrl_transport;
+
+ //capabilities
+ size_t get_num_ducs(void);
+ size_t get_num_ddcs(void);
+ bool has_rx_halfband(void);
+ bool has_tx_halfband(void);
};
#endif /* INCLUDED_USRP1_IMPL_HPP */