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_g.h@6:114aa75da77b, 2015-05-04 (annotated)
- Committer:
- stevew817
- Date:
- Mon May 04 20:40:26 2015 +0000
- Revision:
- 6:114aa75da77b
- Parent:
- 1:5335eb33bfcb
Add pin defines for WG and LG
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 Gecko STK (G8xx_STK) |
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 | { |
Steven Cooreman |
0:559902e88130 | 28 | LCD_SYMBOL_GECKO, |
Steven Cooreman |
0:559902e88130 | 29 | LCD_SYMBOL_ANT, |
Steven Cooreman |
0:559902e88130 | 30 | LCD_SYMBOL_PAD0, |
Steven Cooreman |
0:559902e88130 | 31 | LCD_SYMBOL_PAD1, |
Steven Cooreman |
0:559902e88130 | 32 | LCD_SYMBOL_AM, |
Steven Cooreman |
0:559902e88130 | 33 | LCD_SYMBOL_PM, |
Steven Cooreman |
0:559902e88130 | 34 | LCD_SYMBOL_EFM32, |
Steven Cooreman |
0:559902e88130 | 35 | LCD_SYMBOL_MINUS, |
Steven Cooreman |
0:559902e88130 | 36 | LCD_SYMBOL_COL3, |
Steven Cooreman |
0:559902e88130 | 37 | LCD_SYMBOL_COL5, |
Steven Cooreman |
0:559902e88130 | 38 | LCD_SYMBOL_COL10, |
Steven Cooreman |
0:559902e88130 | 39 | LCD_SYMBOL_DEGC, |
Steven Cooreman |
0:559902e88130 | 40 | LCD_SYMBOL_DEGF, |
Steven Cooreman |
0:559902e88130 | 41 | LCD_SYMBOL_MICROAMP, |
Steven Cooreman |
0:559902e88130 | 42 | LCD_SYMBOL_MILLIAMP, |
Steven Cooreman |
0:559902e88130 | 43 | LCD_SYMBOL_DP6, |
Steven Cooreman |
0:559902e88130 | 44 | LCD_SYMBOL_DP10, |
Steven Cooreman |
0:559902e88130 | 45 | } lcdSymbol; |
Steven Cooreman |
0:559902e88130 | 46 | |
Steven Cooreman |
0:559902e88130 | 47 | |
Steven Cooreman |
0:559902e88130 | 48 | #define LCD_SYMBOL_GECKO_COM 3 |
Steven Cooreman |
0:559902e88130 | 49 | #define LCD_SYMBOL_GECKO_SEG 8 |
Steven Cooreman |
0:559902e88130 | 50 | #define LCD_SYMBOL_ANT_COM 3 |
Steven Cooreman |
0:559902e88130 | 51 | #define LCD_SYMBOL_ANT_SEG 1 |
Steven Cooreman |
0:559902e88130 | 52 | #define LCD_SYMBOL_PAD0_COM 1 |
Steven Cooreman |
0:559902e88130 | 53 | #define LCD_SYMBOL_PAD0_SEG 8 |
Steven Cooreman |
0:559902e88130 | 54 | #define LCD_SYMBOL_PAD1_COM 2 |
Steven Cooreman |
0:559902e88130 | 55 | #define LCD_SYMBOL_PAD1_SEG 8 |
Steven Cooreman |
0:559902e88130 | 56 | #define LCD_SYMBOL_AM_COM 0 |
Steven Cooreman |
0:559902e88130 | 57 | #define LCD_SYMBOL_AM_SEG 32 |
Steven Cooreman |
0:559902e88130 | 58 | #define LCD_SYMBOL_PM_COM 0 |
Steven Cooreman |
0:559902e88130 | 59 | #define LCD_SYMBOL_PM_SEG 35 |
Steven Cooreman |
0:559902e88130 | 60 | #define LCD_SYMBOL_EFM32_COM 0 |
Steven Cooreman |
0:559902e88130 | 61 | #define LCD_SYMBOL_EFM32_SEG 8 |
Steven Cooreman |
0:559902e88130 | 62 | #define LCD_SYMBOL_MINUS_COM 0 |
Steven Cooreman |
0:559902e88130 | 63 | #define LCD_SYMBOL_MINUS_SEG 9 |
Steven Cooreman |
0:559902e88130 | 64 | #define LCD_SYMBOL_COL3_COM 0 |
Steven Cooreman |
0:559902e88130 | 65 | #define LCD_SYMBOL_COL3_SEG 16 |
Steven Cooreman |
0:559902e88130 | 66 | #define LCD_SYMBOL_COL5_COM 0 |
Steven Cooreman |
0:559902e88130 | 67 | #define LCD_SYMBOL_COL5_SEG 24 |
Steven Cooreman |
0:559902e88130 | 68 | #define LCD_SYMBOL_COL10_COM 0 |
Steven Cooreman |
0:559902e88130 | 69 | #define LCD_SYMBOL_COL10_SEG 39 |
Steven Cooreman |
0:559902e88130 | 70 | #define LCD_SYMBOL_DEGC_COM 0 |
Steven Cooreman |
0:559902e88130 | 71 | #define LCD_SYMBOL_DEGC_SEG 34 |
Steven Cooreman |
0:559902e88130 | 72 | #define LCD_SYMBOL_DEGF_COM 1 |
Steven Cooreman |
0:559902e88130 | 73 | #define LCD_SYMBOL_DEGF_SEG 34 |
Steven Cooreman |
0:559902e88130 | 74 | #define LCD_SYMBOL_MICROAMP_COM 2 |
Steven Cooreman |
0:559902e88130 | 75 | #define LCD_SYMBOL_MICROAMP_SEG 34 |
Steven Cooreman |
0:559902e88130 | 76 | #define LCD_SYMBOL_MILLIAMP_COM 3 |
Steven Cooreman |
0:559902e88130 | 77 | #define LCD_SYMBOL_MILLIAMP_SEG 34 |
Steven Cooreman |
0:559902e88130 | 78 | #define LCD_SYMBOL_DP6_COM 0 |
Steven Cooreman |
0:559902e88130 | 79 | #define LCD_SYMBOL_DP6_SEG 21 |
Steven Cooreman |
0:559902e88130 | 80 | #define LCD_SYMBOL_DP10_COM 0 |
Steven Cooreman |
0:559902e88130 | 81 | #define LCD_SYMBOL_DP10_SEG 37 |
Steven Cooreman |
0:559902e88130 | 82 | |
Steven Cooreman |
0:559902e88130 | 83 | /* LCD Controller Prescaler (divide by 128) */ |
Steven Cooreman |
0:559902e88130 | 84 | /* CLKlcd = 256 Hz */ |
Steven Cooreman |
0:559902e88130 | 85 | #define LCD_CMU_CLK_PRE cmuClkDiv_128 |
Steven Cooreman |
0:559902e88130 | 86 | #define LCD_CMU_CLK_DIV 0 |
Steven Cooreman |
0:559902e88130 | 87 | |
Steven Cooreman |
0:559902e88130 | 88 | #define LCD_BOOST_LEVEL lcdVBoostLevel0 |
Steven Cooreman |
0:559902e88130 | 89 | |
Steven Cooreman |
0:559902e88130 | 90 | #define LCD_INIT_DEF \ |
Steven Cooreman |
0:559902e88130 | 91 | { true,\ |
Steven Cooreman |
0:559902e88130 | 92 | lcdMuxQuadruplex,\ |
Steven Cooreman |
0:559902e88130 | 93 | lcdBiasOneThird,\ |
Steven Cooreman |
0:559902e88130 | 94 | lcdWaveLowPower,\ |
Steven Cooreman |
0:559902e88130 | 95 | lcdVLCDSelVDD,\ |
Steven Cooreman |
0:559902e88130 | 96 | lcdConConfVLCD } |
Steven Cooreman |
0:559902e88130 | 97 | |
Steven Cooreman |
0:559902e88130 | 98 | #define LCD_NUMBER_OFF() \ |
Steven Cooreman |
0:559902e88130 | 99 | do { \ |
Steven Cooreman |
0:559902e88130 | 100 | LCD_SegmentSetLow(0, 0x80000000, 0x00000000);\ |
Steven Cooreman |
0:559902e88130 | 101 | LCD_SegmentSetLow(1, 0x80000000, 0x00000000);\ |
Steven Cooreman |
0:559902e88130 | 102 | LCD_SegmentSetLow(2, 0x80000000, 0x00000000);\ |
Steven Cooreman |
0:559902e88130 | 103 | LCD_SegmentSetLow(3, 0x80000000, 0x00000000);\ |
Steven Cooreman |
0:559902e88130 | 104 | LCD_SegmentSetHigh(0, 0x52, 0x00000000);\ |
Steven Cooreman |
0:559902e88130 | 105 | LCD_SegmentSetHigh(1, 0xFB, 0x00000000);\ |
Steven Cooreman |
0:559902e88130 | 106 | LCD_SegmentSetHigh(2, 0xFB, 0x00000000);\ |
Steven Cooreman |
0:559902e88130 | 107 | LCD_SegmentSetHigh(3, 0xFB, 0x00000000);\ |
Steven Cooreman |
0:559902e88130 | 108 | } while (0) |
Steven Cooreman |
0:559902e88130 | 109 | |
Steven Cooreman |
0:559902e88130 | 110 | #define LCD_ALPHA_NUMBER_OFF() \ |
Steven Cooreman |
0:559902e88130 | 111 | do { \ |
Steven Cooreman |
0:559902e88130 | 112 | LCD_SegmentSetLow(0, 0x7ECCCC00, 0x00000000);\ |
Steven Cooreman |
0:559902e88130 | 113 | LCD_SegmentSetLow(1, 0x7FFFFEFC, 0x00000000);\ |
Steven Cooreman |
0:559902e88130 | 114 | LCD_SegmentSetLow(2, 0x7FFFFEFC, 0x00000000);\ |
Steven Cooreman |
0:559902e88130 | 115 | LCD_SegmentSetLow(3, 0x7FFFFEFC, 0x00000000);\ |
Steven Cooreman |
0:559902e88130 | 116 | } while(0) |
Steven Cooreman |
0:559902e88130 | 117 | |
Steven Cooreman |
0:559902e88130 | 118 | #define LCD_ALL_SEGMENTS_OFF() \ |
Steven Cooreman |
0:559902e88130 | 119 | do { \ |
Steven Cooreman |
0:559902e88130 | 120 | LCD_SegmentSetLow(0, 0xFFFFFFFF, 0x00000000);\ |
Steven Cooreman |
0:559902e88130 | 121 | LCD_SegmentSetLow(1, 0xFFFFFFFF, 0x00000000);\ |
Steven Cooreman |
0:559902e88130 | 122 | LCD_SegmentSetLow(2, 0xFFFFFFFF, 0x00000000);\ |
Steven Cooreman |
0:559902e88130 | 123 | LCD_SegmentSetLow(3, 0xFFFFFFFF, 0x00000000);\ |
Steven Cooreman |
0:559902e88130 | 124 | LCD_SegmentSetHigh(0, 0xFF, 0x00000000);\ |
Steven Cooreman |
0:559902e88130 | 125 | LCD_SegmentSetHigh(1, 0xFF, 0x00000000);\ |
Steven Cooreman |
0:559902e88130 | 126 | LCD_SegmentSetHigh(2, 0xFF, 0x00000000);\ |
Steven Cooreman |
0:559902e88130 | 127 | LCD_SegmentSetHigh(3, 0xFF, 0x00000000);\ |
Steven Cooreman |
0:559902e88130 | 128 | } while(0) |
Steven Cooreman |
0:559902e88130 | 129 | |
Steven Cooreman |
0:559902e88130 | 130 | #define LCD_ALL_SEGMENTS_ON() \ |
Steven Cooreman |
0:559902e88130 | 131 | do { \ |
Steven Cooreman |
0:559902e88130 | 132 | LCD_SegmentSetLow(0, 0xFFFFFFFF, 0xFFFFFFFF);\ |
Steven Cooreman |
0:559902e88130 | 133 | LCD_SegmentSetLow(1, 0xFFFFFFFF, 0xFFFFFFFF);\ |
Steven Cooreman |
0:559902e88130 | 134 | LCD_SegmentSetLow(2, 0xFFFFFFFF, 0xFFFFFFFF);\ |
Steven Cooreman |
0:559902e88130 | 135 | LCD_SegmentSetLow(3, 0xFFFFFFFF, 0xFFFFFFFF);\ |
Steven Cooreman |
0:559902e88130 | 136 | LCD_SegmentSetHigh(0, 0xFF, 0xFFFFFFFF);\ |
Steven Cooreman |
0:559902e88130 | 137 | LCD_SegmentSetHigh(1, 0xFF, 0xFFFFFFFF);\ |
Steven Cooreman |
0:559902e88130 | 138 | LCD_SegmentSetHigh(2, 0xFF, 0xFFFFFFFF);\ |
Steven Cooreman |
0:559902e88130 | 139 | LCD_SegmentSetHigh(3, 0xFF, 0xFFFFFFFF);\ |
Steven Cooreman |
0:559902e88130 | 140 | } while(0) |
Steven Cooreman |
0:559902e88130 | 141 | |
Steven Cooreman |
0:559902e88130 | 142 | #define LCD_SEGMENTS_ENABLE() \ |
Steven Cooreman |
0:559902e88130 | 143 | do { \ |
Steven Cooreman |
0:559902e88130 | 144 | LCD_SegmentRangeEnable(lcdSegmentAll, true);\ |
Steven Cooreman |
0:559902e88130 | 145 | } while(0) |
Steven Cooreman |
0:559902e88130 | 146 | |
Steven Cooreman |
0:559902e88130 | 147 | #define LCD_DISPLAY_ENABLE() \ |
Steven Cooreman |
0:559902e88130 | 148 | do { \ |
Steven Cooreman |
0:559902e88130 | 149 | ;\ |
Steven Cooreman |
0:559902e88130 | 150 | } while(0) |
Steven Cooreman |
0:559902e88130 | 151 | |
Steven Cooreman |
0:559902e88130 | 152 | #define EFM_DISPLAY_DEF {\ |
Steven Cooreman |
0:559902e88130 | 153 | .Text = {\ |
Steven Cooreman |
0:559902e88130 | 154 | { /* 1 */\ |
Steven Cooreman |
0:559902e88130 | 155 | .com[0] = 3, .com[1] = 3, .com[2] = 1, .com[3] = 0,\ |
Steven Cooreman |
0:559902e88130 | 156 | .bit[0] = 10, .bit[1] = 12, .bit[2] = 12, .bit[3] = 10,\ |
Steven Cooreman |
0:559902e88130 | 157 | .com[4] = 1, .com[5] = 3, .com[6] = 2, .com[7] = 2,\ |
Steven Cooreman |
0:559902e88130 | 158 | .bit[4] = 9, .bit[5] = 9, .bit[6] = 9, .bit[7] = 10,\ |
Steven Cooreman |
0:559902e88130 | 159 | .com[8] = 2, .com[9] = 3, .com[10] = 2, .com[11] = 0,\ |
Steven Cooreman |
0:559902e88130 | 160 | .bit[8] = 11, .bit[9] = 11, .bit[10] = 12, .bit[11] = 11,\ |
Steven Cooreman |
0:559902e88130 | 161 | .com[12] = 1, .com[13] = 1,\ |
Steven Cooreman |
0:559902e88130 | 162 | .bit[12] = 11, .bit[13] = 10\ |
Steven Cooreman |
0:559902e88130 | 163 | },\ |
Steven Cooreman |
0:559902e88130 | 164 | { /* 2 */\ |
Steven Cooreman |
0:559902e88130 | 165 | .com[0] = 3, .com[1] = 3, .com[2] = 1, .com[3] = 0,\ |
Steven Cooreman |
0:559902e88130 | 166 | .bit[0] = 14, .bit[1] = 16, .bit[2] = 16, .bit[3] = 14,\ |
Steven Cooreman |
0:559902e88130 | 167 | .com[4] = 1, .com[5] = 3, .com[6] = 2, .com[7] = 2,\ |
Steven Cooreman |
0:559902e88130 | 168 | .bit[4] = 13, .bit[5] = 13, .bit[6] = 13, .bit[7] = 14,\ |
Steven Cooreman |
0:559902e88130 | 169 | .com[8] = 2, .com[9] = 3, .com[10] = 2, .com[11] = 0,\ |
Steven Cooreman |
0:559902e88130 | 170 | .bit[8] = 15, .bit[9] = 15, .bit[10] = 16, .bit[11] = 15,\ |
Steven Cooreman |
0:559902e88130 | 171 | .com[12] = 1, .com[13] = 1,\ |
Steven Cooreman |
0:559902e88130 | 172 | .bit[12] = 15, .bit[13] = 14\ |
Steven Cooreman |
0:559902e88130 | 173 | },\ |
Steven Cooreman |
0:559902e88130 | 174 | { /* 3 */\ |
Steven Cooreman |
0:559902e88130 | 175 | .com[0] = 3, .com[1] = 3, .com[2] = 1, .com[3] = 0,\ |
Steven Cooreman |
0:559902e88130 | 176 | .bit[0] = 18, .bit[1] = 20, .bit[2] = 20, .bit[3] = 18,\ |
Steven Cooreman |
0:559902e88130 | 177 | .com[4] = 1, .com[5] = 3, .com[6] = 2, .com[7] = 2,\ |
Steven Cooreman |
0:559902e88130 | 178 | .bit[4] = 17, .bit[5] = 17, .bit[6] = 17, .bit[7] = 18,\ |
Steven Cooreman |
0:559902e88130 | 179 | .com[8] = 2, .com[9] = 3, .com[10] = 2, .com[11] = 0,\ |
Steven Cooreman |
0:559902e88130 | 180 | .bit[8] = 19, .bit[9] = 19, .bit[10] = 20, .bit[11] = 19,\ |
Steven Cooreman |
0:559902e88130 | 181 | .com[12] = 1, .com[13] = 1,\ |
Steven Cooreman |
0:559902e88130 | 182 | .bit[12] = 19, .bit[13] = 18\ |
Steven Cooreman |
0:559902e88130 | 183 | },\ |
Steven Cooreman |
0:559902e88130 | 184 | { /* 4 */\ |
Steven Cooreman |
0:559902e88130 | 185 | .com[0] = 3, .com[1] = 3, .com[2] = 1, .com[3] = 0,\ |
Steven Cooreman |
0:559902e88130 | 186 | .bit[0] = 22, .bit[1] = 24, .bit[2] = 24, .bit[3] = 22,\ |
Steven Cooreman |
0:559902e88130 | 187 | .com[4] = 1, .com[5] = 3, .com[6] = 2, .com[7] = 2,\ |
Steven Cooreman |
0:559902e88130 | 188 | .bit[4] = 21, .bit[5] = 21, .bit[6] = 21, .bit[7] = 22,\ |
Steven Cooreman |
0:559902e88130 | 189 | .com[8] = 2, .com[9] = 3, .com[10] = 2, .com[11] = 0,\ |
Steven Cooreman |
0:559902e88130 | 190 | .bit[8] = 23, .bit[9] = 23, .bit[10] = 24, .bit[11] = 23,\ |
Steven Cooreman |
0:559902e88130 | 191 | .com[12] = 1, .com[13] = 1,\ |
Steven Cooreman |
0:559902e88130 | 192 | .bit[12] = 23, .bit[13] = 22\ |
Steven Cooreman |
0:559902e88130 | 193 | },\ |
Steven Cooreman |
0:559902e88130 | 194 | { /* 5 */\ |
Steven Cooreman |
0:559902e88130 | 195 | .com[0] = 3, .com[1] = 3, .com[2] = 1, .com[3] = 0,\ |
Steven Cooreman |
0:559902e88130 | 196 | .bit[0] = 25, .bit[1] = 6, .bit[2] = 6, .bit[3] = 25,\ |
Steven Cooreman |
0:559902e88130 | 197 | .com[4] = 1, .com[5] = 3, .com[6] = 2, .com[7] = 2,\ |
Steven Cooreman |
0:559902e88130 | 198 | .bit[4] = 7, .bit[5] = 7, .bit[6] = 7, .bit[7] = 25,\ |
Steven Cooreman |
0:559902e88130 | 199 | .com[8] = 2, .com[9] = 3, .com[10] = 2, .com[11] = 0,\ |
Steven Cooreman |
0:559902e88130 | 200 | .bit[8] = 26, .bit[9] = 26, .bit[10] = 6, .bit[11] = 26,\ |
Steven Cooreman |
0:559902e88130 | 201 | .com[12] = 1, .com[13] = 1,\ |
Steven Cooreman |
0:559902e88130 | 202 | .bit[12] = 26, .bit[13] = 25\ |
Steven Cooreman |
0:559902e88130 | 203 | },\ |
Steven Cooreman |
0:559902e88130 | 204 | { /* 6 */\ |
Steven Cooreman |
0:559902e88130 | 205 | .com[0] = 3, .com[1] = 3, .com[2] = 1, .com[3] = 0,\ |
Steven Cooreman |
0:559902e88130 | 206 | .bit[0] = 27, .bit[1] = 04, .bit[2] = 04, .bit[3] = 27,\ |
Steven Cooreman |
0:559902e88130 | 207 | .com[4] = 1, .com[5] = 3, .com[6] = 2, .com[7] = 2,\ |
Steven Cooreman |
0:559902e88130 | 208 | .bit[4] = 5, .bit[5] = 5, .bit[6] = 5, .bit[7] = 27,\ |
Steven Cooreman |
0:559902e88130 | 209 | .com[8] = 2, .com[9] = 3, .com[10] = 2, .com[11] = 0,\ |
Steven Cooreman |
0:559902e88130 | 210 | .bit[8] = 28, .bit[9] = 28, .bit[10] = 4, .bit[11] = 28,\ |
Steven Cooreman |
0:559902e88130 | 211 | .com[12] = 1, .com[13] = 1,\ |
Steven Cooreman |
0:559902e88130 | 212 | .bit[12] = 28, .bit[13] = 27\ |
Steven Cooreman |
0:559902e88130 | 213 | },\ |
Steven Cooreman |
0:559902e88130 | 214 | { /* 7 */\ |
Steven Cooreman |
0:559902e88130 | 215 | .com[0] = 3, .com[1] = 3, .com[2] = 1, .com[3] = 0,\ |
Steven Cooreman |
0:559902e88130 | 216 | .bit[0] = 29, .bit[1] = 2, .bit[2] = 2, .bit[3] = 29,\ |
Steven Cooreman |
0:559902e88130 | 217 | .com[4] = 1, .com[5] = 3, .com[6] = 2, .com[7] = 2,\ |
Steven Cooreman |
0:559902e88130 | 218 | .bit[4] = 03, .bit[5] = 3, .bit[6] = 3, .bit[7] = 29,\ |
Steven Cooreman |
0:559902e88130 | 219 | .com[8] = 2, .com[9] = 3, .com[10] = 2, .com[11] = 0,\ |
Steven Cooreman |
0:559902e88130 | 220 | .bit[8] = 30, .bit[9] = 30, .bit[10] = 2, .bit[11] = 30,\ |
Steven Cooreman |
0:559902e88130 | 221 | .com[12] = 1, .com[13] = 1,\ |
Steven Cooreman |
0:559902e88130 | 222 | .bit[12] = 30, .bit[13] = 29\ |
Steven Cooreman |
0:559902e88130 | 223 | }\ |
Steven Cooreman |
0:559902e88130 | 224 | },\ |
Steven Cooreman |
0:559902e88130 | 225 | .Number = {\ |
Steven Cooreman |
0:559902e88130 | 226 | {\ |
Steven Cooreman |
0:559902e88130 | 227 | .com[0] = 3, .com[1] = 2, .com[2] = 1, .com[3] = 0,\ |
Steven Cooreman |
0:559902e88130 | 228 | .bit[0] = 31, .bit[1] = 31, .bit[2] = 31, .bit[3] = 31,\ |
Steven Cooreman |
0:559902e88130 | 229 | .com[4] = 1, .com[5] = 3, .com[6] = 2,\ |
Steven Cooreman |
0:559902e88130 | 230 | .bit[4] = 32, .bit[5] = 32, .bit[6] = 32,\ |
Steven Cooreman |
0:559902e88130 | 231 | },\ |
Steven Cooreman |
0:559902e88130 | 232 | {\ |
Steven Cooreman |
0:559902e88130 | 233 | .com[0] = 3, .com[1] = 2, .com[2] = 1, .com[3] = 0,\ |
Steven Cooreman |
0:559902e88130 | 234 | .bit[0] = 33, .bit[1] = 33, .bit[2] = 33, .bit[3] = 33,\ |
Steven Cooreman |
0:559902e88130 | 235 | .com[4] = 1, .com[5] = 3, .com[6] = 2,\ |
Steven Cooreman |
0:559902e88130 | 236 | .bit[4] = 35, .bit[5] = 35, .bit[6] = 35,\ |
Steven Cooreman |
0:559902e88130 | 237 | },\ |
Steven Cooreman |
0:559902e88130 | 238 | {\ |
Steven Cooreman |
0:559902e88130 | 239 | .com[0] = 3, .com[1] = 2, .com[2] = 1, .com[3] = 0,\ |
Steven Cooreman |
0:559902e88130 | 240 | .bit[0] = 36, .bit[1] = 36, .bit[2] = 36, .bit[3] = 36,\ |
Steven Cooreman |
0:559902e88130 | 241 | .com[4] = 1, .com[5] = 3, .com[6] = 2,\ |
Steven Cooreman |
0:559902e88130 | 242 | .bit[4] = 37, .bit[5] = 37, .bit[6] = 37,\ |
Steven Cooreman |
0:559902e88130 | 243 | },\ |
Steven Cooreman |
0:559902e88130 | 244 | {\ |
Steven Cooreman |
0:559902e88130 | 245 | .com[0] = 3, .com[1] = 2, .com[2] = 1, .com[3] = 0,\ |
Steven Cooreman |
0:559902e88130 | 246 | .bit[0] = 38, .bit[1] = 38, .bit[2] = 38, .bit[3] = 38,\ |
Steven Cooreman |
0:559902e88130 | 247 | .com[4] = 1, .com[5] = 3, .com[6] = 2,\ |
Steven Cooreman |
0:559902e88130 | 248 | .bit[4] = 39, .bit[5] = 39, .bit[6] = 39,\ |
Steven Cooreman |
0:559902e88130 | 249 | },\ |
Steven Cooreman |
0:559902e88130 | 250 | },\ |
Steven Cooreman |
0:559902e88130 | 251 | .EMode = {\ |
Steven Cooreman |
0:559902e88130 | 252 | .com[0] = 1, .bit[0] = 1,\ |
Steven Cooreman |
0:559902e88130 | 253 | .com[1] = 2, .bit[1] = 1,\ |
Steven Cooreman |
0:559902e88130 | 254 | .com[2] = 1, .bit[2] = 0,\ |
Steven Cooreman |
0:559902e88130 | 255 | .com[3] = 2, .bit[3] = 0,\ |
Steven Cooreman |
0:559902e88130 | 256 | .com[4] = 3, .bit[4] = 0,\ |
Steven Cooreman |
0:559902e88130 | 257 | },\ |
Steven Cooreman |
0:559902e88130 | 258 | .ARing = {\ |
Steven Cooreman |
0:559902e88130 | 259 | .com[0] = 0, .bit[0] = 0,\ |
Steven Cooreman |
0:559902e88130 | 260 | .com[1] = 0, .bit[1] = 1,\ |
Steven Cooreman |
0:559902e88130 | 261 | .com[2] = 0, .bit[2] = 2,\ |
Steven Cooreman |
0:559902e88130 | 262 | .com[3] = 0, .bit[3] = 3,\ |
Steven Cooreman |
0:559902e88130 | 263 | .com[4] = 0, .bit[4] = 4,\ |
Steven Cooreman |
0:559902e88130 | 264 | .com[5] = 0, .bit[5] = 5,\ |
Steven Cooreman |
0:559902e88130 | 265 | .com[6] = 0, .bit[6] = 6,\ |
Steven Cooreman |
0:559902e88130 | 266 | .com[7] = 0, .bit[7] = 7,\ |
Steven Cooreman |
0:559902e88130 | 267 | },\ |
Steven Cooreman |
0:559902e88130 | 268 | .Battery = {\ |
Steven Cooreman |
0:559902e88130 | 269 | .com[0] = 0, .bit[0] = 12,\ |
Steven Cooreman |
0:559902e88130 | 270 | .com[1] = 0, .bit[1] = 17,\ |
Steven Cooreman |
0:559902e88130 | 271 | .com[2] = 0, .bit[2] = 20,\ |
Steven Cooreman |
0:559902e88130 | 272 | .com[3] = 0, .bit[3] = 13,\ |
Steven Cooreman |
0:559902e88130 | 273 | }\ |
Steven Cooreman |
0:559902e88130 | 274 | } |
Steven Cooreman |
0:559902e88130 | 275 | |
Steven Cooreman |
0:559902e88130 | 276 | static const PinName outPins[] = { |
Steven Cooreman |
0:559902e88130 | 277 | /* SEG28..39 */ |
Steven Cooreman |
0:559902e88130 | 278 | PA7, //LCD_SEG35 |
Steven Cooreman |
0:559902e88130 | 279 | PA8, //LCD_SEG36 |
Steven Cooreman |
0:559902e88130 | 280 | PA9, //LCD_SEG37 |
Steven Cooreman |
0:559902e88130 | 281 | PA10, //LCD_SEG38 |
Steven Cooreman |
0:559902e88130 | 282 | PA11, //LCD_SEG39 |
Steven Cooreman |
0:559902e88130 | 283 | PB0, //LCD_SEG32 |
Steven Cooreman |
0:559902e88130 | 284 | PB1, //LCD_SEG33 |
Steven Cooreman |
0:559902e88130 | 285 | PB2, //LCD_SEG34 |
Steven Cooreman |
0:559902e88130 | 286 | PD9, //LCD_SEG28 |
Steven Cooreman |
0:559902e88130 | 287 | PD10, //LCD_SEG29 |
Steven Cooreman |
0:559902e88130 | 288 | PD11, //LCD_SEG30 |
Steven Cooreman |
0:559902e88130 | 289 | PD12, //LCD_SEG31 |
Steven Cooreman |
0:559902e88130 | 290 | /* SEG 20..27 */ |
Steven Cooreman |
0:559902e88130 | 291 | PB3, //LCD_SEG20 |
Steven Cooreman |
0:559902e88130 | 292 | PB4, //LCD_SEG21 |
Steven Cooreman |
0:559902e88130 | 293 | PB5, //LCD_SEG22 |
Steven Cooreman |
0:559902e88130 | 294 | PB6, //LCD_SEG23 |
Steven Cooreman |
0:559902e88130 | 295 | PF6, //LCD_SEG24 |
Steven Cooreman |
0:559902e88130 | 296 | PF7, //LCD_SEG25 |
Steven Cooreman |
0:559902e88130 | 297 | PF8, //LCD_SEG26 |
Steven Cooreman |
0:559902e88130 | 298 | PF9, //LCD_SEG27 |
Steven Cooreman |
0:559902e88130 | 299 | /* SEG12..19 */ |
Steven Cooreman |
0:559902e88130 | 300 | PA0, //LCD_SEG13 |
Steven Cooreman |
0:559902e88130 | 301 | PA1, //LCD_SEG14 |
Steven Cooreman |
0:559902e88130 | 302 | PA2, //LCD_SEG15 |
Steven Cooreman |
0:559902e88130 | 303 | PA3, //LCD_SEG16 |
Steven Cooreman |
0:559902e88130 | 304 | PA4, //LCD_SEG17 |
Steven Cooreman |
0:559902e88130 | 305 | PA5, //LCD_SEG18 |
Steven Cooreman |
0:559902e88130 | 306 | PA6, //LCD_SEG19 |
Steven Cooreman |
0:559902e88130 | 307 | PA15, //LCD_SEG12 |
Steven Cooreman |
0:559902e88130 | 308 | /* SEG0..11 */ |
Steven Cooreman |
0:559902e88130 | 309 | PF2, //LCD_SEG0 |
Steven Cooreman |
0:559902e88130 | 310 | PF3, //LCD_SEG1 |
Steven Cooreman |
0:559902e88130 | 311 | PF4, //LCD_SEG2 |
Steven Cooreman |
0:559902e88130 | 312 | PF5, //LCD_SEG3 |
Steven Cooreman |
0:559902e88130 | 313 | PE8, //LCD_SEG4 |
Steven Cooreman |
0:559902e88130 | 314 | PE9, //LCD_SEG5 |
Steven Cooreman |
0:559902e88130 | 315 | PE10, //LCD_SEG6 |
Steven Cooreman |
0:559902e88130 | 316 | PE11, //LCD_SEG7 |
Steven Cooreman |
0:559902e88130 | 317 | PE12, //LCD_SEG8 |
Steven Cooreman |
0:559902e88130 | 318 | PE13, //LCD_SEG9 |
Steven Cooreman |
0:559902e88130 | 319 | PE14, //LCD_SEG10 |
Steven Cooreman |
0:559902e88130 | 320 | PE15, //LCD_SEG11 |
Steven Cooreman |
0:559902e88130 | 321 | PA15, //LCD_SEG12 |
Steven Cooreman |
0:559902e88130 | 322 | /* COM0..3 */ |
Steven Cooreman |
0:559902e88130 | 323 | PE4, //LCD_COM0 |
Steven Cooreman |
0:559902e88130 | 324 | PE5, //LCD_COM1 |
Steven Cooreman |
0:559902e88130 | 325 | PE6, //LCD_COM2 |
Steven Cooreman |
0:559902e88130 | 326 | PE7 //LCD_COM3 |
Steven Cooreman |
0:559902e88130 | 327 | }; |
Steven Cooreman |
0:559902e88130 | 328 | |
Steven Cooreman |
0:559902e88130 | 329 | #ifdef __cplusplus |
Steven Cooreman |
0:559902e88130 | 330 | } |
Steven Cooreman |
0:559902e88130 | 331 | #endif |
Steven Cooreman |
0:559902e88130 | 332 | |
Steven Cooreman |
0:559902e88130 | 333 | #endif |