From baeab66226c203843204f2901691ecc4728635e9 Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Tue, 27 Sep 2011 20:51:43 +0000 Subject: ihu: dtmf inbuf (not finished) ihu: pin doc -> uart to mpu (no spi) git-svn-id: https://svn.spreadspace.org/mur.sat@176 7de4ea59-55d0-425e-a1af-a3118ea81d4c --- software/ihu/ihu.asm | 45 ++++++++++++++++++++++++++++++--------------- 1 file changed, 30 insertions(+), 15 deletions(-) (limited to 'software') diff --git a/software/ihu/ihu.asm b/software/ihu/ihu.asm index f763407..0a8e907 100644 --- a/software/ihu/ihu.asm +++ b/software/ihu/ihu.asm @@ -55,16 +55,16 @@ BAT_C EQU 3 RTC_SDA EQU 4 RTC_SCL EQU 5 RTC_INT EQU 6 -MPU_INT EQU 7 +UNDEF_B7 EQU 7 ;; PortC MPU_PWRDWN EQU 0 MPU_RESET EQU 1 -MPU_CS EQU 2 -MPU_SCK EQU 3 -MPU_SDI EQU 4 -MPU_SDO EQU 5 -ICOM_TX EQU 6 -ICOM_RX EQU 7 +UNDEF_C2 EQU 2 +UNDEF_C3 EQU 3 +UNDEF_C4 EQU 4 +UNDEF_C5 EQU 5 +MPU_TX EQU 6 +MPU_RX EQU 7 ;; PortD DTMF_D0 EQU 0 DTMF_D1 EQU 1 @@ -78,7 +78,7 @@ TTX_SDA EQU 7 SOLAR_C5 EQU 0 SOLAR_C6 EQU 1 SOLAR_C7 EQU 2 - + ;; variables ;; page 0 only TMP EQU H'0020' @@ -89,8 +89,12 @@ TTX_CSUM EQU H'0024' RTC_BYTE_CNT EQU H'0028' -WAIT_CNT EQU H'0030' +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' + BUF EQU H'0040' BUF_END EQU H'004F' @@ -112,7 +116,8 @@ RTC_BIT_CNT EQU H'0071' OWIRE_BYTE EQU H'0072' OWIRE_BIT_CNT EQU H'0073' OWIRE_CNT EQU H'0074' - + +FSR_TEMP EQU H'007D' W_TEMP EQU H'007E' STATUS_TEMP EQU H'007F' @@ -130,10 +135,13 @@ STATUS_TEMP EQU H'007F' movwf W_TEMP swapf STATUS,W movwf STATUS_TEMP - + movf FSR,w + movwf FSR_TEMP + bcf STATUS,RP0 bcf STATUS,RP1 + ;; dispatch interrupt sources btfsc INTCON,INTF goto int_dtmf btfsc PIR1,RCIF @@ -141,10 +149,12 @@ STATUS_TEMP EQU H'007F' goto interrupt_end int_dtmf + movf DTMF_BUF_PTR,w + movwf FSR movf PORTD,w andlw b'00001111' call dtmfSign - movwf TXREG + movwf INDF bcf INTCON,INTF goto interrupt_end @@ -162,6 +172,8 @@ int_uart_rx_oe interrupt_end ;; restore context + movf FSR_TEMP,w + movwf FSR swapf STATUS_TEMP,W movwf STATUS swapf W_TEMP,F @@ -182,9 +194,9 @@ init ;; bank 1 bsf STATUS,RP0 bcf STATUS,RP1 - movlw b'11110000' + movlw b'01110000' movwf WPUB - movlw b'11000000' + movlw b'01000000' movwf IOCB movlw b'01000001' movwf OPTION_REG @@ -195,7 +207,7 @@ init movwf TRISA movlw b'11111111' movwf TRISB - movlw b'11111000' + movlw b'11111100' movwf TRISC movlw b'10001111' movwf TRISD @@ -219,6 +231,9 @@ init clrf PORTB bcf PORTD,DTMF_PWRDWN + movlw DTMF_BUF + movwf DTMF_BUF_PTR + bcf PORTD,TTX_RESET ;reset TTX bcf PORTD,TTX_SCL bcf PORTD,TTX_SDA -- cgit v1.2.3