errors with 16f628
Fatal TEST.ASM 435 : [308] macro buffer overflow
Code:
;----[ MIBAM Setup ]--------------------------------------------------------
BAM_COUNT CON 8 ; How many BAM Pins are used?
INCLUDE "MIBAM.pbp" ; Mirror Image BAM module
BAM_DUTY VAR BYTE[BAM_COUNT]
LED1 VAR BAM_DUTY[0] ; group them in an array for easy access
LED2 VAR BAM_DUTY[1] ; with FOR loops etc.
LED3 VAR BAM_DUTY[2]
LED4 VAR BAM_DUTY[3]
LED5 VAR BAM_DUTY[4]
LED6 VAR BAM_DUTY[5]
LED7 VAR BAM_DUTY[6]
LED8 VAR BAM_DUTY[7]
ASM
BAM_LIST macro ; Define PIN's to use for BAM
BAM_PIN (PORTB,0, LED1) ; and the associated Duty variables
BAM_PIN (PORTB,1, LED2)
BAM_PIN (PORTB,2, LED3)
BAM_PIN (PORTB,3, LED4)
BAM_PIN (PORTB,4, LED5)
BAM_PIN (PORTB,5, LED6)
BAM_PIN (PORTB,6, LED7)
BAM_PIN (PORTB,7, LED8)
endm
BAM_INIT BAM_LIST ; Initialize the Pins
ENDASM
Speed CON 6 ; Smaller = Faster
TracerSpeed CON 15 ; Smaller = Faster Left/Right
Brightness CON 200 ; Tracers DutyCycle
DrainSpeed CON 30 ; Smaller = Shorter Trail
Idx VAR BYTE
LoopCount VAR BYTE
NextLED VAR BYTE
TraceDIR VAR BIT
TraceDIR = 0
LoopCount = 0
NextLED = 0
Main:
if LoopCount = TracerSpeed then ; __[ Cylon/Kitt Scanner ]__
LoopCount = 0
BAM_DUTY(NextLED) = Brightness
if TraceDIR then ; if scanning left
NextLED = NextLED - 1
if NextLED = 0 then TraceDIR = 0
else ; else scanning right
NextLED = NextLED + 1
if NextLED = BAM_COUNT-1 then TraceDIR = 1
endif
endif
FOR Idx = 0 to BAM_COUNT - 1 ; Drain all dutycycles
IF BAM_DUTY(Idx) > 0 then
BAM_DUTY(Idx) = BAM_DUTY(Idx)*DrainSpeed/(DrainSpeed+1)
ENDIF
NEXT Idx
pause Speed
LoopCount = LoopCount + 1
GOTO Main
Bookmarks