1 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
---|
2 | <html xmlns="http://www.w3.org/1999/xhtml"> |
---|
3 | <head> |
---|
4 | <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> |
---|
5 | <meta http-equiv="X-UA-Compatible" content="IE=9"/> |
---|
6 | <title>w3_userio driver: Reading user IO</title> |
---|
7 | <link href="tabs.css" rel="stylesheet" type="text/css"/> |
---|
8 | <script type="text/javascript" src="jquery.js"></script> |
---|
9 | <script type="text/javascript" src="dynsections.js"></script> |
---|
10 | <link href="navtree.css" rel="stylesheet" type="text/css"/> |
---|
11 | <script type="text/javascript" src="resize.js"></script> |
---|
12 | <script type="text/javascript" src="navtree.js"></script> |
---|
13 | <script type="text/javascript"> |
---|
14 | $(document).ready(initResizable); |
---|
15 | $(window).load(resizeHeight); |
---|
16 | </script> |
---|
17 | <link href="warp_docs.css" rel="stylesheet" type="text/css" /> |
---|
18 | </head> |
---|
19 | <body> |
---|
20 | <div id="top"><!-- do not remove this div, it is closed by doxygen! --> |
---|
21 | <div id="titlearea"> |
---|
22 | <table cellspacing="0" cellpadding="0"> |
---|
23 | <tbody> |
---|
24 | <tr style="height: 56px;"> |
---|
25 | <td style="padding-left: 0.5em;"> |
---|
26 | <div id="projectname">w3_userio driver |
---|
27 | </div> |
---|
28 | <div id="projectbrief">Driver for WARP v3 user IO control core (w3_userio_axi_v1_01_a)</div> |
---|
29 | </td> |
---|
30 | </tr> |
---|
31 | </tbody> |
---|
32 | </table> |
---|
33 | </div> |
---|
34 | <!-- end header part --> |
---|
35 | <!-- Generated by Doxygen 1.8.6 --> |
---|
36 | <div id="navrow1" class="tabs"> |
---|
37 | <ul class="tablist"> |
---|
38 | <li><a href="index.html"><span>Main Page</span></a></li> |
---|
39 | <li><a href="modules.html"><span>Doc Sections</span></a></li> |
---|
40 | </ul> |
---|
41 | </div> |
---|
42 | </div><!-- top --> |
---|
43 | <div id="side-nav" class="ui-resizable side-nav-resizable"> |
---|
44 | <div id="nav-tree"> |
---|
45 | <div id="nav-tree-contents"> |
---|
46 | <div id="nav-sync" class="sync"></div> |
---|
47 | </div> |
---|
48 | </div> |
---|
49 | <div id="splitbar" style="-moz-user-select:none;" |
---|
50 | class="ui-resizable-handle"> |
---|
51 | </div> |
---|
52 | </div> |
---|
53 | <script type="text/javascript"> |
---|
54 | $(document).ready(function(){initNavTree('group__userio__read.html','');}); |
---|
55 | </script> |
---|
56 | <div id="doc-content"> |
---|
57 | <div class="header"> |
---|
58 | <div class="summary"> |
---|
59 | <a href="#define-members">Macros</a> </div> |
---|
60 | <div class="headertitle"> |
---|
61 | <div class="title">Reading user IO</div> </div> |
---|
62 | </div><!--header--> |
---|
63 | <div class="contents"> |
---|
64 | <table class="memberdecls"> |
---|
65 | <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a> |
---|
66 | Macros</h2></td></tr> |
---|
67 | <tr class="memitem:ga7a762df1c6e2e96399f69b85fd2bf3c7"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__userio__read.html#ga7a762df1c6e2e96399f69b85fd2bf3c7">userio_read_inputs</a>(baseaddr)   Xil_In32(baseaddr+W3_USERIO_SLV_REG6_OFFSET)</td></tr> |
---|
68 | <tr class="separator:ga7a762df1c6e2e96399f69b85fd2bf3c7"><td class="memSeparator" colspan="2"> </td></tr> |
---|
69 | <tr class="memitem:ga9546bbc50ada0064e5b60f6e415307b4"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__userio__read.html#ga9546bbc50ada0064e5b60f6e415307b4">userio_read_hexdisp_left</a>(baseaddr)   Xil_In32(baseaddr+W3_USERIO_SLV_REG1_OFFSET)</td></tr> |
---|
70 | <tr class="separator:ga9546bbc50ada0064e5b60f6e415307b4"><td class="memSeparator" colspan="2"> </td></tr> |
---|
71 | <tr class="memitem:ga4a3c43f87c66c0f6c494002e1410f8d0"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__userio__read.html#ga4a3c43f87c66c0f6c494002e1410f8d0">userio_read_hexdisp_right</a>(baseaddr)   Xil_In32(baseaddr+W3_USERIO_SLV_REG2_OFFSET)</td></tr> |
---|
72 | <tr class="separator:ga4a3c43f87c66c0f6c494002e1410f8d0"><td class="memSeparator" colspan="2"> </td></tr> |
---|
73 | <tr class="memitem:ga1146a1dd46e048d676b229495d045d20"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__userio__read.html#ga1146a1dd46e048d676b229495d045d20">userio_read_leds_red</a>(baseaddr)   Xil_In32(baseaddr+W3_USERIO_SLV_REG3_OFFSET)</td></tr> |
---|
74 | <tr class="separator:ga1146a1dd46e048d676b229495d045d20"><td class="memSeparator" colspan="2"> </td></tr> |
---|
75 | <tr class="memitem:ga8eed12664e6898de085ac5b1a540b2ec"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__userio__read.html#ga8eed12664e6898de085ac5b1a540b2ec">userio_read_leds_green</a>(baseaddr)   Xil_In32(baseaddr+W3_USERIO_SLV_REG4_OFFSET)</td></tr> |
---|
76 | <tr class="separator:ga8eed12664e6898de085ac5b1a540b2ec"><td class="memSeparator" colspan="2"> </td></tr> |
---|
77 | <tr class="memitem:ga3365e44e794cb9bd3ad4d5ea008bd9b5"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="group__userio__read.html#ga3365e44e794cb9bd3ad4d5ea008bd9b5">userio_read_leds_rf</a>(baseaddr)   Xil_In32(baseaddr+W3_USERIO_SLV_REG5_OFFSET)</td></tr> |
---|
78 | <tr class="separator:ga3365e44e794cb9bd3ad4d5ea008bd9b5"><td class="memSeparator" colspan="2"> </td></tr> |
---|
79 | </table> |
---|
80 | <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> |
---|
81 | <p><b>Note on output state</b>: The macros for reading the current state of user outputs (LEDs, hex displays) can only access outputs configured for software control. Attempts to read the state of outputs configured for hardware control (i.e. outputs with corresponding CTRLSRC_* asserted in control reg) will not reflect actual output state.</p> |
---|
82 | <p>Examples: </p> |
---|
83 | <div class="fragment"><div class="line"><span class="comment">//Assumes user code sets USERIO_BASEADDR to base address of w3_userio core, as set in xparameters.h</span></div> |
---|
84 | <div class="line"></div> |
---|
85 | <div class="line"><span class="comment">//Check if middle push button is being pressed</span></div> |
---|
86 | <div class="line"><span class="keywordflow">if</span>(<a class="code" href="group__userio__read.html#ga7a762df1c6e2e96399f69b85fd2bf3c7">userio_read_inputs</a>(USERIO_BASEADDR) & <a class="code" href="group__userio__masks.html#ga5700f48813a31ba42e0ef7551e01eda5">W3_USERIO_PB_M</a>) {...}</div> |
---|
87 | <div class="line"></div> |
---|
88 | <div class="line"><span class="comment">//Read 4-bit DIP switch value</span></div> |
---|
89 | <div class="line">u8 x = <a class="code" href="group__userio__read.html#ga7a762df1c6e2e96399f69b85fd2bf3c7">userio_read_inputs</a>(USERIO_BASEADDR) & <a class="code" href="group__userio__masks.html#gae7aaaea5be62e2f341d68252d1ffa8c9">W3_USERIO_DIPSW</a>;</div> |
---|
90 | </div><!-- fragment --> <h2 class="groupheader">Macro Definition Documentation</h2> |
---|
91 | <a class="anchor" id="ga7a762df1c6e2e96399f69b85fd2bf3c7"></a> |
---|
92 | <div class="memitem"> |
---|
93 | <div class="memproto"> |
---|
94 | <table class="memname"> |
---|
95 | <tr> |
---|
96 | <td class="memname">#define userio_read_inputs</td> |
---|
97 | <td>(</td> |
---|
98 | <td class="paramtype"> </td> |
---|
99 | <td class="paramname">baseaddr</td><td>)</td> |
---|
100 | <td>   Xil_In32(baseaddr+W3_USERIO_SLV_REG6_OFFSET)</td> |
---|
101 | </tr> |
---|
102 | </table> |
---|
103 | </div><div class="memdoc"> |
---|
104 | |
---|
105 | <p>Returns the current state of the user inputs (buttons and DIP switch) </p> |
---|
106 | |
---|
107 | </div> |
---|
108 | </div> |
---|
109 | <a class="anchor" id="ga9546bbc50ada0064e5b60f6e415307b4"></a> |
---|
110 | <div class="memitem"> |
---|
111 | <div class="memproto"> |
---|
112 | <table class="memname"> |
---|
113 | <tr> |
---|
114 | <td class="memname">#define userio_read_hexdisp_left</td> |
---|
115 | <td>(</td> |
---|
116 | <td class="paramtype"> </td> |
---|
117 | <td class="paramname">baseaddr</td><td>)</td> |
---|
118 | <td>   Xil_In32(baseaddr+W3_USERIO_SLV_REG1_OFFSET)</td> |
---|
119 | </tr> |
---|
120 | </table> |
---|
121 | </div><div class="memdoc"> |
---|
122 | |
---|
123 | <p>Returns the current state of the left hex display outputs. </p> |
---|
124 | |
---|
125 | </div> |
---|
126 | </div> |
---|
127 | <a class="anchor" id="ga4a3c43f87c66c0f6c494002e1410f8d0"></a> |
---|
128 | <div class="memitem"> |
---|
129 | <div class="memproto"> |
---|
130 | <table class="memname"> |
---|
131 | <tr> |
---|
132 | <td class="memname">#define userio_read_hexdisp_right</td> |
---|
133 | <td>(</td> |
---|
134 | <td class="paramtype"> </td> |
---|
135 | <td class="paramname">baseaddr</td><td>)</td> |
---|
136 | <td>   Xil_In32(baseaddr+W3_USERIO_SLV_REG2_OFFSET)</td> |
---|
137 | </tr> |
---|
138 | </table> |
---|
139 | </div><div class="memdoc"> |
---|
140 | |
---|
141 | <p>Returns the current state of the right hex display outputs. </p> |
---|
142 | |
---|
143 | </div> |
---|
144 | </div> |
---|
145 | <a class="anchor" id="ga1146a1dd46e048d676b229495d045d20"></a> |
---|
146 | <div class="memitem"> |
---|
147 | <div class="memproto"> |
---|
148 | <table class="memname"> |
---|
149 | <tr> |
---|
150 | <td class="memname">#define userio_read_leds_red</td> |
---|
151 | <td>(</td> |
---|
152 | <td class="paramtype"> </td> |
---|
153 | <td class="paramname">baseaddr</td><td>)</td> |
---|
154 | <td>   Xil_In32(baseaddr+W3_USERIO_SLV_REG3_OFFSET)</td> |
---|
155 | </tr> |
---|
156 | </table> |
---|
157 | </div><div class="memdoc"> |
---|
158 | |
---|
159 | <p>Returns the current state of the red user LEDs. </p> |
---|
160 | |
---|
161 | </div> |
---|
162 | </div> |
---|
163 | <a class="anchor" id="ga8eed12664e6898de085ac5b1a540b2ec"></a> |
---|
164 | <div class="memitem"> |
---|
165 | <div class="memproto"> |
---|
166 | <table class="memname"> |
---|
167 | <tr> |
---|
168 | <td class="memname">#define userio_read_leds_green</td> |
---|
169 | <td>(</td> |
---|
170 | <td class="paramtype"> </td> |
---|
171 | <td class="paramname">baseaddr</td><td>)</td> |
---|
172 | <td>   Xil_In32(baseaddr+W3_USERIO_SLV_REG4_OFFSET)</td> |
---|
173 | </tr> |
---|
174 | </table> |
---|
175 | </div><div class="memdoc"> |
---|
176 | |
---|
177 | <p>Returns the current state of the green user LEDs. </p> |
---|
178 | |
---|
179 | </div> |
---|
180 | </div> |
---|
181 | <a class="anchor" id="ga3365e44e794cb9bd3ad4d5ea008bd9b5"></a> |
---|
182 | <div class="memitem"> |
---|
183 | <div class="memproto"> |
---|
184 | <table class="memname"> |
---|
185 | <tr> |
---|
186 | <td class="memname">#define userio_read_leds_rf</td> |
---|
187 | <td>(</td> |
---|
188 | <td class="paramtype"> </td> |
---|
189 | <td class="paramname">baseaddr</td><td>)</td> |
---|
190 | <td>   Xil_In32(baseaddr+W3_USERIO_SLV_REG5_OFFSET)</td> |
---|
191 | </tr> |
---|
192 | </table> |
---|
193 | </div><div class="memdoc"> |
---|
194 | |
---|
195 | <p>Returns the current state of the RF LEDs. </p> |
---|
196 | |
---|
197 | </div> |
---|
198 | </div> |
---|
199 | </div><!-- contents --> |
---|
200 | </div><!-- doc-content --> |
---|
201 | <!-- start footer part --> |
---|
202 | <div id="nav-path" class="navpath"><!-- id is needed for treeview function! --> |
---|
203 | <ul> |
---|
204 | <li class="footer">Generated on Wed Feb 19 2014 10:41:11 for w3_userio driver by doxygen v1.8.6</li> |
---|
205 | </ul> |
---|
206 | </div> |
---|
207 | </body> |
---|
208 | </html> |
---|