chiark / gitweb /
new pinspec stuff
authorian <ian>
Thu, 1 Dec 2005 00:27:08 +0000 (00:27 +0000)
committerian <ian>
Thu, 1 Dec 2005 00:27:08 +0000 (00:27 +0000)
detpic/common.inc

index 24a6ee2a91b881697fdf24601abb078fddbd7777..31916f4d803dcb5288a66e05a2541446cb69e651 100644 (file)
@@ -17,7 +17,60 @@ clock equ -1
 ;----------------------------------------------------------------------
 ; MACROS
 
-; debug* and ifbit[01] were here but they're cruft, really,
-;  so I have removed them -iwj
+;----------------------------------------------------------------------
+; PINSPECS stuff
+;
+; A PINSPEC is a constant 0x<bit><port> where <port> is a b c d e
+; and <port> is 0 1 2 3 4 5 6 7.  Generally p<picno>_<subsystem>_<pin>
+; are equ'd for this.
+
+ radix hex
+p0_cdu_enable          equ     5b
+p0_rs232_fcin          equ     4b
+p0_booster_shutdown    equ     2b
+p0_booster_overload    equ     1b
+p0_booster_userfault   equ     0b
+p0_spare2              equ     6d
+p0_spare1              equ     5d
+p0_rs232_fcout         equ     5c
+pall_perpicled         equ     2d
+p0_spare0              equ     0a
+p0_booster_dirn                equ     0c
+p0_booster_pwm         equ     1c
+ radix dec
+
+pin_z  macro   pinspec
+       bs_f    TRISA + (TRISB-TRISA)*((pinspec-0xa) & 15), pinspec >> 4
+       endm
+
+pin_nz macro   pinspec
+       bc_f    TRISA + (TRISB-TRISA)*((pinspec-0xa) & 15), pinspec >> 4
+       endm
+
+pin_vh macro   pinspec
+       bs_f    LATA + (LATB-LATA)*((pinspec-0xa) & 15), pinspec >> 4
+       endm
+
+pin_vl macro   pinspec
+       bc_f    LATA + (LATB-LATA)*((pinspec-0xa) & 15), pinspec >> 4
+       endm
+
+pin_h  macro   pinspec
+       pin_vh  pinspec
+       pin_nz  pinspec
+       endm
+
+pin_l  macro   pinspec
+       pin_vl  pinspec
+       pin_nz  pinspec
+       endm
+
+pin_ifh        macro   pinspec
+       bt_f_if1 PORTA + (PORTB-PORTA)*((pinspec-0xa) & 15), pinspec >> 4
+       endm
+
+pin_ifl        macro   pinspec
+       bt_f_if0 PORTA + (PORTB-PORTA)*((pinspec-0xa) & 15), pinspec >> 4
+       endm
 
 ;----------------------------------------------------------------------