GNU Radio 3.7 和 3.8 之间参数显示的差异
Differences in display of parameters between GNU Radio 3.7 and 3.8
我正在将 multi-rtl 移植到 GNU Radio 3.8。实际上,我已经完成了所有的移植工作,而且我已经有了一个可以运行的程序。现在只缺少一些外观更改,例如新示例。当我想做一个新的例子时,我意识到块对我的显示与图片中的不同。这是来自文档(原始程序)的图片:
这是为我显示此块的方式(在我移植的程序中):
这甚至是预期的行为。以下是此块的参数(它们以这种方式为每个 n 生成):
- id: sync_gain${n}
label: "Ch${n}: Sync RF Gain (dB)"
category: Synchronization
dtype: real
default: 10
hide: ${"$"}{ 'part' if nchan > ${n} else 'all' }
- id: freq${n}
label: "Ch${n}: Frequency (Hz)"
category: RF Options
dtype: real
default: 100e6
hide: ${"$"}{ 'none' if nchan > ${n} else 'all' }
- id: gain${n}
label: "Ch${n}: RF Gain (dB)"
category: RF Options
dtype: real
default: 10
hide: ${"$"}{ 'part' if nchan > ${n} else 'all' }
- id: gain_mode${n}
label: "Ch${n}: Gain Mode"
category: RF Options
dtype: bool
default: False
hide: ${"$"}{ 'part' if nchan > ${n} else 'all' }
options: [ False, True ]
option_labels: [ Manual, Automatic ]
- id: id_string${n}
label: "Ch${n}: ID string"
dtype: string
default: "${n}"
hide: ${"$"}{ 'part' if nchan > ${n} else 'all' }
隐藏选项设置为 none 的唯一参数是 "Ch $ {n}: Frequency (Hz)",因此它也是唯一显示的参数 "outside"。这是正常的。但是,我不明白为什么 gnuradio 3.7 中这段代码的等价物显示不同。这是我认为等效的 GNU Radio 3.7 代码:
<param>
<name>Ch$(n): Sync RF Gain (dB)</name>
<key>sync_gain$(n)</key>
<value>10</value>
<type>real</type>
<hide>\#if $nchan() > $n then 'part' else 'all'#</hide>
<tab>Synchronization</tab>
</param>
<param>
<name>Ch$(n): Frequency (Hz)</name>
<key>freq$(n)</key>
<value>100e6</value>
<type>real</type>
<hide>\#if $nchan() > $n then 'none' else 'all'#</hide>
<tab>RF Options</tab>
</param>
<param>
<name>Ch$(n): RF Gain (dB)</name>
<key>gain$(n)</key>
<value>10</value>
<type>real</type>
<hide>\#if $nchan() > $n then 'part' else 'all'#</hide>
<tab>RF Options</tab>
</param>
<param>
<name>Ch$(n): Gain Mode</name>
<key>gain_mode$(n)</key>
<value>False</value>
<type>bool</type>
<hide>\#if $nchan() > $n then 'part' else 'all'#</hide>
<option>
<name>Manual</name>
<key>False</key>
</option>
<option>
<name>Automatic</name>
<key>True</key>
</option>
<tab>RF Options</tab>
</param>
<param>
<name>Ch$(n): ID string</name>
<key>id_string$(n)</key>
<value>"$(n)"</value>
<type>string</type>
<hide>\#if $nchan() > $n then 'part' else 'all'#</hide>
</param>
为什么它们显示不同?
Why are they displayed differently?
可能是您的 gnuradio 3.7 版本中存在一些错误。我刚刚使用 gnuradio 3.7.13.5 对其进行了测试,显示的块类似于您的 gnuradio 3.8 示例。
如果要查看所有参数,请将 'part'
更改为 'none'
。另见 https://wiki.gnuradio.org/index.php/YAML_GRC#Parameters
我正在将 multi-rtl 移植到 GNU Radio 3.8。实际上,我已经完成了所有的移植工作,而且我已经有了一个可以运行的程序。现在只缺少一些外观更改,例如新示例。当我想做一个新的例子时,我意识到块对我的显示与图片中的不同。这是来自文档(原始程序)的图片:
这是为我显示此块的方式(在我移植的程序中):
这甚至是预期的行为。以下是此块的参数(它们以这种方式为每个 n 生成):
- id: sync_gain${n}
label: "Ch${n}: Sync RF Gain (dB)"
category: Synchronization
dtype: real
default: 10
hide: ${"$"}{ 'part' if nchan > ${n} else 'all' }
- id: freq${n}
label: "Ch${n}: Frequency (Hz)"
category: RF Options
dtype: real
default: 100e6
hide: ${"$"}{ 'none' if nchan > ${n} else 'all' }
- id: gain${n}
label: "Ch${n}: RF Gain (dB)"
category: RF Options
dtype: real
default: 10
hide: ${"$"}{ 'part' if nchan > ${n} else 'all' }
- id: gain_mode${n}
label: "Ch${n}: Gain Mode"
category: RF Options
dtype: bool
default: False
hide: ${"$"}{ 'part' if nchan > ${n} else 'all' }
options: [ False, True ]
option_labels: [ Manual, Automatic ]
- id: id_string${n}
label: "Ch${n}: ID string"
dtype: string
default: "${n}"
hide: ${"$"}{ 'part' if nchan > ${n} else 'all' }
隐藏选项设置为 none 的唯一参数是 "Ch $ {n}: Frequency (Hz)",因此它也是唯一显示的参数 "outside"。这是正常的。但是,我不明白为什么 gnuradio 3.7 中这段代码的等价物显示不同。这是我认为等效的 GNU Radio 3.7 代码:
<param>
<name>Ch$(n): Sync RF Gain (dB)</name>
<key>sync_gain$(n)</key>
<value>10</value>
<type>real</type>
<hide>\#if $nchan() > $n then 'part' else 'all'#</hide>
<tab>Synchronization</tab>
</param>
<param>
<name>Ch$(n): Frequency (Hz)</name>
<key>freq$(n)</key>
<value>100e6</value>
<type>real</type>
<hide>\#if $nchan() > $n then 'none' else 'all'#</hide>
<tab>RF Options</tab>
</param>
<param>
<name>Ch$(n): RF Gain (dB)</name>
<key>gain$(n)</key>
<value>10</value>
<type>real</type>
<hide>\#if $nchan() > $n then 'part' else 'all'#</hide>
<tab>RF Options</tab>
</param>
<param>
<name>Ch$(n): Gain Mode</name>
<key>gain_mode$(n)</key>
<value>False</value>
<type>bool</type>
<hide>\#if $nchan() > $n then 'part' else 'all'#</hide>
<option>
<name>Manual</name>
<key>False</key>
</option>
<option>
<name>Automatic</name>
<key>True</key>
</option>
<tab>RF Options</tab>
</param>
<param>
<name>Ch$(n): ID string</name>
<key>id_string$(n)</key>
<value>"$(n)"</value>
<type>string</type>
<hide>\#if $nchan() > $n then 'part' else 'all'#</hide>
</param>
为什么它们显示不同?
Why are they displayed differently?
可能是您的 gnuradio 3.7 版本中存在一些错误。我刚刚使用 gnuradio 3.7.13.5 对其进行了测试,显示的块类似于您的 gnuradio 3.8 示例。
如果要查看所有参数,请将 'part'
更改为 'none'
。另见 https://wiki.gnuradio.org/index.php/YAML_GRC#Parameters