?lang_form? ?lang_select? ?lang_submit? ?lang_endform?
{HEADER END}
{BLAME START}

library

?curdirlinks? -

Blame information for rev 6

Line No. Rev Author Line
1 6 kaklik <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
3 <title>Procyon AVRlib: Spyglass Control Panel UI Board Driver (spyglass.c)</title>
4 <link href="dox.css" rel="stylesheet" type="text/css">
5 </head><body>
6 <!-- Generated by Doxygen 1.4.2 -->
7 <div class="qindex"><a class="qindex" href="main.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="annotated.html">Data&nbsp;Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Data&nbsp;Fields</a> | <a class="qindex" href="globals.html">Globals</a> | <a class="qindex" href="pages.html">Related&nbsp;Pages</a></div>
8 <h1>Spyglass Control Panel UI Board Driver (spyglass.c)<br>
9 <small>
10 [<a class="el" href="group__driver__hw.html">Drivers (for external hardware)</a>]</small>
11 </h1><hr><a name="_details"></a><h2>Detailed Description</h2>
12 <div class="fragment"><pre class="fragment"><span class="preprocessor"> #include "<a class="code" href="lcd_8h.html">lcd.h</a>"</span>
13 <span class="preprocessor"> #include "<a class="code" href="i2c_8h.html">i2c.h</a>"</span>
14 <span class="preprocessor"> #include "<a class="code" href="spyglass_8h.html">spyglass.h</a>"</span>
15 </pre></div> <dl compact><dt><b>Overview</b></dt><dd>This library supports the 'Spyglass' I2C-controlled User Interface board. The Spyglass board has a standard 4x20 character LCD and a convenient array of pushbuttons for a user interface. The board also has a user-controllable piezo beeper. All of these functions are accessible via I2C bus, making it possible to have a complete user interface with just 4 wires (2 I/O and 2 power wires). The Spyglass board runs on 5V power.</dd></dl>
16 <dl compact><dt><b>Connections:</b></dt><dd><ul>
17 <li>Connect power to the +5V and ground pins.</li><li>Connect the SCL/SDA pins to the corresponding SCL/SDA pins of your processor's I2C bus.</li><li>If you wish to use the beeper, also connect +5V to pin 8.</li></ul>
18 </dd></dl>
19 <div class="fragment"><pre class="fragment"> SPYGLASS PINOUT <span class="keywordflow">for</span> 10-pin I/O header:
20  
21 ----
22 +5V - 1 |++| 2 - +5V
23 SCL - 3 |++| 4 - GND
24 SDA - 5 |++| 6 - GND
25 7 |++| 8 - BEEPER PWR (+5V)
26 9 |++| 10
27 ----
28 </pre></div>
29 <p>
30 <table border="0" cellpadding="0" cellspacing="0">
31 <tr><td></td></tr>
32 <tr><td colspan="2"><br><h2>Defines</h2></td></tr>
33 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga13" doxytag="spyglass::PCF8574_I2C_BASE_ADDR"></a>
34 #define&nbsp;</td><td class="memItemRight" valign="bottom"><b>PCF8574_I2C_BASE_ADDR</b>&nbsp;&nbsp;&nbsp;0x40</td></tr>
35  
36 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga14" doxytag="spyglass::MAX517_I2C_BASE_ADDR"></a>
37 #define&nbsp;</td><td class="memItemRight" valign="bottom"><b>MAX517_I2C_BASE_ADDR</b>&nbsp;&nbsp;&nbsp;0x58</td></tr>
38  
39 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga15" doxytag="spyglass::PCF_NODE_BUTTONS"></a>
40 #define&nbsp;</td><td class="memItemRight" valign="bottom"><b>PCF_NODE_BUTTONS</b>&nbsp;&nbsp;&nbsp;0x00</td></tr>
41  
42 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga16" doxytag="spyglass::PCF_NODE_LCD_DATA"></a>
43 #define&nbsp;</td><td class="memItemRight" valign="bottom"><b>PCF_NODE_LCD_DATA</b>&nbsp;&nbsp;&nbsp;0x01</td></tr>
44  
45 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga17" doxytag="spyglass::PCF_NODE_CONTROL"></a>
46 #define&nbsp;</td><td class="memItemRight" valign="bottom"><b>PCF_NODE_CONTROL</b>&nbsp;&nbsp;&nbsp;0x02</td></tr>
47  
48 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga18" doxytag="spyglass::SPYGLASS_LED0"></a>
49 #define&nbsp;</td><td class="memItemRight" valign="bottom"><b>SPYGLASS_LED0</b>&nbsp;&nbsp;&nbsp;0x01</td></tr>
50  
51 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga19" doxytag="spyglass::SPYGLASS_LED1"></a>
52 #define&nbsp;</td><td class="memItemRight" valign="bottom"><b>SPYGLASS_LED1</b>&nbsp;&nbsp;&nbsp;0x02</td></tr>
53  
54 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga20" doxytag="spyglass::SPYGLASS_BEEPER"></a>
55 #define&nbsp;</td><td class="memItemRight" valign="bottom"><b>SPYGLASS_BEEPER</b>&nbsp;&nbsp;&nbsp;0x04</td></tr>
56  
57 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga21" doxytag="spyglass::SPYGLASS_LCD_RS"></a>
58 #define&nbsp;</td><td class="memItemRight" valign="bottom"><b>SPYGLASS_LCD_RS</b>&nbsp;&nbsp;&nbsp;0x20</td></tr>
59  
60 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga22" doxytag="spyglass::SPYGLASS_LCD_RW"></a>
61 #define&nbsp;</td><td class="memItemRight" valign="bottom"><b>SPYGLASS_LCD_RW</b>&nbsp;&nbsp;&nbsp;0x40</td></tr>
62  
63 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga23" doxytag="spyglass::SPYGLASS_LCD_E"></a>
64 #define&nbsp;</td><td class="memItemRight" valign="bottom"><b>SPYGLASS_LCD_E</b>&nbsp;&nbsp;&nbsp;0x80</td></tr>
65  
66 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga24" doxytag="spyglass::lcdInit"></a>
67 #define&nbsp;</td><td class="memItemRight" valign="bottom"><b>lcdInit</b>&nbsp;&nbsp;&nbsp;spyglassLcdInit</td></tr>
68  
69 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga25" doxytag="spyglass::lcdHome"></a>
70 #define&nbsp;</td><td class="memItemRight" valign="bottom"><b>lcdHome</b>&nbsp;&nbsp;&nbsp;spyglassLcdHome</td></tr>
71  
72 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga26" doxytag="spyglass::lcdClear"></a>
73 #define&nbsp;</td><td class="memItemRight" valign="bottom"><b>lcdClear</b>&nbsp;&nbsp;&nbsp;spyglassLcdClear</td></tr>
74  
75 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga27" doxytag="spyglass::lcdGotoXY"></a>
76 #define&nbsp;</td><td class="memItemRight" valign="bottom"><b>lcdGotoXY</b>&nbsp;&nbsp;&nbsp;spyglassLcdGotoXY</td></tr>
77  
78 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga28" doxytag="spyglass::lcdDataWrite"></a>
79 #define&nbsp;</td><td class="memItemRight" valign="bottom"><b>lcdDataWrite</b>&nbsp;&nbsp;&nbsp;spyglassLcdWriteChar</td></tr>
80  
81 <tr><td colspan="2"><br><h2>Functions</h2></td></tr>
82 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga0" doxytag="spyglass::spyglassInit"></a>
83 void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__spyglass.html#ga0">spyglassInit</a> (void)</td></tr>
84  
85 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">initialize the I2C bus for communication with the spyglass UI. <br></td></tr>
86 <tr><td class="memItemLeft" nowrap align="right" valign="top">u08&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__spyglass.html#ga1">spyglassGetPushbuttons</a> (void)</td></tr>
87  
88 <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__spyglass.html#ga2">spyglassSetLeds</a> (u08 leds)</td></tr>
89  
90 <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__spyglass.html#ga3">spyglassSetBeeper</a> (u08 state)</td></tr>
91  
92 <tr><td class="memItemLeft" nowrap align="right" valign="top">u08&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__spyglass.html#ga4">spyglassSetLcdContrast</a> (u08 contrast)</td></tr>
93  
94 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga5" doxytag="spyglass::spyglassLcdInit"></a>
95 void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__spyglass.html#ga5">spyglassLcdInit</a> (void)</td></tr>
96  
97 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialize LCD for operation. <br></td></tr>
98 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga6" doxytag="spyglass::spyglassLcdHome"></a>
99 void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__spyglass.html#ga6">spyglassLcdHome</a> (void)</td></tr>
100  
101 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set write/cursor position to upper left. <br></td></tr>
102 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga7" doxytag="spyglass::spyglassLcdClear"></a>
103 void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__spyglass.html#ga7">spyglassLcdClear</a> (void)</td></tr>
104  
105 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Clear LCD display. <br></td></tr>
106 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga8" doxytag="spyglass::spyglassLcdGotoXY"></a>
107 void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__spyglass.html#ga8">spyglassLcdGotoXY</a> (u08 x, u08 y)</td></tr>
108  
109 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Set write/cursor posision on LCD display (x=col, y=line). <br></td></tr>
110 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga9" doxytag="spyglass::spyglassLcdWrite"></a>
111 void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__spyglass.html#ga9">spyglassLcdWrite</a> (u08 rs, u08 data)</td></tr>
112  
113 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Write control or display data to LCD. <br></td></tr>
114 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga10" doxytag="spyglass::spyglassLcdWriteChar"></a>
115 void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__spyglass.html#ga10">spyglassLcdWriteChar</a> (u08 c)</td></tr>
116  
117 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Write character to LCD. <br></td></tr>
118 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga11" doxytag="spyglass::pcf8574Write"></a>
119 u08&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__spyglass.html#ga11">pcf8574Write</a> (u08 nodeAddr, u08 data)</td></tr>
120  
121 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Write I/O Data to PCF8574 I2C&lt;-&gt;Digital I/O chip. <br></td></tr>
122 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ga12" doxytag="spyglass::pcf8574Read"></a>
123 u08&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__spyglass.html#ga12">pcf8574Read</a> (u08 nodeAddr)</td></tr>
124  
125 <tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Read I/O Data from PCF8574 I2C&lt;-&gt;Digital I/O chip. <br></td></tr>
126 </table>
127 <hr><h2>Function Documentation</h2>
128 <a class="anchor" name="ga1" doxytag="spyglass.h::spyglassGetPushbuttons"></a><p>
129 <table class="mdTable" cellpadding="2" cellspacing="0">
130 <tr>
131 <td class="mdRow">
132 <table cellpadding="0" cellspacing="0" border="0">
133 <tr>
134 <td class="md" nowrap valign="top">u08 spyglassGetPushbuttons </td>
135 <td class="md" valign="top">(&nbsp;</td>
136 <td class="md" nowrap valign="top">void&nbsp;</td>
137 <td class="mdname1" valign="top" nowrap> </td>
138 <td class="md" valign="top">&nbsp;)&nbsp;</td>
139 <td class="md" nowrap></td>
140 </tr>
141 </table>
142 </td>
143 </tr>
144 </table>
145 <table cellspacing="5" cellpadding="0" border="0">
146 <tr>
147 <td>
148 &nbsp;
149 </td>
150 <td>
151  
152 <p>
153 Read the state of pushbuttons on the spyglass UI. Returns an 8-bit number representing the state of buttons S1-S7 in bits 0-6 respectively.<ul>
154 <li>'0' bit value = button not pressed</li><li>'1' bit value = button is pressed </li></ul>
155  
156 <p>
157 Definition at line <a class="el" href="spyglass_8c-source.html#l00051">51</a> of file <a class="el" href="spyglass_8c-source.html">spyglass.c</a>. </td>
158 </tr>
159 </table>
160 <a class="anchor" name="ga3" doxytag="spyglass.h::spyglassSetBeeper"></a><p>
161 <table class="mdTable" cellpadding="2" cellspacing="0">
162 <tr>
163 <td class="mdRow">
164 <table cellpadding="0" cellspacing="0" border="0">
165 <tr>
166 <td class="md" nowrap valign="top">void spyglassSetBeeper </td>
167 <td class="md" valign="top">(&nbsp;</td>
168 <td class="md" nowrap valign="top">u08&nbsp;</td>
169 <td class="mdname1" valign="top" nowrap> <em>state</em> </td>
170 <td class="md" valign="top">&nbsp;)&nbsp;</td>
171 <td class="md" nowrap></td>
172 </tr>
173 </table>
174 </td>
175 </tr>
176 </table>
177 <table cellspacing="5" cellpadding="0" border="0">
178 <tr>
179 <td>
180 &nbsp;
181 </td>
182 <td>
183  
184 <p>
185 Sets the state of the beeper on the spyglass UI.<ul>
186 <li>'0' state =&gt; beeper off</li><li>'1' state =&gt; beeper on </li></ul>
187  
188 <p>
189 Definition at line <a class="el" href="spyglass_8c-source.html#l00062">62</a> of file <a class="el" href="spyglass_8c-source.html">spyglass.c</a>. </td>
190 </tr>
191 </table>
192 <a class="anchor" name="ga4" doxytag="spyglass.h::spyglassSetLcdContrast"></a><p>
193 <table class="mdTable" cellpadding="2" cellspacing="0">
194 <tr>
195 <td class="mdRow">
196 <table cellpadding="0" cellspacing="0" border="0">
197 <tr>
198 <td class="md" nowrap valign="top">u08 spyglassSetLcdContrast </td>
199 <td class="md" valign="top">(&nbsp;</td>
200 <td class="md" nowrap valign="top">u08&nbsp;</td>
201 <td class="mdname1" valign="top" nowrap> <em>contrast</em> </td>
202 <td class="md" valign="top">&nbsp;)&nbsp;</td>
203 <td class="md" nowrap></td>
204 </tr>
205 </table>
206 </td>
207 </tr>
208 </table>
209 <table cellspacing="5" cellpadding="0" border="0">
210 <tr>
211 <td>
212 &nbsp;
213 </td>
214 <td>
215  
216 <p>
217 Sets the contrast voltage of the spyglass LCD. Lower numbers are darker contrast, higher numbers are lighter contrast.
218 <p>
219 Definition at line <a class="el" href="spyglass_8c-source.html#l00071">71</a> of file <a class="el" href="spyglass_8c-source.html">spyglass.c</a>. </td>
220 </tr>
221 </table>
222 <a class="anchor" name="ga2" doxytag="spyglass.h::spyglassSetLeds"></a><p>
223 <table class="mdTable" cellpadding="2" cellspacing="0">
224 <tr>
225 <td class="mdRow">
226 <table cellpadding="0" cellspacing="0" border="0">
227 <tr>
228 <td class="md" nowrap valign="top">void spyglassSetLeds </td>
229 <td class="md" valign="top">(&nbsp;</td>
230 <td class="md" nowrap valign="top">u08&nbsp;</td>
231 <td class="mdname1" valign="top" nowrap> <em>leds</em> </td>
232 <td class="md" valign="top">&nbsp;)&nbsp;</td>
233 <td class="md" nowrap></td>
234 </tr>
235 </table>
236 </td>
237 </tr>
238 </table>
239 <table cellspacing="5" cellpadding="0" border="0">
240 <tr>
241 <td>
242 &nbsp;
243 </td>
244 <td>
245  
246 <p>
247 Sets the state of LEDs on the spyglass UI. Argument is a 2-bit number representing the desired state of LEDs D2 &amp; D3 respectively.<ul>
248 <li>'0' bit value = LED off</li><li>'1' bit value = LED on </li></ul>
249  
250 <p>
251 Definition at line <a class="el" href="spyglass_8c-source.html#l00056">56</a> of file <a class="el" href="spyglass_8c-source.html">spyglass.c</a>. </td>
252 </tr>
253 </table>
254 <hr size="1"><address style="align: right;"><small>Generated on Sun Oct 29 03:41:09 2006 for Procyon AVRlib by&nbsp;
255 <a href="http://www.doxygen.org/index.html">
256 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.4.2 </small></address>
257 </body>
258 </html>
{BLAME END}
{FOOTER START}

Powered by WebSVN v2.8.3