From 4d744d2a68b23de7f98e843f57bf764ec7901c45 Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Tue, 8 Nov 2011 18:29:12 +0000 Subject: incoming dtmf commands git-svn-id: https://svn.spreadspace.org/mur.sat@183 7de4ea59-55d0-425e-a1af-a3118ea81d4c --- software/ihu/ihu.asm | 75 +++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 74 insertions(+), 1 deletion(-) (limited to 'software') diff --git a/software/ihu/ihu.asm b/software/ihu/ihu.asm index 0a8e907..72ecc32 100644 --- a/software/ihu/ihu.asm +++ b/software/ihu/ihu.asm @@ -94,6 +94,7 @@ WAIT_CNT EQU H'002F' DTMF_BUF EQU H'0030' ; 5Bytes for incoming DTMF commands DTMF_BUF_END EQU H'0034' DTMF_BUF_PTR EQU H'0035' +DTMF_CS EQU H'0036' BUF EQU H'0040' BUF_END EQU H'004F' @@ -153,8 +154,22 @@ int_dtmf movwf FSR movf PORTD,w andlw b'00001111' + xorwf DTMF_CS,f call dtmfSign movwf INDF + incf DTMF_BUF_PTR,f + movlw DTMF_BUF_END + subwf DTMF_BUF_PTR,w + btfss STATUS,C + goto int_dtmf_end + btfsc STATUS,Z + goto int_dtmf_end + +;; DTMF command complete + movlw .1 + movwf TMP + +int_dtmf_end bcf INTCON,INTF goto interrupt_end @@ -233,7 +248,8 @@ init bcf PORTD,DTMF_PWRDWN movlw DTMF_BUF movwf DTMF_BUF_PTR - + clrf DTMF_CS + bcf PORTD,TTX_RESET ;reset TTX bcf PORTD,TTX_SCL bcf PORTD,TTX_SDA @@ -296,7 +312,64 @@ main btfsc STATUS,Z goto main + movf DTMF_BUF,w + movwf TXREG + movlw .1 + call wait_ms + + movf DTMF_BUF+1,w + movwf TXREG + movlw .1 + call wait_ms + + movf DTMF_BUF+2,w + movwf TXREG + movlw .1 + call wait_ms + + movf DTMF_BUF+3,w + movwf TXREG + movlw .1 + call wait_ms + + movf DTMF_BUF+4,w + movwf TXREG + movlw .1 + call wait_ms + + movlw ' ' + movwf TXREG + movlw .1 + call wait_ms + + movf DTMF_CS,f + btfsc STATUS,Z + movlw '!' + btfss STATUS,Z + movlw 'x' + movwf TXREG + movlw .1 + call wait_ms + + + movlw '\r' + movwf TXREG + movlw .1 + call wait_ms + movlw '\n' + movwf TXREG + movlw .1 + call wait_ms + + + clrf TMP + movlw DTMF_BUF + movwf DTMF_BUF_PTR + clrf DTMF_CS + goto main + + movlw BUF movwf FSR -- cgit v1.2.3