!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~   Safe-Inferred      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  Safe-Inferred None None Safe-InferredNone Safe-InferredNoneNoneH     H     H     portable provisionaleocallaghan@alterapraxis.comNone      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}     portable provisionaleocallaghan@alterapraxis.com TrustworthyMLoopback options. 3Disables loopback and returns to normal operation. GRF loopback. The TXMIX output, through the AUX PA, is connected to the  output of LNA3. GRF loopback. The TXMIX output, through the AUX PA, is connected to the  output of LNA2. GRF loopback. The TXMIX output, through the AUX PA, is connected to the  output of LNA1. >Baseband loopback. TXVGA1 output is connected to RXLPF input. ABaseband loopback. TXLPF output is connected to the RXLPF input. CBaseband loopback. TXVGA1 output is connected to the RXVGA2 input. BBaseband loopback. TXLPF output is connected to the RXVGA2 input. $Firmware loopback inside of the FX3 Sample metadata. /This structure is used in conjunction with the ( G format to TX scheduled bursts or retrieve timestamp information about  received samples. 7Free-running FPGA counter that monotonically increases 0 at the sample rate of the associated module. 4Input bit field to control the behavior of the call - that the metadata structure is passed to. +Output bit field to denoting the status of  transmissions/ receptions. 7This output parameter is updated to reflect the actual 9 number of contiguous samples that have been populated  in an RX buffer during a  call. EThis enum describes the USB Speed at which the bladeRF is connected. *Speeds not listed here are not supported. USB3.0 USB2.0 Unknown  Correction parameter selection. FThese values specify the correction parameter to modify or query when  calling   or   . Note that the  meaning of the value/ parameter to these functions depends upon the  correction parameter. /Adjusts FPGA-based gain correction of [0.0, 2.0], via provided & values in the range of [-4096, 4096]$, where a value of 0 corresponds to  a gain of 1.0. /Adjusts FPGA-based phase correction of [-10, 10] degrees, via a provided  count value of [-4096, 4096]. DAdjusts the quadrature DC offset via controls provided the LMS6002D + front end. Valid values are [-2048, 2048], which are scaled to the  available control bits. EAdjusts the in-phase DC offset via controls provided by the LMS6002D + front end. Valid values are [-2048, 2048], which are scaled to the - available control bits in the LMS device. "Device control and configuration. JThis section provides functions pertaining to accessing, controlling, and 4 configuring various device options and parameters. Maximum TXVGA2 gain, in dB Minimum TXVGA2 gain, in dB Maximum TXVGA1 gain, in dB Minimum TXVGA1 gain, in dB Maximum RXVGA2 gain, in dB Minimum RXVGA2 gain, in dB Maximum RXVGA1 gain, in dB !Minimum RXVGA1 gain, in dB "LNA gain options. # LNA Max Gain $LNA Mid Gain (MAX-6dB) %LNA bypassed - 0dB gain &Invalid LNA gain 'Sample format. (This format is the same as the ) format, except the K first 4 samples (16 bytes) in every block of 1024 samples are replaced M with metadata, organized as follows, with all fields being little endian  byte order:    0x00 [uint32_t: Reserved] & 0x04 [uint64_t: 64-bit Timestamp] / 0x0c [uint32_t: BLADERF_META_FLAG_* flags] When using the  and  ( actions, this detail is transparent to 0 caller. These functions take care of packing/unpacking the metadata  into/from the data, via the   structure. ICurrently, when using the asynchronous data transfer interface, the user ' is responsible for manually packingunpacking this metadata intofrom  their sample data. )GSigned, Complex 16-bit Q11. This is the native format of the DAC data. EValues in the range [-2048, 2048) are used to represent [-1.0, 1.0). J Note that the lower bound here is inclusive, and the upper bound is F exclusive. Ensure that provided samples stay within [-2048, 2047]. FSamples consist of interleaved IQ value pairs, with I being the first D value in the pair. Each value in the pair is a right-aligned,  little-endian Int16). The FPGA ensures that these values are  sign-extended. GWhen using this format the minimum required buffer size, in bytes, is:  9 buffer_size_min = [ 2 * num_samples * sizeof(int16_t) ] HFor example, to hold 2048 samples, a buffer must be at least 8192 bytes  large. *CModule selection for those which have both RX and TX constituents. +Transmit Module ,Receive Module -%Rational sample rate representation. /Integer portion 0 Numerator in fractional portion 15Denominator in fractional portion. This must be > 0. 28Backend by which the host communicates with the device. 3$Dummy used for development purposes 4CyAPI 5libusb 6Linux kernel driver 7Don'"t Care, use any available backend 8FPGA device variant (size). 9 115 kLE FPGA : 40 kLE FPGA ;!Unable to determine FPGA variant <4Information about a bladeRF attached to the system. >)Backend to use when connecting to device ?Device serial number string @!Bus number device is attached to ADevice address on bus BDevice instance or ID CLVersion structure for FPGA, firmware, libbladeRF, and associated utilities. EMajor version FMinor version GPatch version H7Version string with any additional suffix information. I$Severity levels for logging actions J No output KFatal error level logging LError level logging MWarning level logging NInformation level logging ODebug level logging PVerbose level logging j  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOP !"#$%&'()*+,-./0123456Q  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQIPONMLKJCDEFGH<=>?@AB8;:9276543-./01*,+')("&%$#!   '   ! "&%$#')(*,+-./012765438;:9<=>?@ABCDEFGHIPONMLKJ !"#$%&'()*+,-./0123456portable provisionaleocallaghan@alterapraxis.comNoneQ8DeviceHandle wrapper around C device descriptor pointer T)Short-hand type for brevity and clarity. U7Error codes returned by internal libbladeRF functions. V#Requested timestamp is in the past WA firmware update is requied XAn FPGA update is required YFile not found ZInvalid checksum [Misaligned flash access \Operation not supported ]No device(s) available ^Operation timed out _FileDevice IO error `Memory allocation error aInvalid operation/ parameter b#Provided parameter is out of range cAn unexpected failure occurred d(For internal use) Obtain a U. type of a C value from the Error codes list. e(For internal use) Obtain a U. type of a C value from the Error codes list. fEssential wrapper 7+Handy helper to wrap around Either results 8KClose device. Deallocates the memory allocated by openBladeRF when called. 9Returned C Error codes DbladeRF library routines return negative values to indicate errors. + Values >= 0 are used to indicate success. QRSTUVWXYZ[\]^_`abc:def7;89<=QRSTUVWXYZ[\]^_`abcdeffQRSUcba`_^]\[ZYXWVTde QRSTUcba`_^]\[ZYXWV:def7;89<=portable provisionaleocallaghan@alterapraxis.comNone g2Sets the filter level for displayed log messages. MMessages that are at or above the specified log level will be printed, while 5 messages with a lower log level will be suppressed. h$Get libbladeRF version information. iQuery firmware version. jQuery FPGA version. k Load device's FPGA. <Note that this FPGA configuration will be reset at the next 0 power cycle. Pass Full path to FPGA bitstream. l7Obtain the bus speed at which the device is operating. mFill out a provided ) structure, given an open device handle. nQuery a device's serial number. oQuery a device' s FPGA size. p"Enable or disable the specified RX/ TX module. HWhen a synchronous stream is associated with the specified module, this 8 will shut down the underlying asynchronous stream when enable = >. qApply specified loopback mode. FLoopback modes should only be enabled or disabled while the RX and TX E modules are both disabled (and therefore, when no samples are being ? actively streamed). Otherwise, unexpected behavior may occur. rGet current loopback mode. gThe new log level filter value ?hiDevice handle Returned firmware version jDevice handle Returned firmware version kDevice handle Full path to FPGA bitstream lDevice handle  Device speed mDevice handle .Device information populated by this function nDevice handle Returned serial number. oDevice handle Returned on-board FPGA's size. pDevice handle Device module @ to enable, > to disable qDevice handle Loopback mode. Note that  / disables the use of loopback functionality. rDevice handle Current loopback mode ghijklmnopqr ghijlkmnopqr g?hijklmnopqrportable provisionaleocallaghan@alterapraxis.comNonesErase regions of the bladeRF' s SPI flash. 7This function operates in units of 64KiB erase blocks. tRead data from the bladeRF' s SPI flash. 3This function operates in units of 256-byte pages. uWrite data from the bladeRF' s SPI flash. sDevice handle  Erase block to start erasing at Number of blocks to erase. tDevice handle Page to begin reading from Number of pages to read uDevice handle Data to write to flash page Page to begin writing at count stustustuportable provisionaleocallaghan@alterapraxis.comNonevA(Re)Configure a device for synchronous transmission or reception wTransmit IQ samples. IUnder the hood, this call starts up an underlying asynchronous stream as E needed. This stream can be stopped by disabling the TX module. (See   for more details.) JSamples will only be sent to the FPGA when a buffer have been filled. The @ number of samples required to fill a buffer corresponds to the  buffer_size  parameter passed to v. Precondition:  A v' call has been to configure the device % for synchronous data transfer.  A call to  should be @ made before attempting to transmit samples. Failing to do 4 this may result in timeouts and other errors. xReceive IQ samples. HUnderthe hood, this call starts up an underlying asynchronous stream as E needed. This stream can be stopped by disabling the RX module. (See   for more details.) Precondition:  A v' call has been to configure the device % for synchronous data transfer.  A call to  should be @ made before attempting to transmit samples. Failing to do 4 this may result in timeouts and other errors. vDevice handle )Module to use with synchronous interface ,Format to use in synchronous data transfers <The number of buffers to use in the underlying data stream. ^The size of the underlying stream buffers, in samples. This value must be a multiple of 1024. LThe number of active USB transfers that may be in-flight at any given time. DTimeout (milliseconds) for transfers in the underlying data stream. wDevice handle Array of samples 2Sample metadata. This must be provided when using  the ( format, but may  be A& when the interface is configured for  the ) format. ITimeout (milliseconds) for this call to complete. Zero implies infinite. xDevice handle Number of samples to read ITimeout (milliseconds) for this call to complete. Zero implies infinite. vwxvwxvwxportable provisionaleocallaghan@alterapraxis.comNoney$Read a configuration GPIO register. z%Write a configuration GPIO register. HCallers should be sure to perform a read-modify-write sequence to avoid R accidentally clearing other GPIO bits that may be set by the library internally. yDevice handle  Read data zDevice handle Data to write to GPIO register yzyzyzportable provisionaleocallaghan@alterapraxis.comNone {Set the PA gain in dB. |Get the PA gain in dB. }Set the post-LPF gain in dB. ~Get the post-LPF gain in dB. Set the post-LPF VGA gain. Get the post-LPF VGA gain. Set the pre-LPF VGA gain. Get the pre-LPF VGA gain. Set LNA Gain. Get LNA Gain. )Set a combined pre and post LPF RX gain. DThis action computes the optimal LNA, RXVGA1, and RVGA2 gains for a I requested amount of RX gain, and computes the optimal TXVGA1 and TXVGA2 ) gains for a requested amount of TX gain {Device handle  Desired gain |Device handle Returned gain }Device handle  Desired gain ~Device handle Returned gain Device handle  Desired gain Device handle Returned set gain level Device handle  Desired gain Device handle Returned set gain level Device handle Desired gain level Device handle Returned set gain level Device handle Module  Desired gain {|}~ {|}~ {|}~portable provisionaleocallaghan@alterapraxis.comNoneConfigure the device's sample rate, in Hz. >Note this requires the sample rate is an integer value of Hz.  Use  for more arbitrary values. Configure the device',s sample rate as a rational fraction of Hz. -Sample rates are in the form of integer + num/denom. ;Set the bandwidth of the LMS LPF to specified value in Hz. Device handle Module to change  Sample rate Actual sample rate achieved. Device handle Module to change Rational sample rate &Actual rational sample rate achieved. Device handle Module for bandwidth request Desired bandwidth 6Actual bandwidth that the device was able to achieve.  portable provisionaleocallaghan@alterapraxis.comNoneWrite value to VCTCXO DAC.  Get module's current frequency in Hz.  Set module's frequency in Hz. CObtain the current value of the specified configuration parameter. 8Set the value of the specified configuration parameter. Device handle Data to write to DAC register Device handle Module to configure Returned frequency Device handle Module to configure Desired frequency Device handle /Module to retrieve correction information from Correction type Current value Device handle Module to apply correction to Correction type Value to apply portable provisionaleocallaghan@alterapraxis.comNone  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~B !"#$%%&'()*+,-./0123456789:;<=>?@ABCDEFGGHIJKLMNOPQRSTUUVWXYZ[[\]^_`abcdefghhijklmnopqrstuvwxyz{|}~                                                                   ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                                                                   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKHILMNOPhlibBladeRF-0.1.0.5LibBladeRF.TypesLibBladeRF.LibBladeRFLibBladeRF.UtilsLibBladeRF.FlashLibBladeRF.SyncLibBladeRF.GpioLibBladeRF.GainLibBladeRF.SamplingLibBladeRF.FrequencyBindings.LibBladeRF.TypesBindings.LibBladeRF.GainBindings.LibBladeRF.GpioBindings.LibBladeRF.LmsBindings.LibBladeRF.SyncBindings.LibBladeRF.Si5338Bindings.LibBladeRF.FlashBindings.LibBladeRF.UtilsBindings.LibBladeRF.LibBladeRFBindings.LibBladeRF bladeRFSyncRxbladeRFSetCorrectionbladeRFGetCorrection bladeRFSyncTxBladeRFDevInfobladeRFEnableModule LibBladeRFBladeRFLoopbackLB_NONE LB_RF_LNA3 LB_RF_LNA2 LB_RF_LNA1LB_BB_TXVGA1_RXLPFLB_BB_TXLPF_RXLPFLB_BB_TXVGA1_RXVGA2LB_BB_TXLPF_RXVGA2 LB_FIRMWAREBladeRFMetadata timestampflagsstatuscount BladeRFSpeedDEVICE_SPEED_SUPERDEVICE_SPEED_HIGHDEVICE_SPEED_UNKNOWNBladeRFCorrectionCORR_FPGA_GAINCORR_FPGA_PHASECORR_LMS_DCOFF_QCORR_LMS_DCOFF_IBladeRFVGAGainBoundsTXVGA2_GAIN_MAXTXVGA2_GAIN_MINTXVGA1_GAIN_MAXTXVGA1_GAIN_MINRXVGA2_GAIN_MAXRXVGA2_GAIN_MINRXVGA1_GAIN_MAXRXVGA1_GAIN_MINBladeRFLNAGain LNA_GAIN_MAX LNA_GAIN_MIDLNA_GAIN_BYPASSLNA_GAIN_UNKNOWN BladeRFFormatFORMAT_SC16_Q11_METAFORMAT_SC16_Q11 BladeRFModule MODULE_TX MODULE_RXBladeRFRationalRateintegernumdenBladeRFBackend BACKEND_DUMMYBACKEND_CYPRESSBACKEND_LIBUSB BACKEND_LINUX BACKEND_ANYBladeRFFPGASize FPGA_115KLE FPGA_40KLE FPGA_UNKNOWNBladeRFDeviceInfobackendserialusbBususbAddrinstBladeRFVersionmajorminorpatchdescrBladeRFLogLevelLOG_LEVEL_SILENTLOG_LEVEL_CRITICALLOG_LEVEL_ERRORLOG_LEVEL_WARNINGLOG_LEVEL_INFOLOG_LEVEL_DEBUGLOG_LEVEL_VERBOSE DeviceHandleunDeviceHandleBladeRFReturnType BladeRFErrorBLADERF_ERR_TIME_PASTBLADERF_ERR_UPDATE_FWBLADERF_ERR_UPDATE_FPGABLADERF_ERR_NO_FILEBLADERF_ERR_CHECKSUMBLADERF_ERR_MISALIGNEDBLADERF_ERR_UNSUPPORTEDBLADERF_ERR_NODEVBLADERF_ERR_TIMEOUTBLADERF_ERR_IOBLADERF_ERR_MEMBLADERF_ERR_INVALBLADERF_ERR_RANGEBLADERF_ERR_UNEXPECTEDbladeRFErrorValuebladeRFErrorTy withBladeRFbladeRFLogSetVerbositybladeRFLibVersionbladeRFFwVersionbladeRFFPGAVersionbladeRFLoadFPGAbladeRFDeviceSpeedbladeRFGetDevInfobladeRFGetSerialbladeRFGetFPGASizebladeRFSetLoopbackbladeRFGetLoopbackbladeRFEraseFlashbladeRFReadFlashbladeRFWriteFlashbladeRFSyncConfigbladeRFConfigGPIOReadbladeRFConfigGPIOWritebladeRFSetTXVGA2bladeRFGetTXVGA2bladeRFSetTXVGA1bladeRFGetTXVGA1bladeRFSetRXVGA2bladeRFGetRXVGA2bladeRFSetRXVGA1bladeRFGetRXVGA1bladeRFSetLNAGainbladeRFGetLNAGainbladeRFSetGainbladeRFSetSampleRatebladeRFSetRationalSampleRatebladeRFSetBandwidthbladeRFDACWritebladeRFGetFrequencybladeRFSetFrequencyC'bladerf_lms_dc_cals c'bladerf_lms_dc_cals'lpf_tuningc'bladerf_lms_dc_cals'tx_lpf_ic'bladerf_lms_dc_cals'tx_lpf_qc'bladerf_lms_dc_cals'rx_lpf_ic'bladerf_lms_dc_cals'rx_lpf_qc'bladerf_lms_dc_cals'dc_refc'bladerf_lms_dc_cals'rxvga2a_ic'bladerf_lms_dc_cals'rxvga2a_qc'bladerf_lms_dc_cals'rxvga2b_ic'bladerf_lms_dc_cals'rxvga2b_qC'bladerf_imagec'bladerf_image'magicc'bladerf_image'checksumc'bladerf_image'versionc'bladerf_image'timestampc'bladerf_image'serialc'bladerf_image'reservedc'bladerf_image'typec'bladerf_image'addressc'bladerf_image'lengthc'bladerf_image'dataC'bladerf_image_typeC'bladerf_log_levelC'bladerf_fpga_sizeC'bladerf_versionc'bladerf_version'majorc'bladerf_version'minorc'bladerf_version'patchc'bladerf_version'describeC'bladerf_stream_cbC'bladerf_metadatac'bladerf_metadata'timestampc'bladerf_metadata'flagsc'bladerf_metadata'statusc'bladerf_metadata'actual_countc'bladerf_metadata'reservedC'bladerf_formatC'bladerf_correctionC'bladerf_cal_moduleC'bladerf_xb200_pathC'bladerf_xb200_filter C'bladerf_xbC'bladerf_moduleC'bladerf_lpf_modeC'bladerf_lna_gainC'bladerf_samplingC'bladerf_rational_ratec'bladerf_rational_rate'integerc'bladerf_rational_rate'numc'bladerf_rational_rate'denC'bladerf_loopbackC'bladerf_devinfoc'bladerf_devinfo'backendc'bladerf_devinfo'serialc'bladerf_devinfo'usb_busc'bladerf_devinfo'usb_addrc'bladerf_devinfo'instanceC'bladerf_dev_speedC'bladerf_backend C'bladerfmK'bladerf_stream_cbmk'bladerf_stream_cbc'BLADERF_ERR_UNEXPECTEDc'BLADERF_ERR_RANGEc'BLADERF_ERR_INVALc'BLADERF_ERR_MEMc'BLADERF_ERR_IOc'BLADERF_ERR_TIMEOUTc'BLADERF_ERR_NODEVc'BLADERF_ERR_UNSUPPORTEDc'BLADERF_ERR_MISALIGNEDc'BLADERF_ERR_CHECKSUMc'BLADERF_ERR_NO_FILEc'BLADERF_ERR_UPDATE_FPGAc'BLADERF_ERR_UPDATE_FWc'BLADERF_ERR_TIME_PASTc'BLADERF_BACKEND_ANYc'BLADERF_BACKEND_LINUXc'BLADERF_BACKEND_LIBUSBc'BLADERF_BACKEND_CYPRESSc'BLADERF_BACKEND_DUMMYc'BLADERF_DEVICE_SPEED_UNKNOWNc'BLADERF_DEVICE_SPEED_HIGHc'BLADERF_DEVICE_SPEED_SUPERc'BLADERF_SERIAL_LENGTHp'bladerf_devinfo'backendp'bladerf_devinfo'serialp'bladerf_devinfo'usb_busp'bladerf_devinfo'usb_addrp'bladerf_devinfo'instancec'BLADERF_RXVGA1_GAIN_MINc'BLADERF_RXVGA1_GAIN_MAXc'BLADERF_RXVGA2_GAIN_MINc'BLADERF_RXVGA2_GAIN_MAXc'BLADERF_TXVGA1_GAIN_MINc'BLADERF_TXVGA1_GAIN_MAXc'BLADERF_TXVGA2_GAIN_MINc'BLADERF_TXVGA2_GAIN_MAXc'BLADERF_SAMPLERATE_MINc'BLADERF_SAMPLERATE_REC_MAXc'BLADERF_BANDWIDTH_MINc'BLADERF_BANDWIDTH_MAXc'BLADERF_FREQUENCY_MINc'BLADERF_FREQUENCY_MIN_XB200c'BLADERF_FREQUENCY_MAXc'BLADERF_LB_FIRMWAREc'BLADERF_LB_BB_TXLPF_RXVGA2c'BLADERF_LB_BB_TXVGA1_RXVGA2c'BLADERF_LB_BB_TXLPF_RXLPFc'BLADERF_LB_BB_TXVGA1_RXLPFc'BLADERF_LB_RF_LNA1c'BLADERF_LB_RF_LNA2c'BLADERF_LB_RF_LNA3c'BLADERF_LB_NONEp'bladerf_rational_rate'integerp'bladerf_rational_rate'nump'bladerf_rational_rate'denc'BLADERF_SAMPLING_UNKNOWNc'BLADERF_SAMPLING_INTERNALc'BLADERF_SAMPLING_EXTERNALc'BLADERF_LNA_GAIN_UNKNOWNc'BLADERF_LNA_GAIN_BYPASSc'BLADERF_LNA_GAIN_MIDc'BLADERF_LNA_GAIN_MAXc'BLADERF_LNA_GAIN_MID_DBc'BLADERF_LNA_GAIN_MAX_DBc'BLADERF_LPF_NORMALc'BLADERF_LPF_BYPASSEDc'BLADERF_LPF_DISABLEDc'BLADERF_MODULE_RXc'BLADERF_MODULE_TXc'BLADERF_XB_NONEc'BLADERF_XB_100c'BLADERF_XB_200c'BLADERF_XB200_50Mc'BLADERF_XB200_144Mc'BLADERF_XB200_222Mc'BLADERF_XB200_CUSTOMc'BLADERF_XB200_AUTO_1DBc'BLADERF_XB200_AUTO_3DBc'BLADERF_XB200_BYPASSc'BLADERF_XB200_MIXc'BLADERF_DC_CAL_LPF_TUNINGc'BLADERF_DC_CAL_TX_LPFc'BLADERF_DC_CAL_RX_LPFc'BLADERF_DC_CAL_RXVGA2c'BLADERF_CORR_LMS_DCOFF_Ic'BLADERF_CORR_LMS_DCOFF_Qc'BLADERF_CORR_FPGA_PHASEc'BLADERF_CORR_FPGA_GAINc'BLADERF_FORMAT_SC16_Q11c'BLADERF_FORMAT_SC16_Q11_METAc'BLADERF_META_STATUS_OVERRUNc'BLADERF_META_STATUS_UNDERRUN"c'BLADERF_META_FLAG_TX_BURST_START c'BLADERF_META_FLAG_TX_BURST_ENDc'BLADERF_META_FLAG_TX_NOWc'BLADERF_META_FLAG_RX_NOWp'bladerf_metadata'timestampp'bladerf_metadata'flagsp'bladerf_metadata'statusp'bladerf_metadata'actual_countp'bladerf_metadata'reservedp'bladerf_version'majorp'bladerf_version'minorp'bladerf_version'patchp'bladerf_version'describec'BLADERF_FPGA_UNKNOWNc'BLADERF_FPGA_40KLEc'BLADERF_FPGA_115KLEc'BLADERF_LOG_LEVEL_VERBOSEc'BLADERF_LOG_LEVEL_DEBUGc'BLADERF_LOG_LEVEL_INFOc'BLADERF_LOG_LEVEL_WARNINGc'BLADERF_LOG_LEVEL_ERRORc'BLADERF_LOG_LEVEL_CRITICALc'BLADERF_LOG_LEVEL_SILENTc'BLADERF_IMAGE_TYPE_INVALIDc'BLADERF_IMAGE_TYPE_RAWc'BLADERF_IMAGE_TYPE_FIRMWAREc'BLADERF_IMAGE_TYPE_FPGA_40KLE c'BLADERF_IMAGE_TYPE_FPGA_115KLE c'BLADERF_IMAGE_TYPE_CALIBRATIONc'BLADERF_IMAGE_TYPE_RX_DC_CALc'BLADERF_IMAGE_TYPE_TX_DC_CALc'BLADERF_IMAGE_TYPE_RX_IQ_CALc'BLADERF_IMAGE_TYPE_TX_IQ_CALc'BLADERF_IMAGE_MAGIC_LENc'BLADERF_IMAGE_CHECKSUM_LENc'BLADERF_IMAGE_RESERVED_LENp'bladerf_image'magicp'bladerf_image'checksump'bladerf_image'versionp'bladerf_image'timestampp'bladerf_image'serialp'bladerf_image'reservedp'bladerf_image'typep'bladerf_image'addressp'bladerf_image'lengthp'bladerf_image'data p'bladerf_lms_dc_cals'lpf_tuningp'bladerf_lms_dc_cals'tx_lpf_ip'bladerf_lms_dc_cals'tx_lpf_qp'bladerf_lms_dc_cals'rx_lpf_ip'bladerf_lms_dc_cals'rx_lpf_qp'bladerf_lms_dc_cals'dc_refp'bladerf_lms_dc_cals'rxvga2a_ip'bladerf_lms_dc_cals'rxvga2a_qp'bladerf_lms_dc_cals'rxvga2b_ip'bladerf_lms_dc_cals'rxvga2b_qc'BLADERF_GPIO_LMS_RX_ENABLEc'BLADERF_GPIO_LMS_TX_ENABLEc'BLADERF_GPIO_TX_LB_ENABLEc'BLADERF_GPIO_TX_HB_ENABLEc'BLADERF_GPIO_COUNTER_ENABLEc'BLADERF_GPIO_RX_LB_ENABLEc'BLADERF_GPIO_RX_HB_ENABLE%c'BLADERF_GPIO_FEATURE_SMALL_DMA_XFERc'BLADERF_GPIO_TIMESTAMPc'BLADERF_GPIO_TIMESTAMP_DIV2c'BLADERF_FLASH_TOTAL_SIZEc'BLADERF_FLASH_PAGE_SIZEc'BLADERF_FLASH_EB_SIZEc'BLADERF_FLASH_NUM_PAGESc'BLADERF_FLASH_NUM_EBSc'BLADERF_FLASH_ADDR_FIRMWARE!c'BLADERF_FLASH_BYTE_LEN_FIRMWAREc'BLADERF_FLASH_ADDR_CALc'BLADERF_FLASH_BYTE_LEN_CALc'BLADERF_FLASH_EB_LEN_CALc'BLADERF_FLASH_ADDR_FPGAc'BLADERF_FLASH_BYTE_LEN_FPGA$fStorableC'bladerf_lms_dc_cals$fStorableC'bladerf_image$fStorableC'bladerf_version$fStorableC'bladerf_metadata!$fStorableC'bladerf_rational_rate$fStorableC'bladerf_devinfop'bladerf_set_gainc'bladerf_set_gainp'bladerf_get_rxvga2c'bladerf_get_rxvga2p'bladerf_set_rxvga2c'bladerf_set_rxvga2p'bladerf_get_rxvga1c'bladerf_get_rxvga1p'bladerf_set_rxvga1c'bladerf_set_rxvga1p'bladerf_get_lna_gainc'bladerf_get_lna_gainp'bladerf_set_lna_gainc'bladerf_set_lna_gainp'bladerf_get_txvga1c'bladerf_get_txvga1p'bladerf_set_txvga1c'bladerf_set_txvga1p'bladerf_get_txvga2c'bladerf_get_txvga2p'bladerf_set_txvga2c'bladerf_set_txvga2p'bladerf_calibrate_dcc'bladerf_calibrate_dcp'bladerf_xb_spi_writec'bladerf_xb_spi_write"p'bladerf_expansion_gpio_dir_write"c'bladerf_expansion_gpio_dir_write!p'bladerf_expansion_gpio_dir_read!c'bladerf_expansion_gpio_dir_readp'bladerf_expansion_gpio_writec'bladerf_expansion_gpio_writep'bladerf_expansion_gpio_readc'bladerf_expansion_gpio_readp'bladerf_config_gpio_writec'bladerf_config_gpio_writep'bladerf_config_gpio_readc'bladerf_config_gpio_readp'bladerf_lms_get_dc_calsc'bladerf_lms_get_dc_calsp'bladerf_lms_set_dc_calsc'bladerf_lms_set_dc_calsp'bladerf_lms_writec'bladerf_lms_writep'bladerf_lms_readc'bladerf_lms_readp'bladerf_sync_rxc'bladerf_sync_rxp'bladerf_sync_txc'bladerf_sync_txp'bladerf_sync_configc'bladerf_sync_configp'bladerf_si5338_writec'bladerf_si5338_writep'bladerf_si5338_readc'bladerf_si5338_readp'bladerf_write_flashc'bladerf_write_flashp'bladerf_read_flashc'bladerf_read_flashp'bladerf_erase_flashc'bladerf_erase_flashp'bladerf_log_set_verbosityc'bladerf_log_set_verbosityp'bladerf_versionc'bladerf_versionp'bladerf_fw_versionc'bladerf_fw_versionp'bladerf_device_speedc'bladerf_device_speedp'bladerf_load_fpgac'bladerf_load_fpgap'bladerf_fpga_versionc'bladerf_fpga_versionp'bladerf_is_fpga_configuredc'bladerf_is_fpga_configuredp'bladerf_get_fpga_sizec'bladerf_get_fpga_sizep'bladerf_get_vctcxo_trimc'bladerf_get_vctcxo_trimp'bladerf_get_serialc'bladerf_get_serialp'bladerf_xb200_get_pathc'bladerf_xb200_get_pathp'bladerf_xb200_set_pathc'bladerf_xb200_set_pathp'bladerf_xb200_get_filterbankc'bladerf_xb200_get_filterbankp'bladerf_xb200_set_filterbankc'bladerf_xb200_set_filterbank p'bladerf_expansion_get_attached c'bladerf_expansion_get_attachedp'bladerf_expansion_attachc'bladerf_expansion_attachp'bladerf_dac_writec'bladerf_dac_writep'bladerf_get_frequencyc'bladerf_get_frequencyp'bladerf_set_frequencyc'bladerf_set_frequencyp'bladerf_select_bandc'bladerf_select_bandp'bladerf_get_lpf_modec'bladerf_get_lpf_modep'bladerf_set_lpf_modec'bladerf_set_lpf_modep'bladerf_get_bandwidthc'bladerf_get_bandwidthp'bladerf_set_bandwidthc'bladerf_set_bandwidthp'bladerf_get_correctionc'bladerf_get_correctionp'bladerf_set_correctionc'bladerf_set_correction"p'bladerf_get_rational_sample_rate"c'bladerf_get_rational_sample_rate"p'bladerf_set_rational_sample_rate"c'bladerf_set_rational_sample_ratep'bladerf_get_sample_ratec'bladerf_get_sample_ratep'bladerf_set_sample_ratec'bladerf_set_sample_ratep'bladerf_get_samplingc'bladerf_get_samplingp'bladerf_set_samplingc'bladerf_set_samplingp'bladerf_get_loopbackc'bladerf_get_loopbackp'bladerf_set_loopbackc'bladerf_set_loopbackp'bladerf_enable_modulec'bladerf_enable_modulep'bladerf_backend_strc'bladerf_backend_strp'bladerf_devstr_matchesc'bladerf_devstr_matchesp'bladerf_devinfo_matchesc'bladerf_devinfo_matchesp'bladerf_get_devinfo_from_strc'bladerf_get_devinfo_from_strp'bladerf_get_devinfoc'bladerf_get_devinfop'bladerf_init_devinfoc'bladerf_init_devinfop'bladerf_closec'bladerf_closep'bladerf_openc'bladerf_openp'bladerf_open_with_devinfoc'bladerf_open_with_devinfop'bladerf_free_device_listc'bladerf_free_device_listp'bladerf_get_device_listc'bladerf_get_device_list loglevelssizesbackendsmodulesformatslgainsvgains correctionsspeeds loopbacks$fEnumBladeRFLoopback$fEnumBladeRFSpeed$fShowBladeRFSpeed$fEnumBladeRFCorrection$fEnumBladeRFVGAGainBounds$fEnumBladeRFLNAGain$fEnumBladeRFFormat$fEnumBladeRFModule$fEnumBladeRFBackend$fShowBladeRFBackend$fEnumBladeRFFPGASize$fShowBladeRFFPGASize$fShowBladeRFDeviceInfo$fShowBladeRFVersion$fEnumBladeRFLogLevel openBladeRF closeBladeRF$fEnumBladeRFErrorerrors openBladeRF'$fExceptionBladeRFError$fShowBladeRFErrorghc-prim GHC.TypesFalse toBladeRFVerTruebase Data.MaybeNothing