; slave any slave_number
; expects to return directly to main program (caller)
mov_wf slave
- bra_z m_improper_slave
bs_f SSPCON2, SEN
m_start_or_restart
and_lw ~31
bra_nz m_improper_slave
bs_f st, st_starting
+ tst_f_ifnz slave
return
+ ; oops:
+;...
+
+m_improper_slave
+; slave slave number
+ i2cpanic morse_SN
+
;----------
m_event_done_starting
m_bad_address_ack
i2cpanic morse_SK
-;----------
-m_improper_slave
-; slave slave number
- i2cpanic morse_SN
-
;========================================
; MASTER - WRITING
m_address_different
; Main program would like to address another slave for reading.
mov_wf slave_next
- bra_z m_improper_slave
+ tst_f_ifnz slave_next
bra i2cm_read_done
+ panic morse_SO
;----------
m_event_done_addressing_read
;----------------------------------------
master_interrupt_low @
enter_interrupt_low
- mov_ff INTCON, xdebug+0
- mov_ff INTCON2, xdebug+1
- mov_ff INTCON3, xdebug+2
- mov_ff PIR1, xdebug+3
- mov_ff PIR2, xdebug+4
- mov_ff PIR3, xdebug+5
call tick_intrl
call nmra_serialrx_intrl
call power_fault_intrl