我试图通过ZMQ消息源从某些C ++代码更改UHD:USRP接收器上的输出增益值。目前,我正在尝试将ZMQ_PUSH套接字连接到“ ZMQ PULL消息源”。在GRC流程图中,为了方便测试,我将Source的输出连接到了Message Debug块的所有三个输入。然后:
_zmqCtx = new zmq::context_t(1);
zmq::socket_t* _zmqGainSocket;
_zmqGainSocket = new zmq::socket_t(*_zmqCtx, ZMQ_PUSH);
_zmqGainSocket->setsockopt(ZMQ_IDENTITY, "N");
_zmqGainSocket->setsockopt(ZMQ_CONNECT_TIMEOUT, 1000);
_zmqGainSocket->setsockopt(ZMQ_RCVTIMEO, 1000);
_zmqGainSocket->connect("tcp://127.0.0.1:3002");
设置完成后,在代码中的其他地方:
zmq::message_t zGainMsg (5);
memcpy (zGainMsg.data (), "True", 4);
try {
_zmqGainSocket->send (zGainMsg);
} catch (std::exception& e) {
// Just checking for debug
auto a = e.what();
}
此代码不会产生任何输出,但是也不会引发任何错误或异常。我在这里做错了吗?
最后,一旦解决,我就找不到任何有关如何格式化消息以控制USRP接收器增益的文档。您是否有显示该消息外观的示例?
谢谢。