annotate service/busyboxArduino/LiquidCrystal_V1.2.1/LiquidCrystal/LCD.h @ 154:58c47bfe0ce5

add LiquidCrystal_V1.2.1 lib Ignore-this: ddfe8b0c1d6e19f210684520859d5a57
author drewp@bigasterisk.com
date Sat, 03 Jan 2015 23:35:16 -0800
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
154
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
1 // ---------------------------------------------------------------------------
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
2 // Created by Francisco Malpartida on 20/08/11.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
3 // Copyright 2011 - Under creative commons license 3.0:
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
4 // Attribution-ShareAlike CC BY-SA
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
5 //
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
6 // This software is furnished "as is", without technical support, and with no
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
7 // warranty, express or implied, as to its usefulness for any purpose.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
8 //
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
9 // Thread Safe: No
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
10 // Extendable: Yes
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
11 //
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
12 // @file LCD.h
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
13 // This file implements a basic liquid crystal library that comes as standard
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
14 // in the Arduino SDK.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
15 //
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
16 // @brief
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
17 // This is a basic implementation of the LiquidCrystal library of the
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
18 // Arduino SDK. This library is a refactored version of the one supplied
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
19 // in the Arduino SDK in such a way that it simplifies its extension
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
20 // to support other mechanism to communicate to LCDs such as I2C, Serial, SR,
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
21 // The original library has been reworked in such a way that this will be
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
22 // the base class implementing all generic methods to command an LCD based
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
23 // on the Hitachi HD44780 and compatible chipsets.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
24 //
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
25 // This base class is a pure abstract class and needs to be extended. As reference,
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
26 // it has been extended to drive 4 and 8 bit mode control, LCDs and I2C extension
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
27 // backpacks such as the I2CLCDextraIO using the PCF8574* I2C IO Expander ASIC.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
28 //
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
29 // The functionality provided by this class and its base class is identical
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
30 // to the original functionality of the Arduino LiquidCrystal library.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
31 //
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
32 // @version API 1.1.0
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
33 //
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
34 //
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
35 // @author F. Malpartida - fmalpartida@gmail.com
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
36 // ---------------------------------------------------------------------------
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
37 #ifndef _LCD_H_
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
38 #define _LCD_H_
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
39
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
40 #if (ARDUINO < 100)
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
41 #include <WProgram.h>
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
42 #else
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
43 #include <Arduino.h>
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
44 #endif
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
45
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
46 #include <inttypes.h>
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
47 #include <Print.h>
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
48
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
49
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
50 /*!
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
51 @defined
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
52 @abstract Enables disables fast waits for write operations for LCD
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
53 @discussion If defined, the library will avoid doing un-necessary waits.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
54 this can be done, because the time taken by Arduino's slow digitalWrite
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
55 operations. If fast digitalIO operations, comment this line out or undefine
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
56 the mode.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
57 */
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
58 #ifdef __AVR__
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
59 #define FAST_MODE
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
60 #endif
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
61
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
62 /*!
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
63 @function
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
64 @abstract waits for a given time in microseconds (compilation dependent).
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
65 @discussion Waits for a given time defined in microseconds depending on
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
66 the FAST_MODE define. If the FAST_MODE is defined the call will return
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
67 inmediatelly.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
68 @param uSec[in] time in microseconds.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
69 @result None
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
70 */
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
71 inline static void waitUsec ( uint16_t uSec )
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
72 {
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
73 #ifndef FAST_MODE
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
74 delayMicroseconds ( uSec );
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
75 #endif // FAST_MODE
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
76 }
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
77
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
78
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
79 /*!
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
80 @defined
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
81 @abstract All these definitions shouldn't be used unless you are writing
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
82 a driver.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
83 @discussion All these definitions are for driver implementation only and
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
84 shouldn't be used by applications.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
85 */
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
86 // LCD Commands
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
87 // ---------------------------------------------------------------------------
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
88 #define LCD_CLEARDISPLAY 0x01
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
89 #define LCD_RETURNHOME 0x02
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
90 #define LCD_ENTRYMODESET 0x04
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
91 #define LCD_DISPLAYCONTROL 0x08
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
92 #define LCD_CURSORSHIFT 0x10
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
93 #define LCD_FUNCTIONSET 0x20
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
94 #define LCD_SETCGRAMADDR 0x40
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
95 #define LCD_SETDDRAMADDR 0x80
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
96
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
97 // flags for display entry mode
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
98 // ---------------------------------------------------------------------------
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
99 #define LCD_ENTRYRIGHT 0x00
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
100 #define LCD_ENTRYLEFT 0x02
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
101 #define LCD_ENTRYSHIFTINCREMENT 0x01
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
102 #define LCD_ENTRYSHIFTDECREMENT 0x00
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
103
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
104 // flags for display on/off and cursor control
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
105 // ---------------------------------------------------------------------------
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
106 #define LCD_DISPLAYON 0x04
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
107 #define LCD_DISPLAYOFF 0x00
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
108 #define LCD_CURSORON 0x02
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
109 #define LCD_CURSOROFF 0x00
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
110 #define LCD_BLINKON 0x01
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
111 #define LCD_BLINKOFF 0x00
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
112
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
113 // flags for display/cursor shift
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
114 // ---------------------------------------------------------------------------
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
115 #define LCD_DISPLAYMOVE 0x08
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
116 #define LCD_CURSORMOVE 0x00
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
117 #define LCD_MOVERIGHT 0x04
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
118 #define LCD_MOVELEFT 0x00
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
119
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
120 // flags for function set
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
121 // ---------------------------------------------------------------------------
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
122 #define LCD_8BITMODE 0x10
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
123 #define LCD_4BITMODE 0x00
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
124 #define LCD_2LINE 0x08
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
125 #define LCD_1LINE 0x00
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
126 #define LCD_5x10DOTS 0x04
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
127 #define LCD_5x8DOTS 0x00
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
128
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
129
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
130 // Define COMMAND and DATA LCD Rs (used by send method).
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
131 // ---------------------------------------------------------------------------
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
132 #define COMMAND 0
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
133 #define DATA 1
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
134 #define FOUR_BITS 2
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
135
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
136
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
137 /*!
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
138 @defined
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
139 @abstract Defines the duration of the home and clear commands
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
140 @discussion This constant defines the time it takes for the home and clear
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
141 commands in the LCD - Time in microseconds.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
142 */
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
143 #define HOME_CLEAR_EXEC 2000
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
144
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
145 /*!
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
146 @defined
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
147 @abstract Backlight off constant declaration
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
148 @discussion Used in combination with the setBacklight to swith off the
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
149 LCD backlight. @set setBacklight
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
150 */
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
151 #define BACKLIGHT_OFF 0
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
152
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
153 /*!
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
154 @defined
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
155 @abstract Backlight on constant declaration
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
156 @discussion Used in combination with the setBacklight to swith on the
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
157 LCD backlight. @set setBacklight
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
158 */
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
159 #define BACKLIGHT_ON 255
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
160
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
161
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
162 /*!
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
163 @typedef
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
164 @abstract Define backlight control polarity
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
165 @discussion Backlight control polarity. @see setBacklightPin.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
166 */
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
167 typedef enum { POSITIVE, NEGATIVE } t_backlighPol;
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
168
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
169 class LCD : public Print
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
170 {
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
171 public:
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
172
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
173 /*!
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
174 @method
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
175 @abstract LiquidCrystal abstract constructor.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
176 @discussion LiquidCrystal class abstract constructor needed to create
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
177 the base abstract class.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
178 */
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
179 LCD ( );
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
180
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
181 /*!
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
182 @function
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
183 @abstract LCD initialization.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
184 @discussion Initializes the LCD to a given size (col, row). This methods
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
185 initializes the LCD, therefore, it MUST be called prior to using any other
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
186 method from this class.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
187
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
188 This method is abstract, a base implementation is available common to all LCD
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
189 drivers. Should it not be compatible with some other LCD driver, a derived
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
190 implementation should be done on the driver specif class.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
191
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
192 @param cols[in] the number of columns that the display has
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
193 @param rows[in] the number of rows that the display has
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
194 @param charsize[in] character size, default==LCD_5x8DOTS
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
195 */
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
196 virtual void begin(uint8_t cols, uint8_t rows, uint8_t charsize = LCD_5x8DOTS);
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
197
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
198 /*!
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
199 @function
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
200 @abstract Clears the LCD.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
201 @discussion Clears the LCD screen and positions the cursor in the upper-left
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
202 corner.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
203
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
204 This operation is time consuming for the LCD.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
205
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
206 @param none
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
207 */
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
208 void clear();
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
209
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
210 /*!
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
211 @function
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
212 @abstract Sets the cursor to the upper-left corner.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
213 @discussion Positions the cursor in the upper-left of the LCD.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
214 That is, use that location in outputting subsequent text to the display.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
215 To also clear the display, use the clear() function instead.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
216
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
217 This operation is time consuming for the LCD.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
218
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
219 @param none
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
220 */
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
221 void home();
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
222
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
223 /*!
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
224 @function
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
225 @abstract Turns off the LCD display.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
226 @discussion Turns off the LCD display, without losing the text currently
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
227 being displayed on it.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
228
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
229 @param none
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
230 */
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
231 void noDisplay();
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
232
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
233 /*!
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
234 @function
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
235 @abstract Turns on the LCD display.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
236 @discussion Turns on the LCD display, after it's been turned off with
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
237 noDisplay(). This will restore the text (and cursor location) that was on
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
238 the display prior to calling noDisplay().
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
239
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
240 @param none
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
241 */
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
242 void display();
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
243
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
244 /*!
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
245 @function
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
246 @abstract Turns off the blinking of the LCD cursor.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
247
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
248 @param none
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
249 */
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
250 void noBlink();
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
251
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
252 /*!
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
253 @function
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
254 @abstract Display the cursor of the LCD.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
255 @discussion Display the blinking LCD cursor. If used in combination with
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
256 the cursor() function, the result will depend on the particular display.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
257
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
258 @param none
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
259 */
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
260 void blink();
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
261
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
262 /*!
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
263 @function
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
264 @abstract Hides the LCD cursor.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
265
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
266 @param none
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
267 */
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
268 void noCursor();
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
269
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
270 /*!
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
271 @function
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
272 @abstract Display the LCD cursor.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
273 @discussion Display the LCD cursor: an underscore (line) at the location
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
274 where the next character will be written.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
275
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
276 @param none
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
277 */
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
278 void cursor();
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
279
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
280 /*!
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
281 @function
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
282 @abstract Scrolls the contents of the display (text and cursor) one space
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
283 to the left.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
284
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
285 @param none
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
286 */
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
287 void scrollDisplayLeft();
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
288
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
289 /*!
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
290 @function
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
291 @abstract Scrolls the contents of the display (text and cursor) one space
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
292 to the right.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
293
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
294 @param none
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
295 */
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
296 void scrollDisplayRight();
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
297
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
298 /*!
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
299 @function
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
300 @abstract Set the direction for text written to the LCD to left-to-right.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
301 @discussion Set the direction for text written to the LCD to left-to-right.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
302 All subsequent characters written to the display will go from left to right,
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
303 but does not affect previously-output text.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
304
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
305 This is the default configuration.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
306
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
307 @param none
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
308 */
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
309 void leftToRight();
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
310
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
311 /*!
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
312 @function
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
313 @abstract Set the direction for text written to the LCD to right-to-left.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
314 @discussion Set the direction for text written to the LCD to right-to-left.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
315 All subsequent characters written to the display will go from right to left,
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
316 but does not affect previously-output text.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
317
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
318 left-to-right is the default configuration.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
319
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
320 @param none
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
321 */
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
322 void rightToLeft();
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
323
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
324 /*!
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
325 @function
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
326 @abstract Moves the cursor one space to the left.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
327 @discussion
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
328 @param none
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
329 */
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
330 void moveCursorLeft();
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
331
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
332
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
333 /*!
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
334 @function
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
335 @abstract Moves the cursor one space to the right.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
336
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
337 @param none
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
338 */
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
339 void moveCursorRight();
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
340
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
341 /*!
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
342 @function
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
343 @abstract Turns on automatic scrolling of the LCD.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
344 @discussion Turns on automatic scrolling of the LCD. This causes each
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
345 character output to the display to push previous characters over by one
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
346 space. If the current text direction is left-to-right (the default),
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
347 the display scrolls to the left; if the current direction is right-to-left,
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
348 the display scrolls to the right.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
349 This has the effect of outputting each new character to the same location on
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
350 the LCD.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
351
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
352 @param none
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
353 */
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
354 void autoscroll();
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
355
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
356 /*!
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
357 @function
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
358 @abstract Turns off automatic scrolling of the LCD.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
359 @discussion Turns off automatic scrolling of the LCD, this is the default
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
360 configuration of the LCD.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
361
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
362 @param none
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
363 */
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
364 void noAutoscroll();
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
365
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
366 /*!
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
367 @function
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
368 @abstract Creates a custom character for use on the LCD.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
369 @discussion Create a custom character (glyph) for use on the LCD.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
370 Most chipsets only support up to eight characters of 5x8 pixels. Therefore,
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
371 this methods has been limited to locations (numbered 0 to 7).
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
372
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
373 The appearance of each custom character is specified by an array of eight
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
374 bytes, one for each row. The five least significant bits of each byte
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
375 determine the pixels in that row. To display a custom character on screen,
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
376 write()/print() its number, i.e. lcd.print (char(x)); // Where x is 0..7.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
377
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
378 @param location[in] LCD memory location of the character to create
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
379 (0 to 7)
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
380 @param charmap[in] the bitmap array representing each row of the character.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
381 */
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
382 void createChar(uint8_t location, uint8_t charmap[]);
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
383
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
384 /*!
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
385 @function
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
386 @abstract Position the LCD cursor.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
387 @discussion Sets the position of the LCD cursor. Set the location at which
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
388 subsequent text written to the LCD will be displayed.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
389
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
390 @param col[in] LCD column
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
391 @param row[in] LCD row - line.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
392 */
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
393 void setCursor(uint8_t col, uint8_t row);
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
394
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
395 /*!
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
396 @function
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
397 @abstract Switch-on the LCD backlight.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
398 @discussion Switch-on the LCD backlight.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
399 The setBacklightPin has to be called before setting the backlight for
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
400 this method to work. @see setBacklightPin.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
401 */
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
402 void backlight ( void );
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
403
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
404 /*!
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
405 @function
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
406 @abstract Switch-off the LCD backlight.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
407 @discussion Switch-off the LCD backlight.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
408 The setBacklightPin has to be called before setting the backlight for
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
409 this method to work. @see setBacklightPin.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
410 */
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
411 void noBacklight ( void );
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
412
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
413 /*!
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
414 @function
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
415 @abstract Switch on the LCD module.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
416 @discussion Switch on the LCD module, it will switch on the LCD controller
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
417 and the backlight. This method has the same effect of calling display and
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
418 backlight. @see display, @see backlight
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
419 */
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
420 void on ( void );
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
421
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
422 /*!
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
423 @function
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
424 @abstract Switch off the LCD module.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
425 @discussion Switch off the LCD module, it will switch off the LCD controller
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
426 and the backlight. This method has the same effect of calling noDisplay and
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
427 noBacklight. @see display, @see backlight
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
428 */
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
429 void off ( void );
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
430
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
431 //
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
432 // virtual class methods
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
433 // --------------------------------------------------------------------------
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
434 /*!
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
435 @function
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
436 @abstract Sets the pin to control the backlight.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
437 @discussion Sets the pin in the device to control the backlight.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
438 This method is device dependent and can be programmed on each subclass. An
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
439 empty function call is provided that does nothing.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
440
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
441 @param value: pin associated to backlight control.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
442 @param pol: backlight polarity control (POSITIVE, NEGATIVE)
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
443 */
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
444 virtual void setBacklightPin ( uint8_t value, t_backlighPol pol ) { };
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
445
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
446 /*!
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
447 @function
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
448 @abstract Sets the pin to control the backlight.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
449 @discussion Sets the pin in the device to control the backlight. The behaviour
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
450 of this method is very dependent on the device. Some controllers support
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
451 dimming some don't. Please read the actual header file for each individual
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
452 device. The setBacklightPin method has to be called before setting the backlight
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
453 or the adequate backlight control constructor.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
454 @see setBacklightPin.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
455
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
456 NOTE: The prefered methods to control the backlight are "backlight" and
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
457 "noBacklight".
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
458
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
459 @param 0..255 - the value is very dependent on the LCD. However,
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
460 BACKLIGHT_OFF will be interpreted as off and BACKLIGHT_ON will drive the
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
461 backlight on.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
462 */
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
463 virtual void setBacklight ( uint8_t value ) { };
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
464
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
465 /*!
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
466 @function
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
467 @abstract Writes to the LCD.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
468 @discussion This method writes character to the LCD in the current cursor
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
469 position.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
470
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
471 This is the virtual write method, implemented in the Print class, therefore
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
472 all Print class methods will end up calling this method.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
473
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
474 @param value[in] Value to write to the LCD.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
475 */
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
476 #if (ARDUINO < 100)
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
477 virtual void write(uint8_t value);
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
478 #else
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
479 virtual size_t write(uint8_t value);
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
480 #endif
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
481
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
482 #if (ARDUINO < 100)
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
483 using Print::write;
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
484 #else
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
485 using Print::write;
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
486 #endif
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
487
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
488 protected:
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
489 // Internal LCD variables to control the LCD shared between all derived
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
490 // classes.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
491 uint8_t _displayfunction; // LCD_5x10DOTS or LCD_5x8DOTS, LCD_4BITMODE or
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
492 // LCD_8BITMODE, LCD_1LINE or LCD_2LINE
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
493 uint8_t _displaycontrol; // LCD base control command LCD on/off, blink, cursor
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
494 // all commands are "ored" to its contents.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
495 uint8_t _displaymode; // Text entry mode to the LCD
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
496 uint8_t _numlines; // Number of lines of the LCD, initialized with begin()
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
497 uint8_t _cols; // Number of columns in the LCD
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
498 t_backlighPol _polarity; // Backlight polarity
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
499
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
500 private:
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
501 /*!
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
502 @function
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
503 @abstract Send a command to the LCD.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
504 @discussion This method sends a command to the LCD by setting the Register
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
505 select line of the LCD.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
506
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
507 This command shouldn't be used to drive the LCD, only to implement any other
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
508 feature that is not available on this library.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
509
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
510 @param value[in] Command value to send to the LCD (COMMAND, DATA or
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
511 FOUR_BITS).
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
512 */
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
513 void command(uint8_t value);
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
514
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
515 /*!
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
516 @function
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
517 @abstract Send a particular value to the LCD.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
518 @discussion Sends a particular value to the LCD. This is a pure abstract
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
519 method, therefore, it is implementation dependent of each derived class how
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
520 to physically write to the LCD.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
521
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
522 Users should never call this method.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
523
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
524 @param value[in] Value to send to the LCD.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
525 @result mode LOW - write to the LCD CGRAM, HIGH - write a command to
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
526 the LCD.
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
527 */
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
528 #if (ARDUINO < 100)
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
529 virtual void send(uint8_t value, uint8_t mode) { };
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
530 #else
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
531 virtual void send(uint8_t value, uint8_t mode) = 0;
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
532 #endif
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
533
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
534 };
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
535
58c47bfe0ce5 add LiquidCrystal_V1.2.1 lib
drewp@bigasterisk.com
parents:
diff changeset
536 #endif