Project

General

Profile

Statistics
| Revision:

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

History | View | Annotate | Download (19 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="tabs.css" rel="stylesheet" type="text/css">
5
<link href="doxygen.css" rel="stylesheet" type="text/css">
6
</head><body>
7
<!-- Generated by Doxygen 1.5.9 -->
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>
22
<p>
23
<table border="0" cellpadding="0" cellspacing="0">
24
<tr><td></td></tr>
25
<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
26
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g378065b4d75b008228ee41cc335474a7"></a><!-- doxytag: member="usb::USB_BAUD" ref="g378065b4d75b008228ee41cc335474a7" args="" -->
27
#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>
28

    
29
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">the USB baud rate <br></td></tr>
30
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
31
<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>
32

    
33
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialize the USB.  <a href="#gddfbdb66f507ffcd08b4496531ed0a3d"></a><br></td></tr>
34
<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>
35

    
36
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Print a character to USB.  <a href="#g3ee898cfe59d05c428c56021c2ccf946"></a><br></td></tr>
37
<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>
38

    
39
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Read a character from USB.  <a href="#g053a5d887edfe8e8be543ec53a3f60ae"></a><br></td></tr>
40
<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>
41

    
42
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Read a character from USB without blocking.  <a href="#g6b1209b19e7fd2bbedc7407e0218453c"></a><br></td></tr>
43
<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>
44

    
45
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Print a string to USB.  <a href="#g6e101f68856f272f67923c4fb35a99e0"></a><br></td></tr>
46
<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>
47

    
48
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Print a string from program space to USB.  <a href="#g774d8b902cae279696c53502168ade07"></a><br></td></tr>
49
<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>
50

    
51
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Print an integer to USB.  <a href="#gcd371dedbff10f0c52dca4b3b7af9e3d"></a><br></td></tr>
52
<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>
53

    
54
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Determine a hexadecimal digit.  <a href="#g94d47853c33da12c71dec155f819cfeb"></a><br></td></tr>
55
<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>
56

    
57
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Print a fixed width hexadecimal representation to USB.  <a href="#g8e7e31f1e45721ac032267b13d0f759b"></a><br></td></tr>
58
<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>
59

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

    
82
<p>
83
Determine a hexadecimal digit. 
84
<p>
85
Determines a hexadecimal digit in ASCII code.<p>
86
<dl compact><dt><b>Parameters:</b></dt><dd>
87
  <table border="0" cellspacing="2" cellpadding="0">
88
    <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>
89
  </table>
90
</dl>
91
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the hexadecimal digit in ASCII code, or '?' if the input is invalid. </dd></dl>
92

    
93
<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>
94

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

    
113
<p>
114
Read a character from USB. 
115
<p>
116
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>
117
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the first character in the usb buffer</dd></dl>
118
<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>
119

    
120
<p>Referenced by <a class="el" href="serial_8c_source.html#l00055">usb_init()</a>.</p>
121

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

    
140
<p>
141
Read a character from USB without blocking. 
142
<p>
143
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>
144
<dl compact><dt><b>Parameters:</b></dt><dd>
145
  <table border="0" cellspacing="2" cellpadding="0">
146
    <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>
147
  </table>
148
</dl>
149
<dl class="return" compact><dt><b>Returns:</b></dt><dd>-1 if no character is available, 0 otherwise</dd></dl>
150
<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>
151

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

    
170
<p>
171
Initialize the USB. 
172
<p>
173
Initializes communication over the USB serial port. This must be called before any other usb function may be used. 
174
<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>
175

    
176
<p>Referenced by <a class="el" href="dragonfly__lib_8c_source.html#l00068">dragonfly_init()</a>.</p>
177

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

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

    
207
<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>
208

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

    
227
<p>
228
Print a fixed width hexadecimal representation to USB. 
229
<p>
230
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>
231
<dl compact><dt><b>Parameters:</b></dt><dd>
232
  <table border="0" cellspacing="2" cellpadding="0">
233
    <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>the value to print</td></tr>
234
  </table>
235
</dl>
236
<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>
237

    
238
<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>
239

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

    
258
<p>
259
Print a fixed width hexadecimal representation to USB. 
260
<p>
261
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>
262
<dl compact><dt><b>Parameters:</b></dt><dd>
263
  <table border="0" cellspacing="2" cellpadding="0">
264
    <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>the value to print</td></tr>
265
  </table>
266
</dl>
267
<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>
268

    
269
<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>
270

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

    
289
<p>
290
Print an integer to USB. 
291
<p>
292
Prints an integer, converted to ASCII, to usb. usb_init must be called before this function can be used.<p>
293
<dl compact><dt><b>Parameters:</b></dt><dd>
294
  <table border="0" cellspacing="2" cellpadding="0">
295
    <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td>the integer to print</td></tr>
296
  </table>
297
</dl>
298
<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 if successful, nonzero otherwise</dd></dl>
299
<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>
300

    
301
<p>References <a class="el" href="serial_8c_source.html#l00124">usb_putc()</a>.</p>
302

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

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

    
332
<p>References <a class="el" href="serial_8c_source.html#l00124">usb_putc()</a>.</p>
333

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

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

    
362
<p>References <a class="el" href="serial_8c_source.html#l00124">usb_putc()</a>.</p>
363

    
364
</div>
365
</div><p>
366
</div>
367
<hr size="1"><address style="text-align: right;"><small>Generated on Mon Sep 7 19:07:28 2009 for libdragonfly by&nbsp;
368
<a href="http://www.doxygen.org/index.html">
369
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
370
</body>
371
</html>