51 static KwargsList enumerate(
const std::string &args);
73 static Device *make(
const std::string &args);
83 static void unmake(
Device *device);
94 virtual std::string getDriverKey(
void)
const;
101 virtual std::string getHardwareKey(
void)
const;
110 virtual Kwargs getHardwareInfo(
void)
const;
122 virtual void setFrontendMapping(
const int direction,
const std::string &mapping);
129 virtual std::string getFrontendMapping(
const int direction)
const;
134 virtual size_t getNumChannels(
const int direction)
const;
146 virtual Kwargs getChannelInfo(
const int direction,
const size_t channel)
const;
154 virtual bool getFullDuplex(
const int direction,
const size_t channel)
const;
166 virtual std::vector<std::string> getStreamFormats(
const int direction,
const size_t channel)
const;
177 virtual std::string getNativeStreamFormat(
const int direction,
const size_t channel,
double &fullScale)
const;
185 virtual ArgInfoList getStreamArgsInfo(
const int direction,
const size_t channel)
const;
217 virtual Stream *setupStream(
219 const std::string &format,
220 const std::vector<size_t> &channels = std::vector<size_t>(),
228 virtual void closeStream(Stream *stream);
239 virtual size_t getStreamMTU(Stream *stream)
const;
258 virtual int activateStream(
261 const long long timeNs = 0,
262 const size_t numElems = 0);
278 virtual int deactivateStream(
281 const long long timeNs = 0);
302 virtual int readStream(
305 const size_t numElems,
308 const long timeoutUs = 100000);
329 virtual int writeStream(
331 const void *
const *buffs,
332 const size_t numElems,
334 const long long timeNs = 0,
335 const long timeoutUs = 100000);
357 virtual int readStreamStatus(
362 const long timeoutUs = 100000);
377 virtual size_t getNumDirectAccessBuffers(Stream *stream);
392 virtual int getDirectAccessBufferAddrs(Stream *stream,
const size_t handle,
void **buffs);
414 virtual int acquireReadBuffer(
420 const long timeoutUs = 100000);
429 virtual void releaseReadBuffer(
431 const size_t handle);
451 virtual int acquireWriteBuffer(
455 const long timeoutUs = 100000);
472 virtual void releaseWriteBuffer(
475 const size_t numElems,
477 const long long timeNs = 0);
489 virtual std::vector<std::string> listAntennas(
const int direction,
const size_t channel)
const;
497 virtual void setAntenna(
const int direction,
const size_t channel,
const std::string &name);
505 virtual std::string getAntenna(
const int direction,
const size_t channel)
const;
517 virtual bool hasDCOffsetMode(
const int direction,
const size_t channel)
const;
525 virtual void setDCOffsetMode(
const int direction,
const size_t channel,
const bool automatic);
533 virtual bool getDCOffsetMode(
const int direction,
const size_t channel)
const;
541 virtual bool hasDCOffset(
const int direction,
const size_t channel)
const;
549 virtual void setDCOffset(
const int direction,
const size_t channel,
const std::complex<double> &offset);
557 virtual std::complex<double> getDCOffset(
const int direction,
const size_t channel)
const;
565 virtual bool hasIQBalance(
const int direction,
const size_t channel)
const;
573 virtual void setIQBalance(
const int direction,
const size_t channel,
const std::complex<double> &balance);
581 virtual std::complex<double> getIQBalance(
const int direction,
const size_t channel)
const;
594 virtual std::vector<std::string> listGains(
const int direction,
const size_t channel)
const;
602 virtual bool hasGainMode(
const int direction,
const size_t channel)
const;
610 virtual void setGainMode(
const int direction,
const size_t channel,
const bool automatic);
618 virtual bool getGainMode(
const int direction,
const size_t channel)
const;
627 virtual void setGain(
const int direction,
const size_t channel,
const double value);
636 virtual void setGain(
const int direction,
const size_t channel,
const std::string &name,
const double value);
644 virtual double getGain(
const int direction,
const size_t channel)
const;
653 virtual double getGain(
const int direction,
const size_t channel,
const std::string &name)
const;
661 virtual Range getGainRange(
const int direction,
const size_t channel)
const;
670 virtual Range getGainRange(
const int direction,
const size_t channel,
const std::string &name)
const;
703 virtual void setFrequency(
const int direction,
const size_t channel,
const double frequency,
const Kwargs &args =
Kwargs());
721 virtual void setFrequency(
const int direction,
const size_t channel,
const std::string &name,
const double frequency,
const Kwargs &args =
Kwargs());
731 virtual double getFrequency(
const int direction,
const size_t channel)
const;
740 virtual double getFrequency(
const int direction,
const size_t channel,
const std::string &name)
const;
749 virtual std::vector<std::string> listFrequencies(
const int direction,
const size_t channel)
const;
757 virtual RangeList getFrequencyRange(
const int direction,
const size_t channel)
const;
766 virtual RangeList getFrequencyRange(
const int direction,
const size_t channel,
const std::string &name)
const;
774 virtual ArgInfoList getFrequencyArgsInfo(
const int direction,
const size_t channel)
const;
786 virtual void setSampleRate(
const int direction,
const size_t channel,
const double rate);
794 virtual double getSampleRate(
const int direction,
const size_t channel)
const;
802 virtual std::vector<double> listSampleRates(
const int direction,
const size_t channel)
const;
814 virtual void setBandwidth(
const int direction,
const size_t channel,
const double bw);
822 virtual double getBandwidth(
const int direction,
const size_t channel)
const;
831 virtual std::vector<double> listBandwidths(
const int direction,
const size_t channel)
const;
839 virtual RangeList getBandwidthRange(
const int direction,
const size_t channel)
const;
849 virtual void setMasterClockRate(
const double rate);
855 virtual double getMasterClockRate(
void)
const;
861 virtual RangeList getMasterClockRates(
void)
const;
867 virtual std::vector<std::string> listClockSources(
void)
const;
873 virtual void setClockSource(
const std::string &source);
879 virtual std::string getClockSource(
void)
const;
889 virtual std::vector<std::string> listTimeSources(
void)
const;
895 virtual void setTimeSource(
const std::string &source);
901 virtual std::string getTimeSource(
void)
const;
908 virtual bool hasHardwareTime(
const std::string &what =
"")
const;
916 virtual long long getHardwareTime(
const std::string &what =
"")
const;
924 virtual void setHardwareTime(
const long long timeNs,
const std::string &what =
"");
934 virtual void setCommandTime(
const long long timeNs,
const std::string &what =
"");
945 virtual std::vector<std::string> listSensors(
void)
const;
953 virtual ArgInfo getSensorInfo(
const std::string &name)
const;
962 virtual std::string readSensor(
const std::string &name)
const;
971 virtual std::vector<std::string> listSensors(
const int direction,
const size_t channel)
const;
981 virtual ArgInfo getSensorInfo(
const int direction,
const size_t channel,
const std::string &name)
const;
992 virtual std::string readSensor(
const int direction,
const size_t channel,
const std::string &name)
const;
1002 virtual std::vector<std::string> listRegisterInterfaces(
void)
const;
1012 virtual void writeRegister(
const std::string &name,
const unsigned addr,
const unsigned value);
1020 virtual unsigned readRegister(
const std::string &name,
const unsigned addr)
const;
1030 virtual void writeRegister(
const unsigned addr,
const unsigned value);
1038 virtual unsigned readRegister(
const unsigned addr)
const;
1056 virtual void writeSetting(
const std::string &key,
const std::string &value);
1063 virtual std::string readSetting(
const std::string &key)
const;
1071 virtual ArgInfoList getSettingInfo(
const int direction,
const size_t channel)
const;
1081 virtual void writeSetting(
const int direction,
const size_t channel,
const std::string &key,
const std::string &value);
1090 virtual std::string readSetting(
const int direction,
const size_t channel,
const std::string &key)
const;
1099 virtual std::vector<std::string> listGPIOBanks(
void)
const;
1106 virtual void writeGPIO(
const std::string &bank,
const unsigned value);
1114 virtual void writeGPIO(
const std::string &bank,
const unsigned value,
const unsigned mask);
1121 virtual unsigned readGPIO(
const std::string &bank)
const;
1129 virtual void writeGPIODir(
const std::string &bank,
const unsigned dir);
1138 virtual void writeGPIODir(
const std::string &bank,
const unsigned dir,
const unsigned mask);
1146 virtual unsigned readGPIODir(
const std::string &bank)
const;
1159 virtual void writeI2C(
const int addr,
const std::string &data);
1169 virtual std::string readI2C(
const int addr,
const size_t numBytes);
1189 virtual unsigned transactSPI(
const int addr,
const unsigned data,
const size_t numBits);
1199 virtual std::vector<std::string> listUARTs(
void)
const;
1208 virtual void writeUART(
const std::string &which,
const std::string &data);
1218 virtual std::string readUART(
const std::string &which,
const long timeoutUs = 100000)
const;
std::vector< Kwargs > KwargsList
Typedef for a list of key-word dictionaries.
Definition: Types.hpp:25
std::vector< ArgInfo > ArgInfoList
Definition: Types.hpp:112
std::map< std::string, std::string > Kwargs
Typedef for a dictionary of key-value string arguments.
Definition: Types.hpp:22
std::vector< Range > RangeList
Definition: Types.hpp:55
Definition: Device.hpp:22
Definition: Device.hpp:31
#define SOAPY_SDR_API
Definition: Config.h:41