summaryrefslogtreecommitdiff
path: root/software/ttx
diff options
context:
space:
mode:
authorChristian Pointner <equinox@mur.at>2011-07-27 00:39:07 +0000
committerChristian Pointner <equinox@mur.at>2011-07-27 00:39:07 +0000
commite34f4cef5b441e5c4d69404e78166355a78e6162 (patch)
treedc119b8b9ade4e8910fb3ad0f4c0aa55bbf05473 /software/ttx
parentihu-ttx implement read of csum @ihu (not yet tested) (diff)
ttx <-> ihu communication include checksum/ack works now
git-svn-id: https://svn.spreadspace.org/mur.sat@64 7de4ea59-55d0-425e-a1af-a3118ea81d4c
Diffstat (limited to 'software/ttx')
-rw-r--r--software/ttx/ttx.asm28
1 files changed, 27 insertions, 1 deletions
diff --git a/software/ttx/ttx.asm b/software/ttx/ttx.asm
index 2fe0268..260314d 100644
--- a/software/ttx/ttx.asm
+++ b/software/ttx/ttx.asm
@@ -141,7 +141,7 @@ ext_int_next
goto ext_int_next
ext_int_send_csum
- ;; TODO: send out csum
+ call rx_send_csum
movf RX_FSR_TMP,w
movwf FSR
swapf RX_CMD,w
@@ -442,6 +442,32 @@ rx_byte_next
goto rx_byte_clk_high
;; -------------------------------------
+rx_send_csum
+ bsf STATUS,RP0
+ bcf TRISIO,SDAT
+ bcf STATUS,RP0
+ movlw .8
+ movwf RX_BIT_CNT
+rx_send_clk_high
+ btfss GPIO,SCLK
+ goto rx_send_clk_high
+ btfss RX_CSUM,7
+ bcf GPIO,SDAT
+ btfsc RX_CSUM,7
+ bsf GPIO,SDAT
+ decfsz RX_BIT_CNT,f
+ goto rx_send_next
+
+ bsf STATUS,RP0
+ bsf TRISIO,SDAT
+ bcf STATUS,RP0
+ return
+
+rx_send_next
+ rlf RX_CSUM,f
+ goto rx_send_clk_high
+
+ ;; -------------------------------------
dottime
movwf TMR0
bcf INTCON,T0IF