chiark / gitweb /
wip making main program compile
authorian <ian>
Wed, 21 Dec 2005 15:08:22 +0000 (15:08 +0000)
committerian <ian>
Wed, 21 Dec 2005 15:08:22 +0000 (15:08 +0000)
detpic/Makefile
detpic/common.inc
detpic/final.inc
detpic/mascan.asm [new file with mode: 0644]
detpic/mascan.fin [new file with mode: 0644]
detpic/morse.messages
detpic/nmra-stream.asm
detpic/program.asm
detpic/program.fin

index efb91c27e96ad7d6e9d6f47a5351933492947e1e..4fe35b424aa5e17c3bdd0f0e0736e9c207a13a7b 100644 (file)
@@ -5,7 +5,7 @@ PICNOS=         0 1 2
 PROGRAMS=              program
 OBJS_program=          vectors.o panic.o routines-led.o i2clib.o       \
                        misc.o detect.o variables.o points.o            \
-                       syncwrite.o reverse.o
+                       syncwrite.o reverse.o nmra-stream.o
 XCODEN_program=        morse
 XCODE1_program=        blank2 ours+pindata
 
index 663741b596d02c4e65717825a3a102b48069bc95..82226fbb6fd28947a3b80a9593e0415921d958f9 100644 (file)
@@ -10,7 +10,6 @@
        include         panic.inc
        include         morse+auto.inc
        include         ../iwjpictest/insn-aliases.inc
-clock equ -1
        include         ../iwjpictest/clockvaries.inc
        include         variables+vars.inc
        include         pindata.inc
index 947ef64d0073bab6373dc73656677ab3c1e86ce4..643840b915ced090164e38caa68756c0319386e7 100644 (file)
@@ -1,7 +1,3 @@
- extern test_sofar_slave_startup_hook
- extern trackpower_decide
- extern serial_interrupt
-
  include vectors.fin
  include i2clib.inc
  include panic.fin
@@ -15,5 +11,6 @@
  include program.fin
  include nmra-stream.fin
  include power.fin
+ include mascan.fin
 
        end
diff --git a/detpic/mascan.asm b/detpic/mascan.asm
new file mode 100644 (file)
index 0000000..21388ae
--- /dev/null
@@ -0,0 +1,17 @@
+;======================================================================
+; MASTER - SCANNING ETC.
+
+;----------
+i2cm_intrl
+; handles i2c interrupt using i2cm_interrupt[_definite],
+; according to the rules for <something>_intrl.
+       bt_f_if0 PIR1, SSPIF
+       return
+       call    i2cm_interrupt_definite
+       intrl_handled_nostack
+
+;--------------------
+i2cmu_done
+i2cmu_read_got_byte
+i2cmu_write_next_byte
+       panic   morse_UI
diff --git a/detpic/mascan.fin b/detpic/mascan.fin
new file mode 100644 (file)
index 0000000..6696f7f
--- /dev/null
@@ -0,0 +1 @@
+ extern i2cm_intrl
index 234af1d72dfac8f31b1679cf0c28866781a5fe08..56db090688e0f501c4604407b37a62184a0a92ef 100644 (file)
@@ -47,6 +47,8 @@ X     test-sofar:ch           ; bad character received from host
 UL
 UM
 UE
+UC
+UI
 
 # Messages for i2clib, S*
 SM     i2clib:st,:sspstat,:sspcon1,:sspcon2 ; m.,i., ctrlr bad state
index d53c44f0fc5ec4fbea3f00277cbadd1bf1aec9be..b4acb469f19bd75e6f2aa53e1bb9c613aecbcdc7 100644 (file)
@@ -101,9 +101,9 @@ serial_init
        movlw_movwf_spbrg
 
        mov_lw  ~((1<<RCIP) | (1<<TXIP))
-       and_wf  IPR1            ; serial interrupts: low priority
+       and_wff IPR1            ; serial interrupts: low priority
        mov_lw  (1<<RCIE) | (1<<TXIE)
-       ior_wf  PIE1            ; serial interrupt: interrupt enable
+       ior_wff PIE1            ; serial interrupt: interrupt enable
 
        return
 
@@ -187,11 +187,9 @@ nmra_init
 ;****************************************************************************
 
 nmra_serialrx_intrl
-       bt_f_if0 PIR1,5,0        ; check whether serial recv interrupt bit set
+       bt_f_if0 PIR1,RCIF      ; check whether serial recv interrupt bit set
        return
 
-fixme need to check both interrupt handlers here and look for refies too
-
        ; serial_receive:
 
 ;      debug   'h'     ; write 'h' to serial port
@@ -272,15 +270,14 @@ not_nmra_message
        bra     serial_receive_done
 
 ;****************************************************************************
- fixme reviewed up to here for inclusion in bigger program
 
 master_interrupt_high
-       bt_f_if0 INTCON,2,0     ; check whether timer0 interrupt set
+       bt_f_if0 INTCON,TMR0IF  ; check whether timer0 interrupt set
        bra     master_interrupt_high_notnmra
        ; timer0 interrupt
        
        debug   ','     ; write 'j' to serial port
-       bc_fa   INTCON,2        ; clear interrupt-set bit
+       bc_fa   INTCON,TMR0IF   ; clear interrupt-set bit
        
        ifdef   SLOW_VERSION
        mov_lw  0x01    ; (testing)
index 7c9c1a47aba507fad5fe4f5dc5676aef557bba34..5eb052276c669f9ec7ebe7b3db6174307ed288e6 100644 (file)
@@ -27,10 +27,10 @@ vector_reset
 
        call    idlocs_init
 
-       tst_f_ifnz picno
+       bt_f_if0 idloc1,idloc1_master
        call    slave_init
 
-       tst_f_ifz picno
+       bt_f_if1 idloc1,idloc1_master
        call    master_init
 
        bs_f    INTCON, GIEH
@@ -41,7 +41,7 @@ vector_reset
        goto    backgroundloop_reversers
 
 ;----------
-general_local_init
+common_local_init
 ; called by {master,slave}_init immediately after they've init'd i2c.
        clr_f   PCLATU
        call    bitnum2bit_init
@@ -51,14 +51,8 @@ general_local_init
        call    detect_local_init
        return
 
-;----------
-i2cm_intrl
-; handles i2c interrupt using i2cm_interrupt[_definite],
-; according to the rules for <something>_intrl.
-       bt_f_if0 PIR1, SSPIF
-       return
-       call    i2cm_interrupt_definite
-       intrl_handled_nostack
+;----------------------------------------
+panic_kill_hook
 
 ;----------
 intrl_handled_routine
@@ -166,9 +160,12 @@ serialrx_bad
 
 ;--------------------
 command_ping
+command_power
+command_point
+command_crashed
        panic   morse_UC
 
-       code
+code2  code
 
 ;======================================================================
 ; SLAVE
index f09b1a5709da8ae5be083dfe898fc12777b5e477..d056fd5ed35f6dc9bfaabd14978e576045383585 100644 (file)
@@ -1,2 +1,3 @@
- extern i2cm_intrl
+ extern serialrx_generalmsg
  extern message_for_master
+ extern master_interrupt_high_notnmra