Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of AkiSpiLcd by
AkiSpiLcd.h@2:01979b296ab5, 2014-05-06 (annotated)
- Committer:
- k4zuki
- Date:
- Tue May 06 17:25:03 2014 +0000
- Revision:
- 2:01979b296ab5
- Parent:
- 1:57de84d2025c
- Child:
- 3:f835b8daf9a0
documentation created
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| k4zuki | 1:57de84d2025c | 1 | /** this is for SHARP LCD LS027B4DH01 |
| k4zuki | 2:01979b296ab5 | 2 | * by Kazuki Yamamoto, or _K4ZUKI_ |
| k4zuki | 0:b3c8fdd01601 | 3 | */ |
| k4zuki | 0:b3c8fdd01601 | 4 | |
| k4zuki | 0:b3c8fdd01601 | 5 | #ifndef __AKISPILCD_H__ |
| k4zuki | 0:b3c8fdd01601 | 6 | #define __AKISPILCD_H |
| k4zuki | 0:b3c8fdd01601 | 7 | |
| k4zuki | 2:01979b296ab5 | 8 | /** AkiSpiLcd |
| k4zuki | 2:01979b296ab5 | 9 | * mbed library for SHARP LCD LS027B4DH01 |
| k4zuki | 2:01979b296ab5 | 10 | * |
| k4zuki | 2:01979b296ab5 | 11 | * Example: |
| k4zuki | 2:01979b296ab5 | 12 | * @code |
| k4zuki | 2:01979b296ab5 | 13 | * #include "mbed.h" |
| k4zuki | 2:01979b296ab5 | 14 | * #include "AkiSpiLcd.h" |
| k4zuki | 2:01979b296ab5 | 15 | * |
| k4zuki | 2:01979b296ab5 | 16 | * AkiSpiLcd LCD(MOSI_, SCK_, D2, D5); |
| k4zuki | 2:01979b296ab5 | 17 | * extern const uint8_t hogepic[]; |
| k4zuki | 2:01979b296ab5 | 18 | * int main() |
| k4zuki | 2:01979b296ab5 | 19 | * { |
| k4zuki | 2:01979b296ab5 | 20 | * |
| k4zuki | 2:01979b296ab5 | 21 | * wait_ms(1); |
| k4zuki | 2:01979b296ab5 | 22 | * LCD.cls(); |
| k4zuki | 2:01979b296ab5 | 23 | * LCD.updateSingle(10,(uint8_t*)(hogepic+2000)); |
| k4zuki | 2:01979b296ab5 | 24 | * LCD.updateMulti(100,(240-100),(uint8_t*)(hogepic)); |
| k4zuki | 2:01979b296ab5 | 25 | * |
| k4zuki | 2:01979b296ab5 | 26 | * while(1) { |
| k4zuki | 2:01979b296ab5 | 27 | * for(int i=0; i<240; i++) { |
| k4zuki | 2:01979b296ab5 | 28 | * LCD.updateMulti(i,(240-i),(uint8_t*)(hogepic)); |
| k4zuki | 2:01979b296ab5 | 29 | * LCD.updateMulti(0,(i),(uint8_t*)(hogepic+50*(240-i))); |
| k4zuki | 2:01979b296ab5 | 30 | * } |
| k4zuki | 2:01979b296ab5 | 31 | * } |
| k4zuki | 2:01979b296ab5 | 32 | * } |
| k4zuki | 2:01979b296ab5 | 33 | * @endcode |
| k4zuki | 2:01979b296ab5 | 34 | */ |
| k4zuki | 0:b3c8fdd01601 | 35 | class AkiSpiLcd |
| k4zuki | 0:b3c8fdd01601 | 36 | { |
| k4zuki | 0:b3c8fdd01601 | 37 | public: |
| k4zuki | 0:b3c8fdd01601 | 38 | /** Constructor |
| k4zuki | 0:b3c8fdd01601 | 39 | * @param mosi SPI data input |
| k4zuki | 0:b3c8fdd01601 | 40 | * @param sck SPI clock input |
| k4zuki | 0:b3c8fdd01601 | 41 | * @param cs HIGH-active chip enable input |
| k4zuki | 0:b3c8fdd01601 | 42 | * @param disp HIGH-active display enable input |
| k4zuki | 0:b3c8fdd01601 | 43 | */ |
| k4zuki | 0:b3c8fdd01601 | 44 | AkiSpiLcd(PinName mosi,PinName sck, PinName cs, PinName disp); |
| k4zuki | 0:b3c8fdd01601 | 45 | |
| k4zuki | 0:b3c8fdd01601 | 46 | /** Clear screen |
| k4zuki | 0:b3c8fdd01601 | 47 | */ |
| k4zuki | 0:b3c8fdd01601 | 48 | void cls(); |
| k4zuki | 0:b3c8fdd01601 | 49 | |
| k4zuki | 0:b3c8fdd01601 | 50 | /** Writes single line(400 bits = 50 bytes) |
| k4zuki | 0:b3c8fdd01601 | 51 | * @param line line number(1-240) |
| k4zuki | 0:b3c8fdd01601 | 52 | * @param *data pointer to data |
| k4zuki | 0:b3c8fdd01601 | 53 | */ |
| k4zuki | 0:b3c8fdd01601 | 54 | void updateSingle(int line, uint8_t* data); |
| k4zuki | 0:b3c8fdd01601 | 55 | |
| k4zuki | 0:b3c8fdd01601 | 56 | /** Writes multi lines(400 x N bits = 50 x N bytes) |
| k4zuki | 0:b3c8fdd01601 | 57 | * @param line line number(1-240) |
| k4zuki | 0:b3c8fdd01601 | 58 | * @param length number of line to write |
| k4zuki | 0:b3c8fdd01601 | 59 | * @param *data pointer to data |
| k4zuki | 0:b3c8fdd01601 | 60 | */ |
| k4zuki | 0:b3c8fdd01601 | 61 | void updateMulti(int line, int length, uint8_t* data); |
| k4zuki | 0:b3c8fdd01601 | 62 | |
| k4zuki | 0:b3c8fdd01601 | 63 | /** Inverting internal COM signal |
| k4zuki | 0:b3c8fdd01601 | 64 | */ |
| k4zuki | 0:b3c8fdd01601 | 65 | void cominvert(); |
| k4zuki | 0:b3c8fdd01601 | 66 | |
| k4zuki | 0:b3c8fdd01601 | 67 | /** Enables/disables display. internal memory will not flushed |
| k4zuki | 0:b3c8fdd01601 | 68 | * @param disp true = display is on / false = display is off |
| k4zuki | 0:b3c8fdd01601 | 69 | */ |
| k4zuki | 0:b3c8fdd01601 | 70 | void dispOn(bool disp); |
| k4zuki | 2:01979b296ab5 | 71 | |
| k4zuki | 0:b3c8fdd01601 | 72 | private: |
| k4zuki | 0:b3c8fdd01601 | 73 | int comflag; |
| k4zuki | 0:b3c8fdd01601 | 74 | int modeflag; |
| k4zuki | 0:b3c8fdd01601 | 75 | int clearflag; |
| k4zuki | 0:b3c8fdd01601 | 76 | SPI _spi; |
| k4zuki | 0:b3c8fdd01601 | 77 | DigitalOut _cs; |
| k4zuki | 0:b3c8fdd01601 | 78 | DigitalOut _disp; |
| k4zuki | 0:b3c8fdd01601 | 79 | }; |
| k4zuki | 0:b3c8fdd01601 | 80 | #endif |
