HT1621(TS119-5, TS174 )Library
HT1621.h@0:2377890cc77a, 2016-09-10 (annotated)
- Committer:
- og
- Date:
- Sat Sep 10 09:55:39 2016 +0000
- Revision:
- 0:2377890cc77a
HT1621(TS119-5, TS174) demo
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
og | 0:2377890cc77a | 1 | /* HT1621 - Holtek RAM Mapping 32x4 LCD Controller */ |
og | 0:2377890cc77a | 2 | /** |
og | 0:2377890cc77a | 3 | * TEST |
og | 0:2377890cc77a | 4 | * TS119-3 |
og | 0:2377890cc77a | 5 | * TS119-5 http://www.aitendo.com/product/5152 |
og | 0:2377890cc77a | 6 | * TS174 http://www.aitendo.com/product/5153 |
og | 0:2377890cc77a | 7 | * http://www.holtek.com.tw/documents/10179/a33bf4b4-f0ef-4b77-94e4-3dd5d0c35f16 |
og | 0:2377890cc77a | 8 | * |
og | 0:2377890cc77a | 9 | * HT1621 Library |
og | 0:2377890cc77a | 10 | * https://storage.googleapis.com/google-code-archive-source/v2/code.google.com/wirejungle/source-archive.zip |
og | 0:2377890cc77a | 11 | * |
og | 0:2377890cc77a | 12 | * reference |
og | 0:2377890cc77a | 13 | * http://jr4pdp.blog.enjoy.jp/myblog/2016/01/lcd-ts174nblpic-da92.html |
og | 0:2377890cc77a | 14 | * http://morecatlab.akiba.coocan.jp/lab/index.php/2015/10/segment-lcd/ |
og | 0:2377890cc77a | 15 | */ |
og | 0:2377890cc77a | 16 | #ifndef MBED_HT1621_H |
og | 0:2377890cc77a | 17 | #define MBED_HT1621_H |
og | 0:2377890cc77a | 18 | #include "mbed.h" |
og | 0:2377890cc77a | 19 | |
og | 0:2377890cc77a | 20 | class HT1621 { |
og | 0:2377890cc77a | 21 | public: |
og | 0:2377890cc77a | 22 | enum { |
og | 0:2377890cc77a | 23 | SYS_DIS = 0b00000000, |
og | 0:2377890cc77a | 24 | SYS_EN = 0b00000001, |
og | 0:2377890cc77a | 25 | LCD_OFF = 0b00000010, |
og | 0:2377890cc77a | 26 | LCD_ON = 0b00000011, |
og | 0:2377890cc77a | 27 | TIMER_DIS = 0b00000100, |
og | 0:2377890cc77a | 28 | WDT_DIS = 0b00000101, |
og | 0:2377890cc77a | 29 | TIMER_EN = 0b00000110, |
og | 0:2377890cc77a | 30 | WDT_EN = 0b00000111, |
og | 0:2377890cc77a | 31 | TONE_OFF = 0b00001000, |
og | 0:2377890cc77a | 32 | TONE_ON = 0b00001001, |
og | 0:2377890cc77a | 33 | |
og | 0:2377890cc77a | 34 | //Set bias to 1/2 or 1/3 cycle |
og | 0:2377890cc77a | 35 | //Set to 2,3 or 4 connected COM lines |
og | 0:2377890cc77a | 36 | BIAS_HALF_2_COM = 0b00100000, |
og | 0:2377890cc77a | 37 | BIAS_HALF_3_COM = 0b00100100, |
og | 0:2377890cc77a | 38 | BIAS_HALF_4_COM = 0b00101000, |
og | 0:2377890cc77a | 39 | BIAS_THIRD_2_COM = 0b00100001, |
og | 0:2377890cc77a | 40 | BIAS_THIRD_3_COM = 0b00100101, |
og | 0:2377890cc77a | 41 | BIAS_THIRD_4_COM = 0b00101001, |
og | 0:2377890cc77a | 42 | |
og | 0:2377890cc77a | 43 | //Don't use |
og | 0:2377890cc77a | 44 | TEST_ON = 0b11100000, |
og | 0:2377890cc77a | 45 | TEST_OFF = 0b11100011 |
og | 0:2377890cc77a | 46 | } Commands; |
og | 0:2377890cc77a | 47 | |
og | 0:2377890cc77a | 48 | HT1621( |
og | 0:2377890cc77a | 49 | PinName data, PinName wr, PinName rd, PinName cs |
og | 0:2377890cc77a | 50 | ); |
og | 0:2377890cc77a | 51 | ~HT1621(){} |
og | 0:2377890cc77a | 52 | |
og | 0:2377890cc77a | 53 | |
og | 0:2377890cc77a | 54 | void sendCommand(uint8_t cmd, bool first = true, bool last = true); |
og | 0:2377890cc77a | 55 | |
og | 0:2377890cc77a | 56 | void write(uint8_t address, uint8_t *data, uint8_t cnt); |
og | 0:2377890cc77a | 57 | void read(uint8_t address, uint8_t *data, uint8_t cnt); |
og | 0:2377890cc77a | 58 | |
og | 0:2377890cc77a | 59 | void writeMem(uint8_t address, uint8_t data); |
og | 0:2377890cc77a | 60 | uint8_t readMem(uint8_t address); |
og | 0:2377890cc77a | 61 | |
og | 0:2377890cc77a | 62 | void memset(uint8_t address, uint8_t data, uint8_t cnt); |
og | 0:2377890cc77a | 63 | |
og | 0:2377890cc77a | 64 | private: |
og | 0:2377890cc77a | 65 | DigitalInOut _data; |
og | 0:2377890cc77a | 66 | DigitalOut _wr, _rd, _cs; |
og | 0:2377890cc77a | 67 | void writeBits(uint8_t data, uint8_t cnt); |
og | 0:2377890cc77a | 68 | uint8_t readBits(uint8_t cnt); |
og | 0:2377890cc77a | 69 | |
og | 0:2377890cc77a | 70 | inline void initControlBus(); |
og | 0:2377890cc77a | 71 | inline bool testMem(); |
og | 0:2377890cc77a | 72 | |
og | 0:2377890cc77a | 73 | }; |
og | 0:2377890cc77a | 74 | |
og | 0:2377890cc77a | 75 | #endif //HT1621_H |