I noted CR/LF translations within VISCA packets exchanged with an old version of libvisca (1.0.0?) which I fixed with
--- a/src/libvisca.c Thu Jun 21 10:08:32 2018 +0200
+++ b/src/libvisca.c Tue Jun 26 13:25:33 2018 +0200
@@ -272,9 +272,11 @@
/ input flags /
interface->options.c_iflag &= ~(INPCK | ISTRIP); / no parity /
interface->options.c_iflag &= ~(IXON | IXOFF | IXANY); / no soft ctl /
+ interface->options.c_iflag &= ~( INLCR | IGNCR | ICRNL); / binary protocol /
/* output flags */ interface->options.c_oflag &= ~OPOST; /* raw output */
interface->options.c_oflag &= ~( ONLCR | ONOCR | OCRNL | ONLRET ); / binary protocol /
tcsetattr(fd, TCSANOW, &interface->options);
You seem to have similar fix in libvisca_posix on 1.1.0 for input flags, but not for output flags, which were also set on my platform.
So you recommend uncommenting the to input flag lines too?
(those are commented out in the current release)
I haven't touched libvisca in years so I really can't tell if this is a good idea or not... Please enlighten me ;-)
if I'm reading my patch correctly, it looks like the lines about parity and soft control were already in the code. the lines with a + are the only one to change (sorry if this is obvious, which would mean I misunderstood your question).