Graphic OLED 100x16 pixels interface
Dependents: mbed_nicovideo_search_api mbed_recent_nicovideo_display_pub
- グラフィック有機ELモジュール100x16
- 8×8 ドット日本語フォント「美咲フォント」
- misaki2cpp.py 美咲フォントをC++コードへ変換。
GraphicOLED.h@1:a104653979bf, 2012-04-18 (annotated)
- Committer:
- va009039
- Date:
- Wed Apr 18 10:17:51 2012 +0000
- Revision:
- 1:a104653979bf
- Parent:
- 0:67d983a1ed3e
- Child:
- 2:337a2655f815
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
va009039 | 0:67d983a1ed3e | 1 | // GraphicOLED.h |
va009039 | 0:67d983a1ed3e | 2 | #ifndef MBED_GRAPHIC_OLED_H |
va009039 | 0:67d983a1ed3e | 3 | #define MBED_GRAPHIC_OLED_H |
va009039 | 0:67d983a1ed3e | 4 | #include "TextLCD.h" |
va009039 | 0:67d983a1ed3e | 5 | |
va009039 | 0:67d983a1ed3e | 6 | #define iskanji(c) ((c)>=0x81 && (c)<=0x9F || (c)>=0xE0 && (c)<=0xFC) |
va009039 | 0:67d983a1ed3e | 7 | #define iskanji2(c) ((c)>=0x40 && (c)<=0xFC && (c)!=0x7F) |
va009039 | 0:67d983a1ed3e | 8 | |
va009039 | 1:a104653979bf | 9 | /** GraphicOLED interface for WS0010 |
va009039 | 1:a104653979bf | 10 | * |
va009039 | 1:a104653979bf | 11 | * Currently support shift-jis KANJI(misaki font) |
va009039 | 1:a104653979bf | 12 | * |
va009039 | 1:a104653979bf | 13 | * @code |
va009039 | 1:a104653979bf | 14 | * #include "mbed.h" |
va009039 | 1:a104653979bf | 15 | * #include "GraphicOLED.h" |
va009039 | 1:a104653979bf | 16 | * |
va009039 | 1:a104653979bf | 17 | * GraphicOLED oled(p24, p26, p27, p28, p29, p30); // rs, e, d4-d7 |
va009039 | 1:a104653979bf | 18 | * |
va009039 | 1:a104653979bf | 19 | * int main() { |
va009039 | 1:a104653979bf | 20 | * oled.printf("Hello World!\n"); |
va009039 | 1:a104653979bf | 21 | * } |
va009039 | 1:a104653979bf | 22 | * @endcode |
va009039 | 1:a104653979bf | 23 | */ |
va009039 | 0:67d983a1ed3e | 24 | class GraphicOLED : public TextLCD { |
va009039 | 0:67d983a1ed3e | 25 | public: |
va009039 | 1:a104653979bf | 26 | /** Create a GraphicOLED interface |
va009039 | 1:a104653979bf | 27 | * |
va009039 | 1:a104653979bf | 28 | * @param rs Instruction/data control line |
va009039 | 1:a104653979bf | 29 | * @param e Enable line (clock) |
va009039 | 1:a104653979bf | 30 | * @param d4-d7 Data lines for using as a 4-bit interface |
va009039 | 1:a104653979bf | 31 | */ |
va009039 | 1:a104653979bf | 32 | GraphicOLED(PinName rs, PinName e, PinName d4, PinName d5, PinName d6, PinName d7); |
va009039 | 0:67d983a1ed3e | 33 | void cls(); |
va009039 | 0:67d983a1ed3e | 34 | int columns(); |
va009039 | 0:67d983a1ed3e | 35 | protected: |
va009039 | 1:a104653979bf | 36 | void g_wrtie(int pat, int x, int y); |
va009039 | 1:a104653979bf | 37 | void g_wrtie(char *buf, int len, int x, int y); |
va009039 | 0:67d983a1ed3e | 38 | virtual int _putc(int value); |
va009039 | 0:67d983a1ed3e | 39 | void character(int column, int row, int c); |
va009039 | 0:67d983a1ed3e | 40 | void character2(int column, int row, int c); |
va009039 | 0:67d983a1ed3e | 41 | bool _kanji_flag; |
va009039 | 0:67d983a1ed3e | 42 | int _kanji_1st; |
va009039 | 0:67d983a1ed3e | 43 | }; |
va009039 | 0:67d983a1ed3e | 44 | #endif |