Hotboards_SpiLcd.cpp - Library for write and control and lcd with spi interfaces and the ST7032 controller. Base on Arduino's Liquid Cristal library
Dependents: Hotboards_SpiLcd-Hello_World Hotboards_SpiLcd-Writing_In_Diferent_Rows Hotboards_SpiLcd_Scrolling_Text Hotboards_SpiLcd_AutoScroll ... more
Diff: Hotboards_SpiLcd.h
- Revision:
- 0:1d03652e9f7a
- Child:
- 1:b777b6147d99
diff -r 000000000000 -r 1d03652e9f7a Hotboards_SpiLcd.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/Hotboards_SpiLcd.h Thu Jan 28 22:45:39 2016 +0000
@@ -0,0 +1,114 @@
+/*
+ Hotboards_SpiLcd.cpp - Library for write and control and lcd with spi interfaces and the ST7032 controller.
+ base on Arduino's Liquid Cristal library
+ Library ported by diego from Hotboards January 16, 2016.
+ and originally cretaed by
+ by David A. Mellis
+ library modified 5 Jul 2009
+ by Limor Fried (http://www.ladyada.net)
+ example added 9 Jul 2009
+ by Tom Igoe
+ modified 22 Nov 2010
+ by Tom Igoe
+ Released into the public domain.
+*/
+
+#ifndef Hotboards_SpiLcd_h
+#define Hotboards_SpiLcd_h
+
+#include "mbed.h"
+
+// commands
+#define HT_SPILCD_CLEARDISPLAY 0x01
+#define HT_SPILCD_RETURNHOME 0x02
+#define HT_SPILCD_ENTRYMODESET 0x04
+#define HT_SPILCD_DISPLAYCONTROL 0x08
+#define HT_SPILCD_CURSORSHIFT 0x10
+#define HT_SPILCD_FUNCTIONSET 0x20
+#define HT_SPILCD_SETCGRAMADDR 0x40
+#define HT_SPILCD_SETDDRAMADDR 0x80
+
+// flags for display entry mode
+#define HT_SPILCD_ENTRYRIGHT 0x00
+#define HT_SPILCD_ENTRYLEFT 0x02
+#define HT_SPILCD_ENTRYSHIFTINCREMENT 0x01
+#define HT_SPILCD_ENTRYSHIFTDECREMENT 0x00
+
+// flags for display on/off control
+#define HT_SPILCD_DISPLAYON 0x04
+#define HT_SPILCD_DISPLAYOFF 0x00
+#define HT_SPILCD_CURSORON 0x02
+#define HT_SPILCD_CURSOROFF 0x00
+#define HT_SPILCD_BLINKON 0x01
+#define HT_SPILCD_BLINKOFF 0x00
+
+// flags for display/cursor shift
+#define HT_SPILCD_DISPLAYMOVE 0x08
+#define HT_SPILCD_CURSORMOVE 0x00
+#define HT_SPILCD_MOVERIGHT 0x04
+#define HT_SPILCD_MOVELEFT 0x00
+
+// flags for function set
+#define HT_SPILCD_8BITMODE 0x10
+#define HT_SPILCD_4BITMODE 0x00
+#define HT_SPILCD_2LINE 0x08
+#define HT_SPILCD_1LINE 0x00
+#define HT_SPILCD_5x16DOTS 0x04
+#define HT_SPILCD_5x8DOTS 0x00
+#define HT_SPILCD_EXTINST 0x01
+#define HT_SPILCD_NORMINST 0x00
+
+
+class Hotboards_SpiLcd : public Stream
+{
+ public:
+
+ Hotboards_SpiLcd( SPI &spi, PinName cs, PinName rs, PinName rst );
+ void init( void );
+ void clear( void );
+ void home( void );
+
+ void noDisplay( void );
+ void display( void );
+ void noBlink( void );
+ void blink( void );
+ void noCursor( void );
+ void cursor( void );
+ void scrollDisplayLeft( void );
+ void scrollDisplayRight( void );
+ void leftToRight( void );
+ void rightToLeft( void );
+ void autoscroll( void );
+ void noAutoscroll( void );
+
+ //void setRowOffsets( int row1, int row2 );
+ //void createChar( uint8_t, uint8_t[] );
+ void setCursor( uint8_t, uint8_t );
+ void command( uint8_t );
+ #if DOXYGEN_ONLY
+ int putc(int c);
+ int printf(const char* format, ...);
+ #endif
+
+
+ protected:
+
+ void send( uint8_t, uint8_t );
+
+ // redirection for the printf and putc functions
+ virtual int _putc( int value );
+ virtual int _getc( void );
+
+ // internal objects
+ SPI _spi;
+
+ DigitalOut _cs_pin;
+ DigitalOut _rs_pin;
+ DigitalOut _rst_pin;
+
+ uint8_t _displayfunction;
+ uint8_t _displaycontrol;
+ uint8_t _displaymode;
+};
+
+#endif /* Hotboards_SpiLcd_h */
\ No newline at end of file
Hotboards SpiLcd.