; Generated: Tue Nov 23 21:58:36 2004 ; Using: ./throttle.pl ; Version: 1.9 ; ; **** DO NOT EDIT THIS FILE BY HAND **** ; **** THIS IS COMPUTER GENERATED CODE **** ; ; mapthrottle = 2 ; roundscale = 1 ; ; throttle_calidle = 0 ; ; min_motor_off = 128 ; throttle_steps = 64 ; minfrequency = 0 ; ; instruction_clock = 1000000 ; timer0_prescale = 2 ; max_delay = 512 ; ; int_in_ohead = 8 ; int_out_ohead = 7 ; int_tm0_ohead = 2 ; int_std_pre = 5 ; int_std_post = 3 ; int_spc_pre = 2 ; int_spc_mid = 2 ; int_spc_post = 5 ; min_int_std = 25 ; ; Trottle Mapped ---- Target PWM ----- ---- Actual PWM ---- ERROR ; #:%age %age on:off PWM Details on:off PWM Details ;> 0:0.000 -> 0.000B 0:512 0.000 @ 1953Hz 0:513 0.000 @ 1949Hz ( 0.00%) ; 1:0.016 -> 0.126 18:128 0.123 @ 6849Hz 18:129 0.122 @ 6802Hz (-2.81%) ; 2:0.031 -> 0.178 27:128 0.174 @ 6451Hz 28:128 0.179 @ 6410Hz ( 0.74%) ; 3:0.047 -> 0.218 35:128 0.215 @ 6134Hz 36:128 0.220 @ 6097Hz ( 0.59%) ; 4:0.062 -> 0.252 43:128 0.251 @ 5847Hz 44:128 0.256 @ 5813Hz ( 1.52%) ; 5:0.078 -> 0.282 50:128 0.281 @ 5617Hz 50:128 0.281 @ 5617Hz (-0.29%) ; 6:0.094 -> 0.309 57:128 0.308 @ 5405Hz 58:128 0.312 @ 5376Hz ( 1.04%) ; 7:0.109 -> 0.333 63:128 0.330 @ 5235Hz 64:128 0.333 @ 5208Hz ( 0.00%) ; 8:0.125 -> 0.356 70:128 0.354 @ 5050Hz 70:128 0.354 @ 5050Hz (-0.79%) ; 9:0.141 -> 0.378 77:128 0.376 @ 4878Hz 78:128 0.379 @ 4854Hz ( 0.18%) ; 10:0.156 -> 0.398 84:128 0.396 @ 4716Hz 84:128 0.396 @ 4716Hz (-0.55%) ; 11:0.172 -> 0.418 91:128 0.416 @ 4566Hz 92:128 0.418 @ 4545Hz ( 0.08%) ; 12:0.188 -> 0.436 99:128 0.436 @ 4405Hz 100:128 0.439 @ 4385Hz ( 0.50%) ; 13:0.203 -> 0.454 106:128 0.453 @ 4273Hz 106:128 0.453 @ 4273Hz (-0.28%) ; 14:0.219 -> 0.471 114:128 0.471 @ 4132Hz 114:128 0.471 @ 4132Hz (-0.07%) ; 15:0.234 -> 0.488 121:128 0.486 @ 4016Hz 122:128 0.488 @ 4000Hz ( 0.01%) ; 16:0.250 -> 0.504 130:128 0.504 @ 3875Hz 130:128 0.504 @ 3875Hz (-0.02%) ; 17:0.266 -> 0.519 138:128 0.519 @ 3759Hz 138:128 0.519 @ 3759Hz (-0.13%) ; 18:0.281 -> 0.535 146:128 0.533 @ 3649Hz 146:128 0.533 @ 3649Hz (-0.31%) ; 19:0.297 -> 0.549 155:128 0.548 @ 3533Hz 156:128 0.549 @ 3521Hz ( 0.02%) ; 20:0.312 -> 0.563 165:128 0.563 @ 3412Hz 166:128 0.565 @ 3401Hz ( 0.21%) ; 21:0.328 -> 0.577 174:128 0.576 @ 3311Hz 174:128 0.576 @ 3311Hz (-0.21%) ; 22:0.344 -> 0.591 184:128 0.590 @ 3205Hz 184:128 0.590 @ 3205Hz (-0.20%) ; 23:0.359 -> 0.604 195:128 0.604 @ 3095Hz 196:128 0.605 @ 3086Hz ( 0.12%) ; 24:0.375 -> 0.617 206:128 0.617 @ 2994Hz 206:128 0.617 @ 2994Hz (-0.07%) ; 25:0.391 -> 0.630 217:128 0.629 @ 2898Hz 218:128 0.630 @ 2890Hz ( 0.02%) ; 26:0.406 -> 0.642 229:128 0.641 @ 2801Hz 230:128 0.642 @ 2793Hz ( 0.01%) ; 27:0.422 -> 0.655 242:128 0.654 @ 2702Hz 242:128 0.654 @ 2702Hz (-0.09%) ; 28:0.438 -> 0.667 255:128 0.666 @ 2610Hz 256:128 0.667 @ 2604Hz ( 0.00%) ; 29:0.453 -> 0.678 270:128 0.678 @ 2512Hz 270:128 0.678 @ 2512Hz (-0.01%) ; 30:0.469 -> 0.690 284:128 0.689 @ 2427Hz 284:128 0.689 @ 2427Hz (-0.11%) ; 31:0.484 -> 0.701 300:128 0.701 @ 2336Hz 300:128 0.701 @ 2336Hz (-0.08%) ; 32:0.500 -> 0.713 317:128 0.712 @ 2247Hz 318:128 0.713 @ 2242Hz ( 0.04%) ; 33:0.516 -> 0.724 335:128 0.724 @ 2159Hz 336:128 0.724 @ 2155Hz ( 0.05%) ; 34:0.531 -> 0.735 354:128 0.734 @ 2074Hz 354:128 0.734 @ 2074Hz (-0.03%) ; 35:0.547 -> 0.745 374:128 0.745 @ 1992Hz 374:128 0.745 @ 1992Hz (-0.05%) ; 36:0.562 -> 0.756 396:128 0.756 @ 1908Hz 396:128 0.756 @ 1908Hz (-0.03%) ; 37:0.578 -> 0.766 419:128 0.766 @ 1828Hz 420:128 0.766 @ 1824Hz ( 0.01%) ; 38:0.594 -> 0.777 445:128 0.777 @ 1745Hz 446:128 0.777 @ 1742Hz ( 0.05%) ; 39:0.609 -> 0.787 472:128 0.787 @ 1666Hz 472:128 0.787 @ 1666Hz (-0.02%) ; 40:0.625 -> 0.797 501:128 0.797 @ 1589Hz 502:128 0.797 @ 1587Hz ( 0.00%) ; 41:0.641 -> 0.807 512:122 0.808 @ 1577Hz 512:122 0.808 @ 1577Hz ( 0.11%) ; 42:0.656 -> 0.816 512:115 0.817 @ 1594Hz 512:116 0.815 @ 1592Hz (-0.15%) ; 43:0.672 -> 0.826 512:107 0.827 @ 1615Hz 512:108 0.826 @ 1612Hz (-0.04%) ; 44:0.688 -> 0.836 512:100 0.837 @ 1633Hz 512:100 0.837 @ 1633Hz ( 0.11%) ; 45:0.703 -> 0.845 512: 93 0.846 @ 1652Hz 512: 94 0.845 @ 1650Hz (-0.03%) ; 46:0.719 -> 0.854 512: 87 0.855 @ 1669Hz 512: 88 0.853 @ 1666Hz (-0.14%) ; 47:0.734 -> 0.864 512: 80 0.865 @ 1689Hz 512: 80 0.865 @ 1689Hz ( 0.13%) ; 48:0.750 -> 0.873 512: 74 0.874 @ 1706Hz 512: 74 0.874 @ 1706Hz ( 0.10%) ; 49:0.766 -> 0.882 512: 68 0.883 @ 1724Hz 512: 68 0.883 @ 1724Hz ( 0.10%) ; 50:0.781 -> 0.891 512: 62 0.892 @ 1742Hz 512: 62 0.892 @ 1742Hz ( 0.13%) ; 51:0.797 -> 0.900 512: 57 0.900 @ 1757Hz 512: 58 0.898 @ 1754Hz (-0.17%) ; 52:0.812 -> 0.909 512: 51 0.909 @ 1776Hz 512: 52 0.908 @ 1773Hz (-0.08%) ; 53:0.828 -> 0.917 512: 46 0.918 @ 1792Hz 512: 46 0.918 @ 1792Hz ( 0.04%) ; 54:0.844 -> 0.926 512: 41 0.926 @ 1808Hz 512: 42 0.924 @ 1805Hz (-0.18%) ; 55:0.859 -> 0.934 512: 35 0.936 @ 1828Hz 512: 36 0.934 @ 1824Hz (-0.00%) ; 56:0.875 -> 0.943 512: 31 0.943 @ 1841Hz 512: 32 0.941 @ 1838Hz (-0.17%) ; 57:0.891 -> 0.951 512: 26 0.952 @ 1858Hz 512: 26 0.952 @ 1858Hz ( 0.05%) ; 58:0.906 -> 0.959 512: 21 0.961 @ 1876Hz 513: 21 0.961 @ 1872Hz ( 0.12%) ; 59:0.922 -> 0.968 512: 17 0.968 @ 1890Hz 513: 17 0.968 @ 1886Hz ( 0.02%) ; 60:0.938 -> 0.976 512: 12 0.977 @ 1908Hz 513: 12 0.977 @ 1904Hz ( 0.13%) ; 61:0.953 -> 0.984 512: 8 0.985 @ 1923Hz 513: 8 0.985 @ 1919Hz ( 0.07%) ; 62:0.969 -> 0.992 512: 4 0.992 @ 1937Hz 513: 4 0.992 @ 1934Hz ( 0.02%) ; 63:0.984 -> 1.000 512: 0 1.000 @ 1953Hz 513: 0 1.000 @ 1949Hz ( 0.00%) throttlesteps equ 64 throttlenonidle equ 1 throttlecalidle equ 0 int_0brake movfw pwmOFFio movwf GPIO ; Delay 0 goto rearm_OFFt0 int_0on movfw pwmOFFio movwf GPIO ; Delay 0 goto rearm_OFFt0 int_18on movfw pwmONio movwf GPIO int_on16off ; Delay 16 call emptyreturn call emptyreturn call emptyreturn call emptyreturn movfw pwmOFFio movwf GPIO goto rearm_OFFt0 int_0off movfw pwmONio movwf GPIO ; Delay 0 goto rearm_ONt0 int_4off movfw pwmOFFio movwf GPIO int_off2on ; Delay 2 goto $+1 movfw pwmONio movwf GPIO goto rearm_ONt0 int_8off movfw pwmOFFio movwf GPIO int_off6on ; Delay 2 goto $+1 int_off4on goto int_off2on int_12off movfw pwmOFFio movwf GPIO int_off10on ; Delay 2 goto $+1 int_off8on goto int_off6on int_17off movfw pwmOFFio movwf GPIO int_off15on ; Delay 3 goto $+1 nop int_off12on goto int_off10on int_21off movfw pwmOFFio movwf GPIO int_off19on ; Delay 2 goto $+1 int_off17on goto int_off15on ; Ensure correct alignment of this table for a computed goto if ($ & ~0FFh) != (($+64-1) & ~0FFh) org ($+64) & ~0FFh endif pwmtype_tbl retlw int_0brake - int_refpoint retlw int_18on - int_refpoint retlw int_std - int_refpoint retlw int_std - int_refpoint retlw int_std - int_refpoint retlw int_std - int_refpoint retlw int_std - int_refpoint retlw int_std - int_refpoint retlw int_std - int_refpoint retlw int_std - int_refpoint retlw int_std - int_refpoint retlw int_std - int_refpoint retlw int_std - int_refpoint retlw int_std - int_refpoint retlw int_std - int_refpoint retlw int_std - int_refpoint retlw int_std - int_refpoint retlw int_std - int_refpoint retlw int_std - int_refpoint retlw int_std - int_refpoint retlw int_std - int_refpoint retlw int_std - int_refpoint retlw int_std - int_refpoint retlw int_std - int_refpoint retlw int_std - int_refpoint retlw int_std - int_refpoint retlw int_std - int_refpoint retlw int_std - int_refpoint retlw int_std - int_refpoint retlw int_std - int_refpoint retlw int_std - int_refpoint retlw int_std - int_refpoint retlw int_std - int_refpoint retlw int_std - int_refpoint retlw int_std - int_refpoint retlw int_std - int_refpoint retlw int_std - int_refpoint retlw int_std - int_refpoint retlw int_std - int_refpoint retlw int_std - int_refpoint retlw int_std - int_refpoint retlw int_std - int_refpoint retlw int_std - int_refpoint retlw int_std - int_refpoint retlw int_std - int_refpoint retlw int_std - int_refpoint retlw int_std - int_refpoint retlw int_std - int_refpoint retlw int_std - int_refpoint retlw int_std - int_refpoint retlw int_std - int_refpoint retlw int_std - int_refpoint retlw int_std - int_refpoint retlw int_std - int_refpoint retlw int_std - int_refpoint retlw int_std - int_refpoint retlw int_std - int_refpoint retlw int_std - int_refpoint retlw int_21off - int_refpoint retlw int_17off - int_refpoint retlw int_12off - int_refpoint retlw int_8off - int_refpoint retlw int_4off - int_refpoint retlw int_0off - int_refpoint ; Ensure correct alignment of this table for a computed goto if ($ & ~0FFh) != (($+64-1) & ~0FFh) org ($+64) & ~0FFh endif pwmONt0_tbl retlw -0 retlw -0 retlw -5 retlw -9 retlw -13 retlw -16 retlw -20 retlw -23 retlw -26 retlw -30 retlw -33 retlw -37 retlw -41 retlw -44 retlw -48 retlw -52 retlw -56 retlw -60 retlw -64 retlw -69 retlw -74 retlw -78 retlw -83 retlw -89 retlw -94 retlw -100 retlw -106 retlw -112 retlw -119 retlw -126 retlw -133 retlw -141 retlw -150 retlw -159 retlw -168 retlw -178 retlw -189 retlw -201 retlw -214 retlw -227 retlw -242 retlw -247 retlw -247 retlw -247 retlw -247 retlw -247 retlw -247 retlw -247 retlw -247 retlw -247 retlw -247 retlw -247 retlw -247 retlw -247 retlw -247 retlw -247 retlw -247 retlw -247 retlw -248 retlw -248 retlw -248 retlw -248 retlw -248 retlw -248 ; Ensure correct alignment of this table for a computed goto if ($ & ~0FFh) != (($+64-1) & ~0FFh) org ($+64) & ~0FFh endif pwmOFFt0_tbl retlw -248 retlw -56 retlw -55 retlw -55 retlw -55 retlw -55 retlw -55 retlw -55 retlw -55 retlw -55 retlw -55 retlw -55 retlw -55 retlw -55 retlw -55 retlw -55 retlw -55 retlw -55 retlw -55 retlw -55 retlw -55 retlw -55 retlw -55 retlw -55 retlw -55 retlw -55 retlw -55 retlw -55 retlw -55 retlw -55 retlw -55 retlw -55 retlw -55 retlw -55 retlw -55 retlw -55 retlw -55 retlw -55 retlw -55 retlw -55 retlw -55 retlw -52 retlw -49 retlw -45 retlw -41 retlw -38 retlw -35 retlw -31 retlw -28 retlw -25 retlw -22 retlw -20 retlw -17 retlw -14 retlw -12 retlw -9 retlw -7 retlw -4 retlw -0 retlw -0 retlw -0 retlw -0 retlw -0 retlw -0