chiark / gitweb /
fix up slave crashread (made buggy when master impl'd)
authorian <ian>
Thu, 29 Dec 2005 18:11:52 +0000 (18:11 +0000)
committerian <ian>
Thu, 29 Dec 2005 18:11:52 +0000 (18:11 +0000)
TODO
detpic/panic.asm

diff --git a/TODO b/TODO
index af65482b5b9e36db546a5731cfed5587d64868ca..3e5b7367877f51024fd443070cb81540ea1ea7ff 100644 (file)
--- a/TODO
+++ b/TODO
@@ -8,8 +8,6 @@ led is wrong when we just run the program ?  surely it should be red
 
 points do not finish changing and cdu does not recharge
 
-crashread of a slave does not work
-
 
 residual stuff from CDU is present and changes pt0 when you
   * turn on
index afc0e0139daa1a555fb68c40f2168b776ad165c0..c3ca79ee982e86ec68dce5cd31d5f2997aaf7ab7 100644 (file)
@@ -109,6 +109,7 @@ stacksave_loop
        ; must be slave:
 
 panic_setup_if_slave
+       movlw   (1<<TMR0ON) | morse_slave_t0scale
        movwf   T0CON
        movlw   morse_slave_t0inith
        movwf   t0h_count
@@ -349,6 +350,9 @@ waiting_loop        ; wait for timer0 interrupt, or some other interrupt
 
         bra    waiting_loop
 
+;****************************************************************************
+; MEMORY READOUT - CRASH DUMP
+
 ;----------------------------------------
 ; MASTER'S PANIC SERIAL PORT HANDLING
 
@@ -395,12 +399,14 @@ panicd_serialrx
        bra     panicst_oerrferr
 
        mov_fw  RCREG
-;...
-;****************************************************************************
-; MEMORY READOUT
+       bra     panicd_process_input_byte
+
+;----------------------------------------
+; CRASHREAD MASTER/SLAVE COMMON COMMAND BYTE HANDLING
 
 ;----------
 pan_i2csu_write_data
+       call    led_green
 panicd_process_input_byte
 ;              W       instruction from host or master
        tst_w_ifnz
@@ -468,6 +474,7 @@ write_if_master_slaveread
 ;----------
 write_if_master_slaveselect
        bc_w    5
+       btg_w   4
        bt_f_if1 panicst, panicst_writeslave
        bra     pan_i2cm_write_start
        bra     pan_i2cm_read_start
@@ -486,7 +493,7 @@ write_if_master_masterread_loop
 ;----------
 pan_i2cmu_read_got_byte
        call    serial_write_char
-       dec_fw_ifnz panic_valcount
+       dec_f_ifnz panic_valcount
        bra     pan_i2cm_read_another
        return
 
@@ -539,7 +546,6 @@ near_serialrx_table code 0x2100
 ;----------
 command_crashed @
 panic_crashread_commanded @
-       bs_f    panicst, panicst_acked ; since we were asked to
        panic   morse_E
 
 ;***************************************************************************