Tengo un programa escrito en c++/QT que se comunica con dispositivos externos a través del puerto serie. Ahora quiero registrar lo que el programa está escribiendo y lo que está recibiendo, pero sin interferir con el programa. Por lo tanto, quería crear un puerto serie virtual que conectara el programa de registro y el programa original, mientras que el programa de registro está conectado al puerto serie real. Eso permitiría dos cosas: el registro de los comandos sin interferir y habilitar un modo de prueba, donde el programa de registro simplemente escribe los valores sin estar conectado a un puerto serie real.
Mi problema es: cuando uso socat , me encuentro con el problema descrito aquí . Cuando uso tty0tty , obtengo un error de compilación que se describe aquí .
Entonces, ¿qué puedo hacer para colocar un programa de registro entre el programa original y el puerto serie? El programa original utiliza QSerialPortInfo para obtener los puertos serie disponibles, lo que hace que socat inútil.