Today we just got it (somewhat) working, and we found it helpful to call Pole Mode (as mentioned by JT250 in the sticky) which is a command that causes the camera to only return 1 packet when track color is called.
So basically, after calling camera idle the we first put the camera in pole mode, and then get out of it after we are done splitting and checking our virtual windows.
Just a suggestion, it might not be necessary.
Code:
void Pole_Mode(unsigned char x)
{
Write_Camera_Serial_Port('P');
Write_Camera_Serial_Port('M');
Write_Camera_Serial_Port(1);
Write_Camera_Serial_Port(x);
}
Input a 0 to turn it off.