'{$STAMP BS2pe, Loki-20_Cmnd.bpe, Loki-20_Cereb.bpe} 'Loki-20.bPE = Loki-20_Data.bpe '{$PBASIC 2.5} DEBUG CR,"{0}" iDo CON Si 'initialisation Do on poweron or reset _null DATA z 'data addresses for d_Tasks, to keep in a byte just grab low byte of address '[key] 1 2 3 4 5 6 7 8 9 'Actor 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Tasks DATA aF3B3, AliTalk, rockNroll, Test, Kata1, wC,wC,wC,wC,wC,wC,wC,wC,wC,wC,justbeep '--------------------------------------------------------- 'd_LogicalMid DATA 'dummy, in data so they can be indexed 'd_RAmid DATA RAmid 'flat 'd_RHmid DATA RHmid 'd_LAmid DATA LAmid 'flat 'd_LHmid DATA LHmid 'd_Jscale DATA 'dummy Jmove scale 1-15, 10=100% - _Jpose1,_Jpose4 'd_JAscale DATA 5 '7 '4 ok '15 max 'ankle lift 'd_JHscale DATA 3 '5 ok 'hip step '8 max otherwise falls over when walking '6 max otherwise toes hit other foot 'd_end DATA 'dummy '12 data items, Anxt=22 so 9 spare '------ Pose ------------------- DATA @Pstart,"Pose" 'don't overlap cmnds & addresses P_null DATA z 'Posture joint-cmnd,position,....,z p_wRFu DATA LAD,25,RAU,25,z 'walking Right Foot Up p_wLFu DATA LAU,25,RAD,25,z 'walking Left Foot Up p_wRFf DATA LHI,35,RHO,35,z 'walking Right Foot Forwards p_wLFf DATA LHO,35,RHI,35,z 'walking Left Foot Forwards 'DATA"Stand" p_Stand DATA LAD,0,RAD,0,z 'feet flat 'DATA"HM" p_Hm DATA LHO,0,RHO,0,z 'both toes Mid, Cerbellum ensures toes don't hit p_tRTi DATA RHI,35,z 'turn Right Toe In p_tLTi DATA LHI,35,z 'turn Left Toe In p_tRTo DATA RHO,35,z 'turn Right Toe Out p_tLTo DATA LHO,35,z 'turn Left Toe Out 'p_RTm data RHO,10,z 'Right Toe Mid 'p_LTm data LHO,0,z 'Left Toe Mid 'p_RHm DATA RHO,0,z 'Right Toe Mid 'p_LHm DATA LHO,0,z 'Left Toe Mid p_rR DATA LAD,0,RAU,25,z 'Roll Right @$5C 6,0,1,19,0 p_rL DATA LAU,25,RAD,0,z 'Roll Left @$61 5,19,2,0,0 'p_RAm DATA RAD,0,z p_LAm DATA LAD,0,z p_Oh DATA LAU,20,RAU,20,z DATA "ALLp" 'poses are 4 bytes - S3,S2,S1,S0 = LH,LA,RH,RA; value ignored if =0 ' this way round it is easier to visualise positions from the back 'these values are scaled about jmid=150 by Jscale and shifted to about S_XXmid at pulse time ' S3 ,S2 ,S1 ,S0 ' cmnds 76 54 32 10 ' LH ,LA ,RH ,RA p_RLuK1 DATA ALLp, 150,180,140,200 '130,200,140, 0'RightLegUpKick p_RLuK2 DATA ALLp, 0,190,160,150 p_RLufk1 DATA ALLp, 160,230, 0, 0'145,180, 0, 0 'RightLegUpFrontKick p_RLufKhit DATA ALLp, 120, 0, 80, 0 p_RLufk2 DATA ALLp, 150, 0,150,150 p_LLufk1 DATA ALLp, 120, 0,150,220 'LeftLegUpFrontKick p_LLufKhit DATA ALLp, 50, 0,135, 0 p_LLufk2 DATA ALLp, 150,150,140,150'155,155, 0, 0 'p_RLufk3 DATA ALLp, 100, 0,100, 0 'p_RLuSR1 data ALLp, 100, 0,120, 0 'RightLegUpSweepRight 'p_RLuSR2 data ALLp, 125, 0,200, 0 'p_LLufk1 data ALLp, 0, 0,145,180 'LeftLegUpFrontKick 'p_LLufk2 data ALLp, 155,155, 0, 0 'p_LLuSL1 data ALLp, 120, 0,100, 0 'LeftLegUpSweepLeft 'p_LLuSL2 data ALLp, 200, 0,145, 0 '------ Action ------------------- DATA "Action" A_null DATA z 'null Act pAct pointer, 'Posture address,.....,0(=illegal act/pose address) FdR DATA p_wRFu,p_wRFf,bStand 'step Forwards with Right Foot FdL DATA p_wLFu,p_wLFf,bStand 'step Forwards with Left Foot 'ab BkR DATA p_wRFu,p_wLFf,bStand 'step Backwards with Right Foot BkL DATA p_wLFu,p_wRFf,bStand 'step Backwards with Left Foot b0 RtL DATA p_wLFu,p_HM,p_tRTi,bStand 'Turn Right moving Left foot RtR DATA p_wRFu,p_HM,p_tRTo,bStand 'Turn Right moving Right foot LtL DATA p_wLFu,p_HM,p_tLTo,bStand 'Turn Left moving Left foot LtR DATA p_wRFu,p_HM,p_tLTi,bStand 'Turn Left moving Right foot c0 RtLB DATA p_wLFu,p_HM,p_tLTi,bStand 'Turn Right moving Left foot RtRB DATA p_wRFu,p_HM,p_tLTo,bStand 'Turn Right moving Right foot LtLB DATA p_wLFu,p_HM,p_tRTo,bStand 'Turn Left moving Left foot LtRB DATA p_wRFu,p_HM,p_tRTi,bStand 'Turn Left moving Right foot c0 iStand DATA p_rL,p_Hm,p_Stand,z 'Initialise feet position hStand DATA p_Stand,z bStand DATA hSon,p_Stand,z 'Behaviour Stand - test ground sensors c4 OhOh DATA p_Oh,p_rL,p_rR,z 'max lift is ahmax(=25) or feet hit Oh DATA p_Oh,z '------ Act ------------------- DATA "Act" F DATA bF,ifRf,FdL,FdR B DATA bB,ifRf,BkR,BkL R DATA ifB,RB,ifRO,RtL,RtR,z L DATA ifB,LB,ifLO,LtR,LtL,z RB DATA ifLO,RtLB,RtRB,z LB DATA ifRO,LtRB,LtLB,z 'Rshake DATA RHO,35,RHI,35,RHO,0,z rollroll DATA p_RL,p_RR,z '------------------------ DATA @256,"Act1" 'Acts page 1 '4 RSkik DATA ALLs,$99,$99,p_RLUK1,RAs,15,RAD,80,h,5 DATA ALLs,$22,$04,p_RLuK2 DATA ALLs,$00,$02,p_stand,z '12 RFkik DATA ALLs,$11,$11,p_RLUFk1,RAD,80,ALLs,$22,$22,p_RLUFKhit,h,1 DATA ALLs,$22,$22,p_RLUFk2,ALLs,$11,$11,z LFkik DATA ALLs,$11,$11,p_LLUfk1,h,5,ALLs,$22,$22,LAD,80,p_LLUfKhit,h,5 '6666 FFFF DATA RHs,2,p_LLUfk2,ALLs,$11,$11,z 'RFKsweep DATA bSall6,pRLUFk1,RAp,230,pRLUFk3,pRLUSR1 ' data RHs,15,LHs,2,pRLUSR2,pRLUFk2,z 'LFKsweep data bSall6,pLLUFk1,pLLUFk2,pLLUSL1,LHs,15,pLLUSL2,pLLUFk2,z '------Do DATA @512,"Do" 'page 2 D_null DATA z 'd_Tasks DATA AliTalk, rockNroll, Test, AF3B3, Kata1,Do0 'at start of listing 'after poweron or reset or '0', Do is @(d_Dos+Taskercmnd) Si DATA bfs,0,s,2,Msl,$5A,iStand,Msl,$56,V,z 'Initialise feet position and Stand wC DATA 'wait Command from Ear, synonym waitIR 'wIR DATA 'synonym waitIR waitIR DATA z Hw DATA V,hStand,zD,wC,z 'Fw DATA F,zD,wC,z 'Bw DATA B,zD,wC,z 'Rw DATA R,zD,wC,z 'Lw DATA L,zD,wC,z Fd DATA F,z Bk DATA B,z Rt DATA R,z Lt DATA L,z 'Behaviour fs0 DATA bfs,0,z 'Behaviour Foot sensors off fs1 DATA bfs,1,z 'Behaviour Foot sensors on fw0 DATA bws,0,z 'Behaviour Whisker sensors off fw1 DATA bws,1,z 'Behaviour Whisker sensors on ss DATA s,1,z 'Behaviour Speed slow sm DATA s,2,z 's,3,z 'Behaviour Speed medium sf DATA s,4,z 's,10,z 'Behaviour Speed fast vl DATA Msl,$35,z 'Behaviour Move Stride Lift vitality low vn DATA Msl,$46,z 'Behaviour Move Stride Lift vitality normal vh DATA Msl,$58,z 'Behaviour Move Stride Lift vitality high falls over at $Ax askTask DATA T,z justbeep DATA V,p,20,z 'DEBUG DEC (AF3B3-256) aF3B3 DATA s,1,Msl,$53,bfs,1,F,F,F,bfs,0,B,B,B,z 'aF3B3 DATA su,Msl,$53,bfs,1,F,F,F,bfs,0,B,B,B,z rockNroll DATA s,2,Msl,$56,rollroll,rollroll,rollroll,rollroll,z 'Msl,$5B max B else toes hit feet test DATA s,1,V,F,su,F,su,F,su,F,B,B,B,B,V,LtR,LtL,V,RtR,RtL,F,F ' DATA tty,"test¬",s,1,bfs,1,D,Fd,z 'Set Default to Fd with hole test DATA Ali,0,LAD,35,RAD,35,rollroll,rollroll,rollroll,rollroll,B,B,B,B ' DATA rollroll,rollroll,rollroll 'YPretty DATA Msl,$0A,p_wRFU,RAD,35,LAD,2,Ali,0,z 'WON'T WORK - CAN'T HAVE POSE CMNDS IN DO AliTalk DATA Ali,Pretty,z Kata1 DATA tty," Kata¬" DATA bws,0,bfs,0,Msl,$49,s,4,F,F,Ali,0,rollroll,rollroll,rollroll,rollroll,F,Ali,1 DATA F,Msl,$55,p_wRFU,a1,RFkik,p_Stand 'p,1 just stops bouncing so doesnt fall over on LFkik DATA a1,LFkik,s,1,Msl,$47,B,B,B,L,L,L,z '# DATA s,1,Ax,100,Hx,100,F,F '# DATA s,1,OhOh,a1,RSkik,s,5 '# DATA p_Stand,s,2,FdL,a1,RFkik,z '# DATA s,2,F,a1,RSkik,s,2,F,F,a1,RSkik,s,1,B,B,z '# DATA p_RFF,p_RFU,p_LFU,z '#A1 DATA F,F,R,R,R,V,L,L,L,B,B,B,B,B,B,V,z '# DATA L,L,L,V,0,R,R,L,L,R,L,R,L,B,B,B,B,V,z '# DATA p_Face,p_Stand,z DoL DATA z 'last Task always 0 to prevent Tasking program '------Behaviour DATA @1280,"Bnull" 'page 5 Bnull DATA z Bup DATA V,p,0 'fall through to BfsC in a loop until a foot is down, p,0 is random pause <25.5sec BfsA DATA sd,bfs,fsA 'BfSc - Entry point from toe test in Cereb DATA %10000,Bup 'all foot sensors off ground, %1xxxx so not =zero=z=end DATA %1110,avoidRF,%1101,avoidRF,%1100,avoidRF,%1011,avoidLF,%0111,avoidLF,%0011,avoidLF,z 'only front foot is tested, back foot is xx, masked in _fsQ, means Bup never gets repeated '0=>hole 'rightfronttoe pin8 -turn right 'rightfrontheel pin9 -turn left 'leftfronttoe pin10 -turn left 'leftfrontheel pin11 -turn right 'avoidFF DATA Msl,$06,V,B,B,z 'not used avoidRF DATA tty,"aRF¬",Msl,$07,V,B,B,L,L,z avoidLF DATA tty,"aLF¬",Msl,$07,V,V,B,B,R,R,z avoidB DATA tty,"aB¬",Msl,$07,V,V,V,B,B,z BL DATA z 'last Behavior always 0 to prevent Doing program ' data p_LFUW,p_RTM,p_LTM,z 'adjust toes in/out ' data p_RFF,p_Stand,z 'adjust feet flat ' data p_RFF,p_StandT,z 'adjust toe down bias for walking '----- Vars/Cons -------- tempw VAR Word 'used for Pot but only between Tasks, Pause time for Ali talk temp1 VAR tempw.HIGHBYTE 'mask in _bfs:_fsQ: selection in QC: temp0 VAR tempw.LOWBYTE pPose VAR tempw.LOWBYTE 'Pose pointer pAct VAR Byte 'Act pointer pDo VAR Byte 'Do pointer cmnd VAR Byte progcmnd VAR Byte Apage VAR Nib 'Act page address 0,1 at present Dpage VAR Nib 'Do page address 0,1 at present Bpage CON 5 'Sat VAR Byte(4) 'Servo At LOGICAL - Cerebellum Sto VAR Byte(4) 'Servo To LOGICAL hframes VAR Nib 'halt-time in servo frames Jscale VAR Byte 'hip step 10 is 100%, 15 is 150% of movement JHscale VAR Jscale.HIGHNIB '3 5 ok '8 max otherwise falls over when walking JAscale VAR Jscale.LOWNIB '5 '7 '4 ok '15 max 'ankle lift 'jmidS VAR Byte 'actual mid range (logical) jmid CON 150 'pos4 values are about scale mid of 1500us =150 servo VAR Nib feetdown VAR Nib N9600 CON 16468 'idle low, break high Pic28xBaud CON N9600 'idle low, break high 'Cerebellum flags CerebDoC VAR Byte 'flags+Ccmnd f_C1Pose VAR CerebDoC.BIT7 '1=> BS2 singlePose, wait for byte from DEBUG & 'P28 display servovalues on LCD f_CPAdj VAR CerebDoC.BIT6 'Adjust of Servo values [Cerebellum]AdjPose: f_CtfG VAR CerebDoC.BIT5 'Foot Gsensrs 1=>ON, 0=>OFF, enables test during p_Stand, set by hSon, turned off after one pose f_CSpulse VAR CerebDoC.BIT4 '1=> pulse servos, 0=> no pulses only set in init: Ccmnd VAR CerebDoC.LOWNIB 'cmnd to CerebellumP28 f8_Sensrs VAR Byte f_whiskerL VAR f8_Sensrs.BIT7 '1=sensed f_whiskerR VAR f8_Sensrs.BIT6 '1=sensed f_tipFd VAR f8_Sensrs.BIT5 '1=tipped f_tipBk VAR f8_Sensrs.BIT4 '1=tipped f4_Gnd VAR f8_Sensrs.LOWNIB ' f_GLHeel VAR f8_Sensrs.BIT3 '0=hole, 1=on ground LED on =ground sensed ' f_GLtoe VAR f8_Sensrs.BIT2 '0=hole, 1=on ground LED on =ground sensed ' f_GRheel VAR f8_Sensrs.BIT1 '0=hole, 1=on ground LED on =ground sensed ' f_GRtoe VAR f8_Sensrs.BIT0 '0=hole, 1=on ground LED on =ground sensed f8_status VAR Byte f4_status VAR f8_status.HIGHNIB f_B VAR f8_status.BIT4 'direction 0=Forwards, 1=backwards, for turn direction F/B f4_statusC VAR f8_status.LOWNIB 'f_hole VAR f8_status.BIT3 'hole detected, could be done by Cerebellum f_LO VAR f8_status.BIT2 'L foot out f_RO VAR f8_status.BIT1 'R foot out f_RF VAR f8_status.BIT0 'R foot forward 'Other flags f8_flags VAR Byte ' f_ VAR f8_flags.BIT7 f_bts VAR f8_flags.BIT7 'behaviour Tip sensor, 1=act on sensor f_bws VAR f8_flags.BIT6 'behaviour Whisker sensor, 1=act on sensor f_temp VAR f8_flags.BIT5 '_Jpose1: f_inlinePose VAR f8_flags.BIT4 '1=> inline Pose f_autospeed VAR f8_flags.BIT3 '1 pgm sets speed , 0 manually f_bfs VAR f8_flags.BIT2 'foot sensor behaviour 1=>ON, 0=>OFF f_wtfG VAR f8_flags.BIT1 'waiting for fG test f_playAz VAR f8_flags.BIT0 'Play to Act end, don't interupt for new IRCommand Sspeed VAR Nib(4) 'Servo Speeds MIN 1 otherwise hangs potspeed VAR Nib pscale CON 5 'BS2 10us to 2us potscale CON 43 'BS2 'IRrangeL VAR Byte 'from Cerebellum but Sharp IR rangers not yet fitted 'IRrangeR VAR Byte 'from Cerebellum but Sharp IR rangers not yet fitted '-------- Common RAM ------------------------------------- CRAM_avoidB CON 111 CRAM_avoidLF CON 112 CRAM_avoidRF CON 113 CRAM_justbeep CON 114 CRAM_Apage CON 115 CRAM_pDoNxt_lo CON 116 CRAM_pDoNxt_hi CON 117 'interupted Do pointer CRAM_Hw CON 118 CRAM_randstore CON 119 CRAM_BfsA CON 120 CRAM_zD CON 121 'current Do, will be overwritten from Tasker and various IRcmnds such as [POWER] CRAM_D_null CON 122 CRAM_A_null CON 123 CRAM_P_null CON 124 CRAM_Tasks CON 125 CRAM_iDo CON 126 thisprog CON 127 'only works for progs 0 and 1 - why? '--------------------------------------------------------- '************************* Machine Dependent ***************************** 'Mapping - joints to pose(0 - 3) 'RA CON Rlift 'Right Ankle 'RH CON Rstride 'Right Hip 'LA CON Llift 'Left Ankle 'LH CON Lstride 'Left Hip '************************* END Machine Dependent ************************* 'Pose function codes 'Rlift CON 0 'Rstride CON 1 'Llift CON 2 'Lstride CON 3 'ACTIONS z CON 0 'end of list '************************* Machine Dependent ***************************** 'POSE; ACTS 'idea = Do, - with 'x'=execute, easier to write than 'set' RAu CON 1 '-Right Ankle Up, RAd CON 2 '+Right Ankle Down, RHi CON 3 '-Right Hip In, RHo CON 4 '+Right Hip Out, LAu CON 5 '-Left Ankle Up, LAd CON 6 '+Left Ankle Down, LHi CON 7 '-Left Hip In, LHo CON 8 '+Left Hip Out, ALLp CON 9 'four servo ,,, 'ACTS Acmnd1 CON 10 'marker for first Act cmnd h CON 10 'halt halt for servo frames, 0 - 300ms, drive servos a1 CON 11 'set page 1 page reset automatically to 0 on act z ifRf CON 12 'if Right Forward used in R,B,R,L meta Acts ifRo CON 13 'if Right Out used in R,B,R,L meta Acts ifLo CON 14 'if Left Out used in R,B,R,L meta Acts ifB CON 15 'if going backwards used in R,B,R,L meta Acts 'ACTS; TASK 'behaviour hSon CON 16 'hole Sensors ON used before p_stand when walking, turned off by new Pose jspeedbase CON RAs 'for offset in jspeed1: RAs CON 17 'Right Ankle, RHs CON 18 'Right Hip, LAs CON 19 'Left Ankle, LHs CON 20 'Left Hip, ALLs CON 21 'four servo speeds as high low nibbles in two bytes <$RH,$LA>,<$Rh,$RA> Ali CON 22 'Ali talk control Pretty CON 0 'talkAli - "You think you are pretty" Prettiest CON 1 'talkAli - "You think you are pretty, I am the prettiest" Greatest CON 2 'talkAli - "...greatest" bF CON 23 'Behaviour Forward direction for turns bB CON 24 'Behaviour Backward direction for turns 'IOL 'IO pin control LOW 'IOH 'IO pin control HIGH 'IOI 'IO pin control INPUT 'Do cmnds 'z CON 0 'end of list defined above 'a1 CON 11 'Act in page 1, needed before every page 1 act Defined above in Acts V CON 25 ' Voice ( beep 1KHz for 0.1sec) D CON 26 ' goto Do in next byte Msl CON 27 ' Move_scale<$stride,lift> ' Loki $Hx,Ax ' update DATA d_JHscale,d_JAscale 1-15 10=100% ' nibble=0 =>ignore nibble s CON 28 ' Speed - speed, max usable for walking is about 5 ' update variable Sspeed MIN 1 (otherwise hangs) MAX 15 sd CON 29 'auto speed down su CON 30 'auto speed up p CON 31 ' pause if 0 then random(255) 0 - 25.5secs bfs CON 32 ' bfsf0 CON 0 'behaviour foot sensor flag 0, ignore foot sensors bfsf1 CON 1 'behaviour foot sensor flag 1, act on foot sensors fsA CON 2 'foot sensor Action zD CON 33 ' set Doindex in next byte as Default tty CON 34 'send bytes to debug until '¬' T CON 35 'force Tasker bws CON 36 'behaviour Whisker sensor, 1=act on sensor Pstart CON 37 '---------------------------------------------------------------- 'ACTUAL values from PotSetRanges - values are in 10us units 'S refers to servo 'assemble joints to as near as 150 as possible, hips straight ahead, feet flat 'ht615 Ankle servos changed for S06 18Sep06, RA ht615 servo failed 'S06 servo rotates opposite to ht615 so RA needs reversing at pulse out time 'LH need reversing at pulse out time 'RA [55]65 79 144 76 220[226]in 'RH [55]60 92 152 93 245[245]out 'LA [49]55 76 131 89 220[226]out realign 'LH [55]60 97 157 73 230[234]in S_RAmin CON 65 '55 parts hit out 50 servo stop S06 :ht615 235 '240 out, parts hit S_RAmid CON 144 'flat 255-S_RAmid =111 S06 :ht615 156 flat S_RAmax CON 220 '226 servostop S06 :ht615 100 '95 in, parts hit S_RHmin CON 60 '55 servo stop S_RHmid CON 152 S_RHmax CON 245 '245 pot electronics max S_LAmin CON 55 '49 hit S06 :ht615 80 '85 servo stop S_LAmid CON 131 'flat S06 :ht615 148 flat S_LAmax CON 220 '226 out hit S06 :ht615 225 '230 in, parts hit S_LHmin CON 60 '55 servo stop S_LHmid CON 157 S_LHmax CON 230 '234 pot electronics max 'LOGICAL THIS SECTION IS NOT RIGHT ??!! [2013 what is wrong?] when it is add limits to Jpose '[with S03 Hips and ht615 Ankles Left servos go contra to logical direction] 'with S03 Hips and S06 Ankles RA and LH servos go contra to logical direction 'toe down is +ve 'toe forward is +ve 'RAmin CON 255 -S_RAmax =35 'note max min reversals 'RAmid CON 255 -S_RAmid '255-S_RAmid =111 35 76 111 79 190 'RAmax CON 255 -S_RAmin =190 'RHmin CON S_RHmin 'RHmid CON S_RHmid '154 'RHmax CON S_RHmax 'LAmin CON S_LAmax 'LAmid CON S_LAmid '159 'LAmax CON S_LAmin 'LHmin CON 255 -S_LHmax 'note max min reversals 'LHmid CON 255 -S_LHmid '255-S_LHmid =102 'LHmax CON 255 -S_LHmin Fuclear CON 19 'minimum up for toes to miss when walking Fsclear CON 5 'minimum difference between toe positions to miss when walking wuclear CON jmid -Fuclear IF progcmnd="C" THEN Commands 'progcmnd=0 on reset '================================================================= 'DEBUG HEX ? p_null,HEX ? Anull, HEX ? Dnull, HEX ? D0 'DEBUG HEX ? talkali,HEX ? ali, HEX ? pface , HEX ? pStand 'DEBUG HEX ? RAD, HEX ?RAs, HEX ? p_face , HEX ? p_Stand 'DEBUG HEX ? OhOh, HEX ? p_Oh 'DEBUG HEX ?p_RL,HEX ?p_RR 'DEBUG HEX ? RSkik,HEX ? p_RLUK1,HEX ? p_RLUK2,HEX ? ALLs,HEX ? p_RLUK3,CR 'DEBUG HEX ? RFkik 'DEBUG HEX ? p_RFU 'DEBUG HEX ? p_Stand 'DEBUG HEX ? p_Face 'DEBUG HEX ? RSkik 'DEBUG HEX ? RFkik 'DEBUG HEX ? Kata1 'DEBUG HEX ? a2LFkik DEBUG HEX ? hstand DEBUG HEX ? istand DEBUG HEX ? p_rl DEBUG HEX ? p_RLufk1 DEBUG HEX ? rollroll DEBUG HEX ? Hw DEBUG HEX ? wC DEBUG HEX ? p_stand DEBUG HEX ? aF3B3 'DEBUG HEX ? AliPretty '************************* END Machine Dependent ************************* PUT CRAM_BfsA,BfsA PUT CRAM_iDo,iDo PUT CRAM_p_null,P_null PUT CRAM_A_null,A_null PUT CRAM_D_null,D_null PUT CRAM_Tasks,Tasks PUT CRAM_Hw,Hw PUT CRAM_justbeep,justbeep PUT CRAM_avoidRF,avoidRF PUT CRAM_avoidLF,avoidLF PUT CRAM_avoidB,avoidB RUN 1 Commands: DEBUG"Commands" temp1 =255 'DEBUG"QC",DEC cmnd ' [Power],[0],[F],[B],[R],[L],[-],[+],[9][1],[9][2],[9][3],[9][4],[9][5],[9][6],[9][-],[9][+] - keys ' 21 9 16 17 18 19 38 11 100 101 102 103 104 105 138 111 LOOKDOWN cmnd,[21,9,16,17,18,19,38,11,100,101,102,103,104,105,138,111],temp1 'translate IR codes ' 0 1 2 3 4 5 6 7 8 8 10 11 12 13 14 15 '0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 LOOKUP temp1,[Hw,askTask,Fd,Bk,Rt,Lt,fs1,fw1,ss,sm,sf,vl,vn,vh,fs0,fw0],pDo 'NOTE moves do not alter default Do 'drop through for other codes DEBUG " pDo=",HEX Dpage,HEX pDo RUN 1