51 static KwargsList enumerate(
const std::string &args);
73 static Device *make(
const std::string &args);
80 static void unmake(
Device *device);
94 static std::vector<Device *> make(
const KwargsList &argsList);
103 static void unmake(
const std::vector<Device *> &devices);
114 virtual std::string getDriverKey(
void)
const;
121 virtual std::string getHardwareKey(
void)
const;
130 virtual Kwargs getHardwareInfo(
void)
const;
142 virtual void setFrontendMapping(
const int direction,
const std::string &mapping);
149 virtual std::string getFrontendMapping(
const int direction)
const;
154 virtual size_t getNumChannels(
const int direction)
const;
166 virtual Kwargs getChannelInfo(
const int direction,
const size_t channel)
const;
174 virtual bool getFullDuplex(
const int direction,
const size_t channel)
const;
186 virtual std::vector<std::string> getStreamFormats(
const int direction,
const size_t channel)
const;
197 virtual std::string getNativeStreamFormat(
const int direction,
const size_t channel,
double &fullScale)
const;
205 virtual ArgInfoList getStreamArgsInfo(
const int direction,
const size_t channel)
const;
256 virtual Stream *setupStream(
258 const std::string &format,
259 const std::vector<size_t> &channels = std::vector<size_t>(),
267 virtual void closeStream(Stream *stream);
278 virtual size_t getStreamMTU(Stream *stream)
const;
297 virtual int activateStream(
300 const long long timeNs = 0,
301 const size_t numElems = 0);
317 virtual int deactivateStream(
320 const long long timeNs = 0);
341 virtual int readStream(
344 const size_t numElems,
347 const long timeoutUs = 100000);
368 virtual int writeStream(
370 const void *
const *buffs,
371 const size_t numElems,
373 const long long timeNs = 0,
374 const long timeoutUs = 100000);
396 virtual int readStreamStatus(
401 const long timeoutUs = 100000);
416 virtual size_t getNumDirectAccessBuffers(Stream *stream);
431 virtual int getDirectAccessBufferAddrs(Stream *stream,
const size_t handle,
void **buffs);
453 virtual int acquireReadBuffer(
459 const long timeoutUs = 100000);
468 virtual void releaseReadBuffer(
470 const size_t handle);
490 virtual int acquireWriteBuffer(
494 const long timeoutUs = 100000);
511 virtual void releaseWriteBuffer(
514 const size_t numElems,
516 const long long timeNs = 0);
528 virtual std::vector<std::string> listAntennas(
const int direction,
const size_t channel)
const;
536 virtual void setAntenna(
const int direction,
const size_t channel,
const std::string &name);
544 virtual std::string getAntenna(
const int direction,
const size_t channel)
const;
556 virtual bool hasDCOffsetMode(
const int direction,
const size_t channel)
const;
564 virtual void setDCOffsetMode(
const int direction,
const size_t channel,
const bool automatic);
572 virtual bool getDCOffsetMode(
const int direction,
const size_t channel)
const;
580 virtual bool hasDCOffset(
const int direction,
const size_t channel)
const;
588 virtual void setDCOffset(
const int direction,
const size_t channel,
const std::complex<double> &offset);
596 virtual std::complex<double> getDCOffset(
const int direction,
const size_t channel)
const;
604 virtual bool hasIQBalance(
const int direction,
const size_t channel)
const;
612 virtual void setIQBalance(
const int direction,
const size_t channel,
const std::complex<double> &balance);
620 virtual std::complex<double> getIQBalance(
const int direction,
const size_t channel)
const;
628 virtual bool hasFrequencyCorrection(
const int direction,
const size_t channel)
const;
636 virtual void setFrequencyCorrection(
const int direction,
const size_t channel,
const double value);
644 virtual double getFrequencyCorrection(
const int direction,
const size_t channel)
const;
657 virtual std::vector<std::string> listGains(
const int direction,
const size_t channel)
const;
665 virtual bool hasGainMode(
const int direction,
const size_t channel)
const;
673 virtual void setGainMode(
const int direction,
const size_t channel,
const bool automatic);
681 virtual bool getGainMode(
const int direction,
const size_t channel)
const;
690 virtual void setGain(
const int direction,
const size_t channel,
const double value);
699 virtual void setGain(
const int direction,
const size_t channel,
const std::string &name,
const double value);
707 virtual double getGain(
const int direction,
const size_t channel)
const;
716 virtual double getGain(
const int direction,
const size_t channel,
const std::string &name)
const;
724 virtual Range getGainRange(
const int direction,
const size_t channel)
const;
733 virtual Range getGainRange(
const int direction,
const size_t channel,
const std::string &name)
const;
766 virtual void setFrequency(
const int direction,
const size_t channel,
const double frequency,
const Kwargs &args =
Kwargs());
784 virtual void setFrequency(
const int direction,
const size_t channel,
const std::string &name,
const double frequency,
const Kwargs &args =
Kwargs());
794 virtual double getFrequency(
const int direction,
const size_t channel)
const;
803 virtual double getFrequency(
const int direction,
const size_t channel,
const std::string &name)
const;
812 virtual std::vector<std::string> listFrequencies(
const int direction,
const size_t channel)
const;
820 virtual RangeList getFrequencyRange(
const int direction,
const size_t channel)
const;
829 virtual RangeList getFrequencyRange(
const int direction,
const size_t channel,
const std::string &name)
const;
837 virtual ArgInfoList getFrequencyArgsInfo(
const int direction,
const size_t channel)
const;
849 virtual void setSampleRate(
const int direction,
const size_t channel,
const double rate);
857 virtual double getSampleRate(
const int direction,
const size_t channel)
const;
866 virtual std::vector<double> listSampleRates(
const int direction,
const size_t channel)
const;
874 virtual RangeList getSampleRateRange(
const int direction,
const size_t channel)
const;
886 virtual void setBandwidth(
const int direction,
const size_t channel,
const double bw);
894 virtual double getBandwidth(
const int direction,
const size_t channel)
const;
903 virtual std::vector<double> listBandwidths(
const int direction,
const size_t channel)
const;
911 virtual RangeList getBandwidthRange(
const int direction,
const size_t channel)
const;
921 virtual void setMasterClockRate(
const double rate);
927 virtual double getMasterClockRate(
void)
const;
933 virtual RangeList getMasterClockRates(
void)
const;
939 virtual std::vector<std::string> listClockSources(
void)
const;
945 virtual void setClockSource(
const std::string &source);
951 virtual std::string getClockSource(
void)
const;
961 virtual std::vector<std::string> listTimeSources(
void)
const;
967 virtual void setTimeSource(
const std::string &source);
973 virtual std::string getTimeSource(
void)
const;
980 virtual bool hasHardwareTime(
const std::string &what =
"")
const;
988 virtual long long getHardwareTime(
const std::string &what =
"")
const;
996 virtual void setHardwareTime(
const long long timeNs,
const std::string &what =
"");
1006 virtual void setCommandTime(
const long long timeNs,
const std::string &what =
"");
1017 virtual std::vector<std::string> listSensors(
void)
const;
1025 virtual ArgInfo getSensorInfo(
const std::string &key)
const;
1034 virtual std::string readSensor(
const std::string &key)
const;
1043 virtual std::vector<std::string> listSensors(
const int direction,
const size_t channel)
const;
1053 virtual ArgInfo getSensorInfo(
const int direction,
const size_t channel,
const std::string &key)
const;
1064 virtual std::string readSensor(
const int direction,
const size_t channel,
const std::string &key)
const;
1074 virtual std::vector<std::string> listRegisterInterfaces(
void)
const;
1084 virtual void writeRegister(
const std::string &name,
const unsigned addr,
const unsigned value);
1092 virtual unsigned readRegister(
const std::string &name,
const unsigned addr)
const;
1102 virtual void writeRegister(
const unsigned addr,
const unsigned value);
1110 virtual unsigned readRegister(
const unsigned addr)
const;
1120 virtual void writeRegisters(
const std::string &name,
const unsigned addr,
const std::vector<unsigned> &value);
1129 virtual std::vector<unsigned> readRegisters(
const std::string &name,
const unsigned addr,
const size_t length)
const;
1147 virtual void writeSetting(
const std::string &key,
const std::string &value);
1154 virtual std::string readSetting(
const std::string &key)
const;
1162 virtual ArgInfoList getSettingInfo(
const int direction,
const size_t channel)
const;
1172 virtual void writeSetting(
const int direction,
const size_t channel,
const std::string &key,
const std::string &value);
1181 virtual std::string readSetting(
const int direction,
const size_t channel,
const std::string &key)
const;
1190 virtual std::vector<std::string> listGPIOBanks(
void)
const;
1197 virtual void writeGPIO(
const std::string &bank,
const unsigned value);
1205 virtual void writeGPIO(
const std::string &bank,
const unsigned value,
const unsigned mask);
1212 virtual unsigned readGPIO(
const std::string &bank)
const;
1220 virtual void writeGPIODir(
const std::string &bank,
const unsigned dir);
1229 virtual void writeGPIODir(
const std::string &bank,
const unsigned dir,
const unsigned mask);
1237 virtual unsigned readGPIODir(
const std::string &bank)
const;
1250 virtual void writeI2C(
const int addr,
const std::string &data);
1260 virtual std::string readI2C(
const int addr,
const size_t numBytes);
1280 virtual unsigned transactSPI(
const int addr,
const unsigned data,
const size_t numBits);
1290 virtual std::vector<std::string> listUARTs(
void)
const;
1299 virtual void writeUART(
const std::string &which,
const std::string &data);
1309 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:37
std::vector< ArgInfo > ArgInfoList
Definition: Types.hpp:127
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:70
Definition: ConverterPrimitives.hpp:14
Definition: Device.hpp:31
#define SOAPY_SDR_API
Definition: Config.h:41