50 static KwargsList enumerate(
const std::string &args);
78 static Device *make(
const std::string &args);
88 static void unmake(
Device *device);
99 virtual std::string getDriverKey(
void)
const;
106 virtual std::string getHardwareKey(
void)
const;
115 virtual Kwargs getHardwareInfo(
void)
const;
127 virtual void setFrontendMapping(
const int direction,
const std::string &mapping);
134 virtual std::string getFrontendMapping(
const int direction)
const;
139 virtual size_t getNumChannels(
const int direction)
const;
147 virtual bool getFullDuplex(
const int direction,
const size_t channel)
const;
159 virtual std::vector<std::string> getStreamFormats(
const int direction,
const size_t channel)
const;
170 virtual std::string getNativeStreamFormat(
const int direction,
const size_t channel,
double &fullScale)
const;
178 virtual ArgInfoList getStreamArgsInfo(
const int direction,
const size_t channel)
const;
210 virtual Stream *setupStream(
212 const std::string &format,
213 const std::vector<size_t> &channels = std::vector<size_t>(),
221 virtual void closeStream(Stream *stream);
232 virtual size_t getStreamMTU(Stream *stream)
const;
251 virtual int activateStream(
254 const long long timeNs = 0,
255 const size_t numElems = 0);
271 virtual int deactivateStream(
274 const long long timeNs = 0);
295 virtual int readStream(
298 const size_t numElems,
301 const long timeoutUs = 100000);
322 virtual int writeStream(
324 const void *
const *buffs,
325 const size_t numElems,
327 const long long timeNs = 0,
328 const long timeoutUs = 100000);
350 virtual int readStreamStatus(
355 const long timeoutUs = 100000);
370 virtual size_t getNumDirectAccessBuffers(Stream *stream);
385 virtual int getDirectAccessBufferAddrs(Stream *stream,
const size_t handle,
void **buffs);
407 virtual int acquireReadBuffer(
413 const long timeoutUs = 100000);
422 virtual void releaseReadBuffer(
424 const size_t handle);
446 virtual int acquireWriteBuffer(
450 const long timeoutUs = 100000);
467 virtual void releaseWriteBuffer(
470 const size_t numElems,
472 const long long timeNs = 0);
484 virtual std::vector<std::string> listAntennas(
const int direction,
const size_t channel)
const;
492 virtual void setAntenna(
const int direction,
const size_t channel,
const std::string &name);
500 virtual std::string getAntenna(
const int direction,
const size_t channel)
const;
512 virtual bool hasDCOffsetMode(
const int direction,
const size_t channel)
const;
520 virtual void setDCOffsetMode(
const int direction,
const size_t channel,
const bool automatic);
528 virtual bool getDCOffsetMode(
const int direction,
const size_t channel)
const;
536 virtual bool hasDCOffset(
const int direction,
const size_t channel)
const;
544 virtual void setDCOffset(
const int direction,
const size_t channel,
const std::complex<double> &offset);
552 virtual std::complex<double> getDCOffset(
const int direction,
const size_t channel)
const;
560 virtual bool hasIQBalance(
const int direction,
const size_t channel)
const;
568 virtual void setIQBalance(
const int direction,
const size_t channel,
const std::complex<double> &balance);
576 virtual std::complex<double> getIQBalance(
const int direction,
const size_t channel)
const;
589 virtual std::vector<std::string> listGains(
const int direction,
const size_t channel)
const;
597 virtual bool hasGainMode(
const int direction,
const size_t channel)
const;
605 virtual void setGainMode(
const int direction,
const size_t channel,
const bool automatic);
613 virtual bool getGainMode(
const int direction,
const size_t channel)
const;
623 virtual void setGain(
const int direction,
const size_t channel,
const double value);
632 virtual void setGain(
const int direction,
const size_t channel,
const std::string &name,
const double value);
640 virtual double getGain(
const int direction,
const size_t channel)
const;
649 virtual double getGain(
const int direction,
const size_t channel,
const std::string &name)
const;
657 virtual Range getGainRange(
const int direction,
const size_t channel)
const;
666 virtual Range getGainRange(
const int direction,
const size_t channel,
const std::string &name)
const;
699 virtual void setFrequency(
const int direction,
const size_t channel,
const double frequency,
const Kwargs &args =
Kwargs());
717 virtual void setFrequency(
const int direction,
const size_t channel,
const std::string &name,
const double frequency,
const Kwargs &args =
Kwargs());
727 virtual double getFrequency(
const int direction,
const size_t channel)
const;
736 virtual double getFrequency(
const int direction,
const size_t channel,
const std::string &name)
const;
745 virtual std::vector<std::string> listFrequencies(
const int direction,
const size_t channel)
const;
753 virtual RangeList getFrequencyRange(
const int direction,
const size_t channel)
const;
762 virtual RangeList getFrequencyRange(
const int direction,
const size_t channel,
const std::string &name)
const;
770 virtual ArgInfoList getFrequencyArgsInfo(
const int direction,
const size_t channel)
const;
782 virtual void setSampleRate(
const int direction,
const size_t channel,
const double rate);
790 virtual double getSampleRate(
const int direction,
const size_t channel)
const;
798 virtual std::vector<double> listSampleRates(
const int direction,
const size_t channel)
const;
810 virtual void setBandwidth(
const int direction,
const size_t channel,
const double bw);
818 virtual double getBandwidth(
const int direction,
const size_t channel)
const;
826 virtual std::vector<double> listBandwidths(
const int direction,
const size_t channel)
const;
836 virtual void setMasterClockRate(
const double rate);
842 virtual double getMasterClockRate(
void)
const;
848 virtual RangeList getMasterClockRates(
void)
const;
854 virtual std::vector<std::string> listClockSources(
void)
const;
860 virtual void setClockSource(
const std::string &source);
866 virtual std::string getClockSource(
void)
const;
872 virtual std::vector<std::string> listTimeSources(
void)
const;
878 virtual void setTimeSource(
const std::string &source);
884 virtual std::string getTimeSource(
void)
const;
895 virtual bool hasHardwareTime(
const std::string &what =
"")
const;
903 virtual long long getHardwareTime(
const std::string &what =
"")
const;
911 virtual void setHardwareTime(
const long long timeNs,
const std::string &what =
"");
920 virtual void setCommandTime(
const long long timeNs,
const std::string &what =
"");
931 virtual std::vector<std::string> listSensors(
void)
const;
939 virtual ArgInfo getSensorInfo(
const std::string &name)
const;
948 virtual std::string readSensor(
const std::string &name)
const;
957 virtual std::vector<std::string> listSensors(
const int direction,
const size_t channel)
const;
967 virtual ArgInfo getSensorInfo(
const int direction,
const size_t channel,
const std::string &name)
const;
978 virtual std::string readSensor(
const int direction,
const size_t channel,
const std::string &name)
const;
991 virtual void writeRegister(
const unsigned addr,
const unsigned value);
998 virtual unsigned readRegister(
const unsigned addr)
const;
1016 virtual void writeSetting(
const std::string &key,
const std::string &value);
1023 virtual std::string readSetting(
const std::string &key)
const;
1032 virtual std::vector<std::string> listGPIOBanks(
void)
const;
1039 virtual void writeGPIO(
const std::string &bank,
const unsigned value);
1047 virtual void writeGPIO(
const std::string &bank,
const unsigned value,
const unsigned mask);
1054 virtual unsigned readGPIO(
const std::string &bank)
const;
1062 virtual void writeGPIODir(
const std::string &bank,
const unsigned dir);
1071 virtual void writeGPIODir(
const std::string &bank,
const unsigned dir,
const unsigned mask);
1079 virtual unsigned readGPIODir(
const std::string &bank)
const;
1092 virtual void writeI2C(
const int addr,
const std::string &data);
1102 virtual std::string readI2C(
const int addr,
const size_t numBytes);
1122 virtual unsigned transactSPI(
const int addr,
const unsigned data,
const size_t numBits);
1132 virtual std::vector<std::string> listUARTs(
void)
const;
1141 virtual void writeUART(
const std::string &which,
const std::string &data);
1151 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:21
Definition: Device.hpp:30
#define SOAPY_SDR_API
Definition: Config.h:41