      !"#$%&'()*+,-./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 !"#$%&'()*+,-./012345Q  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQIPONMLKJCDEFGH<=>?@AB8;:9276543-./01*,+')("&%$#!   '   ! "&%$#')(*,+-./012765438;:9<=>?@ABCDEFGHIPONMLKJ !"#$%&'()*+,-./012345portable provisionaleocallaghan@alterapraxis.comNoneQ8DeviceHandle wrapper around C device descriptor pointer T7Error codes returned by internal libbladeRF functions. U#Requested timestamp is in the past VA firmware update is requied WAn FPGA update is required XFile not found YInvalid checksum ZMisaligned flash access [Operation not supported \No device(s) available ]Operation timed out ^FileDevice IO error _Memory allocation error `Invalid operation/ parameter a#Provided parameter is out of range bAn unexpected failure occurred c(For internal use) Obtain a T. type of a C value from the Error codes list. d(For internal use) Obtain a T. type of a C value from the Error codes list. eEssential wrapper 6+Handy helper to wrap around Either results 7KClose device. Deallocates the memory allocated by openBladeRF when called. 8Returned C Error codes DbladeRF library routines return negative values to indicate errors. + Values >= 0 are used to indicate success. QRSTUVWXYZ[\]^_`ab9cde6:78;<QRSTUVWXYZ[\]^_`abcdeeQRSTba`_^]\[ZYXWVUcd QRSTba`_^]\[ZYXWVU9cde6:78;<portable provisionaleocallaghan@alterapraxis.comNone f2Sets 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. g$Get libbladeRF version information. hQuery firmware version. iQuery FPGA version. j Load device's FPGA. <Note that this FPGA configuration will be reset at the next 0 power cycle. Pass Full path to FPGA bitstream. k7Obtain the bus speed at which the device is operating. lFill out a provided ) structure, given an open device handle. mQuery a device's serial number. nQuery a device' s FPGA size. o"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 = =. pApply 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. qGet current loopback mode. fThe new log level filter value >ghDevice handle Returned firmware version iDevice handle Returned firmware version jDevice handle Full path to FPGA bitstream kDevice handle  Device speed lDevice handle .Device information populated by this function mDevice handle Returned serial number. nDevice handle Returned on-board FPGA's size. oDevice handle Device module ? to enable, = to disable pDevice handle Loopback mode. Note that  / disables the use of loopback functionality. qDevice handle Current loopback mode fghijklmnopq fghikjlmnopq f>ghijklmnopqportable provisionaleocallaghan@alterapraxis.comNonerErase regions of the bladeRF' s SPI flash. 7This function operates in units of 64KiB erase blocks. sRead data from the bladeRF' s SPI flash. 3This function operates in units of 256-byte pages. tWrite data from the bladeRF' s SPI flash. rDevice handle  Erase block to start erasing at Number of blocks to erase. sDevice handle Page to begin reading from Number of pages to read tDevice handle Data to write to flash page Page to begin writing at count rstrstrstportable provisionaleocallaghan@alterapraxis.comNoneuA(Re)Configure a device for synchronous transmission or reception vTransmit 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 u. Precondition:  A u' 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. wReceive 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 u' 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. uDevice 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. vDevice handle Array of samples 2Sample metadata. This must be provided when using  the ( format, but may  be @& when the interface is configured for  the ) format. ITimeout (milliseconds) for this call to complete. Zero implies infinite. wDevice handle Number of samples to read ITimeout (milliseconds) for this call to complete. Zero implies infinite. uvwuvwuvwportable provisionaleocallaghan@alterapraxis.comNonex$Read a configuration GPIO register. y%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. xDevice handle  Read data yDevice handle Data to write to GPIO register xyxyxyportable provisionaleocallaghan@alterapraxis.comNone zSet 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 zDevice 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 z{|}~ z{|}~ z{|}~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{|}~A !"#$%%&'()*+,-./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:;<=>?@ABCDEFGHIJGHKLMNOhlibBladeRF-0.1.0.4LibBladeRF.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 DeviceHandleunDeviceHandle 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