chiark / gitweb /
pt0reverse; changed docs re FSR[12]
[trains.git] / detpic / common.inc
1 ;======================================================================
2 ; common.inc
3 ; common macros & equs etc.
4 ; generally include this at the top of each file.
5
6 ;----------------------------------------------------------------------
7 ; COMMON INCLUDES and BOILERPLATE
8         include         /usr/share/gputils/header/p18f458.inc
9         radix           dec 
10         include         panic.inc
11         include         morse+auto.inc
12         include         ../iwjpictest/insn-aliases.inc
13 clock equ -1
14         include         ../iwjpictest/clockvaries.inc
15         include         variables+vars.inc
16
17 ;----------------------------------------------------------------------
18 ; Common conventions for function register notation:
19 ; NOTE THAT THIS IS WRONG FIXME FIXME
20 AND CHECK IT FIXME
21 ;                       Master                  Slave
22 ;   W                   Trashed                 Trashed
23 ;   STATUS              Trashed                 Trashed
24 ;   BSR                 Not used                Not used
25 ;   TBLPTR*,TABLAT      Reserved for ISR/init   Not used except init
26 ;   FSR0                Reserved for ISR/init   Reserved for ISR/init
27 ;   FSR1, FSR2          Trashed                 Reserved for I2C/init
28
29 ;----------------------------------------------------------------------
30 ; MACROS
31
32 ;----------------------------------------------------------------------
33 ; PINSPECS stuff
34 ;
35 ; A PINSPEC is a constant 0x<bit><port> where <port> is a b c d e
36 ; and <port> is 0 1 2 3 4 5 6 7.  Generally p<picno>_<subsystem>_<pin>
37 ; are equ'd for this.
38
39  radix hex
40 p0_cdu_enable           equ     5b
41 p0_rs232_fcin           equ     4b
42 p0_booster_shutdown     equ     2b
43 p0_booster_overload     equ     1b
44 p0_booster_userfault    equ     0b
45 p0_spare2               equ     6d
46 p0_spare1               equ     5d
47 p0_rs232_fcout          equ     5c
48 pall_perpicled          equ     2d
49 pall_pt0reverse         equ     7b
50 p0_spare0               equ     0a
51 p0_booster_dirn         equ     0c
52 p0_booster_pwm          equ     1c
53  radix dec
54
55 pin_z   macro   pinspec
56         bs_f    TRISA + (TRISB-TRISA)*((pinspec-0xa) & 15), pinspec >> 4
57         endm
58
59 pin_nz  macro   pinspec
60         bc_f    TRISA + (TRISB-TRISA)*((pinspec-0xa) & 15), pinspec >> 4
61         endm
62
63 pin_vh  macro   pinspec
64         bs_f    LATA + (LATB-LATA)*((pinspec-0xa) & 15), pinspec >> 4
65         endm
66
67 pin_vl  macro   pinspec
68         bc_f    LATA + (LATB-LATA)*((pinspec-0xa) & 15), pinspec >> 4
69         endm
70
71 pin_h   macro   pinspec
72         pin_vh  pinspec
73         pin_nz  pinspec
74         endm
75
76 pin_l   macro   pinspec
77         pin_vl  pinspec
78         pin_nz  pinspec
79         endm
80
81 pin_ifh macro   pinspec
82         bt_f_if1 PORTA + (PORTB-PORTA)*((pinspec-0xa) & 15), pinspec >> 4
83         endm
84
85 pin_ifl macro   pinspec
86         bt_f_if0 PORTA + (PORTB-PORTA)*((pinspec-0xa) & 15), pinspec >> 4
87         endm
88
89 ;----------------------------------------------------------------------