SoapySDR Low Level API
This documentation is part of the low level libsoapysdr interface. These bindings and documentation are autogenerated and reflect the complete SoapySDR C API. For end-users, the high-level Julia APIs are preferred.
SoapySDR.SoapySDRArgInfo
— TypeSoapySDRArgInfo
Definition for argument info
SoapySDR.SoapySDRArgInfoType
— TypeSoapySDRArgInfoType
Possible data types for argument info
SoapySDR.SoapySDRConverterFunction
— TypeA typedef for declaring a ConverterFunction to be maintained in the ConverterRegistry. A converter function copies and optionally converts an input buffer of one format into an output buffer of another format. The parameters are (input pointer, output pointer, number of elements, optional scalar)
SoapySDR.SoapySDRConverterFunctionPriority
— TypeSoapySDRConverterFunctionPriority
Allow selection of a converter function with a given source and target format.
SoapySDR.SoapySDRKwargs
— TypeSoapySDRKwargs
Definition for a key/value string map
SoapySDR.SoapySDRLogHandler
— TypeTypedef for the registered log handler function.
SoapySDR.SoapySDRLogLevel
— TypeSoapySDRLogLevel
The available priority levels for log messages.
The default log level threshold is SOAPYSDRINFO. Log messages with lower priorities are dropped.
The default threshold can be set via the SOAPYSDRLOGLEVEL environment variable. Set SOAPYSDRLOGLEVEL to the string value: "WARNING", "ERROR", "DEBUG", etc... or set it to the equivalent integer value.
SoapySDR.SoapySDRRange
— TypeSoapySDRRange
Definition for a min/max numeric range
SoapySDR.SoapySDRArgInfoList_clear
— MethodSoapySDRArgInfoList_clear(info, length)
Clear a list of argument info structures. This frees all the underlying memory and clears the members.
SoapySDR.SoapySDRArgInfo_clear
— MethodSoapySDRArgInfo_clear(info)
Clear the contents of a argument info structure. This frees all the underlying memory and clears the members.
SoapySDR.SoapySDRConverter_getFunction
— MethodSoapySDRConverter_getFunction(sourceFormat, targetFormat)
Get a converter between a source and target format with the highest available priority. \param sourceFormat the source format markup string \param targetFormat the target format markup string \return a conversion function pointer or nullptr if none are found
SoapySDR.SoapySDRConverter_getFunctionWithPriority
— MethodSoapySDRConverter_getFunctionWithPriority(sourceFormat, targetFormat, priority)
Get a converter between a source and target format with a given priority. \param sourceFormat the source format markup string \param targetFormat the target format markup string \return a conversion function pointer or nullptr if none are found
SoapySDR.SoapySDRConverter_listAvailableSourceFormats
— MethodSoapySDRConverter_listAvailableSourceFormats(length)
Get a list of known source formats in the registry. \param [out] length the number of known source formats \return a list of known source formats
SoapySDR.SoapySDRConverter_listPriorities
— MethodSoapySDRConverter_listPriorities(sourceFormat, targetFormat, length)
Get a list of available converter priorities for a given source and target format. \param sourceFormat the source format markup string \param targetFormat the target format markup string \param [out] length the number of priorities \return a list of priorities or nullptr if none are found
SoapySDR.SoapySDRConverter_listSourceFormats
— MethodSoapySDRConverter_listSourceFormats(targetFormat, length)
Get a list of existing source formats to which we can convert the specified target from. \param targetFormat the target format markup string \param [out] length the number of valid source formats \return a list of valid source formats
SoapySDR.SoapySDRConverter_listTargetFormats
— MethodSoapySDRConverter_listTargetFormats(sourceFormat, length)
Get a list of existing target formats to which we can convert the specified source from. \param sourceFormat the source format markup string \param [out] length the number of valid target formats \return a list of valid target formats
SoapySDR.SoapySDRDevice_acquireReadBuffer
— MethodSoapySDRDevice_acquireReadBuffer(device, stream, handle, buffs, flags, timeNs, timeoutUs)
Acquire direct buffers from a receive stream. This call is part of the direct buffer access API.
The buffs array will be filled with a stream pointer for each channel. Each pointer can be read up to the number of return value elements.
The handle will be set by the implementation so that the caller may later release access to the buffers with releaseReadBuffer(). Handle represents an index into the internal scatter/gather table such that handle is between 0 and num direct buffers - 1.
\param device a pointer to a device instance \param stream the opaque pointer to a stream handle \param handle an index value used in the release() call \param buffs an array of void* buffers num chans in size \param flags optional flag indicators about the result \param timeNs the buffer's timestamp in nanoseconds \param timeoutUs the timeout in microseconds \return the number of elements read per buffer or error code
SoapySDR.SoapySDRDevice_acquireWriteBuffer
— MethodSoapySDRDevice_acquireWriteBuffer(device, stream, handle, buffs, timeoutUs)
Acquire direct buffers from a transmit stream. This call is part of the direct buffer access API.
The buffs array will be filled with a stream pointer for each channel. Each pointer can be written up to the number of return value elements.
The handle will be set by the implementation so that the caller may later release access to the buffers with releaseWriteBuffer(). Handle represents an index into the internal scatter/gather table such that handle is between 0 and num direct buffers - 1.
\param device a pointer to a device instance \param stream the opaque pointer to a stream handle \param handle an index value used in the release() call \param buffs an array of void* buffers num chans in size \param timeoutUs the timeout in microseconds \return the number of available elements per buffer or error
SoapySDR.SoapySDRDevice_activateStream
— MethodSoapySDRDevice_activateStream(device, stream, flags, timeNs, numElems)
Activate a stream. Call activate to prepare a stream before using read/write(). The implementation control switches or stimulate data flow.
The timeNs is only valid when the flags have SOAPYSDRHASTIME. The numElems count can be used to request a finite burst size. The SOAPYSDRENDBURST flag can signal end on the finite burst. Not all implementations will support the full range of options. In this case, the implementation returns SOAPYSDRNOT_SUPPORTED.
\param device a pointer to a device instance \param stream the opaque pointer to a stream handle \param flags optional flag indicators about the stream \param timeNs optional activation time in nanoseconds \param numElems optional element count for burst control \return 0 for success or error code on failure
SoapySDR.SoapySDRDevice_closeStream
— MethodSoapySDRDevice_closeStream(device, stream)
Close an open stream created by setupStream \param device a pointer to a device instance \param stream the opaque pointer to a stream handle \return 0 for success or error code on failure
SoapySDR.SoapySDRDevice_deactivateStream
— MethodSoapySDRDevice_deactivateStream(device, stream, flags, timeNs)
Deactivate a stream. Call deactivate when not using using read/write(). The implementation control switches or halt data flow.
The timeNs is only valid when the flags have SOAPYSDRHASTIME. Not all implementations will support the full range of options. In this case, the implementation returns SOAPYSDRNOTSUPPORTED.
\param device a pointer to a device instance \param stream the opaque pointer to a stream handle \param flags optional flag indicators about the stream \param timeNs optional deactivation time in nanoseconds \return 0 for success or error code on failure
SoapySDR.SoapySDRDevice_enumerate
— MethodSoapySDRDevice_enumerate(args, length)
Enumerate a list of available devices on the system. \param args device construction key/value argument filters \param [out] length the number of elements in the result. \return a list of arguments strings, each unique to a device
SoapySDR.SoapySDRDevice_enumerateStrArgs
— MethodSoapySDRDevice_enumerateStrArgs(args, length)
Enumerate a list of available devices on the system. Markup format for args: "keyA=valA, keyB=valB". \param args a markup string of key/value argument filters \param [out] length the number of elements in the result. \return a list of arguments strings, each unique to a device
SoapySDR.SoapySDRDevice_getAntenna
— MethodSoapySDRDevice_getAntenna(device, direction, channel)
Get the selected antenna on a chain. \param device a pointer to a device instance \param direction the channel direction RX or TX \param channel an available channel on the device \return the name of an available antenna
SoapySDR.SoapySDRDevice_getBandwidth
— MethodSoapySDRDevice_getBandwidth(device, direction, channel)
Get the baseband filter width of the chain. \param device a pointer to a device instance \param direction the channel direction RX or TX \param channel an available channel on the device \return the baseband filter width in Hz
SoapySDR.SoapySDRDevice_getBandwidthRange
— MethodSoapySDRDevice_getBandwidthRange(device, direction, channel, length)
Get the range of possible baseband filter widths. \param device a pointer to a device instance \param direction the channel direction RX or TX \param channel an available channel on the device \param [out] length the number of ranges \return a list of bandwidth ranges in Hz
SoapySDR.SoapySDRDevice_getChannelInfo
— MethodSoapySDRDevice_getChannelInfo(device, direction, channel)
Get channel info given the streaming direction \param device a pointer to a device instance \param direction the channel direction RX or TX \param channel the channel number to get info for \return channel information
SoapySDR.SoapySDRDevice_getChannelSensorInfo
— MethodSoapySDRDevice_getChannelSensorInfo(device, direction, channel, key)
Get meta-information about a channel sensor. Example: displayable name, type, range. \param device a pointer to a device instance \param direction the channel direction RX or TX \param channel an available channel on the device \param key the ID name of an available sensor \return meta-information about a sensor
SoapySDR.SoapySDRDevice_getChannelSettingInfo
— MethodSoapySDRDevice_getChannelSettingInfo(device, direction, channel, length)
Describe the allowed keys and values used for channel settings. \param device a pointer to a device instance \param direction the channel direction RX or TX \param channel an available channel on the device \param [out] length the number of sensor names \return a list of argument info structures
SoapySDR.SoapySDRDevice_getClockSource
— MethodSoapySDRDevice_getClockSource(device)
Get the clock source of the device \param device a pointer to a device instance \return the name of a clock source
SoapySDR.SoapySDRDevice_getDCOffset
— MethodSoapySDRDevice_getDCOffset(device, direction, channel, offsetI, offsetQ)
Get the frontend DC offset correction. \param device a pointer to a device instance \param direction the channel direction RX or TX \param channel an available channel on the device \param [out] offsetI the relative correction (1.0 max) \param [out] offsetQ the relative correction (1.0 max) \return 0 for success or error code on failure
SoapySDR.SoapySDRDevice_getDCOffsetMode
— MethodSoapySDRDevice_getDCOffsetMode(device, direction, channel)
Get the automatic DC offset corrections mode. \param device a pointer to a device instance \param direction the channel direction RX or TX \param channel an available channel on the device \return true for automatic offset correction
SoapySDR.SoapySDRDevice_getDirectAccessBufferAddrs
— MethodSoapySDRDevice_getDirectAccessBufferAddrs(device, stream, handle, buffs)
Get the buffer addresses for a scatter/gather table entry. When the underlying DMA implementation uses scatter/gather then this call provides the user addresses for that table.
Example: The caller may query the DMA memory addresses once after stream creation to pre-allocate a re-usable ring-buffer.
\param device a pointer to a device instance \param stream the opaque pointer to a stream handle \param handle an index value between 0 and num direct buffers - 1 \param buffs an array of void* buffers num chans in size \return 0 for success or error code when not supported
SoapySDR.SoapySDRDevice_getDriverKey
— MethodSoapySDRDevice_getDriverKey(device)
A key that uniquely identifies the device driver. This key identifies the underlying implementation. Several variants of a product may share a driver. \param device a pointer to a device instance
SoapySDR.SoapySDRDevice_getFrequency
— MethodSoapySDRDevice_getFrequency(device, direction, channel)
Get the overall center frequency of the chain.
- For RX, this specifies the down-conversion frequency.
- For TX, this specifies the up-conversion frequency.
\param device a pointer to a device instance \param direction the channel direction RX or TX \param channel an available channel on the device \return the center frequency in Hz
SoapySDR.SoapySDRDevice_getFrequencyArgsInfo
— MethodSoapySDRDevice_getFrequencyArgsInfo(device, direction, channel, length)
Query the argument info description for tune args. \param device a pointer to a device instance \param direction the channel direction RX or TX \param channel an available channel on the device \param [out] length the number of argument infos \return a list of argument info structures
SoapySDR.SoapySDRDevice_getFrequencyComponent
— MethodSoapySDRDevice_getFrequencyComponent(device, direction, channel, name)
Get the frequency of a tunable element in the chain. \param device a pointer to a device instance \param direction the channel direction RX or TX \param channel an available channel on the device \param name the name of a tunable element \return the tunable element's frequency in Hz
SoapySDR.SoapySDRDevice_getFrequencyCorrection
— MethodSoapySDRDevice_getFrequencyCorrection(device, direction, channel)
Get the frontend frequency correction value. \param device a pointer to a device instance \param direction the channel direction RX or TX \param channel an available channel on the device \return the correction value in PPM
SoapySDR.SoapySDRDevice_getFrequencyRange
— MethodSoapySDRDevice_getFrequencyRange(device, direction, channel, length)
Get the range of overall frequency values. \param device a pointer to a device instance \param direction the channel direction RX or TX \param channel an available channel on the device \param [out] length the number of ranges \return a list of frequency ranges in Hz
SoapySDR.SoapySDRDevice_getFrequencyRangeComponent
— MethodSoapySDRDevice_getFrequencyRangeComponent(device, direction, channel, name, length)
Get the range of tunable values for the specified element. \param device a pointer to a device instance \param direction the channel direction RX or TX \param channel an available channel on the device \param name the name of a tunable element \param [out] length the number of ranges \return a list of frequency ranges in Hz
SoapySDR.SoapySDRDevice_getFrontendMapping
— MethodSoapySDRDevice_getFrontendMapping(device, direction)
Get the mapping configuration string. \param device a pointer to a device instance \param direction the channel direction RX or TX \return the vendor-specific mapping string
SoapySDR.SoapySDRDevice_getFullDuplex
— MethodSoapySDRDevice_getFullDuplex(device, direction, channel)
Find out if the specified channel is full or half duplex. \param device a pointer to a device instance \param direction the channel direction RX or TX \param channel an available channel on the device \return true for full duplex, false for half duplex
SoapySDR.SoapySDRDevice_getGain
— MethodSoapySDRDevice_getGain(device, direction, channel)
Get the overall value of the gain elements in a chain. \param device a pointer to a device instance \param direction the channel direction RX or TX \param channel an available channel on the device \return the value of the gain in dB
SoapySDR.SoapySDRDevice_getGainElement
— MethodSoapySDRDevice_getGainElement(device, direction, channel, name)
Get the value of an individual amplification element in a chain. \param device a pointer to a device instance \param direction the channel direction RX or TX \param channel an available channel on the device \param name the name of an amplification element \return the value of the gain in dB
SoapySDR.SoapySDRDevice_getGainElementRange
— MethodSoapySDRDevice_getGainElementRange(device, direction, channel, name)
Get the range of possible gain values for a specific element. \param device a pointer to a device instance \param direction the channel direction RX or TX \param channel an available channel on the device \param name the name of an amplification element \return the range of possible gain values for the specified amplification element in dB
SoapySDR.SoapySDRDevice_getGainMode
— MethodSoapySDRDevice_getGainMode(device, direction, channel)
Get the automatic gain mode on the chain. \param device a pointer to a device instance \param direction the channel direction RX or TX \param channel an available channel on the device \return true for automatic gain setting
SoapySDR.SoapySDRDevice_getGainRange
— MethodSoapySDRDevice_getGainRange(device, direction, channel)
Get the overall range of possible gain values. \param device a pointer to a device instance \param direction the channel direction RX or TX \param channel an available channel on the device \return the range of possible gain values for this channel in dB
SoapySDR.SoapySDRDevice_getHardwareInfo
— MethodSoapySDRDevice_getHardwareInfo(device)
Query a dictionary of available device information. This dictionary can any number of values like vendor name, product name, revisions, serials... This information can be displayed to the user to help identify the instantiated device. \param device a pointer to a device instance
SoapySDR.SoapySDRDevice_getHardwareKey
— MethodSoapySDRDevice_getHardwareKey(device)
A key that uniquely identifies the hardware. This key should be meaningful to the user to optimize for the underlying hardware. \param device a pointer to a device instance
SoapySDR.SoapySDRDevice_getHardwareTime
— MethodSoapySDRDevice_getHardwareTime(device, what)
Read the time from the hardware clock on the device. The what argument can refer to a specific time counter. \param device a pointer to a device instance \param what optional argument \return the time in nanoseconds
SoapySDR.SoapySDRDevice_getIQBalance
— MethodSoapySDRDevice_getIQBalance(device, direction, channel, balanceI, balanceQ)
Get the frontend IQ balance correction. \param device a pointer to a device instance \param direction the channel direction RX or TX \param channel an available channel on the device \param [out] balanceI the relative correction (1.0 max) \param [out] balanceQ the relative correction (1.0 max) \return 0 for success or error code on failure
SoapySDR.SoapySDRDevice_getIQBalanceMode
— MethodSoapySDRDevice_getIQBalanceMode(device, direction, channel)
Get the automatic frontend IQ balance corrections mode. \param device a pointer to a device instance \param direction the channel direction RX or TX \param channel an available channel on the device \return true for automatic correction
SoapySDR.SoapySDRDevice_getMasterClockRate
— MethodSoapySDRDevice_getMasterClockRate(device)
Get the master clock rate of the device. \param device a pointer to a device instance \return the clock rate in Hz
SoapySDR.SoapySDRDevice_getMasterClockRates
— MethodSoapySDRDevice_getMasterClockRates(device, length)
Get the range of available master clock rates. \param device a pointer to a device instance \param [out] length the number of ranges \return a list of clock rate ranges in Hz
SoapySDR.SoapySDRDevice_getNativeDeviceHandle
— MethodSoapySDRDevice_getNativeDeviceHandle(device)
A handle to the native device used by the driver. The implementation may return a null value if it does not support or does not wish to provide access to the native handle. \param device a pointer to a device instance \return a handle to the native device or null
SoapySDR.SoapySDRDevice_getNativeStreamFormat
— MethodSoapySDRDevice_getNativeStreamFormat(device, direction, channel, fullScale)
Get the hardware's native stream format for this channel. This is the format used by the underlying transport layer, and the direct buffer access API calls (when available). \param device a pointer to a device instance \param direction the channel direction RX or TX \param channel an available channel on the device \param [out] fullScale the maximum possible value \return the native stream buffer format string
SoapySDR.SoapySDRDevice_getNumChannels
— MethodSoapySDRDevice_getNumChannels(device, direction)
Get a number of channels given the streaming direction \param device a pointer to a device instance \param direction the channel direction RX or TX \return the number of channels
SoapySDR.SoapySDRDevice_getNumDirectAccessBuffers
— MethodSoapySDRDevice_getNumDirectAccessBuffers(device, stream)
How many direct access buffers can the stream provide? This is the number of times the user can call acquire() on a stream without making subsequent calls to release(). A return value of 0 means that direct access is not supported.
\param device a pointer to a device instance \param stream the opaque pointer to a stream handle \return the number of direct access buffers or 0
SoapySDR.SoapySDRDevice_getReferenceClockRate
— MethodSoapySDRDevice_getReferenceClockRate(device)
Get the reference clock rate of the device. \param device a pointer to a device instance \return the clock rate in Hz
SoapySDR.SoapySDRDevice_getReferenceClockRates
— MethodSoapySDRDevice_getReferenceClockRates(device, length)
Get the range of available reference clock rates. \param device a pointer to a device instance \param [out] length the number of sources \return a list of clock rate ranges in Hz
SoapySDR.SoapySDRDevice_getSampleRate
— MethodSoapySDRDevice_getSampleRate(device, direction, channel)
Get the baseband sample rate of the chain. \param device a pointer to a device instance \param direction the channel direction RX or TX \param channel an available channel on the device \return the sample rate in samples per second
SoapySDR.SoapySDRDevice_getSampleRateRange
— MethodSoapySDRDevice_getSampleRateRange(device, direction, channel, length)
Get the range of possible baseband sample rates. \param device a pointer to a device instance \param direction the channel direction RX or TX \param channel an available channel on the device \param [out] length the number of sample rates \return a list of sample rate ranges in samples per second
SoapySDR.SoapySDRDevice_getSensorInfo
— MethodSoapySDRDevice_getSensorInfo(device, key)
Get meta-information about a sensor. Example: displayable name, type, range. \param device a pointer to a device instance \param key the ID name of an available sensor \return meta-information about a sensor
SoapySDR.SoapySDRDevice_getSettingInfo
— MethodSoapySDRDevice_getSettingInfo(device, length)
Describe the allowed keys and values used for settings. \param device a pointer to a device instance \param [out] length the number of sensor names \return a list of argument info structures
SoapySDR.SoapySDRDevice_getStreamArgsInfo
— MethodSoapySDRDevice_getStreamArgsInfo(device, direction, channel, length)
Query the argument info description for stream args. \param device a pointer to a device instance \param direction the channel direction RX or TX \param channel an available channel on the device \param [out] length the number of argument infos \return a list of argument info structures
SoapySDR.SoapySDRDevice_getStreamFormats
— MethodSoapySDRDevice_getStreamFormats(device, direction, channel, length)
Query a list of the available stream formats. \param device a pointer to a device instance \param direction the channel direction RX or TX \param channel an available channel on the device \param [out] length the number of format strings \return a list of allowed format strings. See SoapySDRDevice_setupStream() for the format syntax.
SoapySDR.SoapySDRDevice_getStreamMTU
— MethodSoapySDRDevice_getStreamMTU(device, stream)
Get the stream's maximum transmission unit (MTU) in number of elements. The MTU specifies the maximum payload transfer in a stream operation. This value can be used as a stream buffer allocation size that can best optimize throughput given the underlying stream implementation.
\param device a pointer to a device instance \param stream the opaque pointer to a stream handle \return the MTU in number of stream elements (never zero)
SoapySDR.SoapySDRDevice_getTimeSource
— MethodSoapySDRDevice_getTimeSource(device)
Get the time source of the device \param device a pointer to a device instance \return the name of a time source
SoapySDR.SoapySDRDevice_hasDCOffset
— MethodSoapySDRDevice_hasDCOffset(device, direction, channel)
Does the device support frontend DC offset correction? \param device a pointer to a device instance \param direction the channel direction RX or TX \param channel an available channel on the device \return true if DC offset corrections are supported
SoapySDR.SoapySDRDevice_hasDCOffsetMode
— MethodSoapySDRDevice_hasDCOffsetMode(device, direction, channel)
Does the device support automatic DC offset corrections? \param device a pointer to a device instance \param direction the channel direction RX or TX \param channel an available channel on the device \return true if automatic corrections are supported
SoapySDR.SoapySDRDevice_hasFrequencyCorrection
— MethodSoapySDRDevice_hasFrequencyCorrection(device, direction, channel)
Does the device support frontend frequency correction? \param device a pointer to a device instance \param direction the channel direction RX or TX \param channel an available channel on the device \return true if frequency corrections are supported
SoapySDR.SoapySDRDevice_hasGainMode
— MethodSoapySDRDevice_hasGainMode(device, direction, channel)
Does the device support automatic gain control? \param device a pointer to a device instance \param direction the channel direction RX or TX \param channel an available channel on the device \return true for automatic gain control
SoapySDR.SoapySDRDevice_hasHardwareTime
— MethodSoapySDRDevice_hasHardwareTime(device, what)
Does this device have a hardware clock? \param device a pointer to a device instance \param what optional argument \return true if the hardware clock exists
SoapySDR.SoapySDRDevice_hasIQBalance
— MethodSoapySDRDevice_hasIQBalance(device, direction, channel)
Does the device support frontend IQ balance correction? \param device a pointer to a device instance \param direction the channel direction RX or TX \param channel an available channel on the device \return true if IQ balance corrections are supported
SoapySDR.SoapySDRDevice_hasIQBalanceMode
— MethodSoapySDRDevice_hasIQBalanceMode(device, direction, channel)
Does the device support automatic frontend IQ balance correction? \param device a pointer to a device instance \param direction the channel direction RX or TX \param channel an available channel on the device \return true if automatic IQ balance corrections are supported
SoapySDR.SoapySDRDevice_lastError
— MethodSoapySDRDevice_lastError()
Get the last error message after a device call fails. When an device API call throws, the C bindings catch the exception, store its message in thread-safe storage, and return a non-zero status code to indicate failure. Use lastError() to access the exception's error message.
SoapySDR.SoapySDRDevice_lastStatus
— MethodSoapySDRDevice_lastStatus()
Get the last status code after a Device API call. The status code is cleared on entry to each Device call. When an device API call throws, the C bindings catch the exception, and set a non-zero last status code. Use lastStatus() to determine success/failure for Device calls without integer status return codes.
SoapySDR.SoapySDRDevice_listAntennas
— MethodSoapySDRDevice_listAntennas(device, direction, channel, length)
Get a list of available antennas to select on a given chain. \param device a pointer to a device instance \param direction the channel direction RX or TX \param channel an available channel on the device \param [out] length the number of antenna names \return a list of available antenna names
SoapySDR.SoapySDRDevice_listBandwidths
— MethodSoapySDRDevice_listBandwidths(device, direction, channel, length)
Get the range of possible baseband filter widths. \deprecated replaced by getBandwidthRange() \param device a pointer to a device instance \param direction the channel direction RX or TX \param channel an available channel on the device \param [out] length the number of bandwidths \return a list of possible bandwidths in Hz
SoapySDR.SoapySDRDevice_listChannelSensors
— MethodSoapySDRDevice_listChannelSensors(device, direction, channel, length)
List the available channel readback sensors. A sensor can represent a reference lock, RSSI, temperature. \param device a pointer to a device instance \param direction the channel direction RX or TX \param channel an available channel on the device \param [out] length the number of sensor names \return a list of available sensor string names
SoapySDR.SoapySDRDevice_listClockSources
— MethodSoapySDRDevice_listClockSources(device, length)
Get the list of available clock sources. \param device a pointer to a device instance \param [out] length the number of sources \return a list of clock source names
SoapySDR.SoapySDRDevice_listFrequencies
— MethodSoapySDRDevice_listFrequencies(device, direction, channel, length)
List available tunable elements in the chain. Elements should be in order RF to baseband. \param device a pointer to a device instance \param direction the channel direction RX or TX \param channel an available channel \param [out] length the number names \return a list of tunable elements by name
SoapySDR.SoapySDRDevice_listGPIOBanks
— MethodSoapySDRDevice_listGPIOBanks(device, length)
Get a list of available GPIO banks by name. \param [out] length the number of GPIO banks \param device a pointer to a device instance
SoapySDR.SoapySDRDevice_listGains
— MethodSoapySDRDevice_listGains(device, direction, channel, length)
List available amplification elements. Elements should be in order RF to baseband. \param device a pointer to a device instance \param direction the channel direction RX or TX \param channel an available channel \param [out] length the number of gain names \return a list of gain string names
SoapySDR.SoapySDRDevice_listRegisterInterfaces
— MethodSoapySDRDevice_listRegisterInterfaces(device, length)
Get a list of available register interfaces by name. \param device a pointer to a device instance \param [out] length the number of interfaces \return a list of available register interfaces
SoapySDR.SoapySDRDevice_listSampleRates
— MethodSoapySDRDevice_listSampleRates(device, direction, channel, length)
Get the range of possible baseband sample rates. \deprecated replaced by getSampleRateRange() \param device a pointer to a device instance \param direction the channel direction RX or TX \param channel an available channel on the device \param [out] length the number of sample rates \return a list of possible rates in samples per second
SoapySDR.SoapySDRDevice_listSensors
— MethodSoapySDRDevice_listSensors(device, length)
List the available global readback sensors. A sensor can represent a reference lock, RSSI, temperature. \param device a pointer to a device instance \param [out] length the number of sensor names \return a list of available sensor string names
SoapySDR.SoapySDRDevice_listTimeSources
— MethodSoapySDRDevice_listTimeSources(device, length)
Get the list of available time sources. \param device a pointer to a device instance \param [out] length the number of sources \return a list of time source names
SoapySDR.SoapySDRDevice_listUARTs
— MethodSoapySDRDevice_listUARTs(device, length)
Enumerate the available UART devices. \param device a pointer to a device instance \param [out] length the number of UART names \return a list of names of available UARTs
SoapySDR.SoapySDRDevice_make
— MethodSoapySDRDevice_make(args)
Make a new Device object given device construction args. The device pointer will be stored in a table so subsequent calls with the same arguments will produce the same device. For every call to make, there should be a matched call to unmake.
\param args device construction key/value argument map \return a pointer to a new Device object
SoapySDR.SoapySDRDevice_makeStrArgs
— MethodSoapySDRDevice_makeStrArgs(args)
Make a new Device object given device construction args. The device pointer will be stored in a table so subsequent calls with the same arguments will produce the same device. For every call to make, there should be a matched call to unmake.
\param args a markup string of key/value arguments \return a pointer to a new Device object or null for error
SoapySDR.SoapySDRDevice_make_list
— MethodSoapySDRDevice_make_list(argsList, length)
Create a list of devices from a list of construction arguments. This is a convenience call to parallelize device construction, and is fundamentally a parallel for loop of make(Kwargs).
\param argsList a list of device arguments per each device \param length the length of the argsList array \return a list of device pointers per each specified argument
SoapySDR.SoapySDRDevice_make_listStrArgs
— MethodSoapySDRDevice_make_listStrArgs(argsList, length)
Create a list of devices from a list of construction arguments. This is a convenience call to parallelize device construction, and is fundamentally a parallel for loop of makeStrArgs(args).
\param argsList a list of device arguments per each device \param length the length of the argsList array \return a list of device pointers per each specified argument
SoapySDR.SoapySDRDevice_readChannelSensor
— MethodSoapySDRDevice_readChannelSensor(device, direction, channel, key)
Readback a channel sensor given the name. The value returned is a string which can represent a boolean ("true"/"false"), an integer, or float. \param device a pointer to a device instance \param direction the channel direction RX or TX \param channel an available channel on the device \param key the ID name of an available sensor \return the current value of the sensor
SoapySDR.SoapySDRDevice_readChannelSetting
— MethodSoapySDRDevice_readChannelSetting(device, direction, channel, key)
Read an arbitrary channel setting on the device. \param device a pointer to a device instance \param direction the channel direction RX or TX \param channel an available channel on the device \param key the setting identifier \return the setting value
SoapySDR.SoapySDRDevice_readGPIO
— MethodSoapySDRDevice_readGPIO(device, bank)
Readback the value of a GPIO bank. \param device a pointer to a device instance \param bank the name of an available bank \return an integer representing GPIO bits
SoapySDR.SoapySDRDevice_readGPIODir
— MethodSoapySDRDevice_readGPIODir(device, bank)
Read the data direction of a GPIO bank. \param device a pointer to a device instance 1 bits represent outputs, 0 bits represent inputs. \param bank the name of an available bank \return an integer representing data direction bits
SoapySDR.SoapySDRDevice_readI2C
— MethodSoapySDRDevice_readI2C(device, addr, numBytes)
Read from an available I2C slave. If the device contains multiple I2C masters, the address bits can encode which master. Pass the number of bytes to be read in via numBytes; numBytes will be set to the number of actual bytes read. \param device a pointer to a device instance \param addr the address of the slave \param [inout] numBytes the number of bytes to read \return an array of bytes read from the slave
SoapySDR.SoapySDRDevice_readRegister
— MethodSoapySDRDevice_readRegister(device, name, addr)
Read a register on the device given the interface name. \param device a pointer to a device instance \param name the name of a available register interface \param addr the register address \return the register value
SoapySDR.SoapySDRDevice_readRegisters
— MethodSoapySDRDevice_readRegisters(device, name, addr, length)
Read a memory block on the device given the interface name. Pass the number of words to be read in via length; length will be set to the number of actual words read. \param device a pointer to a device instance \param name the name of a available memory block interface \param addr the memory block start address \param [inout] length number of words to be read from memory block \return the memory block content
SoapySDR.SoapySDRDevice_readSensor
— MethodSoapySDRDevice_readSensor(device, key)
Readback a global sensor given the name. The value returned is a string which can represent a boolean ("true"/"false"), an integer, or float. \param device a pointer to a device instance \param key the ID name of an available sensor \return the current value of the sensor
SoapySDR.SoapySDRDevice_readSetting
— MethodSoapySDRDevice_readSetting(device, key)
Read an arbitrary setting on the device. \param device a pointer to a device instance \param key the setting identifier \return the setting value
SoapySDR.SoapySDRDevice_readStream
— MethodSoapySDRDevice_readStream(device, stream, buffs, numElems, flags, timeNs, timeoutUs)
Read elements from a stream for reception. This is a multi-channel call, and buffs should be an array of void *, where each pointer will be filled with data from a different channel.
Client code compatibility: The readStream() call should be well defined at all times, including prior to activation and after deactivation. When inactive, readStream() should implement the timeout specified by the caller and return SOAPYSDRTIMEOUT.
\param device a pointer to a device instance \param stream the opaque pointer to a stream handle \param buffs an array of void* buffers num chans in size \param numElems the number of elements in each buffer \param [out] flags optional flag indicators about the result \param [out] timeNs the buffer's timestamp in nanoseconds \param timeoutUs the timeout in microseconds \return the number of elements read per buffer or error code
SoapySDR.SoapySDRDevice_readStreamStatus
— MethodSoapySDRDevice_readStreamStatus(device, stream, chanMask, flags, timeNs, timeoutUs)
Readback status information about a stream. This call is typically used on a transmit stream to report time errors, underflows, and burst completion.
Client code compatibility: Client code may continually poll readStreamStatus() in a loop. Implementations of readStreamStatus() should wait in the call for a status change event or until the timeout expiration. When stream status is not implemented on a particular stream, readStreamStatus() should return SOAPYSDRNOT_SUPPORTED. Client code may use this indication to disable a polling loop.
\param device a pointer to a device instance \param stream the opaque pointer to a stream handle \param chanMask to which channels this status applies \param flags optional input flags and output flags \param timeNs the buffer's timestamp in nanoseconds \param timeoutUs the timeout in microseconds \return 0 for success or error code like timeout
SoapySDR.SoapySDRDevice_readUART
— MethodSoapySDRDevice_readUART(device, which, timeoutUs)
Read bytes from a UART until timeout or newline. Its up to the implementation to set the baud rate, carriage return settings, flushing on newline. \param device a pointer to a device instance \param which the name of an available UART \param timeoutUs a timeout in microseconds \return a null terminated array of bytes
SoapySDR.SoapySDRDevice_releaseReadBuffer
— MethodSoapySDRDevice_releaseReadBuffer(device, stream, handle)
Release an acquired buffer back to the receive stream. This call is part of the direct buffer access API.
\param device a pointer to a device instance \param stream the opaque pointer to a stream handle \param handle the opaque handle from the acquire() call
SoapySDR.SoapySDRDevice_releaseWriteBuffer
— MethodSoapySDRDevice_releaseWriteBuffer(device, stream, handle, numElems, flags, timeNs)
Release an acquired buffer back to the transmit stream. This call is part of the direct buffer access API.
Stream meta-data is provided as part of the release call, and not the acquire call so that the caller may acquire buffers without committing to the contents of the meta-data, which can be determined by the user as the buffers are filled.
\param device a pointer to a device instance \param stream the opaque pointer to a stream handle \param handle the opaque handle from the acquire() call \param numElems the number of elements written to each buffer \param flags optional input flags and output flags \param timeNs the buffer's timestamp in nanoseconds
SoapySDR.SoapySDRDevice_setAntenna
— MethodSoapySDRDevice_setAntenna(device, direction, channel, name)
Set the selected antenna on a chain. \param device a pointer to a device instance \param direction the channel direction RX or TX \param channel an available channel on the device \param name the name of an available antenna \return an error code or 0 for success
SoapySDR.SoapySDRDevice_setBandwidth
— MethodSoapySDRDevice_setBandwidth(device, direction, channel, bw)
Set the baseband filter width of the chain. \param device a pointer to a device instance \param direction the channel direction RX or TX \param channel an available channel on the device \param bw the baseband filter width in Hz \return an error code or 0 for success
SoapySDR.SoapySDRDevice_setClockSource
— MethodSoapySDRDevice_setClockSource(device, source)
Set the clock source on the device \param device a pointer to a device instance \param source the name of a clock source \return an error code or 0 for success
SoapySDR.SoapySDRDevice_setCommandTime
— MethodSoapySDRDevice_setCommandTime(device, timeNs, what)
Set the time of subsequent configuration calls. The what argument can refer to a specific command queue. Implementations may use a time of 0 to clear. \deprecated replaced by setHardwareTime() \param device a pointer to a device instance \param timeNs time in nanoseconds \param what optional argument \return 0 for success or error code on failure
SoapySDR.SoapySDRDevice_setDCOffset
— MethodSoapySDRDevice_setDCOffset(device, direction, channel, offsetI, offsetQ)
Set the frontend DC offset correction. \param device a pointer to a device instance \param direction the channel direction RX or TX \param channel an available channel on the device \param offsetI the relative correction (1.0 max) \param offsetQ the relative correction (1.0 max) \return an error code or 0 for success
SoapySDR.SoapySDRDevice_setDCOffsetMode
— MethodSoapySDRDevice_setDCOffsetMode(device, direction, channel, automatic)
Set the automatic DC offset corrections mode. \param device a pointer to a device instance \param direction the channel direction RX or TX \param channel an available channel on the device \param automatic true for automatic offset correction \return an error code or 0 for success
SoapySDR.SoapySDRDevice_setFrequency
— MethodSoapySDRDevice_setFrequency(device, direction, channel, frequency, args)
Set the center frequency of the chain.
- For RX, this specifies the down-conversion frequency.
- For TX, this specifies the up-conversion frequency.
The default implementation of setFrequency() will tune the "RF" component as close as possible to the requested center frequency. Tuning inaccuracies will be compensated for with the "BB" component.
The args can be used to augment the tuning algorithm.
- Use "OFFSET" to specify an "RF" tuning offset, usually with the intention of moving the LO out of the passband. The offset will be compensated for using the "BB" component.
- Use the name of a component for the key and a frequency in Hz as the value (any format) to enforce a specific frequency. The other components will be tuned with compensation to achieve the specified overall frequency.
- Use the name of a component for the key and the value "IGNORE" so that the tuning algorithm will avoid altering the component.
- Vendor specific implementations can also use the same args to augment tuning in other ways such as specifying fractional vs integer N tuning.
\param device a pointer to a device instance \param direction the channel direction RX or TX \param channel an available channel on the device \param frequency the center frequency in Hz \param args optional tuner arguments \return an error code or 0 for success
SoapySDR.SoapySDRDevice_setFrequencyComponent
— MethodSoapySDRDevice_setFrequencyComponent(device, direction, channel, name, frequency, args)
Tune the center frequency of the specified element.
- For RX, this specifies the down-conversion frequency.
- For TX, this specifies the up-conversion frequency.
Recommended names used to represent tunable components:
- "CORR" - freq error correction in PPM
- "RF" - frequency of the RF frontend
- "BB" - frequency of the baseband DSP
\param device a pointer to a device instance \param direction the channel direction RX or TX \param channel an available channel on the device \param name the name of a tunable element \param frequency the center frequency in Hz \param args optional tuner arguments \return an error code or 0 for success
SoapySDR.SoapySDRDevice_setFrequencyCorrection
— MethodSoapySDRDevice_setFrequencyCorrection(device, direction, channel, value)
Fine tune the frontend frequency correction. \param device a pointer to a device instance \param direction the channel direction RX or TX \param channel an available channel on the device \param value the correction in PPM \return an error code or 0 for success
SoapySDR.SoapySDRDevice_setFrontendMapping
— MethodSoapySDRDevice_setFrontendMapping(device, direction, mapping)
Set the frontend mapping of available DSP units to RF frontends. This mapping controls channel mapping and channel availability. \param device a pointer to a device instance \param direction the channel direction RX or TX \param mapping a vendor-specific mapping string \return an error code or 0 for success
SoapySDR.SoapySDRDevice_setGain
— MethodSoapySDRDevice_setGain(device, direction, channel, value)
Set the overall amplification in a chain. The gain will be distributed automatically across available element. \param device a pointer to a device instance \param direction the channel direction RX or TX \param channel an available channel on the device \param value the new amplification value in dB \return an error code or 0 for success
SoapySDR.SoapySDRDevice_setGainElement
— MethodSoapySDRDevice_setGainElement(device, direction, channel, name, value)
Set the value of a amplification element in a chain. \param device a pointer to a device instance \param direction the channel direction RX or TX \param channel an available channel on the device \param name the name of an amplification element \param value the new amplification value in dB \return an error code or 0 for success
SoapySDR.SoapySDRDevice_setGainMode
— MethodSoapySDRDevice_setGainMode(device, direction, channel, automatic)
Set the automatic gain mode on the chain. \param device a pointer to a device instance \param direction the channel direction RX or TX \param channel an available channel on the device \param automatic true for automatic gain setting \return an error code or 0 for success
SoapySDR.SoapySDRDevice_setHardwareTime
— MethodSoapySDRDevice_setHardwareTime(device, timeNs, what)
Write the time to the hardware clock on the device. The what argument can refer to a specific time counter. \param device a pointer to a device instance \param timeNs time in nanoseconds \param what optional argument \return 0 for success or error code on failure
SoapySDR.SoapySDRDevice_setIQBalance
— MethodSoapySDRDevice_setIQBalance(device, direction, channel, balanceI, balanceQ)
Set the frontend IQ balance correction. \param device a pointer to a device instance \param direction the channel direction RX or TX \param channel an available channel on the device \param balanceI the relative correction (1.0 max) \param balanceQ the relative correction (1.0 max) \return an error code or 0 for success
SoapySDR.SoapySDRDevice_setIQBalanceMode
— MethodSoapySDRDevice_setIQBalanceMode(device, direction, channel, automatic)
Set the automatic frontend IQ balance correction. \param device a pointer to a device instance \param direction the channel direction RX or TX \param channel an available channel on the device \param automatic true for automatic correction \return 0 for success or error code on failure
SoapySDR.SoapySDRDevice_setMasterClockRate
— MethodSoapySDRDevice_setMasterClockRate(device, rate)
Set the master clock rate of the device. \param device a pointer to a device instance \param rate the clock rate in Hz \return an error code or 0 for success
SoapySDR.SoapySDRDevice_setReferenceClockRate
— MethodSoapySDRDevice_setReferenceClockRate(device, rate)
Set the reference clock rate of the device. \param device a pointer to a device instance \param rate the clock rate in Hz \return an error code or 0 for success
SoapySDR.SoapySDRDevice_setSampleRate
— MethodSoapySDRDevice_setSampleRate(device, direction, channel, rate)
Set the baseband sample rate of the chain. \param device a pointer to a device instance \param direction the channel direction RX or TX \param channel an available channel on the device \param rate the sample rate in samples per second \return an error code or 0 for success
SoapySDR.SoapySDRDevice_setTimeSource
— MethodSoapySDRDevice_setTimeSource(device, source)
Set the time source on the device \param device a pointer to a device instance \param source the name of a time source \return an error code or 0 for success
SoapySDR.SoapySDRDevice_setupStream
— MethodSoapySDRDevice_setupStream(device, direction, format, channels, numChans, args)
Initialize a stream given a list of channels and stream arguments. The implementation may change switches or power-up components. All stream API calls should be usable with the new stream object after setupStream() is complete, regardless of the activity state.
The API allows any number of simultaneous TX and RX streams, but many dual-channel devices are limited to one stream in each direction, using either one or both channels. This call will return an error if an unsupported combination is requested, or if a requested channel in this direction is already in use by another stream.
When multiple channels are added to a stream, they are typically expected to have the same sample rate. See SoapySDRDevice_setSampleRate().
\param device a pointer to a device instance \return the opaque pointer to a stream handle. \parblock
The returned stream is not required to have internal locking, and may not be used concurrently from multiple threads. \endparblock
\param direction the channel direction (SOAPY_SDR_RX
or SOAPY_SDR_TX
) \param format A string representing the desired buffer format in read/writeStream() \parblock
The first character selects the number type:
- "C" means complex
- "F" means floating point
- "S" means signed integer
- "U" means unsigned integer
The type character is followed by the number of bits per number (complex is 2x this size per sample)
Example format strings:
- "CF32" - complex float32 (8 bytes per element)
- "CS16" - complex int16 (4 bytes per element)
- "CS12" - complex int12 (3 bytes per element)
- "CS4" - complex int4 (1 byte per element)
- "S32" - int32 (4 bytes per element)
- "U8" - uint8 (1 byte per element)
\endparblock \param channels a list of channels or empty for automatic \param numChans the number of elements in the channels array \param args stream args or empty for defaults \parblock
Recommended keys to use in the args dictionary:
- "WIRE" - format of the samples between device and host
\endparblock \return the stream pointer or nullptr for failure
SoapySDR.SoapySDRDevice_transactSPI
— MethodSoapySDRDevice_transactSPI(device, addr, data, numBits)
Perform a SPI transaction and return the result. Its up to the implementation to set the clock rate, and read edge, and the write edge of the SPI core. SPI slaves without a readback pin will return 0.
If the device contains multiple SPI masters, the address bits can encode which master.
\param device a pointer to a device instance \param addr an address of an available SPI slave \param data the SPI data, numBits-1 is first out \param numBits the number of bits to clock out \return the readback data, numBits-1 is first in
SoapySDR.SoapySDRDevice_unmake
— MethodSoapySDRDevice_unmake(device)
Unmake or release a device object handle.
\param device a pointer to a device object \return 0 for success or error code on failure
SoapySDR.SoapySDRDevice_unmake_list
— MethodSoapySDRDevice_unmake_list(devices, length)
Unmake or release a list of device handles and free the devices array memory as well. This is a convenience call to parallelize device destruction, and is fundamentally a parallel for loop of unmake(Device *).
\param devices a list of pointers to device objects \param length the length of the devices array \return 0 for success or error code on failure
SoapySDR.SoapySDRDevice_writeChannelSetting
— MethodSoapySDRDevice_writeChannelSetting(device, direction, channel, key, value)
Write an arbitrary channel setting on the device. The interpretation is up the implementation. \param device a pointer to a device instance \param direction the channel direction RX or TX \param channel an available channel on the device \param key the setting identifier \param value the setting value \return 0 for success or error code on failure
SoapySDR.SoapySDRDevice_writeGPIO
— MethodSoapySDRDevice_writeGPIO(device, bank, value)
Write the value of a GPIO bank. \param device a pointer to a device instance \param bank the name of an available bank \param value an integer representing GPIO bits \return 0 for success or error code on failure
SoapySDR.SoapySDRDevice_writeGPIODir
— MethodSoapySDRDevice_writeGPIODir(device, bank, dir)
Write the data direction of a GPIO bank. 1 bits represent outputs, 0 bits represent inputs. \param device a pointer to a device instance \param bank the name of an available bank \param dir an integer representing data direction bits \return 0 for success or error code on failure
SoapySDR.SoapySDRDevice_writeGPIODirMasked
— MethodSoapySDRDevice_writeGPIODirMasked(device, bank, dir, mask)
Write the data direction of a GPIO bank with modification mask. 1 bits represent outputs, 0 bits represent inputs. \param device a pointer to a device instance \param bank the name of an available bank \param dir an integer representing data direction bits \param mask a modification mask where 1 = modify \return 0 for success or error code on failure
SoapySDR.SoapySDRDevice_writeGPIOMasked
— MethodSoapySDRDevice_writeGPIOMasked(device, bank, value, mask)
Write the value of a GPIO bank with modification mask. \param device a pointer to a device instance \param bank the name of an available bank \param value an integer representing GPIO bits \param mask a modification mask where 1 = modify \return 0 for success or error code on failure
SoapySDR.SoapySDRDevice_writeI2C
— MethodSoapySDRDevice_writeI2C(device, addr, data, numBytes)
Write to an available I2C slave. If the device contains multiple I2C masters, the address bits can encode which master. \param device a pointer to a device instance \param addr the address of the slave \param data an array of bytes write out \param numBytes the number of bytes to write \return 0 for success or error code on failure
SoapySDR.SoapySDRDevice_writeRegister
— MethodSoapySDRDevice_writeRegister(device, name, addr, value)
Write a register on the device given the interface name. This can represent a register on a soft CPU, FPGA, IC; the interpretation is up the implementation to decide. \param device a pointer to a device instance \param name the name of a available register interface \param addr the register address \param value the register value \return 0 for success or error code on failure
SoapySDR.SoapySDRDevice_writeRegisters
— MethodSoapySDRDevice_writeRegisters(device, name, addr, value, length)
Write a memory block on the device given the interface name. This can represent a memory block on a soft CPU, FPGA, IC; the interpretation is up the implementation to decide. \param device a pointer to a device instance \param name the name of a available memory block interface \param addr the memory block start address \param value the memory block content \param length the number of words in the block \return 0 for success or error code on failure
SoapySDR.SoapySDRDevice_writeSetting
— MethodSoapySDRDevice_writeSetting(device, key, value)
Write an arbitrary setting on the device. The interpretation is up the implementation. \param device a pointer to a device instance \param key the setting identifier \param value the setting value \return 0 for success or error code on failure
SoapySDR.SoapySDRDevice_writeStream
— MethodSoapySDRDevice_writeStream(device, stream, buffs, numElems, flags, timeNs, timeoutUs)
Write elements to a stream for transmission. This is a multi-channel call, and buffs should be an array of void *, where each pointer will be filled with data for a different channel.
Client code compatibility: Client code relies on writeStream() for proper back-pressure. The writeStream() implementation must enforce the timeout such that the call blocks until space becomes available or timeout expiration.
\param device a pointer to a device instance \param stream the opaque pointer to a stream handle \param buffs an array of void* buffers num chans in size \param numElems the number of elements in each buffer \param [in,out] flags optional input flags and output flags \param timeNs the buffer's timestamp in nanoseconds \param timeoutUs the timeout in microseconds \return the number of elements written per buffer or error
SoapySDR.SoapySDRDevice_writeUART
— MethodSoapySDRDevice_writeUART(device, which, data)
Write data to a UART device. Its up to the implementation to set the baud rate, carriage return settings, flushing on newline. \param device a pointer to a device instance \param which the name of an available UART \param data a null terminated array of bytes \return 0 for success or error code on failure
SoapySDR.SoapySDRKwargsList_clear
— MethodSoapySDRKwargsList_clear(args, length)
Clear a list of kwargs structures. This frees all the underlying memory and clears the members.
SoapySDR.SoapySDRKwargs_clear
— MethodSoapySDRKwargs_clear(args)
Clear the contents of a kwargs structure. This frees all the underlying memory and clears the members.
SoapySDR.SoapySDRKwargs_fromString
— MethodSoapySDRKwargs_fromString(markup)
Convert a markup string to a key-value map. The markup format is: "key0=value0, key1=value1"
SoapySDR.SoapySDRKwargs_get
— MethodSoapySDRKwargs_get(args, key)
Get a value given a key in a kwargs structure. \return the string or NULL if not found
SoapySDR.SoapySDRKwargs_set
— MethodSoapySDRKwargs_set(args, key, val)
Set a key/value pair in a kwargs structure. \post If the key exists, the existing entry will be modified; otherwise a new entry will be appended to args. On error, the elements of args will not be modified, and args is guaranteed to be in a good state. \return 0 for success, otherwise allocation error
SoapySDR.SoapySDRKwargs_toString
— MethodSoapySDRKwargs_toString(args)
Convert a key-value map to a markup string. The markup format is: "key0=value0, key1=value1"
SoapySDR.SoapySDRStrings_clear
— MethodSoapySDRStrings_clear(elems, length)
Clear the contents of a list of string Convenience call to deal with results that return a string list.
SoapySDR.SoapySDR_errToStr
— MethodSoapySDR_errToStr(errorCode)
Convert a error code to a string for printing purposes. If the error code is unrecognized, errToStr returns "UNKNOWN". \param errorCode a negative integer return code \return a pointer to a string representing the error
SoapySDR.SoapySDR_formatToSize
— MethodSoapySDR_formatToSize(format)
Get the size of a single element in the specified format. \param format a supported format string \return the size of an element in bytes
SoapySDR.SoapySDR_free
— MethodSoapySDR_free(ptr)
Free a pointer allocated by SoapySDR. For most platforms this is a simple call around free()
SoapySDR.SoapySDR_getABIVersion
— MethodSoapySDR_getABIVersion()
Get the ABI version string that the library was built against. A client can compare <b>SOAPYSDRABI_VERSION</b> to getABIVersion() to check for ABI incompatibility before using the library. If the values are not equal then the client code was compiled against a different ABI than the library.
SoapySDR.SoapySDR_getAPIVersion
— MethodSoapySDR_getAPIVersion()
Get the SoapySDR library API version as a string. The format of the version string is <b>major.minor.increment</b>, where the digits are taken directly from <b>SOAPYSDRAPI_VERSION</b>.
SoapySDR.SoapySDR_getLibVersion
— MethodSoapySDR_getLibVersion()
Get the library version and build information string. The format of the version string is <b>major.minor.patch-buildInfo</b>. This function is commonly used to identify the software back-end to the user for command-line utilities and graphical applications.
SoapySDR.SoapySDR_getLoaderResult
— MethodSoapySDR_getLoaderResult(path)
List all registration loader errors for a given module path. The resulting dictionary contains all registry entry names provided by the specified module. The value of each entry is an error message string or empty on successful load. \param path the path to a specific module file \return a dictionary of registry names to error messages
SoapySDR.SoapySDR_getModuleVersion
— MethodSoapySDR_getModuleVersion(path)
Get a version string for the specified module. Modules may optionally provide version strings. \param path the path to a specific module file \return a version string or empty if no version provided
SoapySDR.SoapySDR_getRootPath
— MethodSoapySDR_getRootPath()
Query the root installation path
SoapySDR.SoapySDR_listModules
— MethodSoapySDR_listModules(length)
List all modules found in default path. The result is an array of strings owned by the caller. \param [out] length the number of elements in the result. \return a list of file paths to loadable modules
SoapySDR.SoapySDR_listModulesPath
— MethodSoapySDR_listModulesPath(path, length)
List all modules found in the given path. The result is an array of strings owned by the caller. \param path a directory on the system \param [out] length the number of elements in the result. \return a list of file paths to loadable modules
SoapySDR.SoapySDR_listSearchPaths
— MethodSoapySDR_listSearchPaths(length)
The list of paths automatically searched by loadModules(). \param [out] length the number of elements in the result. \return a list of automatically searched file paths
SoapySDR.SoapySDR_loadModule
— MethodSoapySDR_loadModule(path)
Load a single module given its file system path. The caller must free the result error string. \param path the path to a specific module file \return an error message, empty on success
SoapySDR.SoapySDR_loadModules
— MethodSoapySDR_loadModules()
Load the support modules installed on this system. This call will only actually perform the load once. Subsequent calls are a NOP.
SoapySDR.SoapySDR_log
— MethodSoapySDR_log(logLevel, message)
Send a message to the registered logger. \param logLevel a possible logging level \param message a logger message string
SoapySDR.SoapySDR_registerLogHandler
— MethodSoapySDR_registerLogHandler(handler)
Register a new system log handler. Platforms should call this to replace the default stdio handler. Passing NULL
restores the default.
SoapySDR.SoapySDR_setLogLevel
— MethodSoapySDR_setLogLevel(logLevel)
Set the log level threshold. Log messages with lower priority are dropped.
SoapySDR.SoapySDR_ticksToTimeNs
— MethodSoapySDR_ticksToTimeNs(ticks, rate)
Convert a tick count into a time in nanoseconds using the tick rate. \param ticks a integer tick count \param rate the ticks per second \return the time in nanoseconds
SoapySDR.SoapySDR_timeNsToTicks
— MethodSoapySDR_timeNsToTicks(timeNs, rate)
Convert a time in nanoseconds into a tick count using the tick rate. \param timeNs time in nanoseconds \param rate the ticks per second \return the integer tick count
SoapySDR.SoapySDR_unloadModule
— MethodSoapySDR_unloadModule(path)
Unload a module that was loaded with loadModule(). The caller must free the result error string. \param path the path to a specific module file \return an error message, empty on success
SoapySDR.SoapySDR_unloadModules
— MethodSoapySDR_unloadModules()
Unload all currently loaded support modules.