'{$STAMP BS2} '{$PBASIC 2.5} rcv VAR Byte(10) zigg: SEROUT 10, 84, ["RS",CR] 'Reset Camera SERIN 9, 84, [WAIT (":")] DEBUG CLS,"Resetting camera, preparing to auto-adjust light level",CR SEROUT 10, 84, ["L1 1",CR] 'Turn on LED1 SERIN 9, 84, [WAIT (":")] SEROUT 10, 84, ["CR 18 44",CR] 'Begin auto-adjusting Light Level SERIN 9, 84, [WAIT (":")] PAUSE 5100 SEROUT 10, 84, ["CR 18 44 19 32",CR] 'Stop auto-adjusting SERIN 9, 84, [WAIT (":")] DEBUG "Light level adjusted, setting data transfer mode",CR,CR SEROUT 10, 84, ["L1 2", CR] 'LED1 on Automatic SERIN 9, 84, [WAIT (":")] ' pause 100 SEROUT 10, 84, ["PM 1",CR] 'Set RAW data transfer mode SERIN 9, 84, [WAIT (":")] PAUSE 100 SEROUT 10, 84, ["RM 3",CR] PAUSE 100 SEROUT 10, 84, ["TW",CR] 'Get statistics SERIN 9, 84, [STR rcv\8] DEBUG "Red Mean ",DEC rcv(2) ,CR DEBUG "Green Mean ",DEC RCV(3) ,CR DEBUG "Blue Mean ",DEC RCV(4) ,CR DEBUG "Red Deviation ",DEC RCV(5) ,CR DEBUG "Green Deviation ",DEC RCV(6) ,CR DEBUG "Blue Deviation ",DEC RCV(7) ,CR DEBUG " ", CR SEROUT 10,84,["TC",CR] SERIN 9, 84, [STR rcv\10] DEBUG "Middle Mass X ",DEC RCV(2) ,CR DEBUG "Middle Mass Y ",DEC RCV(3) ,CR DEBUG "Left Corner X ",DEC RCV(4) ,CR DEBUG "Left Corner Y ",DEC RCV(5) ,CR DEBUG "Right corner X ",DEC RCV(6) ,CR DEBUG "Right Corner Y ",DEC RCV(7) ,CR DEBUG "Pixels ",DEC RCV(8) ,CR DEBUG "Confidence ",DEC RCV(9) ,CR DEBUG " ", CR _main: ' Probes for each and every color SEROUT 10,84,["TC 0 45 0 45 50 255",CR] 'pause 100 SERIN 9, 84, [STR rcv\10] IF (rcv(9) >= 75) THEN DEBUG "Blue, confid: ",DEC rcv(9),CR,CR SEROUT 10,84,["TC 128 255 0 45 0 45",CR] 'PAUSE 100 SERIN 9, 84, [STR rcv\10] 'PAUSE 100 IF (rcv(9) >= 75) THEN DEBUG "Red, confid: ",DEC rcv(9),CR,CR SEROUT 10,84,["TC 0 110 130 255 0 130",CR] 'pause 100 SERIN 9, 84, [STR rcv\10] IF (rcv(9) >= 75) THEN DEBUG "Green, confid: ",DEC rcv(9),CR,CR SEROUT 10, 84, ["TC 160 255 160 255 0 50",CR] 'pause 100 SERIN 9, 84, [STR rcv\10] IF(rcv(9) >= 75) THEN DEBUG "Yellow, confid: ",DEC rcv(9),CR,CR SEROUT 10, 84, ["TC 180 255 70 180 0 30",CR] 'pause 100 SERIN 9, 84, [STR rcv\10] IF(rcv(9) >= 75) THEN DEBUG "Orange, confid: ",DEC rcv(9),CR,CR GOTO _main