{\rtf1\animaticsfile\ansi\ansicpg1252\deff0\deflang1033{\fonttbl{\f0\fmodern\fprq1\fcharset0 Courier New;}} {\colortbl ;\red0\green0\blue255;\red197\green254\blue253;\red0\green0\blue0;\red0\green128\blue0;\red201\green22\blue179;}{\info{\subject }{\author }{\keywords }{\doccomm }} \viewkind4\uc1\pard\tx0\tx480\tx960\tx1440\tx1920\tx2400\tx2880\tx3360\tx3840\tx4320\tx4800\tx5280\tx5760\tx6240\tx6720\tx7200\tx7680\tx8160\tx8640\tx9120\tx9600\tx10080\tx10560\tx11040\tx11520\tx12000\tx12480\tx12960\tx13440\tx13920\tx14400\cf1\highlight2\f0\fs20 EIGN\cf3 (\cf1 W\cf3 ,0,12)\highlight0\tab\tab\cf4\highlight2 'DISABLE TRAVEL LIMITS\cf3\highlight0\par \cf1\highlight2 ZS\highlight0\tab\tab\tab\tab\tab\cf4\highlight2 'CLEAR LIMIT ERRORS\cf1\highlight0\par \par \highlight2 ITR\cf3 (0,0,0,0,0)\highlight0\tab\tab\cf4\highlight2 'Set up Fault Interrupt\cf3\highlight0\par \cf1\highlight2 ITR\cf3 (2,16,6,0,21)\highlight0\tab\cf4\highlight2 'Set up Playback Interrupt\cf3\highlight0\par \cf1\highlight2 ITR\cf3 (3,16,6,0,20)\highlight0\tab\cf4\highlight2 'Set up Record Interrupt\cf3\highlight0\par \cf1\highlight2 OS\cf3 (4)\cf5\highlight0\tab\tab\cf4\highlight2 'READY/GREEN\cf5\highlight0\par \cf1\highlight2 OR\cf3 (5)\highlight0\tab\tab\cf4\highlight2 'GREEN/OK\cf5\highlight0\par \highlight2 GOSUB52\highlight0\tab\tab\cf4\highlight2 'LOAD POSITIONS from EEPROM\cf5\highlight0\par \par \highlight2 IF\highlight0 \cf3\highlight2 (\cf1 IN\cf3 (\cf1 W\cf3 ,0)&79)==0\highlight0\tab\tab\cf4\highlight2 'IF 0,1,2,3, and 6 are grounded\cf3\highlight0\par \cf5\tab\highlight2 WHILE\highlight0 \cf1\highlight2 IN\cf3 (6)==0\highlight0 \cf5\highlight2 LOOP\highlight0\tab\cf4\highlight2 'Wait While 6 is grounded \cf5\highlight0\par \cf1\tab\highlight2 WAIT\cf3 =30\highlight0\tab\tab\tab\tab\cf4\highlight2 'Delay for debounce\cf3\highlight0\par \cf1 \tab\highlight2 EITR\cf3 (3)\cf1\highlight0\tab\tab\tab\tab\cf4\highlight2 'Enable RECORD Interrupt\highlight0\par \cf1 \tab\highlight2 PRINT\cf3 ("RECORD MODE",#13)\cf1\highlight0\par \cf5\highlight2 ELSE\highlight0\par \cf1 \tab\highlight2 EITR\cf3 (2)\highlight0\tab\tab\tab\tab\cf4\highlight2 'Enable PLAY BACK Interrupt\cf1\highlight0\par \cf5 \tab\cf1\highlight2 PRINT\cf3 ("PLAYBACK MODE",#13)\cf5\highlight0\par \highlight2 ENDIF\cf1\highlight0\par \cf3\par \cf1\highlight2 ITRE\highlight0\tab\tab\cf4\highlight2 'Global Interrupt Enable\cf3\highlight0\par \cf1\highlight2 PAUSE\highlight0\tab\tab\cf4\highlight2 'Pause here to avoid END (keeps Interrupts enabled)\cf3\highlight0\par \par \cf5\highlight2 END\highlight0\par \cf4\highlight2 '============================================================\cf5\highlight0\b\par \highlight2 C0\highlight0\par \cf4\highlight2\b0 'PLACE FAULT CODE HERE\highlight0\par \cf1\highlight2 OS\cf3 (5)\highlight0\tab\cf4\highlight2 'RED/FAULT\cf5\highlight0\b\par \highlight2 RETURNI\cf3\highlight0\b0\par \cf4\highlight2 '============================================================\cf5\highlight0\b\par \highlight2 C50\highlight0\tab\tab\tab\cf4\highlight2\b0 'Dump captured values to screen\cf5\highlight0\b\par \cf3\b0 \highlight2 i=1\highlight0\par \cf5 \highlight2 WHILE\highlight0 \cf3\highlight2 i<=16\highlight0\par \cf1 \highlight2 PRINT\cf3 ("al[",i,"]=",al[i],#13)\highlight0\par \tab\highlight2 i=i+1\highlight0\par \cf5 \highlight2 LOOP\highlight0\par \highlight2\b RETURN\highlight0\par \cf4\highlight2\b0 '============================================================\cf5\highlight0\b\par \highlight2 C51\highlight0\tab\tab\tab\cf4\highlight2\b0 'Store Captured array variable Values to EEPROM\highlight0\par \cf1\highlight2 EPTR\cf3 =100\highlight0\tab\tab\tab\cf4\highlight2 'Set EEPROM Pointer\cf3\highlight0\par \cf1\highlight2 VST\cf3 (al[1],16)\highlight0\tab\tab\cf4\highlight2 'Store 16 consecutive variables\cf5\highlight0\par \highlight2\b RETURN\cf3\highlight0\b0\par \cf4\highlight2 '============================================================\cf5\highlight0\b\par \highlight2 C52\cf3\highlight0\b0\tab\tab\tab\cf4\highlight2 'Load EEPROM values in to array variables\cf3\highlight0\par \cf1\highlight2 EPTR\cf3 =100\highlight0\tab\tab\tab\cf4\highlight2 'Set EEPROM pointer\cf3\highlight0\par \cf1\highlight2 VLD\cf3 (al[1],16)\highlight0\tab\tab\cf4\highlight2 'Load 16 ocnsecutive vlaues in to array\cf3\highlight0\par \cf5\highlight2\b RETURN\cf3\highlight0\b0\par \cf4\highlight2 '============================================================\highlight0\par \cf5\highlight2\b C20\highlight0\tab\tab\tab\cf4\highlight2\b0 'RECORD SUB\cf5\highlight0\b\par \cf3\highlight2\b0 x=16-(\cf1 IN\cf3 (\cf1 W\cf3 ,0)&15)\highlight0\tab\cf4\highlight2 'Calculate Binary equiv. of Inputs 0,1,2,3\cf3\highlight0\par \highlight2 al[x]=\cf1 PA\highlight0\tab\tab\tab\cf4\highlight2 'Set Array Index and capture Actual Position\cf1\highlight0\par \highlight2 EITR\cf3 (3)\highlight0\tab\tab\tab\tab\cf4\highlight2 'Debounce Interrupt\cf3\highlight0\par \cf1\highlight2 PRINT\cf3 ("al[",x,"]=",al[x],#13)\highlight0\tab\cf4\highlight2 'Print Captured Position\cf3\highlight0\par \cf5\highlight2 GOSUB51\highlight0\tab\tab\cf4\highlight2 'STORE VALUES\cf5\highlight0\b\par \highlight2 RETURNI\cf3\highlight0\b0\par \cf4\highlight2 '============================================================\highlight0\par \cf5\highlight2\b C21\highlight0\tab\tab\tab\cf4\highlight2\b0 'PLAYBACK SUB\cf5\highlight0\b\par \cf3\highlight2\b0 x=16-(\cf1 IN\cf3 (\cf1 W\cf3 ,0)&15)\highlight0\tab\cf4\highlight2 'Calculate Binary equiv. of Inputs 0,1,2,3\cf3\highlight0\par \cf1\highlight2 MP\highlight0\tab\tab\tab\tab\tab\cf4\highlight2 'Set ot Position Mode\cf1\highlight0\par \highlight2 PT\cf3 =al[x]\highlight0\tab\tab\tab\cf4\highlight2 'Assign Target Position to Index'd Array value\cf3\highlight0\par \cf1\highlight2 VT\cf3 =100000\highlight0\tab\tab\tab\cf4\highlight2 'Assign Velocity\cf3\highlight0\par \cf1\highlight2 ADT\cf3 =100\highlight0\tab\tab\tab\tab\cf4\highlight2 'Assign Accel/Decel\cf3\highlight0\par \cf1\highlight2 PRINT\cf3 ("MOVING TO ",\cf1 PT\cf3 ,#13)\highlight0\tab\par \cf1\highlight2 OR\cf3 (4)\cf1\highlight0\tab\tab\tab\tab\cf4\highlight2 'BUSY/RED\cf1\highlight0\par \highlight2 G\highlight0 \highlight2 TWAIT\highlight0\tab\tab\tab\cf4\highlight2 'Start Move, wait until complete\cf3\highlight0\par \cf1\highlight2 OS\cf3 (4)\highlight0\tab\tab\tab\tab\cf4\highlight2 'READY/GREEN\cf3\highlight0\par \cf1\highlight2 EITR\cf3 (2)\highlight0\tab\tab\tab\tab\cf4\highlight2 'DEBOUNCE\cf5\highlight0\b\par \highlight2 RETURNI\highlight0\par \cf4\highlight2\b0 '============================================================\cf5\highlight0\b\par \highlight2 C100\highlight0\par \cf4\highlight2\b0 'PLACE HOME CODE HERE\cf5\highlight0\b\par \highlight2 RETURN\highlight0\par \cf4\highlight2\b0 '============================================================\cf3\highlight0\par \par }