10-16-2019 11:19 AM
Hi all.
I have data packets of 1024 bytes coming in via the serial port. About 200 bytes (variable) is real data and the rest is padded with FF. I need to detect the end of the real data. The value FF appears in the real data and even 2 consecutive FFs occasionally but I think it's safe to say it never appears 3 times in a row.
Any ideas as to how I can detect the end of the data?
Thanks.
Here's a typical packet
2847 0044 00B8 5601 0000 00F0 0300 0000 00EA 5401 00B8 5601 0000 0004 02FF FF64 00ED 5401 00FF FF64 0001 5501 00FF FF64 0015 5501 00FF FF64 0029 5501 00FF FF64 153D 5501 00FF FF64 0051 5501 00FF FF63 0065 5501 00FF FF63 0079 550100FF FF63 008D 5501 00FF FF63 00A1 5501 00FF FF63 00B5 5501 00FF FF64 00C9 5501 00FF FF64 00DD 5501 00FF FF64 00F1 5501 00FF FF64 0005 5601 00FF FF63 0019 5601 00FF FF63 002D 5601 00FF FF63 0041 5601 00FF FF64 0055 5601 00FF FF64 0069 5601 00FF FF64 007D 5601 00FF FF64 0091 5601 00FF FF64 00A5 5601 00FF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF FF93 3693 7E
Solved! Go to Solution.
10-16-2019 12:34 PM
10-16-2019 12:53 PM - edited 10-16-2019 12:53 PM
@ben64 wrote:
You can use Match Pattern.vi
If that was the actual ASCII display, yes. But if using Hex display, you need something like this.
10-16-2019 01:00 PM
Thanks Ben. I didn't know about that. Doesn't work though, with FFFFFF.
10-16-2019 01:14 PM
Thanks for that. The \\\ make all the difference. It works nicely!