Проблема с написанием SCPI-сервера, взаимодействующего с pyvisa через сокет TCPIP

#sockets #tcp #pyvisa #redpitaya

Вопрос:

Я пытаюсь написать сервер TCP-IP на C, работающий на redpitaya, который может взаимодействовать с pyvisa на хосте (клиенте) Linux в качестве источника ресурсов TCPIP::SOCKET.

Я могу подключиться к серверу, и сервер действительно получает команды (например, *IDN?) от клиента. Однако клиент просто не получает никакого ответа, отправляемого сервером: read_raw() просто истекает время ожидания. Я могу проверить через tcpdump, что ответ отправляется сервером и признается клиентом, но он просто не проходит через pyvisa.

Если клиент общается с каким-либо инструментом таким же образом, я получаю действительный ответ на *IDN?. Если я отправлю *IDN? на мой сервер (например, через putty) Я также получаю действительный ответ. Ответ просто не доходит до пайвисы.

Кстати: У меня такое же поведение с «официальным» SCPI-сервером, распространяемым с redpitaya.

Я могу предоставить более подробную информацию, но, возможно, у кого-то уже есть подсказка о том, чего мне не хватает.

Wolfgang