Как изменить усиление UHD USRP при использовании розеток ZMQ - PullRequest
0 голосов
/ 09 апреля 2019

Я пытаюсь изменить выходное значение усиления на UHD: USRP Sink из некоторого кода C ++ через источник сообщений ZMQ. В данный момент я пытаюсь сделать это с помощью сокета ZMQ_PUSH, подключенного к «источнику сообщений ZMQ PULL». В блок-схеме GRC для облегчения тестирования я подключил выход источника ко всем трем входам блока отладки сообщений. Тогда:

_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. У вас есть пример того, как это сообщение должно выглядеть?

Спасибо.

...