OpenCores
URL https://opencores.org/ocsvn/usb_fpga_2_14/usb_fpga_2_14/trunk

Subversion Repositories usb_fpga_2_14

[/] [usb_fpga_2_14/] [trunk/] [docs/] [c/] [html/] [ztex_8h.html] - Blame information for rev 2

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 ZTEX
<!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
<meta name="generator" content="Doxygen 1.8.8"/>
7
<title>ZTEX core API for C: ztex.h File Reference</title>
8
<link href="tabs.css" rel="stylesheet" type="text/css"/>
9
<script type="text/javascript" src="jquery.js"></script>
10
<script type="text/javascript" src="dynsections.js"></script>
11
<link href="navtree.css" rel="stylesheet" type="text/css"/>
12
<script type="text/javascript" src="resize.js"></script>
13
<script type="text/javascript" src="navtree.js"></script>
14
<script type="text/javascript">
15
  $(document).ready(initResizable);
16
  $(window).load(resizeHeight);
17
</script>
18
<link href="search/search.css" rel="stylesheet" type="text/css"/>
19
<script type="text/javascript" src="search/search.js"></script>
20
<script type="text/javascript">
21
  $(document).ready(function() { searchBox.OnSelectItem(0); });
22
</script>
23
<link href="doxygen.css" rel="stylesheet" type="text/css" />
24
</head>
25
<body>
26
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
27
<div id="titlearea">
28
<table cellspacing="0" cellpadding="0">
29
 <tbody>
30
 <tr style="height: 56px;">
31
  <td style="padding-left: 0.5em;">
32
   <div id="projectname">ZTEX core API for C
33
   </div>
34
   <div id="projectbrief">Host software API for ZTEX FPGA Boards for C</div>
35
  </td>
36
 </tr>
37
 </tbody>
38
</table>
39
</div>
40
<!-- end header part -->
41
<!-- Generated by Doxygen 1.8.8 -->
42
<script type="text/javascript">
43
var searchBox = new SearchBox("searchBox", "search",false,'Search');
44
</script>
45
  <div id="navrow1" class="tabs">
46
    <ul class="tablist">
47
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
48
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
49
      <li class="current"><a href="files.html"><span>Files</span></a></li>
50
      <li>
51
        <div id="MSearchBox" class="MSearchBoxInactive">
52
        <span class="left">
53
          <img id="MSearchSelect" src="search/mag_sel.png"
54
               onmouseover="return searchBox.OnSearchSelectShow()"
55
               onmouseout="return searchBox.OnSearchSelectHide()"
56
               alt=""/>
57
          <input type="text" id="MSearchField" value="Search" accesskey="S"
58
               onfocus="searchBox.OnSearchFieldFocus(true)"
59
               onblur="searchBox.OnSearchFieldFocus(false)"
60
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
61
          </span><span class="right">
62
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
63
          </span>
64
        </div>
65
      </li>
66
    </ul>
67
  </div>
68
  <div id="navrow2" class="tabs2">
69
    <ul class="tablist">
70
      <li><a href="files.html"><span>File&#160;List</span></a></li>
71
      <li><a href="globals.html"><span>Globals</span></a></li>
72
    </ul>
73
  </div>
74
</div><!-- top -->
75
<div id="side-nav" class="ui-resizable side-nav-resizable">
76
  <div id="nav-tree">
77
    <div id="nav-tree-contents">
78
      <div id="nav-sync" class="sync"></div>
79
    </div>
80
  </div>
81
  <div id="splitbar" style="-moz-user-select:none;"
82
       class="ui-resizable-handle">
83
  </div>
84
</div>
85
<script type="text/javascript">
86
$(document).ready(function(){initNavTree('ztex_8h.html','');});
87
</script>
88
<div id="doc-content">
89
<!-- window showing the filter options -->
90
<div id="MSearchSelectWindow"
91
     onmouseover="return searchBox.OnSearchSelectShow()"
92
     onmouseout="return searchBox.OnSearchSelectHide()"
93
     onkeydown="return searchBox.OnSearchSelectKey(event)">
94
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a></div>
95
 
96
<!-- iframe showing the search results (closed by default) -->
97
<div id="MSearchResultsWindow">
98
<iframe src="javascript:void(0)" frameborder="0"
99
        name="MSearchResults" id="MSearchResults">
100
</iframe>
101
</div>
102
 
103
<div class="header">
104
  <div class="summary">
105
<a href="#nested-classes">Data Structures</a> &#124;
106
<a href="#func-members">Functions</a>  </div>
107
  <div class="headertitle">
108
<div class="title">ztex.h File Reference</div>  </div>
109
</div><!--header-->
110
<div class="contents">
111
 
112
<p>The Core API for C.
113
<a href="#details">More...</a></p>
114
<div class="textblock"><code>#include &lt;sys/types.h&gt;</code><br />
115
<code>#include &lt;libusb-1.0/libusb.h&gt;</code><br />
116
</div>
117
<p><a href="ztex_8h_source.html">Go to the source code of this file.</a></p>
118
<table class="memberdecls">
119
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
120
Data Structures</h2></td></tr>
121
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structztex__device__info.html">ztex_device_info</a></td></tr>
122
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A structure with information about the device.  <a href="structztex__device__info.html#details">More...</a><br /></td></tr>
123
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
124
</table><table class="memberdecls">
125
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
126
Functions</h2></td></tr>
127
<tr class="memitem:a8ee4c93eef23fbc8044347a7ce351cf5"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ztex_8h.html#a8ee4c93eef23fbc8044347a7ce351cf5">ztex_scan_bus</a> (char *sbuf, int sbuflen, libusb_device **devs, int op, int id_vendor, int id_product, int busnum, int devnum, char *sn, char *ps)</td></tr>
128
<tr class="memdesc:a8ee4c93eef23fbc8044347a7ce351cf5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Scans the bus and performs certain operations on it.  <a href="#a8ee4c93eef23fbc8044347a7ce351cf5">More...</a><br /></td></tr>
129
<tr class="separator:a8ee4c93eef23fbc8044347a7ce351cf5"><td class="memSeparator" colspan="2">&#160;</td></tr>
130
<tr class="memitem:a28cef9d1e168b782b03579c4a59505d3"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ztex_8h.html#a28cef9d1e168b782b03579c4a59505d3">ztex_get_device_info</a> (libusb_device_handle *handle, <a class="el" href="structztex__device__info.html">ztex_device_info</a> *info)</td></tr>
131
<tr class="memdesc:a28cef9d1e168b782b03579c4a59505d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get device information.  <a href="#a28cef9d1e168b782b03579c4a59505d3">More...</a><br /></td></tr>
132
<tr class="separator:a28cef9d1e168b782b03579c4a59505d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
133
<tr class="memitem:aa64c1cefed076a0f48cafa1882593c79"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ztex_8h.html#aa64c1cefed076a0f48cafa1882593c79">ztex_print_device_info</a> (char *sbuf, int sbuflen, const <a class="el" href="structztex__device__info.html">ztex_device_info</a> *info)</td></tr>
134
<tr class="memdesc:aa64c1cefed076a0f48cafa1882593c79"><td class="mdescLeft">&#160;</td><td class="mdescRight">Print device info to a string.  <a href="#aa64c1cefed076a0f48cafa1882593c79">More...</a><br /></td></tr>
135
<tr class="separator:aa64c1cefed076a0f48cafa1882593c79"><td class="memSeparator" colspan="2">&#160;</td></tr>
136
<tr class="memitem:ae679e66864c90211a3d8b4670a64d497"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ztex_8h.html#ae679e66864c90211a3d8b4670a64d497">ztex_get_fpga_config</a> (libusb_device_handle *handle)</td></tr>
137
<tr class="memdesc:ae679e66864c90211a3d8b4670a64d497"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get device information.  <a href="#ae679e66864c90211a3d8b4670a64d497">More...</a><br /></td></tr>
138
<tr class="separator:ae679e66864c90211a3d8b4670a64d497"><td class="memSeparator" colspan="2">&#160;</td></tr>
139
<tr class="memitem:a74c89f5aa7e3754d88f1dc95846b5cbe"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ztex_8h.html#a74c89f5aa7e3754d88f1dc95846b5cbe">ztex_find_bitstream</a> (const <a class="el" href="structztex__device__info.html">ztex_device_info</a> *info, const char *path, const char *name)</td></tr>
140
<tr class="memdesc:a74c89f5aa7e3754d88f1dc95846b5cbe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Search for bitstream at standard locations.  <a href="#a74c89f5aa7e3754d88f1dc95846b5cbe">More...</a><br /></td></tr>
141
<tr class="separator:a74c89f5aa7e3754d88f1dc95846b5cbe"><td class="memSeparator" colspan="2">&#160;</td></tr>
142
<tr class="memitem:a1861aa844f2ad3cacf37bbde0f9d6bcb"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ztex_8h.html#a1861aa844f2ad3cacf37bbde0f9d6bcb">ztex_upload_bitstream</a> (char *sbuf, int sbuflen, libusb_device_handle *handle, const <a class="el" href="structztex__device__info.html">ztex_device_info</a> *info, FILE *fd, int bs)</td></tr>
143
<tr class="memdesc:a1861aa844f2ad3cacf37bbde0f9d6bcb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Upload bitstream to volatile memory.  <a href="#a1861aa844f2ad3cacf37bbde0f9d6bcb">More...</a><br /></td></tr>
144
<tr class="separator:a1861aa844f2ad3cacf37bbde0f9d6bcb"><td class="memSeparator" colspan="2">&#160;</td></tr>
145
<tr class="memitem:a4f0de67505fd5f34a15dc14cecf9d44f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ztex_8h.html#a4f0de67505fd5f34a15dc14cecf9d44f">ztex_default_gpio_ctl</a> (libusb_device_handle *handle, int mask, int value)</td></tr>
146
<tr class="memdesc:a4f0de67505fd5f34a15dc14cecf9d44f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads and modifies the 4 GPIO pins.  <a href="#a4f0de67505fd5f34a15dc14cecf9d44f">More...</a><br /></td></tr>
147
<tr class="separator:a4f0de67505fd5f34a15dc14cecf9d44f"><td class="memSeparator" colspan="2">&#160;</td></tr>
148
<tr class="memitem:a42bfe7c8c78b72c747531c370003edb9"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ztex_8h.html#a42bfe7c8c78b72c747531c370003edb9">ztex_default_reset</a> (libusb_device_handle *handle, int leave)</td></tr>
149
<tr class="memdesc:a42bfe7c8c78b72c747531c370003edb9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assert the reset signal.  <a href="#a42bfe7c8c78b72c747531c370003edb9">More...</a><br /></td></tr>
150
<tr class="separator:a42bfe7c8c78b72c747531c370003edb9"><td class="memSeparator" colspan="2">&#160;</td></tr>
151
<tr class="memitem:a21cdf044d5aa86885512f5ff9ae5bc3a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ztex_8h.html#a21cdf044d5aa86885512f5ff9ae5bc3a">ztex_default_lsi_set1</a> (libusb_device_handle *handle, uint8_t addr, uint32_t val)</td></tr>
152
<tr class="memdesc:a21cdf044d5aa86885512f5ff9ae5bc3a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send data to the low speed interface of default firmwares.  <a href="#a21cdf044d5aa86885512f5ff9ae5bc3a">More...</a><br /></td></tr>
153
<tr class="separator:a21cdf044d5aa86885512f5ff9ae5bc3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
154
<tr class="memitem:a3e23422eb1fedebf51335b4c4d199b8c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ztex_8h.html#a3e23422eb1fedebf51335b4c4d199b8c">ztex_default_lsi_set2</a> (libusb_device_handle *handle, uint8_t addr, const uint32_t *val, int length)</td></tr>
155
<tr class="memdesc:a3e23422eb1fedebf51335b4c4d199b8c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send data to the low speed interface of default firmwares.  <a href="#a3e23422eb1fedebf51335b4c4d199b8c">More...</a><br /></td></tr>
156
<tr class="separator:a3e23422eb1fedebf51335b4c4d199b8c"><td class="memSeparator" colspan="2">&#160;</td></tr>
157
<tr class="memitem:a7ee53b6af6ce8d7d468c52f9dd1fac6c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ztex_8h.html#a7ee53b6af6ce8d7d468c52f9dd1fac6c">ztex_default_lsi_set3</a> (libusb_device_handle *handle, const uint8_t *addr, const uint32_t *val, int length)</td></tr>
158
<tr class="memdesc:a7ee53b6af6ce8d7d468c52f9dd1fac6c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Send data to the low speed interface of default firmwares.  <a href="#a7ee53b6af6ce8d7d468c52f9dd1fac6c">More...</a><br /></td></tr>
159
<tr class="separator:a7ee53b6af6ce8d7d468c52f9dd1fac6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
160
<tr class="memitem:a7d3f8a60e0a4d07d363d9ef7200f7ca2"><td class="memItemLeft" align="right" valign="top">int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ztex_8h.html#a7d3f8a60e0a4d07d363d9ef7200f7ca2">ztex_default_lsi_get1</a> (libusb_device_handle *handle, uint8_t addr)</td></tr>
161
<tr class="memdesc:a7d3f8a60e0a4d07d363d9ef7200f7ca2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read data from the low speed interface of default firmwares.  <a href="#a7d3f8a60e0a4d07d363d9ef7200f7ca2">More...</a><br /></td></tr>
162
<tr class="separator:a7d3f8a60e0a4d07d363d9ef7200f7ca2"><td class="memSeparator" colspan="2">&#160;</td></tr>
163
<tr class="memitem:aae9072dbf0828d9782abdd87114e1119"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ztex_8h.html#aae9072dbf0828d9782abdd87114e1119">ztex_default_lsi_get2</a> (libusb_device_handle *handle, uint8_t addr, uint32_t *val, int length)</td></tr>
164
<tr class="memdesc:aae9072dbf0828d9782abdd87114e1119"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read data from the low speed interface of default firmwares.  <a href="#aae9072dbf0828d9782abdd87114e1119">More...</a><br /></td></tr>
165
<tr class="separator:aae9072dbf0828d9782abdd87114e1119"><td class="memSeparator" colspan="2">&#160;</td></tr>
166
</table>
167
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
168
<div class="textblock"><p>The Core API for C. </p>
169
<p>An Introduction can be found in the <a href="index.html">Mainpage</a> </p>
170
</div><h2 class="groupheader">Function Documentation</h2>
171
<a class="anchor" id="a4f0de67505fd5f34a15dc14cecf9d44f"></a>
172
<div class="memitem">
173
<div class="memproto">
174
      <table class="memname">
175
        <tr>
176
          <td class="memname">int ztex_default_gpio_ctl </td>
177
          <td>(</td>
178
          <td class="paramtype">libusb_device_handle *&#160;</td>
179
          <td class="paramname"><em>handle</em>, </td>
180
        </tr>
181
        <tr>
182
          <td class="paramkey"></td>
183
          <td></td>
184
          <td class="paramtype">int&#160;</td>
185
          <td class="paramname"><em>mask</em>, </td>
186
        </tr>
187
        <tr>
188
          <td class="paramkey"></td>
189
          <td></td>
190
          <td class="paramtype">int&#160;</td>
191
          <td class="paramname"><em>value</em>&#160;</td>
192
        </tr>
193
        <tr>
194
          <td></td>
195
          <td>)</td>
196
          <td></td><td></td>
197
        </tr>
198
      </table>
199
</div><div class="memdoc">
200
 
201
<p>Reads and modifies the 4 GPIO pins. </p>
202
<dl class="params"><dt>Parameters</dt><dd>
203
  <table class="params">
204
    <tr><td class="paramname">handle</td><td>device handle </td></tr>
205
    <tr><td class="paramname">mask</td><td>Bitmask for the pins which are modified. 1 means a bit is set. Only the lowest 4 bits are significant. </td></tr>
206
    <tr><td class="paramname">value</td><td>The bit values which are to be set. Only the lowest 4 bits are significant. </td></tr>
207
  </table>
208
  </dd>
209
</dl>
210
<dl class="section return"><dt>Returns</dt><dd>current values of the GPIO's or &lt;0 if an USB error occurred </dd></dl>
211
 
212
</div>
213
</div>
214
<a class="anchor" id="a7d3f8a60e0a4d07d363d9ef7200f7ca2"></a>
215
<div class="memitem">
216
<div class="memproto">
217
      <table class="memname">
218
        <tr>
219
          <td class="memname">int64_t ztex_default_lsi_get1 </td>
220
          <td>(</td>
221
          <td class="paramtype">libusb_device_handle *&#160;</td>
222
          <td class="paramname"><em>handle</em>, </td>
223
        </tr>
224
        <tr>
225
          <td class="paramkey"></td>
226
          <td></td>
227
          <td class="paramtype">uint8_t&#160;</td>
228
          <td class="paramname"><em>addr</em>&#160;</td>
229
        </tr>
230
        <tr>
231
          <td></td>
232
          <td>)</td>
233
          <td></td><td></td>
234
        </tr>
235
      </table>
236
</div><div class="memdoc">
237
 
238
<p>Read data from the low speed interface of default firmwares. </p>
239
<p>It's implemented as a SRAM-like interface and is typically used used to read/write configuration data, debug information or other things. This function reads one register. </p><dl class="params"><dt>Parameters</dt><dd>
240
  <table class="params">
241
    <tr><td class="paramname">handle</td><td>device handle </td></tr>
242
    <tr><td class="paramname">addr</td><td>The address. Valid values are 0 to 255. </td></tr>
243
  </table>
244
  </dd>
245
</dl>
246
<dl class="section return"><dt>Returns</dt><dd>The unsigned register value (32 Bits) or &lt;0 if an error occurred. </dd></dl>
247
 
248
</div>
249
</div>
250
<a class="anchor" id="aae9072dbf0828d9782abdd87114e1119"></a>
251
<div class="memitem">
252
<div class="memproto">
253
      <table class="memname">
254
        <tr>
255
          <td class="memname">int ztex_default_lsi_get2 </td>
256
          <td>(</td>
257
          <td class="paramtype">libusb_device_handle *&#160;</td>
258
          <td class="paramname"><em>handle</em>, </td>
259
        </tr>
260
        <tr>
261
          <td class="paramkey"></td>
262
          <td></td>
263
          <td class="paramtype">uint8_t&#160;</td>
264
          <td class="paramname"><em>addr</em>, </td>
265
        </tr>
266
        <tr>
267
          <td class="paramkey"></td>
268
          <td></td>
269
          <td class="paramtype">uint32_t *&#160;</td>
270
          <td class="paramname"><em>val</em>, </td>
271
        </tr>
272
        <tr>
273
          <td class="paramkey"></td>
274
          <td></td>
275
          <td class="paramtype">int&#160;</td>
276
          <td class="paramname"><em>length</em>&#160;</td>
277
        </tr>
278
        <tr>
279
          <td></td>
280
          <td>)</td>
281
          <td></td><td></td>
282
        </tr>
283
      </table>
284
</div><div class="memdoc">
285
 
286
<p>Read data from the low speed interface of default firmwares. </p>
287
<p>It's implemented as a SRAM-like interface and is typically used used to read/write configuration data, debug information or other things. This function reads a sequential set of registers. </p><dl class="params"><dt>Parameters</dt><dd>
288
  <table class="params">
289
    <tr><td class="paramname">handle</td><td>device handle </td></tr>
290
    <tr><td class="paramname">addr</td><td>The start address. Valid values are 0 to 255. Address is wrapped from 255 to 0. </td></tr>
291
    <tr><td class="paramname">val</td><td>The array where to store the register data with a word width of 32 Bit. </td></tr>
292
    <tr><td class="paramname">length</td><td>The amount of register to be read. </td></tr>
293
  </table>
294
  </dd>
295
</dl>
296
<dl class="section return"><dt>Returns</dt><dd>0 on success or &lt;0 if an USB error occurred </dd></dl>
297
 
298
</div>
299
</div>
300
<a class="anchor" id="a21cdf044d5aa86885512f5ff9ae5bc3a"></a>
301
<div class="memitem">
302
<div class="memproto">
303
      <table class="memname">
304
        <tr>
305
          <td class="memname">int ztex_default_lsi_set1 </td>
306
          <td>(</td>
307
          <td class="paramtype">libusb_device_handle *&#160;</td>
308
          <td class="paramname"><em>handle</em>, </td>
309
        </tr>
310
        <tr>
311
          <td class="paramkey"></td>
312
          <td></td>
313
          <td class="paramtype">uint8_t&#160;</td>
314
          <td class="paramname"><em>addr</em>, </td>
315
        </tr>
316
        <tr>
317
          <td class="paramkey"></td>
318
          <td></td>
319
          <td class="paramtype">uint32_t&#160;</td>
320
          <td class="paramname"><em>val</em>&#160;</td>
321
        </tr>
322
        <tr>
323
          <td></td>
324
          <td>)</td>
325
          <td></td><td></td>
326
        </tr>
327
      </table>
328
</div><div class="memdoc">
329
 
330
<p>Send data to the low speed interface of default firmwares. </p>
331
<p>It's implemented as a SRAM-like interface and is typically used used to read/write configuration data, debug information or other things. This function sets one register. </p><dl class="params"><dt>Parameters</dt><dd>
332
  <table class="params">
333
    <tr><td class="paramname">handle</td><td>device handle </td></tr>
334
    <tr><td class="paramname">addr</td><td>The address. Valid values are 0 to 255. </td></tr>
335
    <tr><td class="paramname">val</td><td>The register data with a width of 32 bit. </td></tr>
336
  </table>
337
  </dd>
338
</dl>
339
<dl class="section return"><dt>Returns</dt><dd>0 on success or &lt;0 if an USB error occurred </dd></dl>
340
 
341
</div>
342
</div>
343
<a class="anchor" id="a3e23422eb1fedebf51335b4c4d199b8c"></a>
344
<div class="memitem">
345
<div class="memproto">
346
      <table class="memname">
347
        <tr>
348
          <td class="memname">int ztex_default_lsi_set2 </td>
349
          <td>(</td>
350
          <td class="paramtype">libusb_device_handle *&#160;</td>
351
          <td class="paramname"><em>handle</em>, </td>
352
        </tr>
353
        <tr>
354
          <td class="paramkey"></td>
355
          <td></td>
356
          <td class="paramtype">uint8_t&#160;</td>
357
          <td class="paramname"><em>addr</em>, </td>
358
        </tr>
359
        <tr>
360
          <td class="paramkey"></td>
361
          <td></td>
362
          <td class="paramtype">const uint32_t *&#160;</td>
363
          <td class="paramname"><em>val</em>, </td>
364
        </tr>
365
        <tr>
366
          <td class="paramkey"></td>
367
          <td></td>
368
          <td class="paramtype">int&#160;</td>
369
          <td class="paramname"><em>length</em>&#160;</td>
370
        </tr>
371
        <tr>
372
          <td></td>
373
          <td>)</td>
374
          <td></td><td></td>
375
        </tr>
376
      </table>
377
</div><div class="memdoc">
378
 
379
<p>Send data to the low speed interface of default firmwares. </p>
380
<p>It's implemented as a SRAM-like interface and is typically used used to read/write configuration data, debug information or other things. This function sets a sequential set of registers. </p><dl class="params"><dt>Parameters</dt><dd>
381
  <table class="params">
382
    <tr><td class="paramname">handle</td><td>device handle </td></tr>
383
    <tr><td class="paramname">addr</td><td>The starting address address. Valid values are 0 to 255. Address is wrapped from 255 to 0. </td></tr>
384
    <tr><td class="paramname">val</td><td>The register data array with a word width of 32 bit. </td></tr>
385
    <tr><td class="paramname">length</td><td>The length of the data array. </td></tr>
386
  </table>
387
  </dd>
388
</dl>
389
<dl class="section return"><dt>Returns</dt><dd>0 on success or &lt;0 if an USB error occurred </dd></dl>
390
 
391
</div>
392
</div>
393
<a class="anchor" id="a7ee53b6af6ce8d7d468c52f9dd1fac6c"></a>
394
<div class="memitem">
395
<div class="memproto">
396
      <table class="memname">
397
        <tr>
398
          <td class="memname">int ztex_default_lsi_set3 </td>
399
          <td>(</td>
400
          <td class="paramtype">libusb_device_handle *&#160;</td>
401
          <td class="paramname"><em>handle</em>, </td>
402
        </tr>
403
        <tr>
404
          <td class="paramkey"></td>
405
          <td></td>
406
          <td class="paramtype">const uint8_t *&#160;</td>
407
          <td class="paramname"><em>addr</em>, </td>
408
        </tr>
409
        <tr>
410
          <td class="paramkey"></td>
411
          <td></td>
412
          <td class="paramtype">const uint32_t *&#160;</td>
413
          <td class="paramname"><em>val</em>, </td>
414
        </tr>
415
        <tr>
416
          <td class="paramkey"></td>
417
          <td></td>
418
          <td class="paramtype">int&#160;</td>
419
          <td class="paramname"><em>length</em>&#160;</td>
420
        </tr>
421
        <tr>
422
          <td></td>
423
          <td>)</td>
424
          <td></td><td></td>
425
        </tr>
426
      </table>
427
</div><div class="memdoc">
428
 
429
<p>Send data to the low speed interface of default firmwares. </p>
430
<p>It's implemented as a SRAM-like interface and is typically used used to read/write configuration data, debug information or other things. This function sets a sequential set of registers. </p><dl class="params"><dt>Parameters</dt><dd>
431
  <table class="params">
432
    <tr><td class="paramname">handle</td><td>device handle </td></tr>
433
    <tr><td class="paramname">addr</td><td>The register addresses. Valid values are 0 to 255. </td></tr>
434
    <tr><td class="paramname">val</td><td>The register data array with a word width of 32 bit. </td></tr>
435
    <tr><td class="paramname">length</td><td>The length of the data array. </td></tr>
436
  </table>
437
  </dd>
438
</dl>
439
<dl class="section return"><dt>Returns</dt><dd>0 on success or &lt;0 if an USB error occurred </dd></dl>
440
 
441
</div>
442
</div>
443
<a class="anchor" id="a42bfe7c8c78b72c747531c370003edb9"></a>
444
<div class="memitem">
445
<div class="memproto">
446
      <table class="memname">
447
        <tr>
448
          <td class="memname">int ztex_default_reset </td>
449
          <td>(</td>
450
          <td class="paramtype">libusb_device_handle *&#160;</td>
451
          <td class="paramname"><em>handle</em>, </td>
452
        </tr>
453
        <tr>
454
          <td class="paramkey"></td>
455
          <td></td>
456
          <td class="paramtype">int&#160;</td>
457
          <td class="paramname"><em>leave</em>&#160;</td>
458
        </tr>
459
        <tr>
460
          <td></td>
461
          <td>)</td>
462
          <td></td><td></td>
463
        </tr>
464
      </table>
465
</div><div class="memdoc">
466
 
467
<p>Assert the reset signal. </p>
468
<dl class="params"><dt>Parameters</dt><dd>
469
  <table class="params">
470
    <tr><td class="paramname">handle</td><td>device handle </td></tr>
471
    <tr><td class="paramname">leave</td><td>if &gt;0, the signal is left active. Otherwise only a short impulse is sent. </td></tr>
472
  </table>
473
  </dd>
474
</dl>
475
<dl class="section return"><dt>Returns</dt><dd>0 on success or &lt;0 if an USB error occurred </dd></dl>
476
 
477
</div>
478
</div>
479
<a class="anchor" id="a74c89f5aa7e3754d88f1dc95846b5cbe"></a>
480
<div class="memitem">
481
<div class="memproto">
482
      <table class="memname">
483
        <tr>
484
          <td class="memname">char* ztex_find_bitstream </td>
485
          <td>(</td>
486
          <td class="paramtype">const <a class="el" href="structztex__device__info.html">ztex_device_info</a> *&#160;</td>
487
          <td class="paramname"><em>info</em>, </td>
488
        </tr>
489
        <tr>
490
          <td class="paramkey"></td>
491
          <td></td>
492
          <td class="paramtype">const char *&#160;</td>
493
          <td class="paramname"><em>path</em>, </td>
494
        </tr>
495
        <tr>
496
          <td class="paramkey"></td>
497
          <td></td>
498
          <td class="paramtype">const char *&#160;</td>
499
          <td class="paramname"><em>name</em>&#160;</td>
500
        </tr>
501
        <tr>
502
          <td></td>
503
          <td>)</td>
504
          <td></td><td></td>
505
        </tr>
506
      </table>
507
</div><div class="memdoc">
508
 
509
<p>Search for bitstream at standard locations. </p>
510
<dl class="params"><dt>Parameters</dt><dd>
511
  <table class="params">
512
    <tr><td class="paramname">info</td><td>device information, used for determining locations of the SDK examples, ignored if NULL </td></tr>
513
    <tr><td class="paramname">path</td><td>additional path to search, ignored if NULL </td></tr>
514
    <tr><td class="paramname">name</td><td>without suffix '.bit' </td></tr>
515
  </table>
516
  </dd>
517
</dl>
518
<dl class="section return"><dt>Returns</dt><dd>the file name or NULL no file found </dd></dl>
519
 
520
</div>
521
</div>
522
<a class="anchor" id="a28cef9d1e168b782b03579c4a59505d3"></a>
523
<div class="memitem">
524
<div class="memproto">
525
      <table class="memname">
526
        <tr>
527
          <td class="memname">int ztex_get_device_info </td>
528
          <td>(</td>
529
          <td class="paramtype">libusb_device_handle *&#160;</td>
530
          <td class="paramname"><em>handle</em>, </td>
531
        </tr>
532
        <tr>
533
          <td class="paramkey"></td>
534
          <td></td>
535
          <td class="paramtype"><a class="el" href="structztex__device__info.html">ztex_device_info</a> *&#160;</td>
536
          <td class="paramname"><em>info</em>&#160;</td>
537
        </tr>
538
        <tr>
539
          <td></td>
540
          <td>)</td>
541
          <td></td><td></td>
542
        </tr>
543
      </table>
544
</div><div class="memdoc">
545
 
546
<p>Get device information. </p>
547
<dl class="params"><dt>Parameters</dt><dd>
548
  <table class="params">
549
    <tr><td class="paramname">handle</td><td>device handle </td></tr>
550
    <tr><td class="paramname">info</td><td>structure where device information are stored. </td></tr>
551
  </table>
552
  </dd>
553
</dl>
554
<dl class="section return"><dt>Returns</dt><dd>the error code or 0, if no error occurs. </dd></dl>
555
 
556
</div>
557
</div>
558
<a class="anchor" id="ae679e66864c90211a3d8b4670a64d497"></a>
559
<div class="memitem">
560
<div class="memproto">
561
      <table class="memname">
562
        <tr>
563
          <td class="memname">int ztex_get_fpga_config </td>
564
          <td>(</td>
565
          <td class="paramtype">libusb_device_handle *&#160;</td>
566
          <td class="paramname"><em>handle</em></td><td>)</td>
567
          <td></td>
568
        </tr>
569
      </table>
570
</div><div class="memdoc">
571
 
572
<p>Get device information. </p>
573
<dl class="params"><dt>Parameters</dt><dd>
574
  <table class="params">
575
    <tr><td class="paramname">handle</td><td>device handle </td></tr>
576
  </table>
577
  </dd>
578
</dl>
579
<dl class="section return"><dt>Returns</dt><dd>&lt;0 if an USB error occurred, 0 if unconfigured, 1 if configured </dd></dl>
580
 
581
</div>
582
</div>
583
<a class="anchor" id="aa64c1cefed076a0f48cafa1882593c79"></a>
584
<div class="memitem">
585
<div class="memproto">
586
      <table class="memname">
587
        <tr>
588
          <td class="memname">int ztex_print_device_info </td>
589
          <td>(</td>
590
          <td class="paramtype">char *&#160;</td>
591
          <td class="paramname"><em>sbuf</em>, </td>
592
        </tr>
593
        <tr>
594
          <td class="paramkey"></td>
595
          <td></td>
596
          <td class="paramtype">int&#160;</td>
597
          <td class="paramname"><em>sbuflen</em>, </td>
598
        </tr>
599
        <tr>
600
          <td class="paramkey"></td>
601
          <td></td>
602
          <td class="paramtype">const <a class="el" href="structztex__device__info.html">ztex_device_info</a> *&#160;</td>
603
          <td class="paramname"><em>info</em>&#160;</td>
604
        </tr>
605
        <tr>
606
          <td></td>
607
          <td>)</td>
608
          <td></td><td></td>
609
        </tr>
610
      </table>
611
</div><div class="memdoc">
612
 
613
<p>Print device info to a string. </p>
614
<p>The output may be truncated and is always null-terminated. </p><dl class="params"><dt>Parameters</dt><dd>
615
  <table class="params">
616
    <tr><td class="paramname">sbuf</td><td>string buffer for output </td></tr>
617
    <tr><td class="paramname">sbuflen</td><td>length of the string buffer </td></tr>
618
    <tr><td class="paramname">info</td><td>structure where device information are stored. </td></tr>
619
  </table>
620
  </dd>
621
</dl>
622
<dl class="section return"><dt>Returns</dt><dd>length of the output string (may be truncated) </dd></dl>
623
 
624
</div>
625
</div>
626
<a class="anchor" id="a8ee4c93eef23fbc8044347a7ce351cf5"></a>
627
<div class="memitem">
628
<div class="memproto">
629
      <table class="memname">
630
        <tr>
631
          <td class="memname">int ztex_scan_bus </td>
632
          <td>(</td>
633
          <td class="paramtype">char *&#160;</td>
634
          <td class="paramname"><em>sbuf</em>, </td>
635
        </tr>
636
        <tr>
637
          <td class="paramkey"></td>
638
          <td></td>
639
          <td class="paramtype">int&#160;</td>
640
          <td class="paramname"><em>sbuflen</em>, </td>
641
        </tr>
642
        <tr>
643
          <td class="paramkey"></td>
644
          <td></td>
645
          <td class="paramtype">libusb_device **&#160;</td>
646
          <td class="paramname"><em>devs</em>, </td>
647
        </tr>
648
        <tr>
649
          <td class="paramkey"></td>
650
          <td></td>
651
          <td class="paramtype">int&#160;</td>
652
          <td class="paramname"><em>op</em>, </td>
653
        </tr>
654
        <tr>
655
          <td class="paramkey"></td>
656
          <td></td>
657
          <td class="paramtype">int&#160;</td>
658
          <td class="paramname"><em>id_vendor</em>, </td>
659
        </tr>
660
        <tr>
661
          <td class="paramkey"></td>
662
          <td></td>
663
          <td class="paramtype">int&#160;</td>
664
          <td class="paramname"><em>id_product</em>, </td>
665
        </tr>
666
        <tr>
667
          <td class="paramkey"></td>
668
          <td></td>
669
          <td class="paramtype">int&#160;</td>
670
          <td class="paramname"><em>busnum</em>, </td>
671
        </tr>
672
        <tr>
673
          <td class="paramkey"></td>
674
          <td></td>
675
          <td class="paramtype">int&#160;</td>
676
          <td class="paramname"><em>devnum</em>, </td>
677
        </tr>
678
        <tr>
679
          <td class="paramkey"></td>
680
          <td></td>
681
          <td class="paramtype">char *&#160;</td>
682
          <td class="paramname"><em>sn</em>, </td>
683
        </tr>
684
        <tr>
685
          <td class="paramkey"></td>
686
          <td></td>
687
          <td class="paramtype">char *&#160;</td>
688
          <td class="paramname"><em>ps</em>&#160;</td>
689
        </tr>
690
        <tr>
691
          <td></td>
692
          <td>)</td>
693
          <td></td><td></td>
694
        </tr>
695
      </table>
696
</div><div class="memdoc">
697
 
698
<p>Scans the bus and performs certain operations on it. </p>
699
<dl class="params"><dt>Parameters</dt><dd>
700
  <table class="params">
701
    <tr><td class="paramname">devs</td><td>A null terminated list of devices </td></tr>
702
    <tr><td class="paramname">op</td><td>Operation to perform. &lt;0: print bus and ignore filters, 0: find a device using the filters, &gt;0 print all devices matching the filters </td></tr>
703
    <tr><td class="paramname">id_vendor,id_product</td><td>Filter by USB ID's that specify the device, ignored if negative </td></tr>
704
    <tr><td class="paramname">busnum,devnum</td><td>Filter by bus number and device address, ignored if negative </td></tr>
705
    <tr><td class="paramname">sn</td><td>Filter by serial number, ignored if NULL </td></tr>
706
    <tr><td class="paramname">ps</td><td>Filter by product string, ignored if NULL </td></tr>
707
  </table>
708
  </dd>
709
</dl>
710
<dl class="section return"><dt>Returns</dt><dd>The device index if filter result unique, otherwise -1</dd></dl>
711
<dl class="params"><dt>Parameters</dt><dd>
712
  <table class="params">
713
    <tr><td class="paramname">devs</td><td>A null terminated list of devices </td></tr>
714
    <tr><td class="paramname">op</td><td>Operation to perform. &lt;0: print bus and ignore filters, 0: find a device using the filters, &gt;0 print all devices matching the filters </td></tr>
715
    <tr><td class="paramname">id_vendor,id_product</td><td>Filter by USB ID's that specify the device, ignored if negative </td></tr>
716
    <tr><td class="paramname">busnum,devnum</td><td>Filter by bus number and device address, ignored if negative </td></tr>
717
    <tr><td class="paramname">sn</td><td>Filter by serial number, ignored if NULL </td></tr>
718
    <tr><td class="paramname">ps</td><td>Filter by product string, ignored if NULL </td></tr>
719
    <tr><td class="paramname">sbuf</td><td>string buffer for output </td></tr>
720
    <tr><td class="paramname">sbuflen</td><td>length of the string buffer </td></tr>
721
  </table>
722
  </dd>
723
</dl>
724
<dl class="section return"><dt>Returns</dt><dd>The device index if filter result unique, otherwise -1 </dd></dl>
725
 
726
</div>
727
</div>
728
<a class="anchor" id="a1861aa844f2ad3cacf37bbde0f9d6bcb"></a>
729
<div class="memitem">
730
<div class="memproto">
731
      <table class="memname">
732
        <tr>
733
          <td class="memname">int ztex_upload_bitstream </td>
734
          <td>(</td>
735
          <td class="paramtype">char *&#160;</td>
736
          <td class="paramname"><em>sbuf</em>, </td>
737
        </tr>
738
        <tr>
739
          <td class="paramkey"></td>
740
          <td></td>
741
          <td class="paramtype">int&#160;</td>
742
          <td class="paramname"><em>sbuflen</em>, </td>
743
        </tr>
744
        <tr>
745
          <td class="paramkey"></td>
746
          <td></td>
747
          <td class="paramtype">libusb_device_handle *&#160;</td>
748
          <td class="paramname"><em>handle</em>, </td>
749
        </tr>
750
        <tr>
751
          <td class="paramkey"></td>
752
          <td></td>
753
          <td class="paramtype">const <a class="el" href="structztex__device__info.html">ztex_device_info</a> *&#160;</td>
754
          <td class="paramname"><em>info</em>, </td>
755
        </tr>
756
        <tr>
757
          <td class="paramkey"></td>
758
          <td></td>
759
          <td class="paramtype">FILE *&#160;</td>
760
          <td class="paramname"><em>fd</em>, </td>
761
        </tr>
762
        <tr>
763
          <td class="paramkey"></td>
764
          <td></td>
765
          <td class="paramtype">int&#160;</td>
766
          <td class="paramname"><em>bs</em>&#160;</td>
767
        </tr>
768
        <tr>
769
          <td></td>
770
          <td>)</td>
771
          <td></td><td></td>
772
        </tr>
773
      </table>
774
</div><div class="memdoc">
775
 
776
<p>Upload bitstream to volatile memory. </p>
777
<dl class="params"><dt>Parameters</dt><dd>
778
  <table class="params">
779
    <tr><td class="paramname">sbuf</td><td>string buffer for error messages </td></tr>
780
    <tr><td class="paramname">sbuflen</td><td>length of the string buffer </td></tr>
781
    <tr><td class="paramname">handle</td><td>device handle </td></tr>
782
    <tr><td class="paramname">info</td><td>device information, used for determining high speed configuration settings, ignored if NULL </td></tr>
783
    <tr><td class="paramname">fd</td><td>File to read from. I/O errors are ignored. </td></tr>
784
    <tr><td class="paramname">bs</td><td>0: disable bit swapping, 1: enable bit swapping, all other values: automatic detection of bit order. </td></tr>
785
  </table>
786
  </dd>
787
</dl>
788
<dl class="section return"><dt>Returns</dt><dd>-1 if an error occurred, otherwise 0. Error messages are printed to sbuf. </dd></dl>
789
 
790
</div>
791
</div>
792
</div><!-- contents -->
793
</div><!-- doc-content -->
794
<!-- start footer part -->
795
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
796
  <ul>
797
    <li class="navelem"><a class="el" href="dir_0f883cfafa81589f73fbd50f77c9be78.html">capi</a></li><li class="navelem"><a class="el" href="dir_811541c6271c17b41af027698e62c386.html">c</a></li><li class="navelem"><a class="el" href="ztex_8h.html">ztex.h</a></li>
798
    <li class="footer">Generated on Wed Mar 22 2017 19:03:08 for ZTEX core API for C by
799
    <a href="http://www.doxygen.org/index.html">
800
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.8 </li>
801
  </ul>
802
</div>
803
</body>
804
</html>

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.