libpruio  0.2
Input/Output driver for digital/analog lines on Beagleboard hardware
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
pruio_out.bi
Go to the documentation of this file.
1 /'* \file pruio_out.bi
2 \brief Pre-defined macros to print out the subsystems configurations.
3 
4 This file contains macros to print out the configuration of the
5 subsystems handled by libpruio. The destructors runs the pruio__init.p
6 code, which collects the register context of each subsystem. These
7 convenience macros can print out all that register context.
8 
9 '/
10 
11 '* Output the context of a single register.
12 #DEFINE REG(_R_) RIGHT(" " & #_R_, 17) & ": " & HEX(.##_R_, SIZEOF(.##_R_) * 2)
13 '* Output the start of a set.
14 #DEFINE DEV(_N_) !"\n" & _N_ & _
15  " (DeAd: " & HEX(.DeAd, 8) & _
16  ", ClAd: " & HEX(.ClAd, 8) & _
17  ", ClVa: " & HEX(.ClVa, 8) & ")"
18 
19 '* Output the CPU ball configuration.
20 #MACRO BALL_OUT(OUT_TYPE)
21  ?!"\nControl Module (DeAd: " & HEX(.OUT_TYPE->DeAd, 8) & ")"
22  FOR i AS INTEGER = 0 TO UBOUND(.OUT_TYPE->Value)
23  ?" " & *.get_config(i)
24  NEXT
25 #ENDMACRO
26 
27 '* Output the configuration of all GPIO subsystems.
28 #MACRO GPIO_OUT(OUT_TYPE)
29  FOR n AS INTEGER = 0 TO UBOUND(.Gpio->OUT_TYPE)
30  WITH *.Gpio->OUT_TYPE (n)
31  ?DEV("GPIO-" & n)
32  ?REG(REVISION)
33  IF 0 = .ClAd THEN ?" --> subsystem not handled " & *IIF(.REVISION, @"(is up)", @"(is down)") : CONTINUE FOR
34  IF 0 = .REVISION THEN ?" --> wake up failed" : CONTINUE FOR
35 
36  ?REG(SYSCONFIG)
37  ?REG(EOI)
38  ?REG(IRQSTATUS_RAW_0)
39  ?REG(IRQSTATUS_RAW_1)
40  ?REG(IRQSTATUS_0)
41  ?REG(IRQSTATUS_1)
42  ?REG(IRQSTATUS_SET_0)
43  ?REG(IRQSTATUS_SET_1)
44  ?REG(IRQSTATUS_CLR_0)
45  ?REG(IRQSTATUS_CLR_1)
46  ?REG(IRQWAKEN_0)
47  ?REG(IRQWAKEN_1)
48  ?REG(SYSSTATUS)
49  ?REG(CTRL)
50  ?REG(OE)
51  ?REG(DATAIN)
52  ?REG(DATAOUT)
53  ?REG(LEVELDETECT0)
54  ?REG(LEVELDETECT1)
55  ?REG(RISINGDETECT)
56  ?REG(FALLINGDETECT)
57  ?REG(DEBOUNCENABLE)
58  ?REG(DEBOUNCINGTIME)
59  ?REG(CLEARDATAOUT)
60  ?REG(SETDATAOUT)
61  END WITH
62  NEXT
63 #ENDMACRO
64 
65 '* Output the configuration of all PWMSS subsystems.
66 #MACRO PWMSS_OUT(OUT_TYPE)
67  FOR n AS INTEGER = 0 TO UBOUND(.PwmSS->OUT_TYPE)
68  WITH *.PwmSS->OUT_TYPE (n)
69  ?DEV("PWMSS-" & n)
70  ?REG(IDVER)
71  IF 0 = .ClAd THEN ?" --> subsystem not handled " & *IIF(.IDVER, @"(is up)", @"(is down)") : CONTINUE FOR
72  IF 0 = .IDVER THEN ?" --> wake up failed" : CONTINUE FOR
73 
74  ?REG(SYSCONFIG)
75  ?REG(CLKCONFIG)
76  ?REG(CLKSTATUS)
77  ?" eCAP"
78  ?REG(TSCTR)
79  ?REG(CTRPHS)
80  ?REG(CAP1)
81  ?REG(CAP2)
82  ?REG(CAP3)
83  ?REG(CAP4)
84  ?REG(ECCTL1)
85  ?REG(ECCTL2)
86  ?REG(ECEINT)
87  ?REG(ECFLG)
88  ?REG(ECCLR)
89  ?REG(ECFRC)
90  ?REG(CAP_REV)
91  ?" QEP"
92  ?REG(QPOSCNT)
93  ?REG(QPOSINIT)
94  ?REG(QPOSMAX)
95  ?REG(QPOSCMP)
96  ?REG(QPOSILAT)
97  ?REG(QPOSSLAT)
98  ?REG(QPOSLAT)
99  ?REG(QUTMR)
100  ?REG(QUPRD)
101  ?REG(QWDTMR)
102  ?REG(QWDPRD)
103  ?REG(QDECCTL)
104  ?REG(QEPCTL)
105  ?REG(QCASCTL)
106  ?REG(QPOSCTL)
107  ?REG(QEINT)
108  ?REG(QFLG)
109  ?REG(QCLR)
110  ?REG(QFRC)
111  ?REG(QEPSTS)
112  ?REG(QCTMR)
113  ?REG(QCPRD)
114  ?REG(QCTMRLAT)
115  ?REG(QCPRDLAT)
116  ?REG(QEP_REV)
117  ?" ePWM"
118  ?REG(TBCTL)
119  ?REG(TBSTS)
120  ?REG(TBPHSHR)
121  ?REG(TBPHS)
122  ?REG(TBCNT)
123  ?REG(TBPRD)
124  ?REG(CMPCTL)
125  ?REG(CMPAHR)
126  ?REG(CMPA)
127  ?REG(CMPB)
128  ?REG(AQCTLA)
129  ?REG(AQCTLB)
130  ?REG(AQSFRC)
131  ?REG(AQCSFRC)
132  ?REG(DBCTL)
133  ?REG(DBRED)
134  ?REG(DBFED)
135  ?REG(TZSEL)
136  ?REG(TZCTL)
137  ?REG(TZEINT)
138  ?REG(TZFLG)
139  ?REG(TZCLR)
140  ?REG(TZFRC)
141  ?REG(ETSEL)
142  ?REG(ETPS)
143  ?REG(ETFLG)
144  ?REG(ETCLR)
145  ?REG(ETFRC)
146  ?REG(PCCTL)
147  END WITH
148  NEXT
149 #ENDMACRO
150 
151 '* Output the configuration of the ADC subsystem.
152 #MACRO ADC_OUT(OUT_TYPE)
153  DO
154  WITH *.Adc->OUT_TYPE
155  ?DEV("ADC")
156  ?REG(REVISION)
157  IF 0 = .ClAd THEN ?" --> subsystem not handled " & *IIF(.REVISION, @"(is up)", @"(is down)") : EXIT DO
158  IF 0 = .REVISION THEN ?" --> wake up failed" : EXIT DO
159 
160  ?REG(SYSCONFIG)
161  ?REG(IRQSTATUS_RAW)
162  ?REG(IRQSTATUS)
163  ?REG(IRQENABLE_SET)
164  ?REG(IRQENABLE_CLR)
165  ?REG(IRQWAKEUP)
166  ?REG(DMAENABLE_SET)
167  ?REG(DMAENABLE_CLR)
168  ?REG(CTRL)
169  ?REG(ADCSTAT)
170  ?REG(ADCRANGE)
171  ?REG(ADC_CLKDIV)
172  ?REG(ADC_MISC)
173  ?REG(STEPENABLE)
174  ?REG(IDLECONFIG)
175  ?" CHARGE_STEP: " & HEX(.St_p( 0).Confg, 8), HEX(.St_p( 0).Delay, 8)
176  FOR i AS INTEGER = 1 TO UBOUND(.St_p)
177  WITH .St_p(i)
178  ?" STEP-" & RIGHT("0" & i, 2) & ": " & HEX(.Confg, 8), HEX(.Delay, 8)
179  END WITH
180  NEXT
181  ?REG(FIFO0COUNT)
182  ?REG(FIFO0THRESHOLD)
183  ?REG(DMA0REQ)
184  ?REG(FIFO1COUNT)
185  ?REG(FIFO1THRESHOLD)
186  ?REG(DMA1REQ)
187  END WITH
188  LOOP UNTIL 1
189 #ENDMACRO
190