ks0713 SPI library. This library includes a small 5x5 ascii font and line function.

Committer:
muraguchi
Date:
Sun Feb 26 16:01:29 2012 +0000
Revision:
1:408627d73aa8
Parent:
0:7b044b89e49c
Updated

Who changed what in which revision?

UserRevisionLine numberNew contents of line
muraguchi 0:7b044b89e49c 1 #ifndef MBED_KS0713_SPI_H
muraguchi 0:7b044b89e49c 2 #define MBED_KS0713_SPI_H
muraguchi 0:7b044b89e49c 3
muraguchi 0:7b044b89e49c 4 #define MBED_KS0713_SPI_WIDTH 100
muraguchi 0:7b044b89e49c 5 #define MBED_KS0713_SPI_HEIGHT 32
muraguchi 0:7b044b89e49c 6
muraguchi 0:7b044b89e49c 7
muraguchi 0:7b044b89e49c 8 #include "mbed.h"
muraguchi 0:7b044b89e49c 9 //
muraguchi 0:7b044b89e49c 10 // KS0713 SPI driver for aitendo 100x32 LCD module.
muraguchi 0:7b044b89e49c 11 //
muraguchi 0:7b044b89e49c 12 // This driver is based on Tony Beck's KS0713 library. Thank you.
muraguchi 0:7b044b89e49c 13 //
muraguchi 0:7b044b89e49c 14 // Website: http://www.aitendo.co.jp/product/3127
muraguchi 0:7b044b89e49c 15 //
muraguchi 0:7b044b89e49c 16 // LCD module pin assign
muraguchi 0:7b044b89e49c 17 //
muraguchi 0:7b044b89e49c 18 // 1.VSS(GND)
muraguchi 0:7b044b89e49c 19 // 2.VDD(3.3V)
muraguchi 0:7b044b89e49c 20 // 3.CS1B
muraguchi 0:7b044b89e49c 21 // 4.CS2(tie off to H)
muraguchi 0:7b044b89e49c 22 // 5.RS(1:data, 0:command)
muraguchi 0:7b044b89e49c 23 // 6.RD(tie off to H or L)
muraguchi 0:7b044b89e49c 24 // 7.WR(tie off to H or L)
muraguchi 0:7b044b89e49c 25 // 8.PS(1:parallel, 0:serial) (tie off to L)
muraguchi 0:7b044b89e49c 26 // 9.RESETN
muraguchi 0:7b044b89e49c 27 // 10.MI(1:6800, 0:8080) (tie off to H or L)
muraguchi 0:7b044b89e49c 28 // 11.DB7(serial data, MSB 1st)
muraguchi 0:7b044b89e49c 29 // 12.DB6(serial clock)
muraguchi 0:7b044b89e49c 30 // 13.DB5 NC
muraguchi 0:7b044b89e49c 31 // 14.DB4 NC
muraguchi 0:7b044b89e49c 32 // 15.DB3 NC
muraguchi 0:7b044b89e49c 33 // 16.DB2 NC
muraguchi 0:7b044b89e49c 34 // 17.DB1 NC
muraguchi 0:7b044b89e49c 35 // 18.DB0 NC
muraguchi 0:7b044b89e49c 36 // 19.NC
muraguchi 0:7b044b89e49c 37
muraguchi 0:7b044b89e49c 38
muraguchi 0:7b044b89e49c 39 class KS0713_SPI : public Stream {
muraguchi 0:7b044b89e49c 40 public:
muraguchi 0:7b044b89e49c 41 KS0713_SPI(PinName mosi, PinName sclk, PinName cs1b, PinName rs, PinName rstb);
muraguchi 0:7b044b89e49c 42 void init();
muraguchi 0:7b044b89e49c 43 void clear();
muraguchi 1:408627d73aa8 44 void fill();
muraguchi 0:7b044b89e49c 45 void update();
muraguchi 0:7b044b89e49c 46 void locate(int x, int y);
muraguchi 0:7b044b89e49c 47 void line(int x1, int y1, int x2, int y2);
muraguchi 0:7b044b89e49c 48 private:
muraguchi 0:7b044b89e49c 49 SPI _spi;
muraguchi 0:7b044b89e49c 50 DigitalOut _cs1b;
muraguchi 0:7b044b89e49c 51 DigitalOut _rs;
muraguchi 0:7b044b89e49c 52 DigitalOut _rstb;
muraguchi 0:7b044b89e49c 53 int _x,_y;
muraguchi 1:408627d73aa8 54
muraguchi 0:7b044b89e49c 55
muraguchi 1:408627d73aa8 56 void writeCommand(unsigned char);
muraguchi 1:408627d73aa8 57 void writeData(unsigned char);
muraguchi 0:7b044b89e49c 58
muraguchi 0:7b044b89e49c 59 unsigned char vram[MBED_KS0713_SPI_WIDTH][MBED_KS0713_SPI_HEIGHT/8];
muraguchi 0:7b044b89e49c 60
muraguchi 0:7b044b89e49c 61 protected:
muraguchi 0:7b044b89e49c 62 virtual int _putc(int value);
muraguchi 0:7b044b89e49c 63 virtual int _getc();
muraguchi 1:408627d73aa8 64
muraguchi 0:7b044b89e49c 65
muraguchi 0:7b044b89e49c 66 };
muraguchi 0:7b044b89e49c 67
muraguchi 0:7b044b89e49c 68 #endif