; Generated: Tue Nov 23 21:58:23 2004 ; Using: ./throttle.pl ; Version: 1.9 ; ; **** DO NOT EDIT THIS FILE BY HAND **** ; **** THIS IS COMPUTER GENERATED CODE **** ; ; mapthrottle = 1 ; 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.000B 0:512 0.000 @ 1953Hz 0:513 0.000 @ 1949Hz ( 0.00%) ; 2:0.031 -> 0.000B 0:512 0.000 @ 1953Hz 0:513 0.000 @ 1949Hz ( 0.00%) ; 3:0.047 -> 0.048 6:128 0.045 @ 7462Hz 6:129 0.044 @ 7407Hz (-6.67%) ; 4:0.062 -> 0.063 8:128 0.059 @ 7352Hz 8:129 0.058 @ 7299Hz (-8.03%) ; 5:0.078 -> 0.079 11:128 0.079 @ 7194Hz 11:129 0.079 @ 7142Hz (-1.00%) ; 6:0.094 -> 0.095 13:128 0.092 @ 7092Hz 13:129 0.092 @ 7042Hz (-3.87%) ; 7:0.109 -> 0.111 16:128 0.111 @ 6944Hz 16:129 0.110 @ 6896Hz (-0.69%) ; 8:0.125 -> 0.127 18:128 0.123 @ 6849Hz 18:129 0.122 @ 6802Hz (-3.57%) ; 9:0.141 -> 0.143 21:128 0.141 @ 6711Hz 21:129 0.140 @ 6666Hz (-2.00%) ; 10:0.156 -> 0.159 24:128 0.158 @ 6578Hz 24:129 0.157 @ 6535Hz (-1.18%) ; 11:0.172 -> 0.175 27:128 0.174 @ 6451Hz 28:128 0.179 @ 6410Hz ( 2.80%) ; 12:0.188 -> 0.190 30:128 0.190 @ 6329Hz 30:128 0.190 @ 6329Hz (-0.32%) ; 13:0.203 -> 0.206 33:128 0.205 @ 6211Hz 34:128 0.210 @ 6172Hz ( 1.71%) ; 14:0.219 -> 0.222 36:128 0.220 @ 6097Hz 36:128 0.220 @ 6097Hz (-1.22%) ; 15:0.234 -> 0.238 40:128 0.238 @ 5952Hz 40:128 0.238 @ 5952Hz ( 0.00%) ; 16:0.250 -> 0.254 43:128 0.251 @ 5847Hz 44:128 0.256 @ 5813Hz ( 0.73%) ; 17:0.266 -> 0.270 47:128 0.269 @ 5714Hz 48:128 0.273 @ 5681Hz ( 1.07%) ; 18:0.281 -> 0.286 51:128 0.285 @ 5586Hz 52:128 0.289 @ 5555Hz ( 1.11%) ; 19:0.297 -> 0.302 55:128 0.301 @ 5464Hz 56:128 0.304 @ 5434Hz ( 0.92%) ; 20:0.312 -> 0.317 59:128 0.316 @ 5347Hz 60:128 0.319 @ 5319Hz ( 0.53%) ; 21:0.328 -> 0.333 63:128 0.330 @ 5235Hz 64:128 0.333 @ 5208Hz ( 0.00%) ; 22:0.344 -> 0.349 68:128 0.347 @ 5102Hz 68:128 0.347 @ 5102Hz (-0.65%) ; 23:0.359 -> 0.365 73:128 0.363 @ 4975Hz 74:128 0.366 @ 4950Hz ( 0.34%) ; 24:0.375 -> 0.381 78:128 0.379 @ 4854Hz 78:128 0.379 @ 4854Hz (-0.61%) ; 25:0.391 -> 0.397 84:128 0.396 @ 4716Hz 84:128 0.396 @ 4716Hz (-0.15%) ; 26:0.406 -> 0.413 89:128 0.410 @ 4608Hz 90:128 0.413 @ 4587Hz ( 0.04%) ; 27:0.422 -> 0.429 96:128 0.429 @ 4464Hz 96:128 0.429 @ 4464Hz ( 0.00%) ; 28:0.438 -> 0.444 102:128 0.443 @ 4347Hz 102:128 0.443 @ 4347Hz (-0.22%) ; 29:0.453 -> 0.460 109:128 0.460 @ 4219Hz 110:128 0.462 @ 4201Hz ( 0.41%) ; 30:0.469 -> 0.476 116:128 0.475 @ 4098Hz 116:128 0.475 @ 4098Hz (-0.16%) ; 31:0.484 -> 0.492 124:128 0.492 @ 3968Hz 124:128 0.492 @ 3968Hz ( 0.00%) ; 32:0.500 -> 0.508 132:128 0.508 @ 3846Hz 132:128 0.508 @ 3846Hz (-0.05%) ; 33:0.516 -> 0.524 140:128 0.522 @ 3731Hz 140:128 0.522 @ 3731Hz (-0.27%) ; 34:0.531 -> 0.540 150:128 0.540 @ 3597Hz 150:128 0.540 @ 3597Hz (-0.02%) ; 35:0.547 -> 0.556 160:128 0.556 @ 3472Hz 160:128 0.556 @ 3472Hz ( 0.00%) ; 36:0.562 -> 0.571 170:128 0.570 @ 3355Hz 170:128 0.570 @ 3355Hz (-0.17%) ; 37:0.578 -> 0.587 182:128 0.587 @ 3225Hz 182:128 0.587 @ 3225Hz (-0.03%) ; 38:0.594 -> 0.603 194:128 0.602 @ 3105Hz 194:128 0.602 @ 3105Hz (-0.11%) ; 39:0.609 -> 0.619 208:128 0.619 @ 2976Hz 208:128 0.619 @ 2976Hz ( 0.00%) ; 40:0.625 -> 0.635 222:128 0.634 @ 2857Hz 222:128 0.634 @ 2857Hz (-0.10%) ; 41:0.641 -> 0.651 238:128 0.650 @ 2732Hz 238:128 0.650 @ 2732Hz (-0.08%) ; 42:0.656 -> 0.667 255:128 0.666 @ 2610Hz 256:128 0.667 @ 2604Hz ( 0.00%) ; 43:0.672 -> 0.683 275:128 0.682 @ 2481Hz 276:128 0.683 @ 2475Hz ( 0.09%) ; 44:0.688 -> 0.698 296:128 0.698 @ 2358Hz 296:128 0.698 @ 2358Hz (-0.04%) ; 45:0.703 -> 0.714 320:128 0.714 @ 2232Hz 320:128 0.714 @ 2232Hz ( 0.00%) ; 46:0.719 -> 0.730 346:128 0.730 @ 2109Hz 346:128 0.730 @ 2109Hz (-0.03%) ; 47:0.734 -> 0.746 376:128 0.746 @ 1984Hz 376:128 0.746 @ 1984Hz ( 0.00%) ; 48:0.750 -> 0.762 409:128 0.762 @ 1862Hz 410:128 0.762 @ 1858Hz ( 0.02%) ; 49:0.766 -> 0.778 448:128 0.778 @ 1736Hz 448:128 0.778 @ 1736Hz ( 0.00%) ; 50:0.781 -> 0.794 492:128 0.794 @ 1612Hz 492:128 0.794 @ 1612Hz (-0.01%) ; 51:0.797 -> 0.810 512:120 0.810 @ 1582Hz 512:120 0.810 @ 1582Hz ( 0.07%) ; 52:0.812 -> 0.825 512:108 0.826 @ 1612Hz 512:108 0.826 @ 1612Hz ( 0.05%) ; 53:0.828 -> 0.841 512: 96 0.842 @ 1644Hz 512: 96 0.842 @ 1644Hz ( 0.10%) ; 54:0.844 -> 0.857 512: 85 0.858 @ 1675Hz 512: 86 0.856 @ 1672Hz (-0.11%) ; 55:0.859 -> 0.873 512: 74 0.874 @ 1706Hz 512: 74 0.874 @ 1706Hz ( 0.08%) ; 56:0.875 -> 0.889 512: 64 0.889 @ 1736Hz 512: 64 0.889 @ 1736Hz ( 0.00%) ; 57:0.891 -> 0.905 512: 53 0.906 @ 1769Hz 512: 54 0.905 @ 1766Hz (-0.02%) ; 58:0.906 -> 0.921 512: 44 0.921 @ 1798Hz 512: 44 0.921 @ 1798Hz ( 0.02%) ; 59:0.922 -> 0.937 512: 34 0.938 @ 1831Hz 512: 34 0.938 @ 1831Hz ( 0.13%) ; 60:0.938 -> 0.952 512: 25 0.953 @ 1862Hz 512: 26 0.952 @ 1858Hz (-0.07%) ; 61:0.953 -> 0.968 512: 16 0.970 @ 1893Hz 513: 16 0.970 @ 1890Hz ( 0.15%) ; 62:0.969 -> 0.984 512: 8 0.985 @ 1923Hz 513: 8 0.985 @ 1919Hz ( 0.05%) ; 63:0.984 -> 1.000 512: 0 1.000 @ 1953Hz 513: 0 1.000 @ 1949Hz ( 0.00%) throttlesteps equ 64 throttlenonidle equ 3 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_6on movfw pwmONio movwf GPIO int_on4off ; Delay 4 call emptyreturn movfw pwmOFFio movwf GPIO goto rearm_OFFt0 int_8on movfw pwmONio movwf GPIO int_on6off goto int_on4off int_11on movfw pwmONio movwf GPIO int_on9off ; Delay 1 nop int_on8off goto int_on6off int_13on movfw pwmONio movwf GPIO int_on11off goto int_on9off int_16on movfw pwmONio movwf GPIO int_on14off ; Delay 1 nop int_on13off goto int_on11off int_18on movfw pwmONio movwf GPIO int_on16off goto int_on14off int_21on movfw pwmONio movwf GPIO int_on19off ; Delay 1 nop int_on18off goto int_on16off int_24on movfw pwmONio movwf GPIO int_on22off ; Delay 1 nop int_on21off goto int_on19off int_0off movfw pwmONio movwf GPIO ; Delay 0 goto rearm_ONt0 int_8off movfw pwmOFFio movwf GPIO int_off6on ; Delay 6 call emptyreturn goto $+1 movfw pwmONio movwf GPIO goto rearm_ONt0 int_16off movfw pwmOFFio movwf GPIO int_off14on ; Delay 6 call emptyreturn goto $+1 int_off8on goto int_off6on ; 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_0brake - int_refpoint retlw int_0brake - int_refpoint retlw int_6on - int_refpoint retlw int_8on - int_refpoint retlw int_11on - int_refpoint retlw int_13on - int_refpoint retlw int_16on - int_refpoint retlw int_18on - int_refpoint retlw int_21on - int_refpoint retlw int_24on - 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_16off - int_refpoint retlw int_8off - 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 -0 retlw -0 retlw -0 retlw -0 retlw -0 retlw -0 retlw -0 retlw -0 retlw -0 retlw -5 retlw -6 retlw -8 retlw -9 retlw -11 retlw -13 retlw -15 retlw -17 retlw -19 retlw -21 retlw -23 retlw -25 retlw -28 retlw -30 retlw -33 retlw -36 retlw -39 retlw -42 retlw -46 retlw -49 retlw -53 retlw -57 retlw -61 retlw -66 retlw -71 retlw -76 retlw -82 retlw -88 retlw -95 retlw -102 retlw -110 retlw -119 retlw -129 retlw -139 retlw -151 retlw -164 retlw -179 retlw -196 retlw -215 retlw -237 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 ; Ensure correct alignment of this table for a computed goto if ($ & ~0FFh) != (($+64-1) & ~0FFh) org ($+64) & ~0FFh endif pwmOFFt0_tbl retlw -248 retlw -248 retlw -248 retlw -56 retlw -56 retlw -56 retlw -56 retlw -56 retlw -56 retlw -56 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 -55 retlw -51 retlw -45 retlw -39 retlw -34 retlw -28 retlw -23 retlw -18 retlw -13 retlw -8 retlw -4 retlw -0 retlw -0 retlw -0