I am using a FTDI USB Serial device (FT232BM) to communicate with an RS232 to Radio Frequency Module. Everything works fine in hyperterminal and the vendor provided evaluation software.
By enabling the RS232 node in vvvv the fps drop to something around 5, the gui slows down dramatically but the cpu load decreases !!!. that happens without transmitting any data.
ignoring that and repeadingly recieving strings 24 chars in lenght results in string splits every ~8 to 11th transmission. max/msp and Processing work fine exept sharing the split problem, hyperterminal works perfect.
I gues it’s a problem of interfacing the driver, but why does it work well in hyperterminal and the vendor software?
I’ve been trying to track it down for two days now and i have to get it working as it is somehow the heart of my diploma. frustrated regards alex
Yes, it happens without anything connected.
Here is a screenshot, the patch attached.
This is the driver used. Device Manager tells me fter2k.sys (Version 1.0.2101.0) and serenum.sys (5.1.2600.2180 xpsp_sp2_rtm.040803-2158) are used for USB Serial Port (COM3).
I am running Win XP Pro SP2.
ok - i updated the driver which was kind of experimental (changing VID & PID in the INF files) but the fps and gui problems are solved now. The string splitting persist, but as mentioned above this occures in other environments as well. I guess that are transmission errors, lies within the microcontroller programming or the noisy switching-powersupply or whatever. At the moment i classify that as a minor problem, as it probably can be fixed by programming (implementing ACKs or CRC). Although i am wondering again why it works in hyperterminal. how does vvvv determine the end of a string/transmission (i am not sending any LF or CR), is it a time gap ? or is it implemented in the rs232 protocol itself ?
However - thanx for the immediate replies, regards alex
how does vvvv determine the end of a string/transmission (i
am not sending any LF or CR), is it a time gap ?
this is an hairy issue. vvvv just accumulates all the bytes that get received in one frame in the rs232 nodes. So it is an issue of luck that one message sent corresponds to one frame received.
The Tokenizer node is for solving that problem. It can accumulate all incoming characters up until a specific character and outputs the whole string only if this string is received. So you can be sure to deal only with full messages. See the help patch, or ask for details…