This is a driver for the segment LCD found on the Silicon Labs EF32 Giant, Leopard and Wonder Gecko platforms. NOTE: This driver will not work with other platforms, because it contains EFM32-specific code.
Dependents: EFM32 RDA5807M RDS Radio EMF32-Segment-Touch-Demo EMF32_ShowKey blinky_EFM32_Giant ... more
Information
All examples in this repo are considered EXPERIMENTAL QUALITY, meaning this code has been created as one-off proof-of-concept and is suitable as a demonstration for experimental purposes only. This code will not be regularly maintained by Silicon Labs and there is no guarantee that these projects will work across all environments, SDK versions and hardware.
segmentlcdconfig_stk_tg.h@1:5335eb33bfcb, 2015-03-17 (annotated)
- Committer:
- Steven Cooreman
- Date:
- Tue Mar 17 11:51:52 2015 -0500
- Revision:
- 1:5335eb33bfcb
- Parent:
- 0:559902e88130
Documentation update
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Steven Cooreman |
0:559902e88130 | 1 | /**************************************************************************//** |
Steven Cooreman |
0:559902e88130 | 2 | * @file |
Steven Cooreman |
1:5335eb33bfcb | 3 | * @brief Segment LCD Config for the EFM32 Tiny Gecko STK (STK_3300) |
Steven Cooreman |
0:559902e88130 | 4 | * @version 3.20.5 |
Steven Cooreman |
0:559902e88130 | 5 | ****************************************************************************** |
Steven Cooreman |
0:559902e88130 | 6 | * @section License |
Steven Cooreman |
0:559902e88130 | 7 | * <b>(C) Copyright 2014 Silicon Labs, http://www.silabs.com</b> |
Steven Cooreman |
0:559902e88130 | 8 | ******************************************************************************* |
Steven Cooreman |
0:559902e88130 | 9 | * |
Steven Cooreman |
0:559902e88130 | 10 | * This file is licensensed under the Silabs License Agreement. See the file |
Steven Cooreman |
0:559902e88130 | 11 | * "Silabs_License_Agreement.txt" for details. Before using this software for |
Steven Cooreman |
0:559902e88130 | 12 | * any purpose, you must agree to the terms of that agreement. |
Steven Cooreman |
0:559902e88130 | 13 | * |
Steven Cooreman |
0:559902e88130 | 14 | ******************************************************************************/ |
Steven Cooreman |
0:559902e88130 | 15 | |
Steven Cooreman |
0:559902e88130 | 16 | #ifndef __SEGMENTLCDCONFIG_H |
Steven Cooreman |
0:559902e88130 | 17 | #define __SEGMENTLCDCONFIG_H |
Steven Cooreman |
0:559902e88130 | 18 | |
Steven Cooreman |
0:559902e88130 | 19 | #include "em_lcd.h" |
Steven Cooreman |
0:559902e88130 | 20 | |
Steven Cooreman |
0:559902e88130 | 21 | #ifdef __cplusplus |
Steven Cooreman |
0:559902e88130 | 22 | extern "C" { |
Steven Cooreman |
0:559902e88130 | 23 | #endif |
Steven Cooreman |
0:559902e88130 | 24 | |
Steven Cooreman |
0:559902e88130 | 25 | /** Range of symbols available on display */ |
Steven Cooreman |
0:559902e88130 | 26 | typedef enum { |
Steven Cooreman |
0:559902e88130 | 27 | LCD_SYMBOL_GECKO, |
Steven Cooreman |
0:559902e88130 | 28 | LCD_SYMBOL_ANT, |
Steven Cooreman |
0:559902e88130 | 29 | LCD_SYMBOL_PAD0, |
Steven Cooreman |
0:559902e88130 | 30 | LCD_SYMBOL_PAD1, |
Steven Cooreman |
0:559902e88130 | 31 | LCD_SYMBOL_EFM32, |
Steven Cooreman |
0:559902e88130 | 32 | LCD_SYMBOL_MINUS, |
Steven Cooreman |
0:559902e88130 | 33 | LCD_SYMBOL_COL3, |
Steven Cooreman |
0:559902e88130 | 34 | LCD_SYMBOL_COL5, |
Steven Cooreman |
0:559902e88130 | 35 | LCD_SYMBOL_COL10, |
Steven Cooreman |
0:559902e88130 | 36 | LCD_SYMBOL_DEGC, |
Steven Cooreman |
0:559902e88130 | 37 | LCD_SYMBOL_DEGF, |
Steven Cooreman |
0:559902e88130 | 38 | LCD_SYMBOL_DP2, |
Steven Cooreman |
0:559902e88130 | 39 | LCD_SYMBOL_DP3, |
Steven Cooreman |
0:559902e88130 | 40 | LCD_SYMBOL_DP4, |
Steven Cooreman |
0:559902e88130 | 41 | LCD_SYMBOL_DP5, |
Steven Cooreman |
0:559902e88130 | 42 | LCD_SYMBOL_DP6, |
Steven Cooreman |
0:559902e88130 | 43 | LCD_SYMBOL_DP10, |
Steven Cooreman |
0:559902e88130 | 44 | } lcdSymbol; |
Steven Cooreman |
0:559902e88130 | 45 | |
Steven Cooreman |
0:559902e88130 | 46 | #define LCD_SYMBOL_GECKO_COM 1 |
Steven Cooreman |
0:559902e88130 | 47 | #define LCD_SYMBOL_GECKO_SEG 0 |
Steven Cooreman |
0:559902e88130 | 48 | #define LCD_SYMBOL_ANT_COM 0 |
Steven Cooreman |
0:559902e88130 | 49 | #define LCD_SYMBOL_ANT_SEG 12 |
Steven Cooreman |
0:559902e88130 | 50 | #define LCD_SYMBOL_PAD0_COM 3 |
Steven Cooreman |
0:559902e88130 | 51 | #define LCD_SYMBOL_PAD0_SEG 19 |
Steven Cooreman |
0:559902e88130 | 52 | #define LCD_SYMBOL_PAD1_COM 2 |
Steven Cooreman |
0:559902e88130 | 53 | #define LCD_SYMBOL_PAD1_SEG 0 |
Steven Cooreman |
0:559902e88130 | 54 | #define LCD_SYMBOL_EFM32_COM 0 |
Steven Cooreman |
0:559902e88130 | 55 | #define LCD_SYMBOL_EFM32_SEG 8 |
Steven Cooreman |
0:559902e88130 | 56 | #define LCD_SYMBOL_MINUS_COM 3 |
Steven Cooreman |
0:559902e88130 | 57 | #define LCD_SYMBOL_MINUS_SEG 0 |
Steven Cooreman |
0:559902e88130 | 58 | #define LCD_SYMBOL_COL3_COM 4 |
Steven Cooreman |
0:559902e88130 | 59 | #define LCD_SYMBOL_COL3_SEG 0 |
Steven Cooreman |
0:559902e88130 | 60 | #define LCD_SYMBOL_COL5_COM 0 |
Steven Cooreman |
0:559902e88130 | 61 | #define LCD_SYMBOL_COL5_SEG 10 |
Steven Cooreman |
0:559902e88130 | 62 | #define LCD_SYMBOL_COL10_COM 5 |
Steven Cooreman |
0:559902e88130 | 63 | #define LCD_SYMBOL_COL10_SEG 19 |
Steven Cooreman |
0:559902e88130 | 64 | #define LCD_SYMBOL_DEGC_COM 0 |
Steven Cooreman |
0:559902e88130 | 65 | #define LCD_SYMBOL_DEGC_SEG 14 |
Steven Cooreman |
0:559902e88130 | 66 | #define LCD_SYMBOL_DEGF_COM 0 |
Steven Cooreman |
0:559902e88130 | 67 | #define LCD_SYMBOL_DEGF_SEG 15 |
Steven Cooreman |
0:559902e88130 | 68 | #define LCD_SYMBOL_DP2_COM 7 |
Steven Cooreman |
0:559902e88130 | 69 | #define LCD_SYMBOL_DP2_SEG 0 |
Steven Cooreman |
0:559902e88130 | 70 | #define LCD_SYMBOL_DP3_COM 5 |
Steven Cooreman |
0:559902e88130 | 71 | #define LCD_SYMBOL_DP3_SEG 0 |
Steven Cooreman |
0:559902e88130 | 72 | #define LCD_SYMBOL_DP4_COM 6 |
Steven Cooreman |
0:559902e88130 | 73 | #define LCD_SYMBOL_DP4_SEG 0 |
Steven Cooreman |
0:559902e88130 | 74 | #define LCD_SYMBOL_DP5_COM 7 |
Steven Cooreman |
0:559902e88130 | 75 | #define LCD_SYMBOL_DP5_SEG 9 |
Steven Cooreman |
0:559902e88130 | 76 | #define LCD_SYMBOL_DP6_COM 7 |
Steven Cooreman |
0:559902e88130 | 77 | #define LCD_SYMBOL_DP6_SEG 11 |
Steven Cooreman |
0:559902e88130 | 78 | #define LCD_SYMBOL_DP10_COM 4 |
Steven Cooreman |
0:559902e88130 | 79 | #define LCD_SYMBOL_DP10_SEG 19 |
Steven Cooreman |
0:559902e88130 | 80 | |
Steven Cooreman |
0:559902e88130 | 81 | #define LCD_STK3300 TRUE |
Steven Cooreman |
0:559902e88130 | 82 | #define LCD_DISPLAY_TYPE 8x20 |
Steven Cooreman |
0:559902e88130 | 83 | #define LCD_BOOST_LEVEL lcdVBoostLevel3 |
Steven Cooreman |
0:559902e88130 | 84 | |
Steven Cooreman |
0:559902e88130 | 85 | /* LCD Controller Prescaler (divide LFACLK / 64) */ |
Steven Cooreman |
0:559902e88130 | 86 | /* LFACLK_LCDpre = 512 Hz */ |
Steven Cooreman |
0:559902e88130 | 87 | /* Set FDIV=0, means 512/1 = 512 Hz */ |
Steven Cooreman |
0:559902e88130 | 88 | /* With octaplex mode, 512/16 => 32 Hz Frame Rate */ |
Steven Cooreman |
0:559902e88130 | 89 | #define LCD_CMU_CLK_PRE cmuClkDiv_64 |
Steven Cooreman |
0:559902e88130 | 90 | #define LCD_CMU_CLK_DIV cmuClkDiv_1 |
Steven Cooreman |
0:559902e88130 | 91 | |
Steven Cooreman |
0:559902e88130 | 92 | #define LCD_INIT_DEF \ |
Steven Cooreman |
0:559902e88130 | 93 | { true,\ |
Steven Cooreman |
0:559902e88130 | 94 | lcdMuxOctaplex,\ |
Steven Cooreman |
0:559902e88130 | 95 | lcdBiasOneFourth,\ |
Steven Cooreman |
0:559902e88130 | 96 | lcdWaveLowPower,\ |
Steven Cooreman |
0:559902e88130 | 97 | lcdVLCDSelVDD,\ |
Steven Cooreman |
0:559902e88130 | 98 | lcdConConfVLCD } |
Steven Cooreman |
0:559902e88130 | 99 | |
Steven Cooreman |
0:559902e88130 | 100 | #define LCD_NUMBER_OFF() \ |
Steven Cooreman |
0:559902e88130 | 101 | do { \ |
Steven Cooreman |
0:559902e88130 | 102 | LCD_SegmentSetLow(0, 0x00078000, 0x00000000);\ |
Steven Cooreman |
0:559902e88130 | 103 | LCD_SegmentSetLow(1, 0x00078000, 0x00000000);\ |
Steven Cooreman |
0:559902e88130 | 104 | LCD_SegmentSetLow(2, 0x00078000, 0x00000000);\ |
Steven Cooreman |
0:559902e88130 | 105 | LCD_SegmentSetLow(3, 0x00078000, 0x00000000);\ |
Steven Cooreman |
0:559902e88130 | 106 | LCD_SegmentSetLow(4, 0x00078000, 0x00000000);\ |
Steven Cooreman |
0:559902e88130 | 107 | LCD_SegmentSetLow(5, 0x00078000, 0x00000000);\ |
Steven Cooreman |
0:559902e88130 | 108 | LCD_SegmentSetLow(6, 0x00078000, 0x00000000);\ |
Steven Cooreman |
0:559902e88130 | 109 | LCD_SegmentSetLow(7, 0x00078000, 0x00000000);\ |
Steven Cooreman |
0:559902e88130 | 110 | } while (0) |
Steven Cooreman |
0:559902e88130 | 111 | |
Steven Cooreman |
0:559902e88130 | 112 | #define LCD_ALPHA_NUMBER_OFF() \ |
Steven Cooreman |
0:559902e88130 | 113 | do { \ |
Steven Cooreman |
0:559902e88130 | 114 | LCD_SegmentSetLow(7, 0x000075FE, 0x00000000);\ |
Steven Cooreman |
0:559902e88130 | 115 | LCD_SegmentSetLow(6, 0x00007FFE, 0x00000000);\ |
Steven Cooreman |
0:559902e88130 | 116 | LCD_SegmentSetLow(5, 0x00007FFE, 0x00000000);\ |
Steven Cooreman |
0:559902e88130 | 117 | LCD_SegmentSetLow(4, 0x00007FFE, 0x00000000);\ |
Steven Cooreman |
0:559902e88130 | 118 | LCD_SegmentSetLow(3, 0x00007FFE, 0x00000000);\ |
Steven Cooreman |
0:559902e88130 | 119 | LCD_SegmentSetLow(2, 0x00007FFE, 0x00000000);\ |
Steven Cooreman |
0:559902e88130 | 120 | LCD_SegmentSetLow(1, 0x00007FFE, 0x00000000);\ |
Steven Cooreman |
0:559902e88130 | 121 | LCD_SegmentSetLow(0, 0x00000A00, 0x00000000);\ |
Steven Cooreman |
0:559902e88130 | 122 | } while(0) |
Steven Cooreman |
0:559902e88130 | 123 | |
Steven Cooreman |
0:559902e88130 | 124 | #define LCD_ALL_SEGMENTS_OFF() \ |
Steven Cooreman |
0:559902e88130 | 125 | do { \ |
Steven Cooreman |
0:559902e88130 | 126 | LCD_SegmentSetLow(0, 0xFFFFFFFF, 0x00000000);\ |
Steven Cooreman |
0:559902e88130 | 127 | LCD_SegmentSetLow(1, 0xFFFFFFFF, 0x00000000);\ |
Steven Cooreman |
0:559902e88130 | 128 | LCD_SegmentSetLow(2, 0xFFFFFFFF, 0x00000000);\ |
Steven Cooreman |
0:559902e88130 | 129 | LCD_SegmentSetLow(3, 0xFFFFFFFF, 0x00000000);\ |
Steven Cooreman |
0:559902e88130 | 130 | LCD_SegmentSetLow(4, 0xFFFFFFFF, 0x00000000);\ |
Steven Cooreman |
0:559902e88130 | 131 | LCD_SegmentSetLow(5, 0xFFFFFFFF, 0x00000000);\ |
Steven Cooreman |
0:559902e88130 | 132 | LCD_SegmentSetLow(6, 0xFFFFFFFF, 0x00000000);\ |
Steven Cooreman |
0:559902e88130 | 133 | LCD_SegmentSetLow(7, 0xFFFFFFFF, 0x00000000);\ |
Steven Cooreman |
0:559902e88130 | 134 | } while(0) |
Steven Cooreman |
0:559902e88130 | 135 | |
Steven Cooreman |
0:559902e88130 | 136 | #define LCD_ALL_SEGMENTS_ON() \ |
Steven Cooreman |
0:559902e88130 | 137 | do { \ |
Steven Cooreman |
0:559902e88130 | 138 | LCD_SegmentSetLow(0, 0xFFFFFFFF, 0xFFFFFFFF);\ |
Steven Cooreman |
0:559902e88130 | 139 | LCD_SegmentSetLow(1, 0xFFFFFFFF, 0xFFFFFFFF);\ |
Steven Cooreman |
0:559902e88130 | 140 | LCD_SegmentSetLow(2, 0xFFFFFFFF, 0xFFFFFFFF);\ |
Steven Cooreman |
0:559902e88130 | 141 | LCD_SegmentSetLow(3, 0xFFFFFFFF, 0xFFFFFFFF);\ |
Steven Cooreman |
0:559902e88130 | 142 | LCD_SegmentSetLow(4, 0xFFFFFFFF, 0xFFFFFFFF);\ |
Steven Cooreman |
0:559902e88130 | 143 | LCD_SegmentSetLow(5, 0xFFFFFFFF, 0xFFFFFFFF);\ |
Steven Cooreman |
0:559902e88130 | 144 | LCD_SegmentSetLow(6, 0xFFFFFFFF, 0xFFFFFFFF);\ |
Steven Cooreman |
0:559902e88130 | 145 | LCD_SegmentSetLow(7, 0xFFFFFFFF, 0xFFFFFFFF);\ |
Steven Cooreman |
0:559902e88130 | 146 | } while(0) |
Steven Cooreman |
0:559902e88130 | 147 | |
Steven Cooreman |
0:559902e88130 | 148 | #define LCD_SEGMENTS_ENABLE() \ |
Steven Cooreman |
0:559902e88130 | 149 | do { \ |
Steven Cooreman |
0:559902e88130 | 150 | LCD_SegmentRangeEnable(lcdSegmentAll, true);\ |
Steven Cooreman |
0:559902e88130 | 151 | } while(0) |
Steven Cooreman |
0:559902e88130 | 152 | |
Steven Cooreman |
0:559902e88130 | 153 | #define LCD_DISPLAY_ENABLE() \ |
Steven Cooreman |
0:559902e88130 | 154 | do { \ |
Steven Cooreman |
0:559902e88130 | 155 | ;\ |
Steven Cooreman |
0:559902e88130 | 156 | } while(0) |
Steven Cooreman |
0:559902e88130 | 157 | |
Steven Cooreman |
0:559902e88130 | 158 | #define EFM_DISPLAY_DEF {\ |
Steven Cooreman |
0:559902e88130 | 159 | .Text = {\ |
Steven Cooreman |
0:559902e88130 | 160 | { /* 1 */\ |
Steven Cooreman |
0:559902e88130 | 161 | .com[0] = 1, .com[1] = 1, .com[2] = 5, .com[3] = 7,\ |
Steven Cooreman |
0:559902e88130 | 162 | .bit[0] = 1, .bit[1] = 2, .bit[2] = 2, .bit[3] = 2,\ |
Steven Cooreman |
0:559902e88130 | 163 | .com[4] = 7, .com[5] = 3, .com[6] = 4, .com[7] = 2,\ |
Steven Cooreman |
0:559902e88130 | 164 | .bit[4] = 1, .bit[5] = 1, .bit[6] = 1, .bit[7] = 1,\ |
Steven Cooreman |
0:559902e88130 | 165 | .com[8] = 3, .com[9] = 2, .com[10] = 4, .com[11] = 6,\ |
Steven Cooreman |
0:559902e88130 | 166 | .bit[8] = 2, .bit[9] = 2, .bit[10] = 2, .bit[11] = 2,\ |
Steven Cooreman |
0:559902e88130 | 167 | .com[12] = 5, .com[13] = 6,\ |
Steven Cooreman |
0:559902e88130 | 168 | .bit[12] = 1, .bit[13] = 1\ |
Steven Cooreman |
0:559902e88130 | 169 | },\ |
Steven Cooreman |
0:559902e88130 | 170 | { /* 2 */\ |
Steven Cooreman |
0:559902e88130 | 171 | .com[0] = 1, .com[1] = 1, .com[2] = 5, .com[3] = 7,\ |
Steven Cooreman |
0:559902e88130 | 172 | .bit[0] = 3, .bit[1] = 4, .bit[2] = 4, .bit[3] = 4,\ |
Steven Cooreman |
0:559902e88130 | 173 | .com[4] = 7, .com[5] = 3, .com[6] = 4, .com[7] = 2,\ |
Steven Cooreman |
0:559902e88130 | 174 | .bit[4] = 3, .bit[5] = 3, .bit[6] = 3, .bit[7] = 3,\ |
Steven Cooreman |
0:559902e88130 | 175 | .com[8] = 3, .com[9] = 2, .com[10] = 4, .com[11] = 6,\ |
Steven Cooreman |
0:559902e88130 | 176 | .bit[8] = 4, .bit[9] = 4, .bit[10] = 4, .bit[11] = 4,\ |
Steven Cooreman |
0:559902e88130 | 177 | .com[12] = 5, .com[13] = 6,\ |
Steven Cooreman |
0:559902e88130 | 178 | .bit[12] = 3, .bit[13] = 3\ |
Steven Cooreman |
0:559902e88130 | 179 | },\ |
Steven Cooreman |
0:559902e88130 | 180 | { /* 3 */\ |
Steven Cooreman |
0:559902e88130 | 181 | .com[0] = 1, .com[1] = 1, .com[2] = 5, .com[3] = 7,\ |
Steven Cooreman |
0:559902e88130 | 182 | .bit[0] = 5, .bit[1] = 6, .bit[2] = 6, .bit[3] = 6,\ |
Steven Cooreman |
0:559902e88130 | 183 | .com[4] = 7, .com[5] = 3, .com[6] = 4, .com[7] = 2,\ |
Steven Cooreman |
0:559902e88130 | 184 | .bit[4] = 5, .bit[5] = 5, .bit[6] = 5, .bit[7] = 5,\ |
Steven Cooreman |
0:559902e88130 | 185 | .com[8] = 3, .com[9] = 2, .com[10] = 4, .com[11] = 6,\ |
Steven Cooreman |
0:559902e88130 | 186 | .bit[8] = 6, .bit[9] = 6, .bit[10] = 6, .bit[11] = 6,\ |
Steven Cooreman |
0:559902e88130 | 187 | .com[12] = 5, .com[13] = 6,\ |
Steven Cooreman |
0:559902e88130 | 188 | .bit[12] = 5, .bit[13] = 5\ |
Steven Cooreman |
0:559902e88130 | 189 | },\ |
Steven Cooreman |
0:559902e88130 | 190 | { /* 4 */\ |
Steven Cooreman |
0:559902e88130 | 191 | .com[0] = 1, .com[1] = 1, .com[2] = 5, .com[3] = 7,\ |
Steven Cooreman |
0:559902e88130 | 192 | .bit[0] = 7, .bit[1] = 8, .bit[2] = 8, .bit[3] = 8,\ |
Steven Cooreman |
0:559902e88130 | 193 | .com[4] = 7, .com[5] = 3, .com[6] = 4, .com[7] = 2,\ |
Steven Cooreman |
0:559902e88130 | 194 | .bit[4] = 7, .bit[5] = 7, .bit[6] = 7, .bit[7] = 7,\ |
Steven Cooreman |
0:559902e88130 | 195 | .com[8] = 3, .com[9] = 2, .com[10] = 4, .com[11] = 6,\ |
Steven Cooreman |
0:559902e88130 | 196 | .bit[8] = 8, .bit[9] = 8, .bit[10] = 8, .bit[11] = 8,\ |
Steven Cooreman |
0:559902e88130 | 197 | .com[12] = 5, .com[13] = 6,\ |
Steven Cooreman |
0:559902e88130 | 198 | .bit[12] = 7, .bit[13] = 7\ |
Steven Cooreman |
0:559902e88130 | 199 | },\ |
Steven Cooreman |
0:559902e88130 | 200 | { /* 5 */\ |
Steven Cooreman |
0:559902e88130 | 201 | .com[0] = 0, .com[1] = 1, .com[2] = 5, .com[3] = 7,\ |
Steven Cooreman |
0:559902e88130 | 202 | .bit[0] = 9, .bit[1] = 10, .bit[2] = 10, .bit[3] = 10,\ |
Steven Cooreman |
0:559902e88130 | 203 | .com[4] = 6, .com[5] = 2, .com[6] = 3, .com[7] = 1,\ |
Steven Cooreman |
0:559902e88130 | 204 | .bit[4] = 9, .bit[5] = 9, .bit[6] = 9, .bit[7] = 9,\ |
Steven Cooreman |
0:559902e88130 | 205 | .com[8] = 3, .com[9] = 2, .com[10] = 4, .com[11] = 6,\ |
Steven Cooreman |
0:559902e88130 | 206 | .bit[8] = 10, .bit[9] = 10, .bit[10] = 10, .bit[11] = 10,\ |
Steven Cooreman |
0:559902e88130 | 207 | .com[12] = 4, .com[13] = 5,\ |
Steven Cooreman |
0:559902e88130 | 208 | .bit[12] = 9, .bit[13] = 9\ |
Steven Cooreman |
0:559902e88130 | 209 | },\ |
Steven Cooreman |
0:559902e88130 | 210 | { /* 6 */\ |
Steven Cooreman |
0:559902e88130 | 211 | .com[0] = 0, .com[1] = 1, .com[2] = 5, .com[3] = 7,\ |
Steven Cooreman |
0:559902e88130 | 212 | .bit[0] = 11, .bit[1] = 12, .bit[2] = 12, .bit[3] = 12,\ |
Steven Cooreman |
0:559902e88130 | 213 | .com[4] = 6, .com[5] = 2, .com[6] = 3, .com[7] = 1,\ |
Steven Cooreman |
0:559902e88130 | 214 | .bit[4] = 11, .bit[5] = 11, .bit[6] = 11, .bit[7] = 11,\ |
Steven Cooreman |
0:559902e88130 | 215 | .com[8] = 3, .com[9] = 2, .com[10] = 4, .com[11] = 6,\ |
Steven Cooreman |
0:559902e88130 | 216 | .bit[8] = 12, .bit[9] = 12, .bit[10] = 12, .bit[11] = 12,\ |
Steven Cooreman |
0:559902e88130 | 217 | .com[12] = 4, .com[13] = 5,\ |
Steven Cooreman |
0:559902e88130 | 218 | .bit[12] = 11, .bit[13] = 11\ |
Steven Cooreman |
0:559902e88130 | 219 | },\ |
Steven Cooreman |
0:559902e88130 | 220 | { /* 7 */\ |
Steven Cooreman |
0:559902e88130 | 221 | .com[0] = 1, .com[1] = 1, .com[2] = 5, .com[3] = 7,\ |
Steven Cooreman |
0:559902e88130 | 222 | .bit[0] = 13, .bit[1] = 14, .bit[2] = 14, .bit[3] = 14,\ |
Steven Cooreman |
0:559902e88130 | 223 | .com[4] = 7, .com[5] = 3, .com[6] = 4, .com[7] = 2,\ |
Steven Cooreman |
0:559902e88130 | 224 | .bit[4] = 13, .bit[5] = 13, .bit[6] = 13, .bit[7] = 13,\ |
Steven Cooreman |
0:559902e88130 | 225 | .com[8] = 3, .com[9] = 2, .com[10] = 4, .com[11] = 6,\ |
Steven Cooreman |
0:559902e88130 | 226 | .bit[8] = 14, .bit[9] = 14, .bit[10] = 14, .bit[11] = 14,\ |
Steven Cooreman |
0:559902e88130 | 227 | .com[12] = 5, .com[13] = 6,\ |
Steven Cooreman |
0:559902e88130 | 228 | .bit[12] = 13, .bit[13] = 13\ |
Steven Cooreman |
0:559902e88130 | 229 | },\ |
Steven Cooreman |
0:559902e88130 | 230 | },\ |
Steven Cooreman |
0:559902e88130 | 231 | .Number = {\ |
Steven Cooreman |
0:559902e88130 | 232 | {\ |
Steven Cooreman |
0:559902e88130 | 233 | .com[0] = 7, .com[1] = 5, .com[2] = 2, .com[3] = 1,\ |
Steven Cooreman |
0:559902e88130 | 234 | .bit[0] = 15, .bit[1] = 15, .bit[2] = 15, .bit[3] = 15,\ |
Steven Cooreman |
0:559902e88130 | 235 | .com[4] = 3, .com[5] = 6, .com[6] = 4,\ |
Steven Cooreman |
0:559902e88130 | 236 | .bit[4] = 15, .bit[5] = 15, .bit[6] = 15,\ |
Steven Cooreman |
0:559902e88130 | 237 | },\ |
Steven Cooreman |
0:559902e88130 | 238 | {\ |
Steven Cooreman |
0:559902e88130 | 239 | .com[0] = 7, .com[1] = 5, .com[2] = 2, .com[3] = 1,\ |
Steven Cooreman |
0:559902e88130 | 240 | .bit[0] = 16, .bit[1] = 16, .bit[2] = 16, .bit[3] = 16,\ |
Steven Cooreman |
0:559902e88130 | 241 | .com[4] = 3, .com[5] = 6, .com[6] = 4,\ |
Steven Cooreman |
0:559902e88130 | 242 | .bit[4] = 16, .bit[5] = 16, .bit[6] = 16,\ |
Steven Cooreman |
0:559902e88130 | 243 | },\ |
Steven Cooreman |
0:559902e88130 | 244 | {\ |
Steven Cooreman |
0:559902e88130 | 245 | .com[0] = 7, .com[1] = 5, .com[2] = 2, .com[3] = 1,\ |
Steven Cooreman |
0:559902e88130 | 246 | .bit[0] = 17, .bit[1] = 17, .bit[2] = 17, .bit[3] = 17,\ |
Steven Cooreman |
0:559902e88130 | 247 | .com[4] = 3, .com[5] = 6, .com[6] = 4,\ |
Steven Cooreman |
0:559902e88130 | 248 | .bit[4] = 17, .bit[5] = 17, .bit[6] = 17,\ |
Steven Cooreman |
0:559902e88130 | 249 | },\ |
Steven Cooreman |
0:559902e88130 | 250 | {\ |
Steven Cooreman |
0:559902e88130 | 251 | .com[0] = 7, .com[1] = 5, .com[2] = 2, .com[3] = 1,\ |
Steven Cooreman |
0:559902e88130 | 252 | .bit[0] = 18, .bit[1] = 18, .bit[2] = 18, .bit[3] = 18,\ |
Steven Cooreman |
0:559902e88130 | 253 | .com[4] = 3, .com[5] = 6, .com[6] = 4,\ |
Steven Cooreman |
0:559902e88130 | 254 | .bit[4] = 18, .bit[5] = 18, .bit[6] = 18,\ |
Steven Cooreman |
0:559902e88130 | 255 | },\ |
Steven Cooreman |
0:559902e88130 | 256 | },\ |
Steven Cooreman |
0:559902e88130 | 257 | .EMode = {\ |
Steven Cooreman |
0:559902e88130 | 258 | .com[0] = 0, .bit[0] = 19,\ |
Steven Cooreman |
0:559902e88130 | 259 | .com[1] = 1, .bit[1] = 19,\ |
Steven Cooreman |
0:559902e88130 | 260 | .com[2] = 7, .bit[2] = 19,\ |
Steven Cooreman |
0:559902e88130 | 261 | .com[3] = 2, .bit[3] = 19,\ |
Steven Cooreman |
0:559902e88130 | 262 | .com[4] = 6, .bit[4] = 19,\ |
Steven Cooreman |
0:559902e88130 | 263 | },\ |
Steven Cooreman |
0:559902e88130 | 264 | .ARing = {\ |
Steven Cooreman |
0:559902e88130 | 265 | .com[0] = 0, .bit[0] = 7,\ |
Steven Cooreman |
0:559902e88130 | 266 | .com[1] = 0, .bit[1] = 6,\ |
Steven Cooreman |
0:559902e88130 | 267 | .com[2] = 0, .bit[2] = 5,\ |
Steven Cooreman |
0:559902e88130 | 268 | .com[3] = 0, .bit[3] = 4,\ |
Steven Cooreman |
0:559902e88130 | 269 | .com[4] = 0, .bit[4] = 3,\ |
Steven Cooreman |
0:559902e88130 | 270 | .com[5] = 0, .bit[5] = 2,\ |
Steven Cooreman |
0:559902e88130 | 271 | .com[6] = 0, .bit[6] = 1,\ |
Steven Cooreman |
0:559902e88130 | 272 | .com[7] = 0, .bit[7] = 0,\ |
Steven Cooreman |
0:559902e88130 | 273 | },\ |
Steven Cooreman |
0:559902e88130 | 274 | .Battery = {\ |
Steven Cooreman |
0:559902e88130 | 275 | .com[0] = 0, .bit[0] = 13,\ |
Steven Cooreman |
0:559902e88130 | 276 | .com[1] = 0, .bit[1] = 17,\ |
Steven Cooreman |
0:559902e88130 | 277 | .com[2] = 0, .bit[2] = 16,\ |
Steven Cooreman |
0:559902e88130 | 278 | .com[3] = 0, .bit[3] = 18,\ |
Steven Cooreman |
0:559902e88130 | 279 | }\ |
Steven Cooreman |
0:559902e88130 | 280 | } |
Steven Cooreman |
0:559902e88130 | 281 | |
Steven Cooreman |
0:559902e88130 | 282 | static const PinName outPins[] = { |
Steven Cooreman |
0:559902e88130 | 283 | /* SEG28..39 */ |
Steven Cooreman |
0:559902e88130 | 284 | PA7, //LCD_SEG35 |
Steven Cooreman |
0:559902e88130 | 285 | PA8, //LCD_SEG36 |
Steven Cooreman |
0:559902e88130 | 286 | PA9, //LCD_SEG37 |
Steven Cooreman |
0:559902e88130 | 287 | PA10, //LCD_SEG38 |
Steven Cooreman |
0:559902e88130 | 288 | PA11, //LCD_SEG39 |
Steven Cooreman |
0:559902e88130 | 289 | PB0, //LCD_SEG32 |
Steven Cooreman |
0:559902e88130 | 290 | PB1, //LCD_SEG33 |
Steven Cooreman |
0:559902e88130 | 291 | PB2, //LCD_SEG34 |
Steven Cooreman |
0:559902e88130 | 292 | PD9, //LCD_SEG28 |
Steven Cooreman |
0:559902e88130 | 293 | PD10, //LCD_SEG29 |
Steven Cooreman |
0:559902e88130 | 294 | PD11, //LCD_SEG30 |
Steven Cooreman |
0:559902e88130 | 295 | PD12, //LCD_SEG31 |
Steven Cooreman |
0:559902e88130 | 296 | /* SEG12..19 */ |
Steven Cooreman |
0:559902e88130 | 297 | PA0, //LCD_SEG13 |
Steven Cooreman |
0:559902e88130 | 298 | PA1, //LCD_SEG14 |
Steven Cooreman |
0:559902e88130 | 299 | PA2, //LCD_SEG15 |
Steven Cooreman |
0:559902e88130 | 300 | PA3, //LCD_SEG16 |
Steven Cooreman |
0:559902e88130 | 301 | PA4, //LCD_SEG17 |
Steven Cooreman |
0:559902e88130 | 302 | PA5, //LCD_SEG18 |
Steven Cooreman |
0:559902e88130 | 303 | PA6, //LCD_SEG19 |
Steven Cooreman |
0:559902e88130 | 304 | PA15, //LCD_SEG12 |
Steven Cooreman |
0:559902e88130 | 305 | /* COM4..7 */ |
Steven Cooreman |
0:559902e88130 | 306 | PB3, //LCD_COM4 |
Steven Cooreman |
0:559902e88130 | 307 | PB4, //LCD_COM5 |
Steven Cooreman |
0:559902e88130 | 308 | PB5, //LCD_COM6 |
Steven Cooreman |
0:559902e88130 | 309 | PB6, //LCD_COM7 |
Steven Cooreman |
0:559902e88130 | 310 | /* COM0..3 */ |
Steven Cooreman |
0:559902e88130 | 311 | PE4, //LCD_COM0 |
Steven Cooreman |
0:559902e88130 | 312 | PE5, //LCD_COM1 |
Steven Cooreman |
0:559902e88130 | 313 | PE6, //LCD_COM2 |
Steven Cooreman |
0:559902e88130 | 314 | PE7 //LCD_COM3 |
Steven Cooreman |
0:559902e88130 | 315 | }; |
Steven Cooreman |
0:559902e88130 | 316 | |
Steven Cooreman |
0:559902e88130 | 317 | #ifdef __cplusplus |
Steven Cooreman |
0:559902e88130 | 318 | } |
Steven Cooreman |
0:559902e88130 | 319 | #endif |
Steven Cooreman |
0:559902e88130 | 320 | |
Steven Cooreman |
0:559902e88130 | 321 | #endif |