Datasheet
Chapter 5: Debugging and Datalogging ยท Page 243
#ENDIF
' -----[ Initialization ]-----------------------------------------------------
GOSUB Reset ' Wait for Reset press/release
GOSUB Start_Delay ' 5 Second delay
GOSUB Calibrate_Qtis ' Determine b/w threshold
#IF DEBUG_MODE = 1 OR DATALOG_MODE = 2 #THEN
DEBUG CLS,
"Sensors State Maneuver", CR, ' Display table heading
"-------- -------- --------", CR
#ENDIF
#IF DATALOG_MODE = 2 #THEN
GOTO Playback_Round ' Alternate main routine
#ENDIF
GOSUB Look_About ' Was Goto Look_About
' -----[ Main Routine ]-------------------------------------------------------
DO
IF qtiLF = 1 THEN ' Left qti sees line?
GOSUB Avoid_Tawara_Left ' State = avoid left tawara
ELSEIF qtiRF = 1 THEN ' Right qti sees line?
GOSUB Avoid_Tawara_Right ' State = avoid right tawara
ELSEIF irLF = 1 AND irRF = 1 THEN ' Both? Lunge forward
GOSUB Go_Forward ' State = Go forward
ELSEIF irLF = 1 THEN ' Just left?
GOSUB Track_Front_Left_Object ' State = Track front left obj.
ELSEIF irRF = 1 THEN ' Just right?
GOSUB Track_Front_Right_Object ' State = Track front right obj.
ELSEIF irLS = 1 THEN ' Left side?
GOSUB Track_Side_Left_Object ' State = track side left obj.
ELSEIF irRS = 1 THEN ' Right side?
GOSUB Track_Side_Right_Object ' State = track side right obj.
ELSE ' Nothing sensed?
GOSUB Search_Pattern ' State = Search pattern
ENDIF
LOOP
#IF DATALOG_MODE = 2 #THEN
Playback_Round:
FOR logIndex = 0 TO MaxBytes STEP 2 ' Loop gets all records
READ LogData + logIndex, Word temp ' Get record