128x64 grafical display with KS0107B and KS0108B controller
Display.h@1:1d06bc155ef3, 2010-02-10 (annotated)
- Committer:
- hornfeldt
- Date:
- Wed Feb 10 14:47:58 2010 +0000
- Revision:
- 1:1d06bc155ef3
- Parent:
- 0:45771b38d50d
- Child:
- 3:6c18ab81111c
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
hornfeldt | 0:45771b38d50d | 1 | #ifndef DISPLAY_H |
hornfeldt | 0:45771b38d50d | 2 | #define DISPLAY_H |
hornfeldt | 0:45771b38d50d | 3 | |
hornfeldt | 0:45771b38d50d | 4 | #define RS_f = 1 |
hornfeldt | 0:45771b38d50d | 5 | #define RW_f = 2 |
hornfeldt | 0:45771b38d50d | 6 | #define CS1_f = 4 |
hornfeldt | 0:45771b38d50d | 7 | #define CS2_f = 8 |
hornfeldt | 0:45771b38d50d | 8 | |
hornfeldt | 0:45771b38d50d | 9 | #include "mbed.h" |
hornfeldt | 0:45771b38d50d | 10 | #include "font.h" |
hornfeldt | 0:45771b38d50d | 11 | |
hornfeldt | 1:1d06bc155ef3 | 12 | class Display { |
hornfeldt | 0:45771b38d50d | 13 | public: |
hornfeldt | 0:45771b38d50d | 14 | // Constructor: |
hornfeldt | 0:45771b38d50d | 15 | Display (PinName _RS, PinName _RW, PinName _E, PinName _CS1, PinName _CS2, PinName DB0, PinName DB1, PinName DB2, PinName DB3, PinName DB4, PinName DB5, PinName DB6, PinName DB7); |
hornfeldt | 0:45771b38d50d | 16 | // Send write command to Display |
hornfeldt | 0:45771b38d50d | 17 | // Page 0-7, y 0-127 |
hornfeldt | 0:45771b38d50d | 18 | void write (int page, int y, unsigned int data); |
hornfeldt | 0:45771b38d50d | 19 | // |
hornfeldt | 1:1d06bc155ef3 | 20 | void SetAddress(int); |
hornfeldt | 0:45771b38d50d | 21 | int SendCommand(unsigned int, int); |
hornfeldt | 0:45771b38d50d | 22 | // Row 0-7, col 0-122 |
hornfeldt | 1:1d06bc155ef3 | 23 | void writec(int row, int Y, int c); |
hornfeldt | 1:1d06bc155ef3 | 24 | |
hornfeldt | 0:45771b38d50d | 25 | private: |
hornfeldt | 0:45771b38d50d | 26 | BusInOut DB; |
hornfeldt | 0:45771b38d50d | 27 | DigitalOut RS; |
hornfeldt | 0:45771b38d50d | 28 | DigitalOut RW; |
hornfeldt | 0:45771b38d50d | 29 | DigitalOut E; |
hornfeldt | 0:45771b38d50d | 30 | DigitalOut CS1; |
hornfeldt | 0:45771b38d50d | 31 | DigitalOut CS2; |
hornfeldt | 0:45771b38d50d | 32 | int CurCol; |
hornfeldt | 0:45771b38d50d | 33 | }; |
hornfeldt | 0:45771b38d50d | 34 | |
hornfeldt | 1:1d06bc155ef3 | 35 | class DisplayTTY : public Stream { |
hornfeldt | 0:45771b38d50d | 36 | public: |
hornfeldt | 1:1d06bc155ef3 | 37 | DisplayTTY (Display *d, int _row, int _startY, int _numOfChars=10, int _numOfRows=1, int _charOffset=6, int _flags=0); |
hornfeldt | 1:1d06bc155ef3 | 38 | void cls(); |
hornfeldt | 1:1d06bc155ef3 | 39 | protected: |
hornfeldt | 1:1d06bc155ef3 | 40 | virtual int _putc (int c); |
hornfeldt | 1:1d06bc155ef3 | 41 | virtual int _getc(); |
hornfeldt | 1:1d06bc155ef3 | 42 | virtual void newline(); |
hornfeldt | 1:1d06bc155ef3 | 43 | Display *kalle; |
hornfeldt | 0:45771b38d50d | 44 | int row; |
hornfeldt | 0:45771b38d50d | 45 | int startY; |
hornfeldt | 0:45771b38d50d | 46 | int numOfChars; |
hornfeldt | 0:45771b38d50d | 47 | int numOfRows; |
hornfeldt | 0:45771b38d50d | 48 | int charOffset; |
hornfeldt | 0:45771b38d50d | 49 | int flags; |
hornfeldt | 1:1d06bc155ef3 | 50 | int CursPosY; |
hornfeldt | 1:1d06bc155ef3 | 51 | int CursPosW; |
hornfeldt | 0:45771b38d50d | 52 | }; |
hornfeldt | 0:45771b38d50d | 53 | |
hornfeldt | 0:45771b38d50d | 54 | #endif |