Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of TextLCD by
Diff: TextLCD.h
- Revision:
- 10:dd9b3a696acd
- Parent:
- 9:0893d986e717
- Child:
- 11:9ec02df863a1
--- a/TextLCD.h Thu Jan 31 19:46:00 2013 +0000
+++ b/TextLCD.h Mon Feb 04 21:48:24 2013 +0000
@@ -28,7 +28,7 @@
/** A TextLCD interface for driving 4-bit HD44780-based LCDs
*
- * Currently supports 8x1, 8x2, 16x2, 16x4, 20x2, 20x4, 24x2 and 40x2 panels
+ * Currently supports 8x1, 8x2, 16x2, 16x4, 20x2, 20x4, 24x2, 24x4 and 40x2 panels
*
* @code
* #include "mbed.h"
@@ -42,6 +42,7 @@
* @endcode
*/
+
class TextLCD : public Stream {
public:
@@ -55,9 +56,17 @@
LCD20x2, /**< 20x2 LCD panel */
LCD20x4, /**< 20x4 LCD panel */
LCD24x2, /**< 24x2 LCD panel */
+ LCD24x4, /**< 24x4 LCD panel, special mode KS0078 */
LCD40x2 /**< 40x2 LCD panel */
};
+ /** LCD Cursor control */
+ enum LCDCursor {
+ CurOn,
+ CurOff
+ };
+
+
/** Create a TextLCD interface
*
* @param rs Instruction/data control line
@@ -89,17 +98,46 @@
*/
void locate(int column, int row);
+
+ /** Return the memoryaddress of screen column and row location
+ *
+ * @param column The horizontal position from the left, indexed from 0
+ * @param row The vertical position from the top, indexed from 0
+ * @param return The memoryaddress of screen column and row location
+ */
int getAddress(int column, int row);
+
+
+ /** Set the memoryaddress of screen column and row location
+ *
+ * @param column The horizontal position from the left, indexed from 0
+ * @param row The vertical position from the top, indexed from 0
+ */
void setAddress(int column, int row);
+ /** Set the Cursormode
+ *
+ * @param show The Cursor mode (CurOn or CurOff)
+ * @param return The current Cursor mode
+ */
+ LCDCursor cursor(LCDCursor show);
+
/** Clear the screen and locate to 0,0 */
void cls();
+ /** Return the number of rows
+ *
+ * @param return The number of rows
+ */
int rows();
- int columns();
+
+ /** Return the number of columns
+ *
+ * @param return The number of columns
+ */
+ int columns();
protected:
-
// Stream implementation functions
virtual int _putc(int value);
virtual int _getc();
@@ -116,6 +154,7 @@
int _column;
int _row;
+ LCDCursor _cursor;
};
#endif
