From d741e0e2b1460326c01e3f2f2db50ab6689e2d70 Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Sat, 23 Jul 2011 02:40:47 +0000 Subject: added safe mode checks git-svn-id: https://svn.spreadspace.org/mur.sat@39 7de4ea59-55d0-425e-a1af-a3118ea81d4c --- software/ttx/ttx.asm | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/software/ttx/ttx.asm b/software/ttx/ttx.asm index fa0511c..0100a13 100644 --- a/software/ttx/ttx.asm +++ b/software/ttx/ttx.asm @@ -66,12 +66,16 @@ PENTLECNT EQU H'0047' BUF EQU H'0050' ;; all pages -BEACONCNTH EQU H'007C' -BEACONCNTL EQU H'007B' +STATE EQU H'007A' +BEACONCNTH EQU H'007B' +BEACONCNTL EQU H'007C' SECCNT EQU H'007D' W_TEMP EQU H'007E' STATUS_TEMP EQU H'007F' + ;; bits STATE +safe EQU .0 + ;; ------------------------------------- ;; Reset Vector org .0 @@ -96,10 +100,18 @@ ext_int tmr1_int bcf PIR1,TMR1IF + btfsc STATE,safe ; safe mode -> disable scheduler + goto disable_tmr1 movf SECCNT,w btfss STATUS,Z decf SECCNT,f + goto interrupt_end +disable_tmr1 + bcf T1CON,TMR1ON + movlw BEACON_INT + movwf SECCNT + interrupt_end ;; restore context swapf STATUS_TEMP,W @@ -129,7 +141,7 @@ init ;; bank 0 clrf TMR1L clrf TMR1H - movlw b'00000111' + movlw b'00000110' movwf T1CON movlw b'01000000' ; enable external interrupt bit4 movwf INTCON @@ -143,8 +155,12 @@ init movlw BEACON_INT movwf SECCNT + clrf STATE ; TODO: read State from EEPROM clrf BEACONCNTL ; TODO: read Beaconcnt from EEPROM clrf BEACONCNTH + + btfss STATE,safe ; safe mode -> disable scheduler + bsf T1CON,TMR1ON bsf INTCON,GIE goto main -- cgit v1.2.3