From: ian Date: Thu, 1 Dec 2005 00:27:08 +0000 (+0000) Subject: new pinspec stuff X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ijackson/git?a=commitdiff_plain;h=572e579dc53d4f8a27f6b9361d9b41837048be4c;p=trains.git new pinspec stuff --- diff --git a/detpic/common.inc b/detpic/common.inc index 24a6ee2..31916f4 100644 --- a/detpic/common.inc +++ b/detpic/common.inc @@ -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 where is a b c d e +; and is 0 1 2 3 4 5 6 7. Generally p__ +; 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 ;----------------------------------------------------------------------