GNU Radio io_signature
GNU Radio io_signature
我进入了GNU Radio,在我创建了一个新块之后,在主类中我有这样的代码:
square_ff_impl::square_ff_impl()
: gr::block("square_ff",
gr::io_signature::make(<+IMIN+>, <+IMAX+>, sizeof (<+ITYPE+>)), // input signature
gr::io_signature::make(<+OMIN+>, <+OMAX+>, sizeof (<+OTYPE+>))) // output signature
{
// empty constructor
}
我真的不知道该把什么放在最小和最大(即使在阅读文档之后)。
你能给我一些例子吗?
IMIN - minimum number of acceptable input ports
IMAX - maximum number of acceptable input ports
OMIN - minimum number of acceptable output ports
OMAX - maximum number of acceptable output ports
文档在BlocksCodingGuide的IOSignatures部分中讨论了一点:
- 前两个参数是最小和最大端口数,这允许
在运行时有一个可选择的端口数。
值为-1表示"无限制"。
作为一个源块的例子,看一下null源块的IO签名,它不接受输入:
null_source_impl::null_source_impl (size_t sizeof_stream_item)
: sync_block("null_source",
io_signature::make(0, 0, 0),
io_signature::make(1, -1, sizeof_stream_item))
{
}
对于接收器,检查null接收器,它没有输出:
null_sink_impl::null_sink_impl(size_t sizeof_stream_item)
: sync_block("null_sink",
io_signature::make(1, -1, sizeof_stream_item),
io_signature::make(0, 0, 0))
{
}
和一个简单的处理块add_ff,它接受无限输入,只产生1个输出流:
add_ff_impl::add_ff_impl(size_t vlen)
: sync_block("add_ff",
io_signature::make (1, -1, sizeof(float)*vlen),
io_signature::make (1, 1, sizeof(float)*vlen)),
d_vlen(vlen)
{
...
相关文章:
- Seg Fault Issue C++ (file IO / getline)
- 如何防止 c++ 在从浮点型转换为双精度型(不适用于 IO)时添加额外的小数?
- 为什么在读取文件大小时文件IO速度会发生变化
- Agora.io 虚幻引擎插件构建错误
- 不将数据 socket.io c++(客户端)发送到 nodejs(服务器)socket.io
- ASIO signal_set多个 IO 线程不可靠,具体取决于代码顺序?
- 通过 Tor 服务C++ socket.io 客户端
- 如何使用可视化代码和平台IO将环境变量注入CPP文件?
- 如何读取 google::p rotobuf::io::CodedOutputStream::WriteVarint32
- Conan.io 在编译步骤中或已经在签出时
- C++中真正的异步文件 IO
- 在C++中返回 IO 对象的目的是什么?
- 使用 Broadcast 发出的从节点服务器发送的数据不能被 C++ 套接字 IO 客户端读取
- C++网络 IO、文件处理和网络故障
- Xcode OSX上的C++构建失败,出现多个错误文件IO..不可用:在macOS 10.15中引入
- Android Studio-在现有的旧项目中启用本机C++调试(card.io Android Source)
- 如何检测函数是否执行IO操作
- 如何键入用于const对象的自定义io操纵器
- libevent是否允许在不同的线程中运行timer/io的回调
- IO服务重新启动后,Boost最后期限计时器持续触发