Различия в отображении параметров между GNU Radio 3.7 и 3.8 - PullRequest
2 голосов
/ 25 апреля 2020

Я портирую multi-rtl на GNU Radio 3.8. Я фактически сделал все портирование, и у меня уже есть программа, которая работает. В настоящее время отсутствуют только несколько изменений в скопи c, например, новые примеры. Когда я захотел сделать новый пример, я понял, что блок для меня отображается иначе, чем на картинке. Вот эта картинка из документации (оригинальная программа): enter image description here

Вот как этот блок отображается для меня (в моей перенесенной программе): enter image description here

Это даже ожидаемое поведение. Вот параметры этого блока (они сгенерированы для каждого 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) "так что это также единственный параметр, который отображается" снаружи ". Это нормально. Однако я не понимаю, почему эквивалент этого кода в 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>

Почему они отображаются по-разному?

1 Ответ

1 голос
/ 25 апреля 2020

Почему они отображаются по-разному?

Возможно, какая-то ошибка в вашей версии gnuradio 3.7. Я только что протестировал его с помощью gnuradio 3.7.13.5, и отображаемый блок похож на ваш пример с gnuradio 3.8.

enter image description here

Если вы хотите увидеть все изменения параметров 'part' до 'none'. Смотри также https://wiki.gnuradio.org/index.php/YAML_GRC#Parameters

...