GLPv3 added
This commit is contained in:
parent
89b4964c53
commit
fc289af055
|
@ -50,7 +50,7 @@
|
|||
<a name="l00035"></a>00035 0x00,0x00,0x00,0x00};
|
||||
<a name="l00036"></a>00036
|
||||
</pre></div></div>
|
||||
<hr size="1"><address style="text-align: right;"><small>Generated on Sat May 16 17:13:00 2009 for glcd by
|
||||
<hr size="1"><address style="text-align: right;"><small>Generated on Sun May 17 17:59:55 2009 for glcd by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
|
||||
</body>
|
||||
|
|
|
@ -41,7 +41,7 @@
|
|||
</div>
|
||||
</div><p>
|
||||
</div>
|
||||
<hr size="1"><address style="text-align: right;"><small>Generated on Sat May 16 17:13:00 2009 for glcd by
|
||||
<hr size="1"><address style="text-align: right;"><small>Generated on Sun May 17 17:59:55 2009 for glcd by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
|
||||
</body>
|
||||
|
|
|
@ -29,7 +29,7 @@
|
|||
<tr><td class="indexkey">include/<a class="el" href="lc7981_8h.html">lc7981.h</a> <a href="lc7981_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
|
||||
</table>
|
||||
</div>
|
||||
<hr size="1"><address style="text-align: right;"><small>Generated on Sat May 16 17:13:00 2009 for glcd by
|
||||
<hr size="1"><address style="text-align: right;"><small>Generated on Sun May 17 17:59:55 2009 for glcd by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
|
||||
</body>
|
||||
|
|
|
@ -126,7 +126,7 @@ Here is a list of all functions, variables, defines, enums, and typedefs with li
|
|||
: <a class="el" href="button_8h.html#1ca6393a353d3dde5511786a4d7cc139">button.h</a>
|
||||
</ul>
|
||||
</div>
|
||||
<hr size="1"><address style="text-align: right;"><small>Generated on Sat May 16 17:13:00 2009 for glcd by
|
||||
<hr size="1"><address style="text-align: right;"><small>Generated on Sun May 17 17:59:55 2009 for glcd by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
|
||||
</body>
|
||||
|
|
|
@ -78,7 +78,7 @@
|
|||
: <a class="el" href="lc7981_8h.html#eb2d212a26da4a5a4d3231b2773023e5">lc7981.h</a>
|
||||
</ul>
|
||||
</div>
|
||||
<hr size="1"><address style="text-align: right;"><small>Generated on Sat May 16 17:13:00 2009 for glcd by
|
||||
<hr size="1"><address style="text-align: right;"><small>Generated on Sun May 17 17:59:55 2009 for glcd by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
|
||||
</body>
|
||||
|
|
|
@ -63,7 +63,7 @@
|
|||
: <a class="el" href="main_8c.html#e66f6b31b5ad750f1fe042a706a4e3d4">main.c</a>
|
||||
</ul>
|
||||
</div>
|
||||
<hr size="1"><address style="text-align: right;"><small>Generated on Sat May 16 17:13:00 2009 for glcd by
|
||||
<hr size="1"><address style="text-align: right;"><small>Generated on Sun May 17 17:59:55 2009 for glcd by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
|
||||
</body>
|
||||
|
|
|
@ -40,7 +40,7 @@
|
|||
: <a class="el" href="button_8h.html#1ca6393a353d3dde5511786a4d7cc139">button.h</a>
|
||||
</ul>
|
||||
</div>
|
||||
<hr size="1"><address style="text-align: right;"><small>Generated on Sat May 16 17:13:00 2009 for glcd by
|
||||
<hr size="1"><address style="text-align: right;"><small>Generated on Sun May 17 17:59:55 2009 for glcd by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
|
||||
</body>
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
<h1>glcd Documentation</h1>
|
||||
<p>
|
||||
<h3 align="center">0.1beta </h3></div>
|
||||
<hr size="1"><address style="text-align: right;"><small>Generated on Sat May 16 17:13:00 2009 for glcd by
|
||||
<hr size="1"><address style="text-align: right;"><small>Generated on Sun May 17 17:59:55 2009 for glcd by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
|
||||
</body>
|
||||
|
|
|
@ -187,7 +187,16 @@ lcd_init set the to default values.
|
|||
<p>
|
||||
This function will plot a bitmap with the upper left corner to the given coordinates.
|
||||
<p>
|
||||
|
||||
<br>
|
||||
If the bitmap doesn't fit on the display at this location, nothing is drawn at all.<br>
|
||||
Unset pixels are treated as transparent <br>
|
||||
This function is by far the most tricky piece of code in this project,<br>
|
||||
don't worry if you don't understand it at first sight. <br>
|
||||
And if you know a better way to do this, tell me.<br>
|
||||
<p>
|
||||
This function is dedicated to Greta, one of the most important persons in my life so far.<br>
|
||||
Even though I can't remember her actual name.<br>
|
||||
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="735111507ed83172f58d5af2953e31c6"></a><!-- doxytag: member="lc7981.c::lcd_plot_pixel" ref="735111507ed83172f58d5af2953e31c6" args="(uint8_t x, uint8_t y, uint8_t set)" -->
|
||||
|
@ -372,7 +381,7 @@ Currently used mode, can be text or graphic.
|
|||
</div>
|
||||
</div><p>
|
||||
</div>
|
||||
<hr size="1"><address style="text-align: right;"><small>Generated on Sat May 16 17:13:00 2009 for glcd by
|
||||
<hr size="1"><address style="text-align: right;"><small>Generated on Sun May 17 17:59:55 2009 for glcd by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
|
||||
</body>
|
||||
|
|
|
@ -18,64 +18,80 @@
|
|||
<a name="l00003"></a>00003 <span class="comment"> *</span>
|
||||
<a name="l00004"></a>00004 <span class="comment"> * Created on: 01.05.2009</span>
|
||||
<a name="l00005"></a>00005 <span class="comment"> * Author: sebastian</span>
|
||||
<a name="l00006"></a>00006 <span class="comment"> */</span>
|
||||
<a name="l00007"></a>00007
|
||||
<a name="l00008"></a>00008 <span class="preprocessor">#ifndef LC7981_H_</span>
|
||||
<a name="l00009"></a><a class="code" href="lc7981_8h.html#e6ff861bd55f4dc46f25f5f6abfca15f">00009</a> <span class="preprocessor"></span><span class="preprocessor">#define LC7981_H_ LC7981_H_</span>
|
||||
<a name="l00010"></a>00010 <span class="preprocessor"></span>
|
||||
<a name="l00011"></a>00011 <span class="preprocessor">#include <avr/io.h></span>
|
||||
<a name="l00012"></a>00012 <span class="preprocessor">#include <util/delay.h></span>
|
||||
<a name="l00013"></a>00013 <span class="preprocessor">#include <avr/pgmspace.h></span>
|
||||
<a name="l00014"></a>00014
|
||||
<a name="l00015"></a><a class="code" href="lc7981_8h.html#8e945df7ca614325cafa08258e82a63c">00015</a> <span class="preprocessor">#define LCD_CTRL PORTC</span>
|
||||
<a name="l00016"></a><a class="code" href="lc7981_8h.html#4b6c8400da9a1ca3d4d83f3ef1f9c34a">00016</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_CRTL_DDR DDRC</span>
|
||||
<a name="l00017"></a><a class="code" href="lc7981_8h.html#4781e073871c6f27f89b9463ad3a4ed1">00017</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_RS PC4</span>
|
||||
<a name="l00018"></a><a class="code" href="lc7981_8h.html#26089a10ddd59a0dc7283c19ccc02533">00018</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_RW PC2</span>
|
||||
<a name="l00019"></a><a class="code" href="lc7981_8h.html#1640ffbc0d8ec0f7edb04a2b93918072">00019</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_EN PC0</span>
|
||||
<a name="l00020"></a>00020 <span class="preprocessor"></span>
|
||||
<a name="l00021"></a>00021
|
||||
<a name="l00022"></a>00022
|
||||
<a name="l00023"></a><a class="code" href="lc7981_8h.html#25e9d818788f36ed74d7c4579f87f2a6">00023</a> <span class="preprocessor">#define LCD_DATA PORTD</span>
|
||||
<a name="l00024"></a><a class="code" href="lc7981_8h.html#0c114e723aa4c162c415fb6d4d963dd7">00024</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_DATA_DDR DDRD</span>
|
||||
<a name="l00025"></a>00025 <span class="preprocessor"></span>
|
||||
<a name="l00026"></a>00026 <span class="comment">// Macros for (un)setting the control pins</span>
|
||||
<a name="l00027"></a><a class="code" href="lc7981_8h.html#795b48274d3f80bc744a707b67fd93e9">00027</a> <span class="preprocessor">#define lcd_rs_high() (LCD_CTRL |= (1 << LCD_RS))</span>
|
||||
<a name="l00028"></a><a class="code" href="lc7981_8h.html#6edb13d59460246fb4cc32ada1c9f4a8">00028</a> <span class="preprocessor"></span><span class="preprocessor">#define lcd_rs_low() (LCD_CTRL &= ~(1 << LCD_RS))</span>
|
||||
<a name="l00029"></a>00029 <span class="preprocessor"></span>
|
||||
<a name="l00030"></a><a class="code" href="lc7981_8h.html#d0ce3cd9b481370ad4de36eff08440c8">00030</a> <span class="preprocessor">#define lcd_rw_high() (LCD_CTRL |= (1 << LCD_RW))</span>
|
||||
<a name="l00031"></a><a class="code" href="lc7981_8h.html#7f5ebe0ca71b1298a7d3423850cc82b1">00031</a> <span class="preprocessor"></span><span class="preprocessor">#define lcd_rw_low() (LCD_CTRL &= ~(1 << LCD_RW))</span>
|
||||
<a name="l00032"></a>00032 <span class="preprocessor"></span>
|
||||
<a name="l00033"></a><a class="code" href="lc7981_8h.html#e14be306d3620577abc8613d40401b04">00033</a> <span class="preprocessor">#define lcd_en_high() (LCD_CTRL |= (1 << LCD_EN))</span>
|
||||
<a name="l00034"></a><a class="code" href="lc7981_8h.html#d8dcdb36a9410fd96b2c936b7c9355dd">00034</a> <span class="preprocessor"></span><span class="preprocessor">#define lcd_en_low() (LCD_CTRL &= ~(1 << LCD_EN))</span>
|
||||
<a name="l00035"></a>00035 <span class="preprocessor"></span>
|
||||
<a name="l00036"></a>00036
|
||||
<a name="l00037"></a><a class="code" href="lc7981_8h.html#90a69d37f5c80f3ded970acf2dacf4c0">00037</a> <span class="preprocessor">#define LCD_TEXT 0</span>
|
||||
<a name="l00038"></a><a class="code" href="lc7981_8h.html#720ef60606ac38ca3a5ab96a9c2b8168">00038</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_TEXT_LINES 10</span>
|
||||
<a name="l00039"></a><a class="code" href="lc7981_8h.html#82f0a630f3c41b5233f2ceb07c7dd736">00039</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_TEXT_COLUMNS 26</span>
|
||||
<a name="l00040"></a>00040 <span class="preprocessor"></span>
|
||||
<a name="l00041"></a><a class="code" href="lc7981_8h.html#dfaedf8da8e73d39a98d709b519a3117">00041</a> <span class="preprocessor">#define LCD_GRAPHIC 1</span>
|
||||
<a name="l00042"></a><a class="code" href="lc7981_8h.html#51e83be6f6929f2a29d5467cd937dfc6">00042</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_GRAPHIC_WIDTH 160</span>
|
||||
<a name="l00043"></a><a class="code" href="lc7981_8h.html#70265c4f840ef78872243e91c923af2f">00043</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_GRAPHIC_HEIGHT 80</span>
|
||||
<a name="l00044"></a><a class="code" href="lc7981_8h.html#eb2d212a26da4a5a4d3231b2773023e5">00044</a> <span class="preprocessor"></span><span class="preprocessor">#define PIXEL_ON 1</span>
|
||||
<a name="l00045"></a><a class="code" href="lc7981_8h.html#cda2f1b1cf6310700d0d91643c40e068">00045</a> <span class="preprocessor"></span><span class="preprocessor">#define PIXEL_OFF 0</span>
|
||||
<a name="l00046"></a>00046 <span class="preprocessor"></span>
|
||||
<a name="l00047"></a>00047 <span class="keywordtype">void</span> <a class="code" href="lc7981_8c.html#9b18aca098d68e55bd7dd4b83f4f36e9" title="lcd_init set the to default values.">lcd_init</a>(uint8_t mode);
|
||||
<a name="l00048"></a>00048 <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="lc7981_8c.html#35c08b1fa742e650f4873939707b893b" title="Clears the display by setting the whole memory to 0.">lcd_clear</a>();
|
||||
<a name="l00049"></a>00049
|
||||
<a name="l00050"></a>00050 <span class="keywordtype">void</span> <a class="code" href="lc7981_8c.html#30251238a49999658455fdb0233757fb">lcd_write_text</a>(<span class="keywordtype">char</span> *txt);
|
||||
<a name="l00051"></a>00051 <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="lc7981_8c.html#dbf47a5efdf02367ded1ebf8f9edb5fe" title="Set the display cursor to a specific location.">lcd_gotoxy</a>(uint8_t x, uint8_t y);
|
||||
<a name="l00006"></a>00006 <span class="comment"> *</span>
|
||||
<a name="l00007"></a>00007 <span class="comment"> * This file is part of Sebastians AVR Library for lc7981.</span>
|
||||
<a name="l00008"></a>00008 <span class="comment"> *</span>
|
||||
<a name="l00009"></a>00009 <span class="comment"> * Sebastians AVR Library is free software: you can redistribute it and/or modify</span>
|
||||
<a name="l00010"></a>00010 <span class="comment"> * it under the terms of the GNU General Public License as published by</span>
|
||||
<a name="l00011"></a>00011 <span class="comment"> * the Free Software Foundation, either version 3 of the License, or</span>
|
||||
<a name="l00012"></a>00012 <span class="comment"> * (at your option) any later version.</span>
|
||||
<a name="l00013"></a>00013 <span class="comment"> *</span>
|
||||
<a name="l00014"></a>00014 <span class="comment"> * Sebastians AVR Library is distributed in the hope that it will be useful,</span>
|
||||
<a name="l00015"></a>00015 <span class="comment"> * but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
|
||||
<a name="l00016"></a>00016 <span class="comment"> * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span>
|
||||
<a name="l00017"></a>00017 <span class="comment"> * GNU General Public License for more details.</span>
|
||||
<a name="l00018"></a>00018 <span class="comment"> *</span>
|
||||
<a name="l00019"></a>00019 <span class="comment"> * You should have received a copy of the GNU General Public License</span>
|
||||
<a name="l00020"></a>00020 <span class="comment"> * along with Sebastians AVR Library. If not, see <http://www.gnu.org/licenses/>.</span>
|
||||
<a name="l00021"></a>00021 <span class="comment"> *</span>
|
||||
<a name="l00022"></a>00022 <span class="comment"> */</span>
|
||||
<a name="l00023"></a>00023
|
||||
<a name="l00024"></a>00024 <span class="preprocessor">#ifndef LC7981_H_</span>
|
||||
<a name="l00025"></a><a class="code" href="lc7981_8h.html#e6ff861bd55f4dc46f25f5f6abfca15f">00025</a> <span class="preprocessor"></span><span class="preprocessor">#define LC7981_H_ LC7981_H_</span>
|
||||
<a name="l00026"></a>00026 <span class="preprocessor"></span>
|
||||
<a name="l00027"></a>00027 <span class="preprocessor">#include <avr/io.h></span>
|
||||
<a name="l00028"></a>00028 <span class="preprocessor">#include <util/delay.h></span>
|
||||
<a name="l00029"></a>00029 <span class="preprocessor">#include <avr/pgmspace.h></span>
|
||||
<a name="l00030"></a>00030
|
||||
<a name="l00031"></a><a class="code" href="lc7981_8h.html#8e945df7ca614325cafa08258e82a63c">00031</a> <span class="preprocessor">#define LCD_CTRL PORTC</span>
|
||||
<a name="l00032"></a><a class="code" href="lc7981_8h.html#4b6c8400da9a1ca3d4d83f3ef1f9c34a">00032</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_CRTL_DDR DDRC</span>
|
||||
<a name="l00033"></a><a class="code" href="lc7981_8h.html#4781e073871c6f27f89b9463ad3a4ed1">00033</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_RS PC4</span>
|
||||
<a name="l00034"></a><a class="code" href="lc7981_8h.html#26089a10ddd59a0dc7283c19ccc02533">00034</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_RW PC2</span>
|
||||
<a name="l00035"></a><a class="code" href="lc7981_8h.html#1640ffbc0d8ec0f7edb04a2b93918072">00035</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_EN PC0</span>
|
||||
<a name="l00036"></a>00036 <span class="preprocessor"></span>
|
||||
<a name="l00037"></a>00037
|
||||
<a name="l00038"></a>00038
|
||||
<a name="l00039"></a><a class="code" href="lc7981_8h.html#25e9d818788f36ed74d7c4579f87f2a6">00039</a> <span class="preprocessor">#define LCD_DATA PORTD</span>
|
||||
<a name="l00040"></a><a class="code" href="lc7981_8h.html#0c114e723aa4c162c415fb6d4d963dd7">00040</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_DATA_DDR DDRD</span>
|
||||
<a name="l00041"></a>00041 <span class="preprocessor"></span>
|
||||
<a name="l00042"></a>00042 <span class="comment">// Macros for (un)setting the control pins</span>
|
||||
<a name="l00043"></a><a class="code" href="lc7981_8h.html#795b48274d3f80bc744a707b67fd93e9">00043</a> <span class="preprocessor">#define lcd_rs_high() (LCD_CTRL |= (1 << LCD_RS))</span>
|
||||
<a name="l00044"></a><a class="code" href="lc7981_8h.html#6edb13d59460246fb4cc32ada1c9f4a8">00044</a> <span class="preprocessor"></span><span class="preprocessor">#define lcd_rs_low() (LCD_CTRL &= ~(1 << LCD_RS))</span>
|
||||
<a name="l00045"></a>00045 <span class="preprocessor"></span>
|
||||
<a name="l00046"></a><a class="code" href="lc7981_8h.html#d0ce3cd9b481370ad4de36eff08440c8">00046</a> <span class="preprocessor">#define lcd_rw_high() (LCD_CTRL |= (1 << LCD_RW))</span>
|
||||
<a name="l00047"></a><a class="code" href="lc7981_8h.html#7f5ebe0ca71b1298a7d3423850cc82b1">00047</a> <span class="preprocessor"></span><span class="preprocessor">#define lcd_rw_low() (LCD_CTRL &= ~(1 << LCD_RW))</span>
|
||||
<a name="l00048"></a>00048 <span class="preprocessor"></span>
|
||||
<a name="l00049"></a><a class="code" href="lc7981_8h.html#e14be306d3620577abc8613d40401b04">00049</a> <span class="preprocessor">#define lcd_en_high() (LCD_CTRL |= (1 << LCD_EN))</span>
|
||||
<a name="l00050"></a><a class="code" href="lc7981_8h.html#d8dcdb36a9410fd96b2c936b7c9355dd">00050</a> <span class="preprocessor"></span><span class="preprocessor">#define lcd_en_low() (LCD_CTRL &= ~(1 << LCD_EN))</span>
|
||||
<a name="l00051"></a>00051 <span class="preprocessor"></span>
|
||||
<a name="l00052"></a>00052
|
||||
<a name="l00053"></a>00053 <span class="keywordtype">void</span> <a class="code" href="lc7981_8c.html#735111507ed83172f58d5af2953e31c6" title="set or unset a pixel at the specified location">lcd_plot_pixel</a>(uint8_t x, uint8_t y, uint8_t <span class="keyword">set</span>);
|
||||
<a name="l00054"></a>00054 <span class="keywordtype">void</span> <a class="code" href="lc7981_8c.html#f3b584ee8235c6ed4ebefc50f8a95915" title="This function will plot a bitmap with the upper left corner to the given coordinates...">lcd_plot_bitmap</a>(uint8_t x, uint8_t y, <span class="keyword">const</span> uint8_t *bitmap, uint8_t w, uint8_t h);
|
||||
<a name="l00055"></a>00055
|
||||
<a name="l00056"></a>00056
|
||||
<a name="l00057"></a>00057 <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="lc7981_8c.html#b4f286d6a313df7a5f692e0b4a9509ad" title="Generates the strobe signal for writing data.">lcd_strobe</a>();
|
||||
<a name="l00058"></a>00058 <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="lc7981_8c.html#b69146a9179fc5b5deef3fc61cf0208c" title="Writes a command and a data byte to the lcd.">lcd_write_command</a>(uint8_t cmd, uint8_t data);
|
||||
<a name="l00059"></a>00059 <span class="keyword">inline</span> uint8_t <a class="code" href="lc7981_8c.html#6334333537ad1d0bd51cba1e80f32e74" title="Reads a byte from the display memory.">lcd_read_byte</a>();
|
||||
<a name="l00060"></a>00060
|
||||
<a name="l00061"></a>00061 <span class="preprocessor">#endif </span><span class="comment">/* LC7981_H_ */</span>
|
||||
<a name="l00053"></a><a class="code" href="lc7981_8h.html#90a69d37f5c80f3ded970acf2dacf4c0">00053</a> <span class="preprocessor">#define LCD_TEXT 0</span>
|
||||
<a name="l00054"></a><a class="code" href="lc7981_8h.html#720ef60606ac38ca3a5ab96a9c2b8168">00054</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_TEXT_LINES 10</span>
|
||||
<a name="l00055"></a><a class="code" href="lc7981_8h.html#82f0a630f3c41b5233f2ceb07c7dd736">00055</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_TEXT_COLUMNS 26</span>
|
||||
<a name="l00056"></a>00056 <span class="preprocessor"></span>
|
||||
<a name="l00057"></a><a class="code" href="lc7981_8h.html#dfaedf8da8e73d39a98d709b519a3117">00057</a> <span class="preprocessor">#define LCD_GRAPHIC 1</span>
|
||||
<a name="l00058"></a><a class="code" href="lc7981_8h.html#51e83be6f6929f2a29d5467cd937dfc6">00058</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_GRAPHIC_WIDTH 160</span>
|
||||
<a name="l00059"></a><a class="code" href="lc7981_8h.html#70265c4f840ef78872243e91c923af2f">00059</a> <span class="preprocessor"></span><span class="preprocessor">#define LCD_GRAPHIC_HEIGHT 80</span>
|
||||
<a name="l00060"></a><a class="code" href="lc7981_8h.html#eb2d212a26da4a5a4d3231b2773023e5">00060</a> <span class="preprocessor"></span><span class="preprocessor">#define PIXEL_ON 1</span>
|
||||
<a name="l00061"></a><a class="code" href="lc7981_8h.html#cda2f1b1cf6310700d0d91643c40e068">00061</a> <span class="preprocessor"></span><span class="preprocessor">#define PIXEL_OFF 0</span>
|
||||
<a name="l00062"></a>00062 <span class="preprocessor"></span>
|
||||
<a name="l00063"></a>00063 <span class="keywordtype">void</span> <a class="code" href="lc7981_8c.html#9b18aca098d68e55bd7dd4b83f4f36e9" title="lcd_init set the to default values.">lcd_init</a>(uint8_t mode);
|
||||
<a name="l00064"></a>00064 <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="lc7981_8c.html#35c08b1fa742e650f4873939707b893b" title="Clears the display by setting the whole memory to 0.">lcd_clear</a>();
|
||||
<a name="l00065"></a>00065
|
||||
<a name="l00066"></a>00066 <span class="keywordtype">void</span> <a class="code" href="lc7981_8c.html#30251238a49999658455fdb0233757fb">lcd_write_text</a>(<span class="keywordtype">char</span> *txt);
|
||||
<a name="l00067"></a>00067 <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="lc7981_8c.html#dbf47a5efdf02367ded1ebf8f9edb5fe" title="Set the display cursor to a specific location.">lcd_gotoxy</a>(uint8_t x, uint8_t y);
|
||||
<a name="l00068"></a>00068
|
||||
<a name="l00069"></a>00069 <span class="keywordtype">void</span> <a class="code" href="lc7981_8c.html#735111507ed83172f58d5af2953e31c6" title="set or unset a pixel at the specified location">lcd_plot_pixel</a>(uint8_t x, uint8_t y, uint8_t <span class="keyword">set</span>);
|
||||
<a name="l00070"></a>00070 <span class="keywordtype">void</span> <a class="code" href="lc7981_8c.html#f3b584ee8235c6ed4ebefc50f8a95915" title="This function will plot a bitmap with the upper left corner to the given coordinates...">lcd_plot_bitmap</a>(uint8_t x, uint8_t y, <span class="keyword">const</span> uint8_t *bitmap, uint8_t w, uint8_t h);
|
||||
<a name="l00071"></a>00071
|
||||
<a name="l00072"></a>00072
|
||||
<a name="l00073"></a>00073 <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="lc7981_8c.html#b4f286d6a313df7a5f692e0b4a9509ad" title="Generates the strobe signal for writing data.">lcd_strobe</a>();
|
||||
<a name="l00074"></a>00074 <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="lc7981_8c.html#b69146a9179fc5b5deef3fc61cf0208c" title="Writes a command and a data byte to the lcd.">lcd_write_command</a>(uint8_t cmd, uint8_t data);
|
||||
<a name="l00075"></a>00075 <span class="keyword">inline</span> uint8_t <a class="code" href="lc7981_8c.html#6334333537ad1d0bd51cba1e80f32e74" title="Reads a byte from the display memory.">lcd_read_byte</a>();
|
||||
<a name="l00076"></a>00076
|
||||
<a name="l00077"></a>00077 <span class="preprocessor">#endif </span><span class="comment">/* LC7981_H_ */</span>
|
||||
</pre></div></div>
|
||||
<hr size="1"><address style="text-align: right;"><small>Generated on Sat May 16 17:13:00 2009 for glcd by
|
||||
<hr size="1"><address style="text-align: right;"><small>Generated on Sun May 17 17:59:55 2009 for glcd by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
|
||||
</body>
|
||||
|
|
|
@ -552,13 +552,13 @@ lcd_init set the to default values.
|
|||
<td class="memname">void lcd_plot_bitmap </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">uint8_t </td>
|
||||
<td class="paramname"> <em>x</em>, </td>
|
||||
<td class="paramname"> <em>x_off</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">uint8_t </td>
|
||||
<td class="paramname"> <em>y</em>, </td>
|
||||
<td class="paramname"> <em>y_off</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
|
@ -590,7 +590,16 @@ lcd_init set the to default values.
|
|||
<p>
|
||||
This function will plot a bitmap with the upper left corner to the given coordinates.
|
||||
<p>
|
||||
|
||||
<br>
|
||||
If the bitmap doesn't fit on the display at this location, nothing is drawn at all.<br>
|
||||
Unset pixels are treated as transparent <br>
|
||||
This function is by far the most tricky piece of code in this project,<br>
|
||||
don't worry if you don't understand it at first sight. <br>
|
||||
And if you know a better way to do this, tell me.<br>
|
||||
<p>
|
||||
This function is dedicated to Greta, one of the most important persons in my life so far.<br>
|
||||
Even though I can't remember her actual name.<br>
|
||||
|
||||
</div>
|
||||
</div><p>
|
||||
<a class="anchor" name="735111507ed83172f58d5af2953e31c6"></a><!-- doxytag: member="lc7981.h::lcd_plot_pixel" ref="735111507ed83172f58d5af2953e31c6" args="(uint8_t x, uint8_t y, uint8_t set)" -->
|
||||
|
@ -740,7 +749,7 @@ Writes a command and a data byte to the lcd.
|
|||
</div>
|
||||
</div><p>
|
||||
</div>
|
||||
<hr size="1"><address style="text-align: right;"><small>Generated on Sat May 16 17:13:00 2009 for glcd by
|
||||
<hr size="1"><address style="text-align: right;"><small>Generated on Sun May 17 17:59:55 2009 for glcd by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
|
||||
</body>
|
||||
|
|
|
@ -46,7 +46,7 @@
|
|||
</div>
|
||||
</div><p>
|
||||
</div>
|
||||
<hr size="1"><address style="text-align: right;"><small>Generated on Sat May 16 17:13:00 2009 for glcd by
|
||||
<hr size="1"><address style="text-align: right;"><small>Generated on Sun May 17 17:59:55 2009 for glcd by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.5 </small></address>
|
||||
</body>
|
||||
|
|
|
@ -10,8 +10,8 @@
|
|||
{\fancyplain{}{\bfseries\rightmark}}
|
||||
\rhead[\fancyplain{}{\bfseries\leftmark}]
|
||||
{\fancyplain{}{\bfseries\thepage}}
|
||||
\rfoot[\fancyplain{}{\bfseries\scriptsize Generated on Sat May 16 17:13:00 2009 for glcd by Doxygen }]{}
|
||||
\lfoot[]{\fancyplain{}{\bfseries\scriptsize Generated on Sat May 16 17:13:00 2009 for glcd by Doxygen }}
|
||||
\rfoot[\fancyplain{}{\bfseries\scriptsize Generated on Sun May 17 17:59:55 2009 for glcd by Doxygen }]{}
|
||||
\lfoot[]{\fancyplain{}{\bfseries\scriptsize Generated on Sun May 17 17:59:55 2009 for glcd by Doxygen }}
|
||||
\cfoot{}
|
||||
\newenvironment{Code}
|
||||
{\footnotesize}
|
||||
|
|
|
@ -73,7 +73,17 @@ lcd\_\-init set the to default values.
|
|||
|
||||
This function will plot a bitmap with the upper left corner to the given coordinates.
|
||||
|
||||
\index{lc7981.c@{lc7981.c}!lcd\_\-plot\_\-pixel@{lcd\_\-plot\_\-pixel}}
|
||||
\par
|
||||
If the bitmap doesn't fit on the display at this location, nothing is drawn at all.\par
|
||||
Unset pixels are treated as transparent \par
|
||||
This function is by far the most tricky piece of code in this project,\par
|
||||
don't worry if you don't understand it at first sight. \par
|
||||
And if you know a better way to do this, tell me.\par
|
||||
|
||||
|
||||
This function is dedicated to Greta, one of the most important persons in my life so far.\par
|
||||
Even though I can't remember her actual name.\par
|
||||
\index{lc7981.c@{lc7981.c}!lcd\_\-plot\_\-pixel@{lcd\_\-plot\_\-pixel}}
|
||||
\index{lcd\_\-plot\_\-pixel@{lcd\_\-plot\_\-pixel}!lc7981.c@{lc7981.c}}
|
||||
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void lcd\_\-plot\_\-pixel (uint8\_\-t {\em x}, \/ uint8\_\-t {\em y}, \/ uint8\_\-t {\em set})}\label{lc7981_8c_735111507ed83172f58d5af2953e31c6}
|
||||
|
||||
|
|
|
@ -223,12 +223,22 @@ lcd\_\-init set the to default values.
|
|||
\end{Desc}
|
||||
\index{lc7981.h@{lc7981.h}!lcd\_\-plot\_\-bitmap@{lcd\_\-plot\_\-bitmap}}
|
||||
\index{lcd\_\-plot\_\-bitmap@{lcd\_\-plot\_\-bitmap}!lc7981.h@{lc7981.h}}
|
||||
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void lcd\_\-plot\_\-bitmap (uint8\_\-t {\em x}, \/ uint8\_\-t {\em y}, \/ const uint8\_\-t $\ast$ {\em bitmap}, \/ uint8\_\-t {\em w}, \/ uint8\_\-t {\em h})}\label{lc7981_8h_175d691feb304584c8c18e6456e07401}
|
||||
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void lcd\_\-plot\_\-bitmap (uint8\_\-t {\em x\_\-off}, \/ uint8\_\-t {\em y\_\-off}, \/ const uint8\_\-t $\ast$ {\em bitmap}, \/ uint8\_\-t {\em w}, \/ uint8\_\-t {\em h})}\label{lc7981_8h_175d691feb304584c8c18e6456e07401}
|
||||
|
||||
|
||||
This function will plot a bitmap with the upper left corner to the given coordinates.
|
||||
|
||||
\index{lc7981.h@{lc7981.h}!lcd\_\-plot\_\-pixel@{lcd\_\-plot\_\-pixel}}
|
||||
\par
|
||||
If the bitmap doesn't fit on the display at this location, nothing is drawn at all.\par
|
||||
Unset pixels are treated as transparent \par
|
||||
This function is by far the most tricky piece of code in this project,\par
|
||||
don't worry if you don't understand it at first sight. \par
|
||||
And if you know a better way to do this, tell me.\par
|
||||
|
||||
|
||||
This function is dedicated to Greta, one of the most important persons in my life so far.\par
|
||||
Even though I can't remember her actual name.\par
|
||||
\index{lc7981.h@{lc7981.h}!lcd\_\-plot\_\-pixel@{lcd\_\-plot\_\-pixel}}
|
||||
\index{lcd\_\-plot\_\-pixel@{lcd\_\-plot\_\-pixel}!lc7981.h@{lc7981.h}}
|
||||
\subsubsection{\setlength{\rightskip}{0pt plus 5cm}void lcd\_\-plot\_\-pixel (uint8\_\-t {\em x}, \/ uint8\_\-t {\em y}, \/ uint8\_\-t {\em set})}\label{lc7981_8h_735111507ed83172f58d5af2953e31c6}
|
||||
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
\vspace*{1cm}
|
||||
{\large Generated by Doxygen 1.5.5}\\
|
||||
\vspace*{0.5cm}
|
||||
{\small Sat May 16 17:13:00 2009}\\
|
||||
{\small Sun May 17 17:59:55 2009}\\
|
||||
\end{center}
|
||||
\end{titlepage}
|
||||
\clearemptydoublepage
|
||||
|
|
|
@ -3,8 +3,25 @@
|
|||
*
|
||||
* Created on: 01.05.2009
|
||||
* Author: sebastian
|
||||
*
|
||||
* This file is part of Sebastians AVR Library for lc7981.
|
||||
*
|
||||
* Sebastians AVR Library is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* Sebastians AVR Library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with Sebastians AVR Library. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#include "lc7981.h"
|
||||
|
||||
uint8_t lcd_mode, //!< Currently used mode, can be text or graphic.
|
||||
|
@ -251,20 +268,31 @@ uint8_t xr;
|
|||
}
|
||||
}
|
||||
/**
|
||||
* This function will plot a bitmap with the upper left corner to the given coordinates.
|
||||
* This function will plot a bitmap with the upper left corner to the given coordinates.\n
|
||||
* If the bitmap doesn't fit on the display at this location, nothing is drawn at all.\n
|
||||
* Unset pixels are treated as transparent \n
|
||||
* This function is by far the most tricky piece of code in this project,\n
|
||||
* don't worry if you don't understand it at first sight. \n
|
||||
* And if you know a better way to do this, tell me.\n
|
||||
*
|
||||
* This function is dedicated to Greta, one of the most important persons in my life so far.\n
|
||||
* Even though I can't remember her actual name.\n
|
||||
*/
|
||||
void lcd_plot_bitmap(uint8_t x_off, uint8_t y_off, const uint8_t *bitmap, uint8_t w, uint8_t h) {
|
||||
uint8_t x,y,cur,curs,sr,dr;
|
||||
uint16_t pos;
|
||||
|
||||
//check if the bitmap fits on the display
|
||||
if((x_off <= LCD_GRAPHIC_WIDTH - 1) && (y_off <= LCD_GRAPHIC_HEIGHT - 1)
|
||||
&& (x_off + w <= LCD_GRAPHIC_WIDTH - 1) && (y_off + h <= LCD_GRAPHIC_HEIGHT - 1)) {
|
||||
//loop linewise through the bitmap
|
||||
for(y = y_off; y < y_off + h; y++) {
|
||||
cur = 0;
|
||||
//loop pixelwise through each line
|
||||
for(x = x_off - (x_off % 8); x_off + w > x; x++) {
|
||||
dr = x % 8;
|
||||
|
||||
if(dr == 0) {
|
||||
if(dr == 0) { //load the next byte from display memory
|
||||
pos = y * (LCD_GRAPHIC_WIDTH / 8) + x / 8;
|
||||
lcd_write_command(0x0A,(uint8_t) pos );
|
||||
lcd_write_command(0x0B,(uint8_t) (pos >> 8));
|
||||
|
@ -273,21 +301,21 @@ uint16_t pos;
|
|||
|
||||
if((x - x_off) >= 0) {
|
||||
sr = (x - x_off) % 8;
|
||||
if(sr == 0) {
|
||||
if(sr == 0) { //load the next byte of the bitmap
|
||||
curs = pgm_read_byte(bitmap++);
|
||||
}
|
||||
|
||||
//grep the pixel from the bitmap and put into the display byte
|
||||
cur = cur | ((( curs & (1 << sr)) >> sr) << dr);
|
||||
}
|
||||
|
||||
if(dr == 7) {
|
||||
if(dr == 7) { //write the current byte to display memory
|
||||
pos = y * (LCD_GRAPHIC_WIDTH / 8) + x / 8;
|
||||
lcd_write_command(0x0A,(uint8_t) pos );
|
||||
lcd_write_command(0x0B,(uint8_t) (pos >> 8));
|
||||
lcd_write_command(0x0C,cur);
|
||||
}
|
||||
}
|
||||
if(dr != 7) {
|
||||
if(dr != 7) { //write the last byte to display memory if there's one left
|
||||
pos = y * (LCD_GRAPHIC_WIDTH / 8) + x / 8;
|
||||
lcd_write_command(0x0A,(uint8_t) pos );
|
||||
lcd_write_command(0x0B,(uint8_t) (pos >> 8));
|
||||
|
|
|
@ -3,6 +3,22 @@
|
|||
*
|
||||
* Created on: 01.05.2009
|
||||
* Author: sebastian
|
||||
*
|
||||
* This file is part of Sebastians AVR Library for lc7981.
|
||||
*
|
||||
* Sebastians AVR Library is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* Sebastians AVR Library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with Sebastians AVR Library. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef LC7981_H_
|
||||
|
|
Loading…
Reference in New Issue