summaryrefslogtreecommitdiff
path: root/software/ttx/ttx.asm
diff options
context:
space:
mode:
Diffstat (limited to 'software/ttx/ttx.asm')
-rw-r--r--software/ttx/ttx.asm12
1 files changed, 9 insertions, 3 deletions
diff --git a/software/ttx/ttx.asm b/software/ttx/ttx.asm
index 6e974c9..0f75420 100644
--- a/software/ttx/ttx.asm
+++ b/software/ttx/ttx.asm
@@ -76,7 +76,7 @@ RX_BIT_CNT EQU H'004E'
RX_BYTE_CNT EQU H'004F'
RX_CMD EQU H'0050'
RX_D_START EQU H'0051'
-RX_D_END EQU H'0060'
+RX_D_END EQU H'005F'
;; all pages
BEACON_INT EQU H'0070'
@@ -136,7 +136,9 @@ ext_int
movwf RX_STATE
btfsc STATUS,Z
goto ext_int_send_csum
+
ext_int_next
+ incf FSR,f
call rx_byte
decfsz RX_BYTE_CNT,f
goto ext_int_next
@@ -148,6 +150,10 @@ ext_int_send_csum
swapf RX_CMD,w
andlw b'00001111'
movwf RX_CMD
+ext_int_wait_ack
+ btfss GPIO,SCLK
+ goto ext_int_wait_ack
+ btfss GPIO,SDAT
bsf RX_STATE,complete
bsf STATUS,RP0
movlw OSC_LOW
@@ -425,7 +431,6 @@ rx_byte_clk_high
movf INDF,w
xorwf RX_CSUM,f
- incf FSR,f
return
rx_byte_next
@@ -451,7 +456,7 @@ rx_send_clk_high
bsf STATUS,RP0
bsf TRISIO,SDAT
- bcf STATUS,RP0
+ bcf STATUS,RP0
return
rx_send_next
@@ -792,6 +797,7 @@ seccnt_zero
;; this gets called whenever a message was received from ihu
msg_received
call send_ack
+ bcf RX_STATE,complete
clrf RX_STATE
powerdown