In TextLCD_I2C_N Class, added void setContrast(unsigned char c) function as temporary. This is for ST7032i non-volume type contrast control.
Dependents: LPC1114_data_logger RTC_w_COM Frequency_Counter_w_GPS_1PPS CW_Decoder_using_FFT_on_F446 ... more
Fork of TextLCD by
In TextLCD_I2C_N Class, added void setContrast(unsigned char c) function as temporary.
TextLCD_UDC.inc@31:f8e67a681560, 2020-08-04 (annotated)
- Committer:
- kenjiArai
- Date:
- Tue Aug 04 03:55:44 2020 +0000
- Revision:
- 31:f8e67a681560
- Parent:
- 30:4c57a022a56c
added #include "Stream.h" (need to run on mbed-os6.2.0)
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
kenjiArai | 30:4c57a022a56c | 1 | /* mbed TextLCD Library, for LCDs based on HD44780 controllers |
kenjiArai | 30:4c57a022a56c | 2 | * Copyright (c) 2014, WH |
kenjiArai | 30:4c57a022a56c | 3 | * 2014, v01: WH, Extracted from TextLCD.cpp as of v14 |
kenjiArai | 30:4c57a022a56c | 4 | * 2015, v02: WH, Added some UDC definitions and commented out several UDCs |
kenjiArai | 30:4c57a022a56c | 5 | * 2015, v03: WH, Added some UDC definitions |
kenjiArai | 30:4c57a022a56c | 6 | * |
kenjiArai | 30:4c57a022a56c | 7 | * Permission is hereby granted, free of charge, to any person obtaining a copy |
kenjiArai | 30:4c57a022a56c | 8 | * of this software and associated documentation files (the "Software"), to deal |
kenjiArai | 30:4c57a022a56c | 9 | * in the Software without restriction, including without limitation the rights |
kenjiArai | 30:4c57a022a56c | 10 | * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell |
kenjiArai | 30:4c57a022a56c | 11 | * copies of the Software, and to permit persons to whom the Software is |
kenjiArai | 30:4c57a022a56c | 12 | * furnished to do so, subject to the following conditions: |
kenjiArai | 30:4c57a022a56c | 13 | * |
kenjiArai | 30:4c57a022a56c | 14 | * The above copyright notice and this permission notice shall be included in |
kenjiArai | 30:4c57a022a56c | 15 | * all copies or substantial portions of the Software. |
kenjiArai | 30:4c57a022a56c | 16 | * |
kenjiArai | 30:4c57a022a56c | 17 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
kenjiArai | 30:4c57a022a56c | 18 | * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
kenjiArai | 30:4c57a022a56c | 19 | * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE |
kenjiArai | 30:4c57a022a56c | 20 | * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
kenjiArai | 30:4c57a022a56c | 21 | * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, |
kenjiArai | 30:4c57a022a56c | 22 | * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN |
kenjiArai | 30:4c57a022a56c | 23 | * THE SOFTWARE. |
kenjiArai | 30:4c57a022a56c | 24 | */ |
kenjiArai | 30:4c57a022a56c | 25 | #include "TextLCD_Config.h" |
kenjiArai | 30:4c57a022a56c | 26 | |
kenjiArai | 30:4c57a022a56c | 27 | #if(LCD_UDC == 1) |
kenjiArai | 30:4c57a022a56c | 28 | // User Defined Characters (UDCs) are defined by an 8 byte bitpattern. The P0..P5 form the character pattern. |
kenjiArai | 30:4c57a022a56c | 29 | // P7 P6 P5 P4 P3 P2 P1 P0 |
kenjiArai | 30:4c57a022a56c | 30 | // 0 B1 B0 x 0 1 1 1 0 |
kenjiArai | 30:4c57a022a56c | 31 | // 1 B1 B0 x 1 0 0 0 1 |
kenjiArai | 30:4c57a022a56c | 32 | // . ............. |
kenjiArai | 30:4c57a022a56c | 33 | // 7 B1 B0 x 1 0 0 0 1 |
kenjiArai | 30:4c57a022a56c | 34 | // |
kenjiArai | 30:4c57a022a56c | 35 | // Blinking UDCs are enabled when a specific controlbit (BE) is set. |
kenjiArai | 30:4c57a022a56c | 36 | // The blinking pixels in the UDC can be controlled by setting additional bits in the UDC bitpattern. |
kenjiArai | 30:4c57a022a56c | 37 | // Bit 6 and Bit 7 in the pattern will control the blinking mode when Blink is enabled through BE. |
kenjiArai | 30:4c57a022a56c | 38 | // B1 B0 Mode |
kenjiArai | 30:4c57a022a56c | 39 | // 0 0 No Blinking in this row of the UDC |
kenjiArai | 30:4c57a022a56c | 40 | // 0 1 Enabled pixels in P4 will blink |
kenjiArai | 30:4c57a022a56c | 41 | // 1 x Enabled pixels in P0..P4 will blink |
kenjiArai | 30:4c57a022a56c | 42 | |
kenjiArai | 30:4c57a022a56c | 43 | /** Some sample User Defined Chars 5x7 dots */ |
kenjiArai | 30:4c57a022a56c | 44 | //const char udc_ae[] = {0x00, 0x00, 0x1B, 0x05, 0x1F, 0x14, 0x1F, 0x00}; //æ |
kenjiArai | 30:4c57a022a56c | 45 | //const char udc_0e[] = {0x00, 0x00, 0x0E, 0x13, 0x15, 0x19, 0x0E, 0x00}; //ø |
kenjiArai | 30:4c57a022a56c | 46 | //const char udc_ao[] = {0x0E, 0x0A, 0x0E, 0x01, 0x0F, 0x11, 0x0F, 0x00}; //å |
kenjiArai | 30:4c57a022a56c | 47 | //const char udc_AE[] = {0x0F, 0x14, 0x14, 0x1F, 0x14, 0x14, 0x17, 0x00}; //Æ |
kenjiArai | 30:4c57a022a56c | 48 | //const char udc_0E[] = {0x0E, 0x13, 0x15, 0x15, 0x15, 0x19, 0x0E, 0x00}; //Ø |
kenjiArai | 30:4c57a022a56c | 49 | //const char udc_Ao[] = {0x0E, 0x0A, 0x0E, 0x11, 0x1F, 0x11, 0x11, 0x00}; //Å |
kenjiArai | 30:4c57a022a56c | 50 | //const char udc_PO[] = {0x04, 0x0A, 0x0A, 0x1F, 0x1B, 0x1B, 0x1F, 0x00}; //Padlock Open |
kenjiArai | 30:4c57a022a56c | 51 | //const char udc_PC[] = {0x1C, 0x10, 0x08, 0x1F, 0x1B, 0x1B, 0x1F, 0x00}; //Padlock Closed |
kenjiArai | 30:4c57a022a56c | 52 | |
kenjiArai | 30:4c57a022a56c | 53 | //const char udc_alpha[] = {0x00, 0x00, 0x0D, 0x12, 0x12, 0x12, 0x0D, 0x00}; //alpha |
kenjiArai | 30:4c57a022a56c | 54 | //const char udc_ohm[] = {0x0E, 0x11, 0x11, 0x11, 0x0A, 0x0A, 0x1B, 0x00}; //ohm |
kenjiArai | 30:4c57a022a56c | 55 | //const char udc_sigma[] = {0x1F, 0x08, 0x04, 0x02, 0x04, 0x08, 0x1F, 0x00}; //sigma |
kenjiArai | 30:4c57a022a56c | 56 | //const char udc_pi[] = {0x1F, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x0A, 0x00}; //pi |
kenjiArai | 30:4c57a022a56c | 57 | //const char udc_root[] = {0x07, 0x04, 0x04, 0x04, 0x14, 0x0C, 0x04, 0x00}; //root |
kenjiArai | 30:4c57a022a56c | 58 | |
kenjiArai | 30:4c57a022a56c | 59 | const char udc_0[] = {0x18, 0x14, 0x12, 0x11, 0x12, 0x14, 0x18, 0x00}; // |> |
kenjiArai | 30:4c57a022a56c | 60 | const char udc_1[] = {0x03, 0x05, 0x09, 0x11, 0x09, 0x05, 0x03, 0x00}; // <| |
kenjiArai | 30:4c57a022a56c | 61 | const char udc_2[] = {0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00}; // | |
kenjiArai | 30:4c57a022a56c | 62 | const char udc_3[] = {0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x14, 0x00}; // || |
kenjiArai | 30:4c57a022a56c | 63 | const char udc_4[] = {0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x00}; // ||| |
kenjiArai | 30:4c57a022a56c | 64 | const char udc_5[] = {0x00, 0x1f, 0x00, 0x1f, 0x00, 0x1f, 0x00, 0x00}; // = |
kenjiArai | 30:4c57a022a56c | 65 | const char udc_6[] = {0x15, 0x0a, 0x15, 0x0a, 0x15, 0x0a, 0x15, 0x00}; // checkerboard |
kenjiArai | 30:4c57a022a56c | 66 | const char udc_7[] = {0x10, 0x08, 0x04, 0x02, 0x01, 0x00, 0x10, 0x00}; // \ |
kenjiArai | 30:4c57a022a56c | 67 | |
kenjiArai | 30:4c57a022a56c | 68 | //const char udc_degr[] = {0x06, 0x09, 0x09, 0x06, 0x00, 0x00, 0x00, 0x00}; // Degree symbol |
kenjiArai | 30:4c57a022a56c | 69 | |
kenjiArai | 30:4c57a022a56c | 70 | //const char udc_TM_T[] = {0x1F, 0x04, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00}; // Trademark T |
kenjiArai | 30:4c57a022a56c | 71 | //const char udc_TM_M[] = {0x11, 0x1B, 0x15, 0x11, 0x00, 0x00, 0x00, 0x00}; // Trademark M |
kenjiArai | 30:4c57a022a56c | 72 | |
kenjiArai | 30:4c57a022a56c | 73 | //const char udc_Bat_Hi[] = {0x0E, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x00}; // Battery Full |
kenjiArai | 30:4c57a022a56c | 74 | //const char udc_Bat_Ha[] = {0x0E, 0x11, 0x13, 0x17, 0x1F, 0x1F, 0x1F, 0x00}; // Battery Half |
kenjiArai | 30:4c57a022a56c | 75 | //const char udc_Bat_Lo[] = {0x0E, 0x11, 0x11, 0x11, 0x11, 0x11, 0x1F, 0x00}; // Battery Low |
kenjiArai | 30:4c57a022a56c | 76 | //const char udc_Bat_Hi[] = {0x0E, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x00}; // Battery Full |
kenjiArai | 30:4c57a022a56c | 77 | //const char udc_Bat_Ha[] = {0x0E, 0x11, 0x11, 0x1F, 0x1F, 0x1F, 0x1F, 0x00}; // Battery Half |
kenjiArai | 30:4c57a022a56c | 78 | //const char udc_Bat_Lo[] = {0x0E, 0x11, 0x11, 0x11, 0x11, 0x1F, 0x1F, 0x00}; // Battery Low |
kenjiArai | 30:4c57a022a56c | 79 | const char udc_Bat_Hi[] = {0x8E, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x9F, 0x00}; // Battery Full, Blink |
kenjiArai | 30:4c57a022a56c | 80 | const char udc_Bat_Ha[] = {0x8E, 0x91, 0x91, 0x9F, 0x9F, 0x9F, 0x9F, 0x00}; // Battery Half, Blink |
kenjiArai | 30:4c57a022a56c | 81 | const char udc_Bat_Lo[] = {0x8E, 0x91, 0x91, 0x91, 0x91, 0x9F, 0x9F, 0x00}; // Battery Low, Blink |
kenjiArai | 30:4c57a022a56c | 82 | const char udc_AC[] = {0x0A, 0x0A, 0x1F, 0x11, 0x0E, 0x04, 0x04, 0x00}; // AC Power |
kenjiArai | 30:4c57a022a56c | 83 | |
kenjiArai | 30:4c57a022a56c | 84 | //const char udc_smiley[] = {0x00, 0x0A, 0x00, 0x04, 0x11, 0x0E, 0x00, 0x00}; // Smiley |
kenjiArai | 30:4c57a022a56c | 85 | //const char udc_droopy[] = {0x00, 0x0A, 0x00, 0x04, 0x00, 0x0E, 0x11, 0x00}; // Droopey |
kenjiArai | 30:4c57a022a56c | 86 | //const char udc_note[] = {0x01, 0x03, 0x05, 0x09, 0x0B, 0x1B, 0x18, 0x00}; // Note |
kenjiArai | 30:4c57a022a56c | 87 | //const char udc_note[] = {0x06, 0x04, 0x04, 0x04, 0x0C, 0x1C, 0x08, 0x00}; // Note |
kenjiArai | 30:4c57a022a56c | 88 | //const char udc_note_off[] = {0x16, 0x04, 0x04, 0x06, 0x0D, 0x1C, 0x08, 0x00}; // Note Off |
kenjiArai | 30:4c57a022a56c | 89 | |
kenjiArai | 30:4c57a022a56c | 90 | //const char udc_bar_1[] = {0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x00}; // Bar 1 |
kenjiArai | 30:4c57a022a56c | 91 | //const char udc_bar_2[] = {0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00}; // Bar 11 |
kenjiArai | 30:4c57a022a56c | 92 | //const char udc_bar_3[] = {0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x00}; // Bar 111 |
kenjiArai | 30:4c57a022a56c | 93 | //const char udc_bar_4[] = {0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x00}; // Bar 1111 |
kenjiArai | 30:4c57a022a56c | 94 | //const char udc_bar_5[] = {0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x1F, 0x00}; // Bar 11111 |
kenjiArai | 30:4c57a022a56c | 95 | |
kenjiArai | 30:4c57a022a56c | 96 | //const char udc_ch_1[] = {0x1f, 0x00, 0x1f, 0x00, 0x1f, 0x00, 0x1f, 0x00}; // Hor bars 4 |
kenjiArai | 30:4c57a022a56c | 97 | //const char udc_ch_2[] = {0x00, 0x1f, 0x00, 0x1f, 0x00, 0x1f, 0x00, 0x1f}; // Hor bars 4 (inverted) |
kenjiArai | 30:4c57a022a56c | 98 | //const char udc_ch_3[] = {0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15, 0x15}; // Ver bars 3 |
kenjiArai | 30:4c57a022a56c | 99 | //const char udc_ch_4[] = {0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a}; // Ver bars 3 (inverted) |
kenjiArai | 30:4c57a022a56c | 100 | //const char udc_ch_yr[] = {0x08, 0x0f, 0x12, 0x0f, 0x0a, 0x1f, 0x02, 0x02}; // Year (kana) |
kenjiArai | 30:4c57a022a56c | 101 | //const char udc_ch_mo[] = {0x0f, 0x09, 0x0f, 0x09, 0x0f, 0x09, 0x09, 0x13}; // Month (kana) |
kenjiArai | 30:4c57a022a56c | 102 | //const char udc_ch_dy[] = {0x1f, 0x11, 0x11, 0x1f, 0x11, 0x11, 0x11, 0x1F}; // Day (kana) |
kenjiArai | 30:4c57a022a56c | 103 | //const char udc_ch_mi[] = {0x0C, 0x0a, 0x11, 0x1f, 0x09, 0x09, 0x09, 0x13}; // minute (kana) |
kenjiArai | 30:4c57a022a56c | 104 | |
kenjiArai | 30:4c57a022a56c | 105 | //const char udc_bell[] = {0x04, 0x0E, 0x0E, 0x0E, 0x1F, 0x00, 0x04, 0x00}; |
kenjiArai | 30:4c57a022a56c | 106 | //const char udc_note[] = {0x02, 0x03, 0x02, 0x0E, 0x1E, 0x0C, 0x00, 0x00}; |
kenjiArai | 30:4c57a022a56c | 107 | //const char udc_clock[] = {0x00, 0x0E, 0x15, 0x17, 0x11, 0x0E, 0x00, 0x00}; |
kenjiArai | 30:4c57a022a56c | 108 | //const char udc_heart[] = {0x00, 0x0a, 0x1F, 0x1F, 0x0E, 0x04, 0x00, 0x00}; |
kenjiArai | 30:4c57a022a56c | 109 | //const char udc_duck[] = {0x00, 0x0c, 0x1D, 0x0F, 0x0F, 0x06, 0x00, 0x00}; |
kenjiArai | 30:4c57a022a56c | 110 | //const char udc_check[] = {0x00, 0x01, 0x03, 0x16, 0x1C, 0x08, 0x00, 0x00}; |
kenjiArai | 30:4c57a022a56c | 111 | //const char udc_cross[] = {0x00, 0x1B, 0x0E, 0x04, 0x0E, 0x1B, 0x00, 0x00}; |
kenjiArai | 30:4c57a022a56c | 112 | //const char udc_retarrow[] = {0x01, 0x01, 0x05, 0x09, 0x1f, 0x08, 0x04, 0x00}; |
kenjiArai | 30:4c57a022a56c | 113 | //const char udc_OK[] = {0x08, 0x14, 0x14, 0x08, 0x05, 0x06, 0x05, 0x05}; // OK |
kenjiArai | 30:4c57a022a56c | 114 | //const char udc_1_2[] = {0x11, 0x12, 0x17, 0x09, 0x13, 0x04, 0x07, 0x00}; // 1/2 |
kenjiArai | 30:4c57a022a56c | 115 | //const char udc_Euro[] = {0x06, 0x09, 0x08, 0x1E, 0x1E, 0x08, 0x09, 0x06}; // Euro symbol |
kenjiArai | 30:4c57a022a56c | 116 | //const char udc_key[] = {0x07, 0x07, 0x04, 0x04, 0x0E, 0x11, 0x0E, 0x00}; // Key symbol |
kenjiArai | 30:4c57a022a56c | 117 | |
kenjiArai | 30:4c57a022a56c | 118 | //const char udc_None[] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; |
kenjiArai | 30:4c57a022a56c | 119 | //const char udc_All[] = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF}; |
kenjiArai | 30:4c57a022a56c | 120 | #endif /* UDC_EXAMPLES */ |