Library for Nuelectronics Nokia 3310/5110 LCD Display and joystick.

Dependents:   LEDFun NetTester

Fork of N3310LCD by Andrew Lindsay

Library for Nuelectronics Nokia 3310/5110 LCD Display and joystick.

Revision:
0:7efa6655d94b
Child:
1:51961974fe55
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/N3310LCD.h	Sun Mar 10 18:15:25 2013 +0000
@@ -0,0 +1,73 @@
+/*
+* N3310LCD. A program to interface mbed with the nuelectronics
+* Nokia 3310 LCD shield from www.nuelectronics.com. Ported from
+* the nuelectronics Arduino code.
+*
+* Copyright (C) <2009> Petras Saduikis <petras@petras.co.uk>
+*
+* Converted to a mbed library by Andrew D. Lindsay
+*
+* This file is part of N3310LCD.
+*
+* N3310LCD 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.
+* 
+* N3310LCD 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 N3310LCD.  If not, see <http://www.gnu.org/licenses/>.
+*/
+
+#ifndef SNATCH59_N3310LCD_H
+#define SNATCH59_N3310LCD_H
+
+#include <mbed.h>
+#include "N3310LCDDefs.h"
+
+#define LCDCOLMAX   84
+#define LCDROWMAX   6
+#define LCDPIXELROWMAX  48
+#define PIXEL_OFF 0
+#define PIXEL_ON  1
+#define PIXEL_XOR 2
+
+class N3310LCD
+{
+public:
+    N3310LCD(PinName mosi, PinName miso, PinName sck, 
+             PinName ce, PinName dat_cmd, PinName lcd_rst, PinName bl_on);
+    
+    void init();
+    void cls();
+    void backlight(eBacklight state);
+    void write(BYTE data, eRequestType req_type);   
+    void locate(BYTE xPos, BYTE yPos);
+    
+    void drawBitmap(BYTE xPos, BYTE yPos, BYTE* bitmap, BYTE bmpXSize, BYTE bmpYSize);
+    void clearBitmap(BYTE xPos,BYTE yPos, BYTE size_x, BYTE size_y);
+    void writeString(BYTE xPos, BYTE yPos, char* string, eDisplayMode mode);                  
+    void writeStringBig(BYTE xPos, BYTE yPos, char* string, eDisplayMode mode);
+    void writeChar(BYTE ch, eDisplayMode mode);
+    void writeCharBig(BYTE xPos, BYTE yPos, BYTE ch, eDisplayMode mode);
+    
+        void setPixel( BYTE x, BYTE y, BYTE c );
+    void drawLine(BYTE x1, BYTE y1, BYTE x2, BYTE y2, BYTE c);
+    void drawRectangle(BYTE x1, BYTE y1,BYTE x2, BYTE y2, BYTE c);
+    void drawFilledRectangle(BYTE x1, BYTE y1, BYTE x2, BYTE y2, BYTE c);
+    void drawCircle(BYTE xc, BYTE yc, BYTE r, BYTE c);
+            
+private:
+    // I/O
+    SPI lcdPort;            // does SPI MOSI, MISO and SCK
+    DigitalOut ceWire;      // does SPI CE
+    DigitalOut dcWire;      // does 3310 DAT_CMD
+    DigitalOut rstWire;     // does 3310 LCD_RST
+    DigitalOut blWire;      // does 3310 BL_ON (backlight)    
+};
+
+#endif
\ No newline at end of file