首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >GnuRadio附录OOT文档

GnuRadio附录OOT文档
EN

Stack Overflow用户
提问于 2017-10-02 22:56:08
回答 1查看 1.6K关注 0票数 2

GnuRadio同伴使用XML文件来描述树外(OOT)模块块的API。描述该XML模式的文档在哪里?

EN

回答 1

Stack Overflow用户

发布于 2017-10-20 19:28:56

这里有一个部分描述:定义

  • 名称标记指定块、参数和端口的标签文本。
  • 标记是唯一的标识符,它们可能不包含空格。在GRC中的所有块中,块键必须是全局唯一的。参数键必须仅在块中是唯一的。
  • 类别标记是一个unix样式的路径,表示块选择窗口中块的位置。路径可以是新类别(自定义),也可以表示子类别(筛选器/自定义)。要将一个块放入根类别,只需使用一个斜杠(/)作为根路径。
  • 导入标记(可以是多个)必须是对包含块的模块的有效导入语句。
  • make标记包含构造块所需的代码。这段代码本质上是嵌套在xml标记中的猎豹模板。在代码生成时,模板对"$“参数执行文本替换。有关更高级的功能,请参见猎豹模板文档。
  • 回调标记从您的自定义块注册一个set方法。一旦注册了set-方法,当变量被更改时,可以在运行时调用set-方法。可以有任意数量的回调标记,每个块的set方法都有一个.如果不适用,则不使用回调标记。
  • 对于param标记,类型标记的常用值是:复杂、真实、int、complex_vector、real_vector、int_vector、string和raw。原始类型允许在不执行类型检查的情况下使用任何值。实型应用于单精度和双精度浮点数。int类型应该用于longs、int、shorts和chars。
  • 隐藏标记控制参数在GRC中的显示方式。它要么是无、部分(显示在道具对话框中,而不是在画布上的块),要么全部。
  • 接收器标记表示输入端口,标记表示输出端口。类型标记的允许值为: complex、float、int、short和字节。对于具有向量长度的端口,请在type标记之后指定vlen标记。

代替更好的替代方法,有一个描述块的XML类型定义:https://github.com/gnuradio/gnuradio/blob/master/grc/core/block.dtd。相关部分如下:

代码语言:javascript
运行
复制
<!--
    Top level element.
    A block contains a name, ...parameters list, and list of IO ports.
 -->
<!ELEMENT block (name, key, category?, throttle?, flags?, import*, var_make?, var_value?,
        make, callback*, param_tab_order?, param*, bus_sink?, bus_source?, check*,
        sink*, source*, bus_structure_sink?, bus_structure_source?, doc?,  grc_source?)>
<!--
    Sub level elements.
 -->
<!ELEMENT param_tab_order (tab+)>
<!ELEMENT param (base_key?, name, key, value?, type?, hide?, option*, tab?)>
<!ELEMENT option (name, key, opt*)>
<!ELEMENT sink (name, type, vlen?, domain?, nports?, optional?, hide?)>
<!ELEMENT source (name, type, vlen?, domain?, nports?, optional?, hide?)>
<!--
    Bottom level elements.
    Character data only.
 -->

维基百科描述了文档类型定义中使用的限定符

量词是紧接其应用的指定项之后的单个字符,以限制这些项在元素内容中的指定位置连续出现的次数;它可以是:

    • 指定必须有一个或多个项目发生-每一次事件的有效内容可能不同;

  • *指定允许出现任何数字(0或更多)--项目是可选的,每个事件的有效内容可能不同。
  • ?用于指定不超过一次发生--该项是可选的;

标记可用于验证。例如,如果您有一个带有键"title“的参数,而另一个参数具有键"num",则可以使用以下顶级标记进行验证。

代码语言:javascript
运行
复制
<check>$title != ""</check>
<check>$num &gt; -1</check>
<check>$num &lt; 5</check>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46534857

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档