I've got a cRIO-9034 with the following spec:
NI Linux Real-Time intel x64 based
Firmware : 5.0.0f1
Kernel : 4.6.7-rtl14-220.127.116.11f0
LabVIEW Real-Time : 16.0.0
NI CompactRIO : 17.0
FTDI device : FT2232H
Within the latest kernel, the ftdi-sio driver seems support a baud rate at 12M. Unfortunately the "VISA Configure Serial Port" returns an issue when I try to set it (-1073807330 : Property Node (arg 2) in VISA Configure Serial Port (Instr)). I read NI-VISA (or serial) doesn't support this rate, but why as now lots of devices support this baud rate ?
Previously I installed the libftd2xx.so from FTDI website, but when I send a flow of data, all is ok at the beginning, but after few minutes, the flow rate is "broken" and the rate slows down gradually.
So I suppose the ftdi-sio driver should have better performance, but does anyone know how can I 'force' the NI-VISA to accept the 12Mbaud, or how can I set (or integrate) it directly from my LabVIEW code ?
Unfortunately, the 12M is absolutely needed by my system
Thank you !
Solved! Go to Solution.
As we'd discussed in your previous post, there is likely some limit in the web interface code. I am following up on that, but regardless, if you're using some library to directly call the ioctls needed to set the baud rate and you're still seeing issues, I'm fairly confident that simply enabling you to set the baud from the web UI is not going to result in anything different, result-wise.
What is the nature of the issue that you see when you used the libftd2xx.so library? You state that
all is ok at the beginning, but after a few minutes, the flow rate is 'broken' and the rate slows down gradually
When you say that the flow control is broken, how did you come to this observation? Are you using HW flow control? Is the receiving end holding off the transmission of further data? From a quick reading of the libftd2xx.so programming guide and what I know of serial communication, it's not going to be the case that the baud rate is automatically lowered (there's no notion of expressing this change to the other participant), so you've already "forced" 12M baud.
I think I have solved my issue with libftd2xx.so library by setting priorities on VIs calling functions from this lib.
I had also into my code an infinite array into an infinite loop, so memory issue occurs.
Thank you !