aboutsummaryrefslogtreecommitdiffstats
path: root/host/lib/usrp/usrp1/usrp1_impl.hpp
diff options
context:
space:
mode:
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 */