bladeRF-cli - 命令行界面和测试实用程序
bladeRF-cli <options>
bladeRF-cli 实用程序用于刷新固件文件、加载 FPGA 比特流以及在 nuandbladeRF 软件定义无线电系统上执行其他任务。
有关获取或构建固件文件和 FPGA 比特流的更多信息,请访问 http://nuand.com/。
BladeRF 命令行界面和测试实用程序 (1.8.0-git)
使用指定的bladeRF设备。
将提供的 FX3 固件文件写入闪存。
加载提供的 FPGA 比特流。
将提供的 FPGA 映像写入闪存以进行自动加载。使用-L X或--flash-fpga X禁用FPGA自动加载。
探测设备,打印结果,然后退出。如果没有可用的设备,将返回非零返回状态。
执行指定的交互模式命令。可以指定多个-e标志。命令将按照提供的顺序执行。
运行提供的脚本。
进入交互模式。
打印 libbladeRF 版本并退出。
设置 libbladeRF 详细级别。列出的级别越来越详细,包括:
信息、调试、详细
打印 CLI 版本并退出。
显示此帮助文本。
打印所有交互式命令的帮助信息。
-d 选项采用设备说明符字符串。有关该字符串格式的更多信息,请参阅bladerf_open() 文档。
如果未提供 -d 参数,则第一个可用设备将用于提供的命令,或者在进入交互模式之前打开。
命令按以下顺序执行:
命令行选项、-e
、脚本命令、交互模式命令。 当从脚本或通过 -e 运行“rx/tx start”时,请确保这些命令稍后跟随“rx/tx wait [timeout]”,以确保程序不会在接收之前尝试退出/传输完成。
BladeRF-cli 支持可编写脚本的交互模式。运行bladeRF-cli --interactive进入此模式。键入“help”以获取所有命令的列表,或键入“help
用法:
calibrate <operation> [options]执行指定的收发器校准操作。
可用操作:
LMS 内部直流偏移自动校准
calibrate lms [show]calibrate lms tuning [value]calibrate lms txlpf [<I filter> <Q filter>]calibrate lms rxlpf [<I filter> <Q filter>]calibrate lms rxvga2 [<DC ref> <I1> <Q1> <I2> <Q2>]执行指定的自动校准,如果未提供,则执行全部自动校准。当提供值时,将使用这些值代替自动校准过程的结果。使用lms show读取并打印当前的LMS校准值。
对于 rxvga2,I1 和 Q1 分别是第 1 阶段 I 和 Q 分量,I2 和 Q2 是第 2 阶段 I 和 Q 分量。
RX and TX I/Q DC offset correction parameter calibration
calibrate dc <rx|tx> [<I> <Q>]
calibrate dc <rxtx>
Calibrate the DC offset correction parameters for the current frequency and gain settings. If a I/Q values are provided, they are applied directly. cal rxtx is shorthand for cal rx followed by cal tx.
RX and TX I/Q balance correction parameter calibration
calibrate iq <rx|tx> <gain|phase> <value>
Set the specified IQ gain or phase balance parameters.
Generate RX or TX I/Q DC correction parameter tables
calibrate table dc <rx|tx> [<f_min> <f_max> [f_inc]]
Generate and write an I/Q correction parameter table to the current working directory, in a file named <serial>_dc_<rx|tx>.tbl. f_min and f_max are min and max frequencies to include in the table. f_inc is the frequency increment.
By default, tables are generated over the entire frequency range, in 10 MHz steps.
Generate RX or TX I/Q DC correction parameter tables for AGC Look Up Table
calibrate table agc <rx|tx> [<f_min> <f_max> [f_inc]]
Similar usage as calibrate table dc except the call will set gains to the AGC's base gain value before running calibrate table dc.
用法:
clear清除屏幕。
用法:
echo [arg 1] [arg 2] ... [arg n]在新行中回显每个参数。
用法:
erase <offset> <count>擦除指定擦除块 SPI flash。
<offset>擦除块偏移
<count>要擦除的擦除块数
用法:
flash_backup <file> (<type> | <address> <length>)将Flash数据备份到指定文件。该命令采用两个或四个参数。通常建议将双参数调用用于非开发用途。
参数:
<type>备份类型。
这将根据所选类型选择适当的地址和长度值。
有效选项有:
Option Description
────────────────────────────────────────────────────────────────────
cal Calibration data
fw Firmware
fpga40 Metadata and bitstream for 40 kLE FPGA
fpga115 Metadata and bitstream for 115 kLE FPGA
fpgaA4 Metadata and bitstream for 49 kLE (A4) FPGA
fpgaA5 Metadata and bitstream for 77 kLE (A5) FPGA
fpgaA9 Metadata and bitstream for 301 kLE (A9) FPGA<address>要备份的数据的地址。必须是擦除块对齐的。
<len>要备份的区域的长度。必须是擦除块对齐的。
注意:当提供地址和长度时,图像类型将默认为raw。
例子:
备份校准数据区域:
flash_backup cal.bin cal将校准区域备份为原始数据图像:
flash_backup cal_raw.bin 0x30000 0x10000用法:
flash_image <image> [output options]打印 Flash 图像的元数据或创建新的 Flash 图像。当提供 Flash 图像文件的名称作为唯一参数时,此命令将打印图像的元数据内容。
以下选项可用于创建新的 Flash 映像。
data=<file>包含要存储在图像中的数据的文件。
address=<addr>闪存地址。默认值取决于 type 参数。
type=<type>Flash 图像的类型。默认为原始。
有效选项有:
Option Description
────────────────────────────────────────────────────────────────────
cal Calibration data
fw Firmware
fpga40 Metadata and bitstream for 40 kLE FPGA
fpga115 Metadata and bitstream for 115 kLE FPGA
fpgaA4 Metadata and bitstream for 49 kLE (A4) FPGA
fpgaA5 Metadata and bitstream for 77 kLE (A5) FPGA
fpgaA9 Metadata and bitstream for 301 kLE (A9) FPGA
raw Raw data. The address and length parameters must be
provided if this type is selected.serial=<serial>要存储在图像中的序列号。默认为零。
用法:
flash_init_cal <fpga_size> <vctcxo_trim> [<output_file>]创建新的校准数据区域并将其写入当前打开的设备或文件。请务必在运行此命令之前备份校准数据。 (请参阅 flash_backup 命令。)
<fpga_size>40 或 115,具体取决于设备型号。
<vctcxo_trim>VCTCXO/DAC 调整值 (0x0-0xffff)
<output_file>用于写入校准数据的文件。当提供此参数时,不会将任何数据写入设备的闪存。
用法:
flash_restore <file> [<address> <length>]从文件恢复闪存数据,可以选择覆盖图像元数据中的值。
<address>默认为提供的闪存映像文件中指定的地址。
<length>默认为提供的图像文件中的数据长度。
用法:
fw_log [filename]读取设备固件日志的内容并将其写入指定文件。如果未指定文件名,则日志内容将写入 stdout。
用法:
help [<command>]为任何命令提供扩展帮助,就像这样。
用法:
info打印有关打开的设备的以下信息:
序列号
VCTCXO DAC 校准值
FPGA尺寸
是否加载FPGA
USB 总线、地址和速度
后端(表示正在使用哪个设备接口代码。)
实例数
用法:
jump_to_boot清除闪存中的固件签名字并跳转到 FX3 引导加载程序。
设备将在电源周期内继续引导至 FX3 引导加载程序,直到新固件写入设备为止。
用法:
load <fpga|fx3> <filename>加载 FPGA 比特流或对 FX3 的 SPI 闪存进行编程。
用法:
xb <board_model> <subcommand> [parameters]启用或配置扩展板。
board_model 的有效值:
100XB-100 GPIO扩展板
200XB-200 LF/MF/HF/VHF 变频扩展板
300XB-300功放板
常用子命令:
enable启用 XB-100、XB-200 或 XB-300 扩展板。
XB-200 子命令:
filter [rx|tx] [50|144|222|custom|auto_1db|auto_3db]选择 XB-200 板上指定的 RX 或 TX 过滤器。以下是每个过滤器选项的说明:
选择 50-54 MHz(6 米频带)滤波器。
选择 144-148 MHz(2 米频带)滤波器。
选择 222-225 MHz(1.25 米频带)滤波器。实际上, 这个过滤器选项实际上稍微宽一些,覆盖 206 兆赫 - 235 兆赫。
选择自定义过滤器路径。使用此选项时,用户应沿着相应的 FILT 和 FILT-ANT 连接连接过滤器。或者,可以跳接 FILT 和 FILT-ANT 连接以实现“无滤波器”接收。 (然而,这是 _高度_不鼓励传输。)
根据频率和滤波器的 1dB 点自动选择上述选项之一。自定义路径用于与板载过滤器不关联的情况。
根据频率和滤波器的 3dB 点自动选择上述选项之一。自定义路径用于与板载过滤器不关联的情况。
XB-300 子命令:
<pa|lna|aux> [on|off]启用或禁用功率放大器 (PA)、低噪声放大器 (lna) 或辅助 LNA (aux)。如果未指定 [on|off],则打印指定设备的当前状态。
注意:XB-300 上的辅助路径默认不填充组件; aux 控制对 RX 信号没有影响。此选项可供用户使用自定义硬件修改其主板。
<pwr>读取当前功率检测 (PDET) 电压并计算输出功率。
trx <rx|tx>默认 XB-300 硬件配置包括单独的 RX 和 TX 路径。然而,希望仅使用单个天线进行 TRX 的用户可以通过修改 XB-300 上的电阻填充选项来实现,并使用此命令在 RX 和 TX 操作之间切换。 (参见原理图上的 R8、R10 和 R23。)
例子:
启用并配置 XB-200 转换器扩展板:
xb 200 enable选择 XB-200 转换器扩展板上的 144-148 MHz 接收滤波器:
xb 200 filter rx 144启用并配置使用 GPIO 与 XB-300 交互。 PA 和 LNA 默认禁用:
xb 300 enable启用 XB-300 上的 RX LNA。当 LNA 启用时,LED D1(绿色)亮起;当 LNA 禁用时,LED D1 熄灭:
xb 300 lna on禁用 XB-300 上的 TX PA。当 PA 启用时,LED D2(蓝色)亮起;当 PA 禁用时,LED D2 熄灭:
xb 300 pa off用法:
mimo [master | slave]修改设备 MIMO 操作。
重要提示:此命令已弃用,并已被“print/set smb_mode”取代。对于使用文本,请运行:“set smb_mode”
用法:
open [device identifiers]打开指定的设备以与连续命令一起使用。任何先前打开的设备都将被关闭。
设备标识符字符串的一般形式为:
<backend>:[device=<bus>:<addr>] [instance=<n>] [serial=<serial>]有关完整的设备说明符格式,请参阅 libbladeRF 中的 bladerf_open() 文档。
用法:
peek <rfic|pll|dac|lms|si> <address> [num_addresses]peek 命令可以读取挂在 FPGA 上的任何设备。这包括:
BladeRF 1:LMS6002D 收发器、VCTCXO 微调 DAC、Si5338 时钟发生器
BladeRF 2:AD9361收发器、VCTCXO微调DAC、ADF4002频率合成器
如果提供了num_addresses,则该地址将增加 1,并对那么多地址执行另一次查看。
有效地址范围:
Device Address Range
───────────────────────────
rfic 0 to 0x3F7 (1015)
pll 0 to 3
dac 0 to 255
lms 0 to 127
si 0 to 255例子:
peek si ...用法:
poke <rfic|pll|dac|lms|si> <address> <data>poke 命令可以写入挂在 FPGA 上的任何设备。这包括:
BladeRF 1:LMS6002D 收发器、VCTCXO 微调 DAC、Si5338 时钟发生器
BladeRF 2:AD9361收发器、VCTCXO微调DAC、ADF4002频率合成器
有效地址范围:
Device Address Range
───────────────────────────
rfic 0 to 0x3F7 (1015)
pll 0 to 3
dac 0 to 255
lms 0 to 127
si 0 to 255例子:
poke lms ...用法:
print [parameter]print 命令采用一个参数来打印。下面列出了可用参数。如果没有指定参数,则打印所有参数。
常用参数:
Parameter Description
────────────────────────────────────────────────────────────────────────
bandwidth Bandwidth settings
frequency Frequency settings
agc Automatic gain control
loopback Loopback settings
rx_mux FPGA RX FIFO input mux setting
gain Gain settings
samplerate Samplerate settings
trimdac VCTCXO Trim DAC settings
tuning_mode Tuning mode settings
hardware Low-level hardware statusBladeRF1 专用参数:
Parameter Description
────────────────────────────────────────────────────────────────────────
gpio FX3 <-> FPGA GPIO state
lnagain RX LNA gain, in dB (deprecated)
rxvga1 RXVGA1 gain, in dB (deprecated)
rxvga2 RXVGA2 gain, in dB (deprecated)
txvga1 TXVGA1 gain, in dB (deprecated)
txvga2 TXVGA2 gain, in dB (deprecated)
sampling External or internal sampling mode
smb_mode SMB clock port mode of operation
vctcxo_tamer Current VCTCXO tamer mode
xb_gpio Expansion board GPIO values
xb_gpio_dir Expansion board GPIO direction (1=output, 0=input)BladeRF2 专用参数:
Parameter Description
────────────────────────────────────────────────────────────────────────
clock_sel System clock selection
clock_out Clock output selection
rssi Received signal strength indication
clock_ref ADF4002 chip status
refin_freq ADF4002 reference clock frequency
biastee Current bias-tee status
filter RFIC FIR filter selection用法:
probe [strict]搜索连接的bladeRF 设备并打印结果列表。
如果不指定 strict,则缺少任何可用设备不会被视为错误。
当提供可选的 strict 参数时,此命令会将未找到设备的情况视为错误,从而导致通过 -e 命令行参数提供脚本或命令列表立即终止。
用法:
quit退出 CLI。
用法:
recover [<bus> <address> <firmware file>]将固件加载到在引导加载程序模式下运行的设备上,或列出当前处于引导加载程序模式的所有设备。
如果不带参数,此命令会列出在引导加载程序模式下运行的基于 FX3 的设备的 USB 总线和地址。
当提供固件文件的总线、地址和路径时,指定的设备将被加载并开始执行所提供的固件。
大多数情况下,成功将固件加载到设备 RAM 后,用户应使用“open”命令打开设备,并通过“load fx3
用法:
run <script>运行提供的脚本。
用法:
rx <start | stop | wait | config [param=val [param=val [...]]>接收IQ样本并将其写入指定文件。接收由以下其中一项控制和配置:
Command Description
────────────────────────────────────────────────────────────────────────
start Start receiving samples
stop Stop receiving samples
wait Wait for sample transmission to complete, or until a
specified amount of time elapses
config Configure sample reception. If no parameters are
provided, the current parameters are printed.运行rx而不需要任何附加命令是rx config的有效简写。
wait 命令采用可选的timeout 参数。此参数默认以毫秒 (ms) 为单位。超时单位可以使用 ms 或 s 后缀指定。如果未提供此参数,命令将等待,直到接收完成或按下Ctrl-C。
配置参数采用 param=value 形式,并且可以在单个或多个 rx config 调用中指定。以下是可用参数的列表。
Parameter Description
────────────────────────────────────────────────────────────────────────
n Number of samples to receive. 0 = inf.
file Filename to write received samples to
format Output file format. One of the following:
csv: CSV of SC16 Q11 samples
bin: Raw SC16 Q11 DAC samples
samples Number of samples per buffer to use in the
asynchronous stream. Must be divisible by 1024 and
>= 1024.
buffers Number of sample buffers to use in the asynchronous
stream. The min value is 4.
xfers Number of simultaneous transfers to allow the
asynchronous stream to use. This should be less than
the buffers parameter.
timeout Data stream timeout. With no suffix, the default
unit is ms. The default value is 1000 ms (1 s).
Valid suffixes are ms and s.
channel Comma-delimited list of physical RF channels to use例子:
接收 (10240=10 * 1024) 个样本,以二进制 DAC 格式将其写入 /tmp/data.bin。
rx config file=/tmp/data.bin format=bin n=10K从 RX1 和 RX2 接收 32768 个样本,将它们输出到名为 mimo.csv 的文件,该文件有四列(RX1 I、RX1 Q、RX2 I、RX2 Q)。
rx config file=mimo.csv format=csv n=32768 channel=1,2笔记:
n、samples、buffers 和 xfers 参数支持后缀 K、 M 和 G,它们是 1024 的倍数。
rx stop 后跟 rx start 将导致示例文件被截断。如果不需要这样做,请确保在重新启动 rx 流之前运行 rx config 以设置另一个文件。
对于更高的采样率,建议使用binary输出格式,并将输出文件写入RAM(例如/tmp、/dev/ shm),如果空间允许的话。要以更高的采样率捕获更大的数据,请考虑使用 SSD 而不是 HDD。
CSV 格式为每个通道生成两列,前两列对应于使用 channel 参数配置的第一个通道的 I、Q 对;接下来的两列对应于第二个通道的 I、Q,依此类推。
用法:
trigger [<trigger> <tx | rx> [<off slave master fire>]]如果不带参数使用,此命令将打印所有触发器的状态。当提供 和 时,将打印指定的触发器。
以下是可用选项:
Trigger Description
────────────────────────────────────────────────────────────────────────
J71-4 Trigger signal is on mini_exp1 (bladeRF x40/x115, J71,
pin 4).
J51-1 Trigger signal is on mini_exp1 (bladeRF xA4/xA5/xA9,
J51, pin 1).
Miniexp-1 Trigger signal is on mini_exp1, hardware-independent请注意,上述所有三个选项都映射到所有设备上的同一逻辑端口 (mini_exp[1])。提供了多个选项以实现反向兼容性和清晰度。
通过提供最后一个参数来控制和配置触发器,该参数可以是以下之一:
Command Description
────────────────────────────────────────────────────────────────────────
off Clears fire request and disables trigger functionality.
slave Configures trigger as slave, clears fire request, and
arms the device.
master Configures trigger as master, clears fire request, and
arms the device.
fire Sets fire request. Only applicable to the master.触发链由单个或多个 BladeRF 单元组成,并且可能包含 TX 和 RX 模块。如果使用多个 BladeRF 单元,则需要通过 指定的信号和公共接地来连接它们。
应使用以下命令序列来确保正确的同步。假设所有触发器最初都关闭。
Configure designated trigger master
IMPORTANT: Never configure two devices as trigger masters on a single chain. Contention on the same signal could damage the devices.
将所有其他设备配置为触发从设备
Configure and start transmit or receive streams.
The operation will stall until the triggers fire. As such, sufficiently large timeouts should be used to allow the trigger signal to be emitted by the master and received by the slaves prior to libbladeRF returning BLADERF_ERR_TIMEOUT.
Set fire-request on master trigger
All devices will synchronously start transmitting or receiving data.
照常完成发送和接收任务
Re-configure the master and slaves to clear fire requests and re-arm.
Steps 1 through 5 may be repeated as neccessary.
禁用所有从站上的触发
禁用主控上的触发
笔记:
同步单链上的发送器和接收器将导致 TX 和 RX 之间存在 11 个样本的偏移;这些样本应该被丢弃。这是由于TX和RX的处理流水线长度不同造成的。如果将来更新 FPGA 代码,该值可能会发生变化。
用法:
tx <start | stop | wait | config [parameters]>从指定文件中读取 IQ 样本并传输它们。传输由以下其中一项控制和配置:
Command Description
────────────────────────────────────────────────────────────────────────
start Start transmitting samples
stop Stop transmitting samples
wait Wait for sample transmission to complete, or until a
specified amount of time elapses
config Configure sample transmission. If no parameters are
provided, the current parameters are printed.无需任何其他命令即可运行 tx 是 tx config 的有效简写。
wait 命令采用可选的timeout 参数。此参数默认以毫秒 (ms) 为单位。超时单位可以使用 ms 或 s 后缀指定。如果未提供此参数,命令将等待直到传输完成或按下Ctrl-C。
配置参数采用 param=value 形式,并且可以在单个或多个 tx config 调用中指定。以下是可用参数的列表。
Parameter Description
────────────────────────────────────────────────────────────────────────
file Filename to read samples from
format Input file format. One of the following:
csv: CSV of SC16 Q11 samples ([-2048, 2047])
bin: Raw SC16 Q11 DAC samples ([-2048, 2047])
repeat The number of times the file contents should be
transmitted. 0 implies repeat until stopped.
delay The number of microseconds to delay between
retransmitting file contents. 0 implies no delay.
samples Number of samples per buffer to use in the
asynchronous stream. Must be divisible by 1024 and
>= 1024.
buffers Number of sample buffers to use in the asynchronous
stream. The min value is 4.
xfers Number of simultaneous transfers to allow the
asynchronous stream to use. This should be < the
buffers parameter.
timeout Data stream timeout. With no suffix, the default
unit is ms. The default value is 1000 ms (1 s).
Valid suffixes are 'ms' and 's'.
channel Comma-delimited list of physical RF channels to use例子:
传输 data.bin 的内容两次,传输之间有约 250ms 的延迟:
tx config file=data.bin format=bin repeat=2 delay=250000重复传输mimo.csv的内容,文件中的第一个通道映射到通道TX1,第二个通道映射到TX2:
tx config file=mimo.csv format=csv repeat=0 channel=1,2笔记:
n、samples、buffers 和 xfers 参数支持后缀 K、 M 和 G,它们是 1024 的倍数。
对于更高的采样率,建议将输入文件存储在 RAM 中(例如 /tmp、/dev/shm)或 SSD,而不是 HDD。
CSV 格式要求每个通道有两列,前两列对应于使用 channel 参数配置的第一个通道的 I、Q 对;接下来的两列对应于第二个通道的 I、Q,依此类推。例如,在上面的 mimo.csv 示例中,-128,128,-256,256 将在 TX1 上传输 (-128,128),在 TX2 上传输 (-256,256)。
当提供 CSV 数据时,该命令首先将其转换为二进制格式,存储在当前工作目录中的文件中。在此过程中,超出范围的值将被限制。
使用二进制格式时,用户有责任确保提供的数据值在允许的范围内。此先决条件减少了该程序在时间敏感的回调中执行范围检查的需要。
用法:
set <parameter> <arguments>set 命令采用一个参数以及该特定参数的任意数量的参数。一般来说,set 将显示该参数的更多帮助。
常用参数:
Parameter Description
────────────────────────────────────────────────────────────────────────
bandwidth Bandwidth settings
frequency Frequency settings
agc Automatic gain control
loopback Loopback settings
rx_mux FPGA RX FIFO input mux mode
gain Gain settings
samplerate Samplerate settings
trimdac VCTCXO Trim DAC settings
tuning_mode Tuning mode settingsBladeRF1 专用参数:
Parameter Description
────────────────────────────────────────────────────────────────────────
gpio FX3 <-> FPGA GPIO state
lnagain RX LNA gain, in dB. Values: 0, 3, 6 (deprecated)
rxvga1 RXVGA1 gain, in dB. Range: [5, 30] (deprecated)
rxvga2 RXVGA2 gain, in dB. Range: [0, 30] (deprecated)
txvga1 TXVGA1 gain, in dB. Range: [-35, -4] (deprecated)
txvga2 TXVGA2 gain, in dB. Range: [0, 25] (deprecated)
sampling External or internal sampling mode
smb_mode SMB clock port mode of operation
vctcxo_tamer VCTCXO tamer mode. Options: Disabled, 1PPS, 10MHz
xb_gpio Expansion board GPIO values
xb_gpio_dir Expansion board GPIO direction (1=output, 0=input)BladeRF2 专用参数:
Parameter Description
────────────────────────────────────────────────────────────────────────
clock_sel System clock selection
clock_out Clock output selection
rssi Received signal strength indication
clock_ref Enables (1) or disables (0) the ADF4002 chip
refin_freq ADF4002 reference clock frequency
biastee Enables or disables the bias tee on a given channel
filter RFIC FIR filter selection用法:
version打印主机软件和当前设备的版本信息。
将名为 Hostedx40.rbf 的 FPGA 映像加载到 BladeRF 的 FPGA 上:
bladeRF-cli -l hostedx40.rbf
注意:使用--load-fpga加载的FPGA镜像会在断电时丢失。
将firmware.img刷新到bladeRF的固件上:
bladeRF-cli -f firmware.img
将名为 Hostedx40.rbf 的 FPGA 映像刷新到 BladeRF 上,该映像将在加电时自动加载:
bladeRF-cli -L hostedx40.rbf
该实用程序由bladeRF 项目的贡献者编写。有关详细信息,请参阅贡献者文件。
可以通过 https://github.com/nuand/bladerf 上的问题跟踪器报告错误。
版权所有 © 2013-2015 Nuand LLC。
该程序是免费软件;您可以根据自由软件基金会发布的 GNU 通用公共许可证的条款重新分发和/或修改它;许可证的版本 2,或(由您选择)任何更高版本。
分发此程序的目的是希望它有用,但不提供任何保证;甚至没有适销性或特定用途适用性的默示保证。有关更多详细信息,请参阅 GNU 通用公共许可证。
您应该随该程序一起收到 GNU 通用公共许可证的副本;如果没有,请写信给 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA。
More documentation is available at http://nuand.com/ and https://github.com/nuand/bladerf.