ks0713 SPI library. This library includes a small 5x5 ascii font and line function.
ks0713_spi.h@1:408627d73aa8, 2012-02-26 (annotated)
- Committer:
- muraguchi
- Date:
- Sun Feb 26 16:01:29 2012 +0000
- Revision:
- 1:408627d73aa8
- Parent:
- 0:7b044b89e49c
Updated
Who changed what in which revision?
User | Revision | Line number | New 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 |