Based on all the reading I have done there are two approaches to two-way communication with a serial port device --1) Lock Step and 2) Serial Events.
The device I am coding against has three basic command sets, 1) send return wait for 1.2 seconds for response if no response send again (try a couple of times); 2) send a command and expect single result of anywhere from 2 to 440 bytes; and 3) send command and data returned in 100 to 200 bytes (based on command) every two seconds for the length of the request.
It seems like "lock step" would be the way to go but "Serial Events" seems more flexible. I just have not figured out how to manage the command set 1 type of commands with threads.
Any for those of you who have done this which direction would you recommend or may be it would be a mix of the two?