diff options
Diffstat (limited to 'software/idm')
-rw-r--r-- | software/idm/idm.asm | 56 |
1 files changed, 44 insertions, 12 deletions
diff --git a/software/idm/idm.asm b/software/idm/idm.asm index 6b41e3f..6176324 100644 --- a/software/idm/idm.asm +++ b/software/idm/idm.asm @@ -30,6 +30,8 @@ ;; ------------------------------------- ;; DEFINES +#define DEBUG 1 + ;; constants BUF_STARTH EQU H'0020' BUF_STARTL EQU H'0000' @@ -165,21 +167,21 @@ int_spi goto int_spi_0 movlw 'r' xorwf CMD,w - btfsc STATUS,z + btfsc STATUS,Z goto int_spi_r ;; other commands goto int_end int_spi_0 call rbuf_next - movf INDFR - btfss underrun + movf INDFR,w + btfss UNDERRUN movwf SSP1BUF goto int_end int_spi_r - movf INDFR - btfss underrun + movf INDFR,w + btfss UNDERRUN movwf SSP1BUF bsf CMD_READ ;; goto int_end @@ -219,8 +221,11 @@ buf_init movf BSR,w clrf BSR - bsf DBG1 - bcf DBG2 + bsf INT +if DEBUG == 1 + bcf DBG1 + bsf DBG2 +endif movwf BSR return @@ -242,6 +247,13 @@ wbuf_next inc_fsr FSRW,FSRWH,FSRWL bcf UNDERRUN + movf BSR,w + clrf BSR + bcf INT +if DEBUG == 1 + bcf DBG2 +endif + movwf BSR movf FSRRH,w xorwf FSRWH,w @@ -252,6 +264,12 @@ wbuf_next btfss STATUS,Z return bsf OVERRUN +if DEBUG == 1 + movf BSR,w + clrf BSR + bsf DBG1 + movwf BSR +endif return ;; ------------------- @@ -272,6 +290,12 @@ rbuf_next inc_fsr FSRR,FSRRH,FSRRL bcf OVERRUN +if DEBUG == 1 + movf BSR,w + clrf BSR + bcf DBG1 + movwf BSR +endif movf FSRWH,w xorwf FSRRH,w @@ -282,6 +306,13 @@ rbuf_next btfss STATUS,Z return bsf UNDERRUN + movf BSR,w + clrf BSR + bsf INT +if DEBUG == 1 + bsf DBG2 +endif + movwf BSR return ;; ------------------------------------- @@ -295,13 +326,15 @@ init movwf SSP1CON3 movlw b'00100100' movwf SSP1CON1 - bsf DBG0 - +if DEBUG == 1 + bsf DBG0 ; Pull-up for DBG0 +endif + ;; BANK 3 movlb b'00000011' movlw b'00001111' ; PORTA0:3 analog, PORTA4:7, digital - movwf ANSELA ; PORTB0:7 digital - clrf ANSELB + movwf ANSELA + clrf ANSELB ; PORTB0:7 digital ;; BANK 2 movlb b'00000010' @@ -331,7 +364,6 @@ init movwf INTCON bcf FILTER_EN - bsf INT call buf_init bsf T2CON,TMR2ON |