I get frames of data from the serial port. I'm getting a data_available event but need some help in how I can control the frame flow. I sometimes get only a portion of the frame. The frames are received with varying length but with 500ms pause before the frames are repeated up to 4 times waiting for an acknowledgment (0x06). They are framed with a simple framing protocol. Byte value 0x01 is start of frame, or SOF. The second octet is the length in bytes of the frame, excluding the SOF or the length octet. Assume that value was n for this frame. The next n - 1 octets are the framed payload. The last octet is a checksum computed by xoring a 0xff seed with all octets of the payload. The checksum includes the length field, but not the SOF byte or the checksum byte itself. Note that 0x01 frequently occurs in the frames not only as the start of the frame (sof).
This auction is to deliver a class where the frame can be delivered to a method : decodeFrame(byte[] bytes) in an event driven system.
I use VSPE (Virtual Serial Port Emulator). For testing the winning bidder will be able to connect to my hardware as though the com port was connected to your computer. [login to view URL]