Need to read up to 43 bytes of data, reading incorrectly.

Thank you for the suggestions. I'll start with the 0x0A-0xFF part you mentioned. 0xFF isnt a possible value in the tracking packet because the highest value available for pixels is 176(Decimal) I believe. However. 0x0A Decimal is 10. Therefore, that is a valid data packet. That is why I feel to be a valid packet, you need to start with the 0xFF and essentially waste the first packet from the previous frame and start when the current byte is 0xFF and the following byte is 0x0A then, you could use the 3 byte, the number of tracked objects to set a limit for the packet by multiplying by 5.

I have decided to use the hardware serial port to communicate with the camera. I used an I2C interface between a separate Arduino board to print the data on the serial terminal. So far the data is 100% reliable in over 100,000 frames after running for an hour. That being said, I can only get the I2C data transfer to work if I use the Wire.onReceive() command and It seems to be interrupt based and is posing an issue with executing my code on the receiving board should I try to do anything with it. I'm going to try sending the data via software serial next I think. Or only transmit the I2C every 3rd or 5th execution of building the array.