{      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|} ~    Safe-Inferred      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvw      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopq       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvw  Safe-Inferredxyz{|}~xyz{|}~xyz{|}~ None None Safe-InferredNone Safe-InferredNoneNoneH     H     H     portable provisionaleocallaghan@alterapraxis.comNone      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqxyz{|}~     portable provisionaleocallaghan@alterapraxis.com TrustworthyELoopback 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, D little-endian int16_t. 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. `  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGH !"#$%&'(I  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHICDEFGH<=>?@AB8;:9276543-./01*,+')("&%$#!   $   ! "&%$#')(*,+-./012765438;:9<=>?@ABCDEFGH !"#$%&'(portable provisionaleocallaghan@alterapraxis.comNoneI8DeviceHandle wrapper around C device descriptor pointer L7Error codes returned by internal libbladeRF functions. M#Requested timestamp is in the past NA firmware update is requied OAn FPGA update is required PFile not found QInvalid checksum RMisaligned flash access SOperation not supported TNo device(s) available UOperation timed out VFileDevice IO error WMemory allocation error XInvalid operation/ parameter Y#Provided parameter is out of range ZAn unexpected failure occurred [Essential wrapper )+Handy helper to wrap around Either results *KClose device. Deallocates the memory allocated by openBladeRF when called. IJKLMNOPQRSTUVWXYZ[)+*,-IJKLMNOPQRSTUVWXYZ[[IJKLZYXWVUTSRQPONMIJKLZYXWVUTSRQPONM[)+*,-portable provisionaleocallaghan@alterapraxis.comNone \$Get libbladeRF version information. ]Query firmware version. ^Query FPGA version. _ Load device's FPGA. <Note that this FPGA configuration will be reset at the next 0 power cycle. Pass Full path to FPGA bitstream. `7Obtain the bus speed at which the device is operating. aFill out a provided ) structure, given an open device handle. bQuery a device's serial number. cQuery a device' s FPGA size. d"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 = .. eApply 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. fGet current loopback mode. \]Device handle Returned firmware version ^Device handle Returned firmware version _Device handle Full path to FPGA bitstream `Device handle  Device speed aDevice handle .Device information populated by this function bDevice handle Returned serial number. cDevice handle Returned on-board FPGA's size. dDevice handle Device module / to enable, . to disable eDevice handle Loopback mode. Note that  / disables the use of loopback functionality. fDevice handle Current loopback mode \]^_`abcdef \]^`_abcdef \]^_`abcdefportable provisionaleocallaghan@alterapraxis.comNonegErase regions of the bladeRF' s SPI flash. 7This function operates in units of 64KiB erase blocks. hRead data from the bladeRF' s SPI flash. 3This function operates in units of 256-byte pages. iWrite data from the bladeRF' s SPI flash. gDevice handle  Erase block to start erasing at Number of blocks to erase. hDevice handle Page to begin reading from Number of pages to read iDevice handle Data to write to flash page Page to begin writing at count ghighighiportable provisionaleocallaghan@alterapraxis.comNonejA(Re)Configure a device for synchronous transmission or reception kTransmit 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 j. lReceive 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.) jDevice 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. kDevice handle Array of samples Number of samples to write 2Sample metadata. This must be provided when using  the ( format, but may 0 be NULL when the interface is configured for  the ) format. ITimeout (milliseconds) for this call to complete. Zero implies infinite. lDevice handle Number of samples to read ITimeout (milliseconds) for this call to complete. Zero implies infinite. jkljkljklportable provisionaleocallaghan@alterapraxis.comNonem$Read a configuration GPIO register. n%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. mDevice handle  Read data nDevice handle Data to write to GPIO register mnmnmnportable provisionaleocallaghan@alterapraxis.comNone oSet the PA gain in dB. pGet the PA gain in dB. qSet the post-LPF gain in dB. rGet the post-LPF gain in dB. sSet the post-LPF VGA gain. tGet the post-LPF VGA gain. uSet the pre-LPF VGA gain. vGet the pre-LPF VGA gain. wSet LNA Gain. xGet LNA Gain. y)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 oDevice handle  Desired gain pDevice handle Returned gain qDevice handle  Desired gain rDevice handle Returned gain sDevice handle  Desired gain tDevice handle Returned set gain level uDevice handle  Desired gain vDevice handle Returned set gain level wDevice handle Desired gain level xDevice handle Returned set gain level yDevice handle Module  Desired gain opqrstuvwxy opqrstuvwxy opqrstuvwxyportable provisionaleocallaghan@alterapraxis.comNonezConfigure 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. zDevice 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. z{|z{|z{| portable provisionaleocallaghan@alterapraxis.comNone}Write 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.comNonez  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxy0 !"#$%%&'()*+,-./0123456789:;<=>?@ABCDEFGGHIJKLMNOPQRSTUUVWXYZ[[\]^_``abcdefghijklmnopqrstuvwxyz{|}~                                                                   ! " # $ % & ' ( ) * + , - . / 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:89;<hlibBladeRF-0.1.0.2LibBladeRF.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_UNKNOWNBladeRFDeviceInfobackendserialusbBususbAddrinstBladeRFVersionmajorminorpatchdescr 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_UNEXPECTED withBladeRFbladeRFLibVersionbladeRFFwVersionbladeRFFPGAVersionbladeRFLoadFPGAbladeRFDeviceSpeedbladeRFGetDevInfobladeRFGetSerialbladeRFGetFPGASizebladeRFSetLoopbackbladeRFGetLoopbackbladeRFEraseFlashbladeRFReadFlashbladeRFWriteFlashbladeRFSyncConfigbladeRFConfigGPIOReadbladeRFConfigGPIOWritebladeRFSetTXVGA2bladeRFGetTXVGA2bladeRFSetTXVGA1bladeRFGetTXVGA1bladeRFSetRXVGA2bladeRFGetRXVGA2bladeRFSetRXVGA1bladeRFGetRXVGA1bladeRFSetLNAGainbladeRFGetLNAGainbladeRFSetGainbladeRFSetSampleRatebladeRFSetRationalSampleRatebladeRFSetBandwidthbladeRFDACWritebladeRFGetFrequencybladeRFSetFrequencyC'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_listsizesbackendsmodulesformatslgainsvgains correctionsspeeds loopbacks$fEnumBladeRFLoopback$fEnumBladeRFSpeed$fShowBladeRFSpeed$fEnumBladeRFCorrection$fEnumBladeRFVGAGainBounds$fEnumBladeRFLNAGain$fEnumBladeRFFormat$fEnumBladeRFModule$fEnumBladeRFBackend$fShowBladeRFBackend$fEnumBladeRFFPGASize$fShowBladeRFFPGASize$fShowBladeRFDeviceInfo$fShowBladeRFVersion openBladeRF closeBladeRF openBladeRF'$fExceptionBladeRFError$fShowBladeRFErrorghc-prim GHC.TypesFalseTrue