File usrp_driver.cpp¶
Functions
-
std::vector<std::vector<std::complex<float>>> make_tx_samples(const driverpacket::DriverPacket &driver_packet, const DriverOptions &driver_options)¶
Makes a set of vectors of the samples for each TX channel from the driver packet.
Values in a protobuffer have no contiguous underlying storage so values need to be parsed into a vector.
- Parameters
driver_packet – [in] A received driver packet from radar_control.
driver_options – [in] The parsed config options needed by the driver.
- Returns
A set of vectors of TX samples for each USRP channel.
-
void transmit(zmq::context_t &driver_c, USRP &usrp_d, const DriverOptions &driver_options)¶
-
void receive(zmq::context_t &driver_c, USRP &usrp_d, const DriverOptions &driver_options)¶
Runs in a seperate thread to control receiving from the USRPs.
- Parameters
driver_c – [in] The driver ZMQ context.
usrp_d – [in] The multi-USRP SuperDARN wrapper object.
driver_options – [in] The driver options parsed from config.
-
int32_t UHD_SAFE_MAIN(int32_t argc, char *argv[])¶
UHD wrapped main function to start threads.
Creates a new multi-USRP object using parameters from config file. Starts receive and transmit threads to operate on the multi-USRP object.
- Returns
EXIT_SUCCESS
-
struct clocks_t¶