Project

General

Profile

Statistics
| Revision:

root / trunk / docs / libdragonfly / group__usb.html @ 1371

History | View | Annotate | Download (19.2 KB)

1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3
<title>libdragonfly: USB Input / Output</title>
4
<link href="doxygen.css" rel="stylesheet" type="text/css">
5
<link href="tabs.css" rel="stylesheet" type="text/css">
6
</head><body>
7
<!-- Generated by Doxygen 1.5.5 -->
8
<div class="navigation" id="top">
9
  <div class="tabs">
10
    <ul>
11
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
12
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
13
      <li><a href="modules.html"><span>Modules</span></a></li>
14
      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
15
      <li><a href="files.html"><span>Files</span></a></li>
16
    </ul>
17
  </div>
18
</div>
19
<div class="contents">
20
<h1>USB Input / Output</h1>Functions for USB input / output.  
21
<a href="#_details">More...</a><table border="0" cellpadding="0" cellspacing="0">
22
<tr><td></td></tr>
23
<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
24
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g378065b4d75b008228ee41cc335474a7"></a><!-- doxytag: member="usb::USB_BAUD" ref="g378065b4d75b008228ee41cc335474a7" args="" -->
25
#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usb.html#g378065b4d75b008228ee41cc335474a7">USB_BAUD</a>&nbsp;&nbsp;&nbsp;115200</td></tr>
26

    
27
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">the USB baud rate <br></td></tr>
28
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
29
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usb.html#gddfbdb66f507ffcd08b4496531ed0a3d">usb_init</a> (void)</td></tr>
30

    
31
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialize the USB.  <a href="#gddfbdb66f507ffcd08b4496531ed0a3d"></a><br></td></tr>
32
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usb.html#g3ee898cfe59d05c428c56021c2ccf946">usb_putc</a> (char c)</td></tr>
33

    
34
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Print a character to USB.  <a href="#g3ee898cfe59d05c428c56021c2ccf946"></a><br></td></tr>
35
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usb.html#g053a5d887edfe8e8be543ec53a3f60ae">usb_getc</a> (void)</td></tr>
36

    
37
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Read a character from USB.  <a href="#g053a5d887edfe8e8be543ec53a3f60ae"></a><br></td></tr>
38
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usb.html#g6b1209b19e7fd2bbedc7407e0218453c">usb_getc_nb</a> (char *c)</td></tr>
39

    
40
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Read a character from USB without blocking.  <a href="#g6b1209b19e7fd2bbedc7407e0218453c"></a><br></td></tr>
41
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usb.html#g6e101f68856f272f67923c4fb35a99e0">usb_puts</a> (char *s)</td></tr>
42

    
43
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Print a string to USB.  <a href="#g6e101f68856f272f67923c4fb35a99e0"></a><br></td></tr>
44
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usb.html#g774d8b902cae279696c53502168ade07">usb_puts_P</a> (PGM_P s)</td></tr>
45

    
46
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Print a string from program space to USB.  <a href="#g774d8b902cae279696c53502168ade07"></a><br></td></tr>
47
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usb.html#gcd371dedbff10f0c52dca4b3b7af9e3d">usb_puti</a> (int value)</td></tr>
48

    
49
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Print an integer to USB.  <a href="#gcd371dedbff10f0c52dca4b3b7af9e3d"></a><br></td></tr>
50
<tr><td class="memItemLeft" nowrap align="right" valign="top">uint8_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usb.html#g94d47853c33da12c71dec155f819cfeb">hex_digit</a> (uint8_t value)</td></tr>
51

    
52
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Determine a hexadecimal digit.  <a href="#g94d47853c33da12c71dec155f819cfeb"></a><br></td></tr>
53
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usb.html#g8e7e31f1e45721ac032267b13d0f759b">usb_puth16</a> (uint16_t value)</td></tr>
54

    
55
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Print a fixed width hexadecimal representation to USB.  <a href="#g8e7e31f1e45721ac032267b13d0f759b"></a><br></td></tr>
56
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__usb.html#g21462df541911e0611416e85be6ea34d">usb_puth8</a> (uint8_t value)</td></tr>
57

    
58
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Print a fixed width hexadecimal representation to USB.  <a href="#g21462df541911e0611416e85be6ea34d"></a><br></td></tr>
59
</table>
60
<hr><a name="_details"></a><h2>Detailed Description</h2>
61
Functions for USB input / output. 
62
<p>
63
Low level functions for USB input and output. <hr><h2>Function Documentation</h2>
64
<a class="anchor" name="g94d47853c33da12c71dec155f819cfeb"></a><!-- doxytag: member="serial.h::hex_digit" ref="g94d47853c33da12c71dec155f819cfeb" args="(uint8_t value)" -->
65
<div class="memitem">
66
<div class="memproto">
67
      <table class="memname">
68
        <tr>
69
          <td class="memname">uint8_t hex_digit           </td>
70
          <td>(</td>
71
          <td class="paramtype">uint8_t&nbsp;</td>
72
          <td class="paramname"> <em>value</em>          </td>
73
          <td>&nbsp;)&nbsp;</td>
74
          <td width="100%"></td>
75
        </tr>
76
      </table>
77
</div>
78
<div class="memdoc">
79

    
80
<p>
81
Determine a hexadecimal digit. 
82
<p>
83
Determines a hexadecimal digit in ASCII code.<p>
84
<dl compact><dt><b>Parameters:</b></dt><dd>
85
  <table border="0" cellspacing="2" cellpadding="0">
86
    <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>the value of the digit (0&lt;=value&lt;=15)</td></tr>
87
  </table>
88
</dl>
89
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the hexadecimal digit in ASCII code, or '?' if the input is invalid. </dd></dl>
90

    
91
<p>Referenced by <a class="el" href="serial_8c-source.html#l00328">usb_puth16()</a>, and <a class="el" href="serial_8c-source.html#l00345">usb_puth8()</a>.</p>
92

    
93
</div>
94
</div><p>
95
<a class="anchor" name="g053a5d887edfe8e8be543ec53a3f60ae"></a><!-- doxytag: member="serial.h::usb_getc" ref="g053a5d887edfe8e8be543ec53a3f60ae" args="(void)" -->
96
<div class="memitem">
97
<div class="memproto">
98
      <table class="memname">
99
        <tr>
100
          <td class="memname">int usb_getc           </td>
101
          <td>(</td>
102
          <td class="paramtype">void&nbsp;</td>
103
          <td class="paramname">          </td>
104
          <td>&nbsp;)&nbsp;</td>
105
          <td width="100%"></td>
106
        </tr>
107
      </table>
108
</div>
109
<div class="memdoc">
110

    
111
<p>
112
Read a character from USB. 
113
<p>
114
Returns the first character in the buffer received from USB. This function blocks execution until a character has been received. xbee_init must be called before this function may be used.<p>
115
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the first character in the usb buffer</dd></dl>
116
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__usb.html#gddfbdb66f507ffcd08b4496531ed0a3d" title="Initialize the USB.">usb_init</a>, <a class="el" href="group__usb.html#g6b1209b19e7fd2bbedc7407e0218453c" title="Read a character from USB without blocking.">usb_getc_nb</a> </dd></dl>
117

    
118
<p>Referenced by <a class="el" href="serial_8c-source.html#l00055">usb_init()</a>.</p>
119

    
120
</div>
121
</div><p>
122
<a class="anchor" name="g6b1209b19e7fd2bbedc7407e0218453c"></a><!-- doxytag: member="serial.h::usb_getc_nb" ref="g6b1209b19e7fd2bbedc7407e0218453c" args="(char *c)" -->
123
<div class="memitem">
124
<div class="memproto">
125
      <table class="memname">
126
        <tr>
127
          <td class="memname">int usb_getc_nb           </td>
128
          <td>(</td>
129
          <td class="paramtype">char *&nbsp;</td>
130
          <td class="paramname"> <em>c</em>          </td>
131
          <td>&nbsp;)&nbsp;</td>
132
          <td width="100%"></td>
133
        </tr>
134
      </table>
135
</div>
136
<div class="memdoc">
137

    
138
<p>
139
Read a character from USB without blocking. 
140
<p>
141
Non blocking version of usb_getc. If a character is present in the buffer, it is returned, otherwise -1 is returned immediately. usb_init must be called before this function can be used.<p>
142
<dl compact><dt><b>Parameters:</b></dt><dd>
143
  <table border="0" cellspacing="2" cellpadding="0">
144
    <tr><td valign="top"></td><td valign="top"><em>c</em>&nbsp;</td><td>the received character. This will be set if a character has been received.</td></tr>
145
  </table>
146
</dl>
147
<dl class="return" compact><dt><b>Returns:</b></dt><dd>-1 if no character is available, 0 otherwise</dd></dl>
148
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__usb.html#gddfbdb66f507ffcd08b4496531ed0a3d" title="Initialize the USB.">usb_init</a>, <a class="el" href="group__usb.html#g053a5d887edfe8e8be543ec53a3f60ae" title="Read a character from USB.">usb_getc</a> </dd></dl>
149

    
150
</div>
151
</div><p>
152
<a class="anchor" name="gddfbdb66f507ffcd08b4496531ed0a3d"></a><!-- doxytag: member="serial.h::usb_init" ref="gddfbdb66f507ffcd08b4496531ed0a3d" args="(void)" -->
153
<div class="memitem">
154
<div class="memproto">
155
      <table class="memname">
156
        <tr>
157
          <td class="memname">void usb_init           </td>
158
          <td>(</td>
159
          <td class="paramtype">void&nbsp;</td>
160
          <td class="paramname">          </td>
161
          <td>&nbsp;)&nbsp;</td>
162
          <td width="100%"></td>
163
        </tr>
164
      </table>
165
</div>
166
<div class="memdoc">
167

    
168
<p>
169
Initialize the USB. 
170
<p>
171
Initializes communication over the USB serial port. This must be called before any other usb function may be used. 
172
<p>References <a class="el" href="serial_8c-source.html#l00043">usb_fd</a>, <a class="el" href="serial_8c-source.html#l00188">usb_getc()</a>, and <a class="el" href="serial_8c-source.html#l00124">usb_putc()</a>.</p>
173

    
174
<p>Referenced by <a class="el" href="dragonfly__lib_8c-source.html#l00068">dragonfly_init()</a>.</p>
175

    
176
</div>
177
</div><p>
178
<a class="anchor" name="g3ee898cfe59d05c428c56021c2ccf946"></a><!-- doxytag: member="serial.h::usb_putc" ref="g3ee898cfe59d05c428c56021c2ccf946" args="(char c)" -->
179
<div class="memitem">
180
<div class="memproto">
181
      <table class="memname">
182
        <tr>
183
          <td class="memname">int usb_putc           </td>
184
          <td>(</td>
185
          <td class="paramtype">char&nbsp;</td>
186
          <td class="paramname"> <em>c</em>          </td>
187
          <td>&nbsp;)&nbsp;</td>
188
          <td width="100%"></td>
189
        </tr>
190
      </table>
191
</div>
192
<div class="memdoc">
193

    
194
<p>
195
Print a character to USB. 
196
<p>
197
Sends a character over USB.<p>
198
<dl compact><dt><b>Parameters:</b></dt><dd>
199
  <table border="0" cellspacing="2" cellpadding="0">
200
    <tr><td valign="top"></td><td valign="top"><em>c</em>&nbsp;</td><td>the character to send </td></tr>
201
  </table>
202
</dl>
203
<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 for success, nonzero for failure </dd></dl>
204

    
205
<p>Referenced by <a class="el" href="serial_8c-source.html#l00055">usb_init()</a>, <a class="el" href="serial_8c-source.html#l00328">usb_puth16()</a>, <a class="el" href="serial_8c-source.html#l00345">usb_puth8()</a>, <a class="el" href="serial_8c-source.html#l00279">usb_puti()</a>, <a class="el" href="serial_8c-source.html#l00154">usb_puts()</a>, and <a class="el" href="serial_8c-source.html#l00168">usb_puts_P()</a>.</p>
206

    
207
</div>
208
</div><p>
209
<a class="anchor" name="g8e7e31f1e45721ac032267b13d0f759b"></a><!-- doxytag: member="serial.h::usb_puth16" ref="g8e7e31f1e45721ac032267b13d0f759b" args="(uint16_t value)" -->
210
<div class="memitem">
211
<div class="memproto">
212
      <table class="memname">
213
        <tr>
214
          <td class="memname">void usb_puth16           </td>
215
          <td>(</td>
216
          <td class="paramtype">uint16_t&nbsp;</td>
217
          <td class="paramname"> <em>value</em>          </td>
218
          <td>&nbsp;)&nbsp;</td>
219
          <td width="100%"></td>
220
        </tr>
221
      </table>
222
</div>
223
<div class="memdoc">
224

    
225
<p>
226
Print a fixed width hexadecimal representation to USB. 
227
<p>
228
Prints a fixed width hexadecimal representation of an unsigned 16 bit integer in ASCII code to USB. usb_init must be called before this function can be used.<p>
229
<dl compact><dt><b>Parameters:</b></dt><dd>
230
  <table border="0" cellspacing="2" cellpadding="0">
231
    <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>the value to print</td></tr>
232
  </table>
233
</dl>
234
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__usb.html#gddfbdb66f507ffcd08b4496531ed0a3d" title="Initialize the USB.">usb_init</a>, <a class="el" href="group__usb.html#gcd371dedbff10f0c52dca4b3b7af9e3d" title="Print an integer to USB.">usb_puti</a>, <a class="el" href="group__usb.html#g6e101f68856f272f67923c4fb35a99e0" title="Print a string to USB.">usb_puts</a>, <a class="el" href="group__usb.html#g21462df541911e0611416e85be6ea34d" title="Print a fixed width hexadecimal representation to USB.">usb_puth8</a>, <a class="el" href="group__usb.html#g94d47853c33da12c71dec155f819cfeb" title="Determine a hexadecimal digit.">hex_digit</a> </dd></dl>
235

    
236
<p>References <a class="el" href="serial_8c-source.html#l00311">hex_digit()</a>, and <a class="el" href="serial_8c-source.html#l00124">usb_putc()</a>.</p>
237

    
238
</div>
239
</div><p>
240
<a class="anchor" name="g21462df541911e0611416e85be6ea34d"></a><!-- doxytag: member="serial.h::usb_puth8" ref="g21462df541911e0611416e85be6ea34d" args="(uint8_t value)" -->
241
<div class="memitem">
242
<div class="memproto">
243
      <table class="memname">
244
        <tr>
245
          <td class="memname">void usb_puth8           </td>
246
          <td>(</td>
247
          <td class="paramtype">uint8_t&nbsp;</td>
248
          <td class="paramname"> <em>value</em>          </td>
249
          <td>&nbsp;)&nbsp;</td>
250
          <td width="100%"></td>
251
        </tr>
252
      </table>
253
</div>
254
<div class="memdoc">
255

    
256
<p>
257
Print a fixed width hexadecimal representation to USB. 
258
<p>
259
Prints a fixed width hexadecimal representation of an unsigned 8 bit integer in ASCII code to USB. usb_init must be called before this function can be used.<p>
260
<dl compact><dt><b>Parameters:</b></dt><dd>
261
  <table border="0" cellspacing="2" cellpadding="0">
262
    <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>the value to print</td></tr>
263
  </table>
264
</dl>
265
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__usb.html#gddfbdb66f507ffcd08b4496531ed0a3d" title="Initialize the USB.">usb_init</a>, <a class="el" href="group__usb.html#gcd371dedbff10f0c52dca4b3b7af9e3d" title="Print an integer to USB.">usb_puti</a>, <a class="el" href="group__usb.html#g6e101f68856f272f67923c4fb35a99e0" title="Print a string to USB.">usb_puts</a>, <a class="el" href="group__usb.html#g8e7e31f1e45721ac032267b13d0f759b" title="Print a fixed width hexadecimal representation to USB.">usb_puth16</a>, <a class="el" href="group__usb.html#g94d47853c33da12c71dec155f819cfeb" title="Determine a hexadecimal digit.">hex_digit</a> </dd></dl>
266

    
267
<p>References <a class="el" href="serial_8c-source.html#l00311">hex_digit()</a>, and <a class="el" href="serial_8c-source.html#l00124">usb_putc()</a>.</p>
268

    
269
</div>
270
</div><p>
271
<a class="anchor" name="gcd371dedbff10f0c52dca4b3b7af9e3d"></a><!-- doxytag: member="serial.h::usb_puti" ref="gcd371dedbff10f0c52dca4b3b7af9e3d" args="(int value)" -->
272
<div class="memitem">
273
<div class="memproto">
274
      <table class="memname">
275
        <tr>
276
          <td class="memname">int usb_puti           </td>
277
          <td>(</td>
278
          <td class="paramtype">int&nbsp;</td>
279
          <td class="paramname"> <em>value</em>          </td>
280
          <td>&nbsp;)&nbsp;</td>
281
          <td width="100%"></td>
282
        </tr>
283
      </table>
284
</div>
285
<div class="memdoc">
286

    
287
<p>
288
Print an integer to USB. 
289
<p>
290
Prints an integer, converted to ASCII, to usb. usb_init must be called before this function can be used.<p>
291
<dl compact><dt><b>Parameters:</b></dt><dd>
292
  <table border="0" cellspacing="2" cellpadding="0">
293
    <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>the integer to print</td></tr>
294
  </table>
295
</dl>
296
<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 if successful, nonzero otherwise</dd></dl>
297
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__usb.html#gddfbdb66f507ffcd08b4496531ed0a3d" title="Initialize the USB.">usb_init</a>, <a class="el" href="group__usb.html#g3ee898cfe59d05c428c56021c2ccf946" title="Print a character to USB.">usb_putc</a> </dd></dl>
298

    
299
<p>References <a class="el" href="serial_8c-source.html#l00124">usb_putc()</a>.</p>
300

    
301
</div>
302
</div><p>
303
<a class="anchor" name="g6e101f68856f272f67923c4fb35a99e0"></a><!-- doxytag: member="serial.h::usb_puts" ref="g6e101f68856f272f67923c4fb35a99e0" args="(char *s)" -->
304
<div class="memitem">
305
<div class="memproto">
306
      <table class="memname">
307
        <tr>
308
          <td class="memname">int usb_puts           </td>
309
          <td>(</td>
310
          <td class="paramtype">char *&nbsp;</td>
311
          <td class="paramname"> <em>s</em>          </td>
312
          <td>&nbsp;)&nbsp;</td>
313
          <td width="100%"></td>
314
        </tr>
315
      </table>
316
</div>
317
<div class="memdoc">
318

    
319
<p>
320
Print a string to USB. 
321
<p>
322
Sends a sequence of characters over USB.<p>
323
<dl compact><dt><b>Parameters:</b></dt><dd>
324
  <table border="0" cellspacing="2" cellpadding="0">
325
    <tr><td valign="top"></td><td valign="top"><em>s</em>&nbsp;</td><td>the string to send </td></tr>
326
  </table>
327
</dl>
328
<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 for success, nonzero for failure </dd></dl>
329

    
330
<p>References <a class="el" href="serial_8c-source.html#l00124">usb_putc()</a>.</p>
331

    
332
</div>
333
</div><p>
334
<a class="anchor" name="g774d8b902cae279696c53502168ade07"></a><!-- doxytag: member="serial.h::usb_puts_P" ref="g774d8b902cae279696c53502168ade07" args="(PGM_P s)" -->
335
<div class="memitem">
336
<div class="memproto">
337
      <table class="memname">
338
        <tr>
339
          <td class="memname">void usb_puts_P           </td>
340
          <td>(</td>
341
          <td class="paramtype">PGM_P&nbsp;</td>
342
          <td class="paramname"> <em>s</em>          </td>
343
          <td>&nbsp;)&nbsp;</td>
344
          <td width="100%"></td>
345
        </tr>
346
      </table>
347
</div>
348
<div class="memdoc">
349

    
350
<p>
351
Print a string from program space to USB. 
352
<p>
353
Sends a sequence of characters from program space over USB.<p>
354
<dl compact><dt><b>Parameters:</b></dt><dd>
355
  <table border="0" cellspacing="2" cellpadding="0">
356
    <tr><td valign="top"></td><td valign="top"><em>s</em>&nbsp;</td><td>the string to send </td></tr>
357
  </table>
358
</dl>
359

    
360
<p>References <a class="el" href="serial_8c-source.html#l00124">usb_putc()</a>.</p>
361

    
362
</div>
363
</div><p>
364
</div>
365
<hr size="1"><address style="text-align: right;"><small>Generated on Wed Sep 2 23:20:09 2009 for libdragonfly by&nbsp;
366
<a href="http://www.doxygen.org/index.html">
367
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
368
</body>
369
</html>