nullpoint.fth (704B)
1 4 CONSTANT CELLS 2 3 1000 CONSTANT WARMUPMS 4 5000 CONSTANT TIMEOUTMS 5 6 1000 CONSTANT PWMSCALE 7 20 CONSTANT PWMSTEP 8 9 PWMSCALE PWMSTEP / CONSTANT CALIBSTEPS 10 11 0 CONSTANT LMOTOR 12 1 CONSTANT RMOTOR 13 14 CREATE MOTORCOUNTS 15 ' LCOUNT , 16 ' RCOUNT , 17 ALIGN 18 19 CREATE MOTORPWMS 20 ' PWML , 21 ' PWMR , 22 ALIGN 23 24 : MOTORCOUNT ( id -- pfn ) 25 CELLS * MOTORCOUNTS + @ ; 26 27 : MOTORPWM ( id -- pfn ) 28 CELLS * MOTORPWMS + @ ; 29 30 : GETPWMCOUNT ( id -- n ) 31 WARMUPMS MS CLEARCOUNTS TIMEOUTMS MS MOTORCOUNT EXECUTE ; 32 33 : SETPWMSPEED ( id n -- ) 34 SWAP MOTORPWM EXECUTE ; 35 36 : CALIB ( id -- ) 37 13 EMIT 38 10 EMIT 39 CALIBSTEPS 1 + 0 DO 40 DUP I PWMSTEP * SETPWMSPEED 41 DUP GETPWMCOUNT 42 I PWMSTEP * . . CR 43 LOOP 44 DROP ; 45