diff options
Diffstat (limited to 'gr-uhd/include/gr_uhd_usrp_source.h')
-rw-r--r-- | gr-uhd/include/gr_uhd_usrp_source.h | 45 |
1 files changed, 44 insertions, 1 deletions
diff --git a/gr-uhd/include/gr_uhd_usrp_source.h b/gr-uhd/include/gr_uhd_usrp_source.h index c33eb2a6f..20cc863d7 100644 --- a/gr-uhd/include/gr_uhd_usrp_source.h +++ b/gr-uhd/include/gr_uhd_usrp_source.h @@ -110,6 +110,28 @@ class GR_UHD_API uhd_usrp_source : virtual public gr_sync_block{ public: /*! + * Set the start time for incoming samples. + * To control when samples are received, + * set this value before starting the flow graph. + * The value is cleared after each run. + * When not specified, the start time will be: + * - Immediately for the one channel case + * - in the near future for multi-channel + * + * \param time the absolute time for reception to begin + */ + virtual void set_start_time(const uhd::time_spec_t &time) = 0; + + /*! + * Returns identifying information about this USRP's configuration. + * Returns motherboard ID, name, and serial. + * Returns daughterboard TX/RX ID, subdev name, and serial. + * \param mboard the motherboard index 0 to M-1 + * \param chan channel index 0 to N-1 + */ + virtual uhd::dict<std::string, std::string> get_usrp_info(size_t mboard = 0, size_t chan = 0) = 0; + + /*! * Set the frontend specification. * \param spec the subdev spec markup string * \param mboard the motherboard index 0 to M-1 @@ -457,13 +479,34 @@ public: virtual uhd::usrp::multi_usrp::sptr get_device(void) = 0; /*! + * Perform write on the user configuration register bus. These only exist if + * the user has implemented custom setting registers in the device FPGA. + * \param addr 8-bit register address + * \param data 32-bit register value + * \param mboard which motherboard to set the user register + */ + virtual void set_user_register(const uint8_t addr, const uint32_t data, size_t mboard = 0) = 0; + + /*! * Convenience function for finite data acquisition. * This is not to be used with the scheduler; rather, * one can request samples from the USRP in python. - * //TODO multi-channel * //TODO assumes fc32 + * \param nsamps the number of samples + * \return a vector of complex float samples */ virtual std::vector<std::complex<float> > finite_acquisition(const size_t nsamps) = 0; + + /*! + * Convenience function for finite data acquisition. + * This is the multi-channel version of finite_acquisition; + * This is not to be used with the scheduler; rather, + * one can request samples from the USRP in python. + * //TODO assumes fc32 + * \param nsamps the number of samples per channel + * \return a vector of buffers, where each buffer represents a channel + */ + virtual std::vector<std::vector<std::complex<float> > > finite_acquisition_v(const size_t nsamps) = 0; }; #endif /* INCLUDED_GR_UHD_USRP_SOURCE_H */ |