TUKS MCU Introductory course / TUKS-COURSE-TIMER
Committer:
elmot
Date:
Fri Feb 24 21:13:56 2017 +0000
Revision:
1:d0dfbce63a89
Ready-to-copy

Who changed what in which revision?

UserRevisionLine numberNew contents of line
elmot 1:d0dfbce63a89 1 /**
elmot 1:d0dfbce63a89 2 ******************************************************************************
elmot 1:d0dfbce63a89 3 * @file stm32l476g_discovery_glass_lcd.h
elmot 1:d0dfbce63a89 4 * @author MCD Application Team
elmot 1:d0dfbce63a89 5 * @version V1.0.0
elmot 1:d0dfbce63a89 6 * @date 26-June-2015
elmot 1:d0dfbce63a89 7 * @brief Header file for stm32l476g_discovery_glass_lcd.c module.
elmot 1:d0dfbce63a89 8 ******************************************************************************
elmot 1:d0dfbce63a89 9 * @attention
elmot 1:d0dfbce63a89 10 *
elmot 1:d0dfbce63a89 11 * <h2><center>&copy; COPYRIGHT(c) 2015 STMicroelectronics</center></h2>
elmot 1:d0dfbce63a89 12 *
elmot 1:d0dfbce63a89 13 * Redistribution and use in source and binary forms, with or without modification,
elmot 1:d0dfbce63a89 14 * are permitted provided that the following conditions are met:
elmot 1:d0dfbce63a89 15 * 1. Redistributions of source code must retain the above copyright notice,
elmot 1:d0dfbce63a89 16 * this list of conditions and the following disclaimer.
elmot 1:d0dfbce63a89 17 * 2. Redistributions in binary form must reproduce the above copyright notice,
elmot 1:d0dfbce63a89 18 * this list of conditions and the following disclaimer in the documentation
elmot 1:d0dfbce63a89 19 * and/or other materials provided with the distribution.
elmot 1:d0dfbce63a89 20 * 3. Neither the name of STMicroelectronics nor the names of its contributors
elmot 1:d0dfbce63a89 21 * may be used to endorse or promote products derived from this software
elmot 1:d0dfbce63a89 22 * without specific prior written permission.
elmot 1:d0dfbce63a89 23 *
elmot 1:d0dfbce63a89 24 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
elmot 1:d0dfbce63a89 25 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
elmot 1:d0dfbce63a89 26 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
elmot 1:d0dfbce63a89 27 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
elmot 1:d0dfbce63a89 28 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
elmot 1:d0dfbce63a89 29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
elmot 1:d0dfbce63a89 30 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
elmot 1:d0dfbce63a89 31 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
elmot 1:d0dfbce63a89 32 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
elmot 1:d0dfbce63a89 33 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
elmot 1:d0dfbce63a89 34 *
elmot 1:d0dfbce63a89 35 ******************************************************************************
elmot 1:d0dfbce63a89 36 */
elmot 1:d0dfbce63a89 37
elmot 1:d0dfbce63a89 38 /* Define to prevent recursive inclusion -------------------------------------*/
elmot 1:d0dfbce63a89 39 #ifndef __STM32L476G_DISCOVERY_GLASS_LCD_H
elmot 1:d0dfbce63a89 40 #define __STM32L476G_DISCOVERY_GLASS_LCD_H
elmot 1:d0dfbce63a89 41
elmot 1:d0dfbce63a89 42 #ifdef __cplusplus
elmot 1:d0dfbce63a89 43 extern "C" {
elmot 1:d0dfbce63a89 44 #endif
elmot 1:d0dfbce63a89 45
elmot 1:d0dfbce63a89 46 /* Includes ------------------------------------------------------------------*/
elmot 1:d0dfbce63a89 47 #include "stm32l476g_discovery.h"
elmot 1:d0dfbce63a89 48
elmot 1:d0dfbce63a89 49 /** @addtogroup BSP
elmot 1:d0dfbce63a89 50 * @{
elmot 1:d0dfbce63a89 51 */
elmot 1:d0dfbce63a89 52
elmot 1:d0dfbce63a89 53 /** @addtogroup STM32L476G_DISCOVERY
elmot 1:d0dfbce63a89 54 * @{
elmot 1:d0dfbce63a89 55 */
elmot 1:d0dfbce63a89 56
elmot 1:d0dfbce63a89 57 /** @addtogroup STM32L476G_DISCOVERY_GLASS_LCD
elmot 1:d0dfbce63a89 58 * @{
elmot 1:d0dfbce63a89 59 */
elmot 1:d0dfbce63a89 60
elmot 1:d0dfbce63a89 61 /* Exported types ------------------------------------------------------------*/
elmot 1:d0dfbce63a89 62
elmot 1:d0dfbce63a89 63 /** @defgroup STM32L476G_DISCOVERY_GLASS_LCD_Exported_Types Exported Types
elmot 1:d0dfbce63a89 64 * @{
elmot 1:d0dfbce63a89 65 */
elmot 1:d0dfbce63a89 66 /**
elmot 1:d0dfbce63a89 67 * @brief LCD Glass digit position
elmot 1:d0dfbce63a89 68 */
elmot 1:d0dfbce63a89 69 typedef enum
elmot 1:d0dfbce63a89 70 {
elmot 1:d0dfbce63a89 71 LCD_DIGIT_POSITION_1 = 0,
elmot 1:d0dfbce63a89 72 LCD_DIGIT_POSITION_2 = 1,
elmot 1:d0dfbce63a89 73 LCD_DIGIT_POSITION_3 = 2,
elmot 1:d0dfbce63a89 74 LCD_DIGIT_POSITION_4 = 3,
elmot 1:d0dfbce63a89 75 LCD_DIGIT_POSITION_5 = 4,
elmot 1:d0dfbce63a89 76 LCD_DIGIT_POSITION_6 = 5,
elmot 1:d0dfbce63a89 77 LCD_DIGIT_MAX_NUMBER = 6,
elmot 1:d0dfbce63a89 78 }DigitPosition_Typedef;
elmot 1:d0dfbce63a89 79 /**
elmot 1:d0dfbce63a89 80 * @brief LCD Glass point
elmot 1:d0dfbce63a89 81 * Warning: element values correspond to LCD Glass point.
elmot 1:d0dfbce63a89 82 */
elmot 1:d0dfbce63a89 83
elmot 1:d0dfbce63a89 84 typedef enum
elmot 1:d0dfbce63a89 85 {
elmot 1:d0dfbce63a89 86 POINT_OFF = 0,
elmot 1:d0dfbce63a89 87 POINT_ON = 1
elmot 1:d0dfbce63a89 88 }Point_Typedef;
elmot 1:d0dfbce63a89 89
elmot 1:d0dfbce63a89 90 /**
elmot 1:d0dfbce63a89 91 * @brief LCD Glass Double point
elmot 1:d0dfbce63a89 92 * Warning: element values correspond to LCD Glass Double point.
elmot 1:d0dfbce63a89 93 */
elmot 1:d0dfbce63a89 94 typedef enum
elmot 1:d0dfbce63a89 95 {
elmot 1:d0dfbce63a89 96 DOUBLEPOINT_OFF = 0,
elmot 1:d0dfbce63a89 97 DOUBLEPOINT_ON = 1
elmot 1:d0dfbce63a89 98 }DoublePoint_Typedef;
elmot 1:d0dfbce63a89 99
elmot 1:d0dfbce63a89 100 /**
elmot 1:d0dfbce63a89 101 * @brief LCD Glass Battery Level
elmot 1:d0dfbce63a89 102 * element values correspond to different LCD Glass battery levels
elmot 1:d0dfbce63a89 103 */
elmot 1:d0dfbce63a89 104 typedef enum
elmot 1:d0dfbce63a89 105 {
elmot 1:d0dfbce63a89 106 BATTERYLEVEL_OFF = 0,
elmot 1:d0dfbce63a89 107 BATTERYLEVEL_1_4 = 1,
elmot 1:d0dfbce63a89 108 BATTERYLEVEL_1_2 = 2,
elmot 1:d0dfbce63a89 109 BATTERYLEVEL_3_4 = 3,
elmot 1:d0dfbce63a89 110 BATTERYLEVEL_FULL = 4
elmot 1:d0dfbce63a89 111 }BatteryLevel_Typedef;
elmot 1:d0dfbce63a89 112
elmot 1:d0dfbce63a89 113 /**
elmot 1:d0dfbce63a89 114 * @brief LCD Glass Bar Id
elmot 1:d0dfbce63a89 115 */
elmot 1:d0dfbce63a89 116 typedef enum
elmot 1:d0dfbce63a89 117 {
elmot 1:d0dfbce63a89 118 LCD_BAR_NONE = 0,
elmot 1:d0dfbce63a89 119 LCD_BAR_0 = (1 << 0),
elmot 1:d0dfbce63a89 120 LCD_BAR_1 = (1 << 1),
elmot 1:d0dfbce63a89 121 LCD_BAR_2 = (1 << 2),
elmot 1:d0dfbce63a89 122 LCD_BAR_3 = (1 << 3)
elmot 1:d0dfbce63a89 123 }BarId_Typedef;
elmot 1:d0dfbce63a89 124 /**
elmot 1:d0dfbce63a89 125 * @}
elmot 1:d0dfbce63a89 126 */
elmot 1:d0dfbce63a89 127
elmot 1:d0dfbce63a89 128 /** @defgroup STM32L476G_DISCOVERY_GLASS_LCD_Exported_Constants Exported Constants
elmot 1:d0dfbce63a89 129 * @{
elmot 1:d0dfbce63a89 130 */
elmot 1:d0dfbce63a89 131 /**
elmot 1:d0dfbce63a89 132 * @brief LCD digit defintion
elmot 1:d0dfbce63a89 133 */
elmot 1:d0dfbce63a89 134 #define COM_PER_DIGIT_NB 4/*!< Specifies number of COM to address a digit */
elmot 1:d0dfbce63a89 135 #define SEG_PER_DIGIT_NB 4/*!< Specifies number of SEG to address a digit */
elmot 1:d0dfbce63a89 136
elmot 1:d0dfbce63a89 137 #define LCD_MAP_CHAR_COM0_SEG_1ST_POS (1 << LCD_MAP_CHAR_COM0_SEG_1ST_SHIFT)
elmot 1:d0dfbce63a89 138 #define LCD_MAP_CHAR_COM0_SEG_2ND_POS (1 << LCD_MAP_CHAR_COM0_SEG_2ND_SHIFT)
elmot 1:d0dfbce63a89 139 #define LCD_MAP_CHAR_COM0_SEG_3RD_POS (1 << LCD_MAP_CHAR_COM0_SEG_3RD_SHIFT)
elmot 1:d0dfbce63a89 140 #define LCD_MAP_CHAR_COM0_SEG_4TH_POS (1 << LCD_MAP_CHAR_COM0_SEG_4TH_SHIFT)
elmot 1:d0dfbce63a89 141 #define LCD_MAP_CHAR_COM1_SEG_1ST_POS (1 << LCD_MAP_CHAR_COM1_SEG_1ST_SHIFT)
elmot 1:d0dfbce63a89 142 #define LCD_MAP_CHAR_COM1_SEG_2ND_POS (1 << LCD_MAP_CHAR_COM1_SEG_2ND_SHIFT)
elmot 1:d0dfbce63a89 143 #define LCD_MAP_CHAR_COM1_SEG_3RD_POS (1 << LCD_MAP_CHAR_COM1_SEG_3RD_SHIFT)
elmot 1:d0dfbce63a89 144 #define LCD_MAP_CHAR_COM1_SEG_4TH_POS (1 << LCD_MAP_CHAR_COM1_SEG_4TH_SHIFT)
elmot 1:d0dfbce63a89 145 #define LCD_MAP_CHAR_COM2_SEG_1ST_POS (1 << LCD_MAP_CHAR_COM2_SEG_1ST_SHIFT)
elmot 1:d0dfbce63a89 146 #define LCD_MAP_CHAR_COM2_SEG_2ND_POS (1 << LCD_MAP_CHAR_COM2_SEG_2ND_SHIFT)
elmot 1:d0dfbce63a89 147 #define LCD_MAP_CHAR_COM2_SEG_3RD_POS (1 << LCD_MAP_CHAR_COM2_SEG_3RD_SHIFT)
elmot 1:d0dfbce63a89 148 #define LCD_MAP_CHAR_COM2_SEG_4TH_POS (1 << LCD_MAP_CHAR_COM2_SEG_4TH_SHIFT)
elmot 1:d0dfbce63a89 149 #define LCD_MAP_CHAR_COM3_SEG_1ST_POS (1 << LCD_MAP_CHAR_COM3_SEG_1ST_SHIFT)
elmot 1:d0dfbce63a89 150 #define LCD_MAP_CHAR_COM3_SEG_2ND_POS (1 << LCD_MAP_CHAR_COM3_SEG_2ND_SHIFT)
elmot 1:d0dfbce63a89 151 #define LCD_MAP_CHAR_COM3_SEG_3RD_POS (1 << LCD_MAP_CHAR_COM3_SEG_3RD_SHIFT)
elmot 1:d0dfbce63a89 152 #define LCD_MAP_CHAR_COM3_SEG_4TH_POS (1 << LCD_MAP_CHAR_COM3_SEG_4TH_SHIFT)
elmot 1:d0dfbce63a89 153 #define LCD_MAP_CHAR_COM0_SEG_1ST_SHIFT 0x00000000
elmot 1:d0dfbce63a89 154 #define LCD_MAP_CHAR_COM0_SEG_2ND_SHIFT 0x00000001
elmot 1:d0dfbce63a89 155 #define LCD_MAP_CHAR_COM0_SEG_3RD_SHIFT 0x00000002
elmot 1:d0dfbce63a89 156 #define LCD_MAP_CHAR_COM0_SEG_4TH_SHIFT 0x00000003
elmot 1:d0dfbce63a89 157 #define LCD_MAP_CHAR_COM1_SEG_1ST_SHIFT 0x00000004
elmot 1:d0dfbce63a89 158 #define LCD_MAP_CHAR_COM1_SEG_2ND_SHIFT 0x00000005
elmot 1:d0dfbce63a89 159 #define LCD_MAP_CHAR_COM1_SEG_3RD_SHIFT 0x00000006
elmot 1:d0dfbce63a89 160 #define LCD_MAP_CHAR_COM1_SEG_4TH_SHIFT 0x00000007
elmot 1:d0dfbce63a89 161 #define LCD_MAP_CHAR_COM2_SEG_1ST_SHIFT 0x00000008
elmot 1:d0dfbce63a89 162 #define LCD_MAP_CHAR_COM2_SEG_2ND_SHIFT 0x00000009
elmot 1:d0dfbce63a89 163 #define LCD_MAP_CHAR_COM2_SEG_3RD_SHIFT 0x00000010
elmot 1:d0dfbce63a89 164 #define LCD_MAP_CHAR_COM2_SEG_4TH_SHIFT 0x00000011
elmot 1:d0dfbce63a89 165 #define LCD_MAP_CHAR_COM3_SEG_1ST_SHIFT 0x00000012
elmot 1:d0dfbce63a89 166 #define LCD_MAP_CHAR_COM3_SEG_2ND_SHIFT 0x00000013
elmot 1:d0dfbce63a89 167 #define LCD_MAP_CHAR_COM3_SEG_3RD_SHIFT 0x00000014
elmot 1:d0dfbce63a89 168 #define LCD_MAP_CHAR_COM3_SEG_4TH_SHIFT 0x00000015
elmot 1:d0dfbce63a89 169
elmot 1:d0dfbce63a89 170 /**
elmot 1:d0dfbce63a89 171 * @brief LCD Digit defines
elmot 1:d0dfbce63a89 172 */
elmot 1:d0dfbce63a89 173 #define LCD_DIGIT1_COM0 LCD_COM0
elmot 1:d0dfbce63a89 174 #define LCD_DIGIT1_COM0_SEG_MASK ~(LCD_SEG0 | LCD_SEG1 | LCD_SEG22 | LCD_SEG23)
elmot 1:d0dfbce63a89 175 #define LCD_DIGIT1_COM1 LCD_COM1
elmot 1:d0dfbce63a89 176 #define LCD_DIGIT1_COM1_SEG_MASK ~(LCD_SEG0 | LCD_SEG1 | LCD_SEG22 | LCD_SEG23)
elmot 1:d0dfbce63a89 177 #define LCD_DIGIT1_COM2 LCD_COM2
elmot 1:d0dfbce63a89 178 #define LCD_DIGIT1_COM2_SEG_MASK ~(LCD_SEG0 | LCD_SEG1 | LCD_SEG22 | LCD_SEG23)
elmot 1:d0dfbce63a89 179 #define LCD_DIGIT1_COM3 LCD_COM3
elmot 1:d0dfbce63a89 180 #define LCD_DIGIT1_COM3_SEG_MASK ~(LCD_SEG0 | LCD_SEG1 | LCD_SEG22 | LCD_SEG23)
elmot 1:d0dfbce63a89 181
elmot 1:d0dfbce63a89 182 #define LCD_DIGIT2_COM0 LCD_COM0
elmot 1:d0dfbce63a89 183 #define LCD_DIGIT2_COM0_SEG_MASK ~(LCD_SEG2 | LCD_SEG3 | LCD_SEG20 | LCD_SEG21)
elmot 1:d0dfbce63a89 184 #define LCD_DIGIT2_COM1 LCD_COM1
elmot 1:d0dfbce63a89 185 #define LCD_DIGIT2_COM1_SEG_MASK ~(LCD_SEG2 | LCD_SEG3 | LCD_SEG20 | LCD_SEG21)
elmot 1:d0dfbce63a89 186 #define LCD_DIGIT2_COM2 LCD_COM2
elmot 1:d0dfbce63a89 187 #define LCD_DIGIT2_COM2_SEG_MASK ~(LCD_SEG2 | LCD_SEG3 | LCD_SEG20 | LCD_SEG21)
elmot 1:d0dfbce63a89 188 #define LCD_DIGIT2_COM3 LCD_COM3
elmot 1:d0dfbce63a89 189 #define LCD_DIGIT2_COM3_SEG_MASK ~(LCD_SEG2 | LCD_SEG3 | LCD_SEG20 | LCD_SEG21)
elmot 1:d0dfbce63a89 190
elmot 1:d0dfbce63a89 191 #define LCD_DIGIT3_COM0 LCD_COM0
elmot 1:d0dfbce63a89 192 #define LCD_DIGIT3_COM0_SEG_MASK ~(LCD_SEG4 | LCD_SEG5 | LCD_SEG18 | LCD_SEG19)
elmot 1:d0dfbce63a89 193 #define LCD_DIGIT3_COM1 LCD_COM1
elmot 1:d0dfbce63a89 194 #define LCD_DIGIT3_COM1_SEG_MASK ~(LCD_SEG4 | LCD_SEG5 | LCD_SEG18 | LCD_SEG19)
elmot 1:d0dfbce63a89 195 #define LCD_DIGIT3_COM2 LCD_COM2
elmot 1:d0dfbce63a89 196 #define LCD_DIGIT3_COM2_SEG_MASK ~(LCD_SEG4 | LCD_SEG5 | LCD_SEG18 | LCD_SEG19)
elmot 1:d0dfbce63a89 197 #define LCD_DIGIT3_COM3 LCD_COM3
elmot 1:d0dfbce63a89 198 #define LCD_DIGIT3_COM3_SEG_MASK ~(LCD_SEG4 | LCD_SEG5 | LCD_SEG18 | LCD_SEG19)
elmot 1:d0dfbce63a89 199
elmot 1:d0dfbce63a89 200 #define LCD_DIGIT4_COM0 LCD_COM0
elmot 1:d0dfbce63a89 201 #define LCD_DIGIT4_COM0_SEG_MASK ~(LCD_SEG6 | LCD_SEG17)
elmot 1:d0dfbce63a89 202 #define LCD_DIGIT4_COM0_1 LCD_COM0_1
elmot 1:d0dfbce63a89 203 #define LCD_DIGIT4_COM0_1_SEG_MASK ~(LCD_SEG7 | LCD_SEG16)
elmot 1:d0dfbce63a89 204 #define LCD_DIGIT4_COM1 LCD_COM1
elmot 1:d0dfbce63a89 205 #define LCD_DIGIT4_COM1_SEG_MASK ~(LCD_SEG6 | LCD_SEG17)
elmot 1:d0dfbce63a89 206 #define LCD_DIGIT4_COM1_1 LCD_COM1_1
elmot 1:d0dfbce63a89 207 #define LCD_DIGIT4_COM1_1_SEG_MASK ~(LCD_SEG7 | LCD_SEG16)
elmot 1:d0dfbce63a89 208 #define LCD_DIGIT4_COM2 LCD_COM2
elmot 1:d0dfbce63a89 209 #define LCD_DIGIT4_COM2_SEG_MASK ~(LCD_SEG6 | LCD_SEG17)
elmot 1:d0dfbce63a89 210 #define LCD_DIGIT4_COM2_1 LCD_COM2_1
elmot 1:d0dfbce63a89 211 #define LCD_DIGIT4_COM2_1_SEG_MASK ~(LCD_SEG7 | LCD_SEG16)
elmot 1:d0dfbce63a89 212 #define LCD_DIGIT4_COM3 LCD_COM3
elmot 1:d0dfbce63a89 213 #define LCD_DIGIT4_COM3_SEG_MASK ~(LCD_SEG6 | LCD_SEG17)
elmot 1:d0dfbce63a89 214 #define LCD_DIGIT4_COM3_1 LCD_COM3_1
elmot 1:d0dfbce63a89 215 #define LCD_DIGIT4_COM3_1_SEG_MASK ~(LCD_SEG7 | LCD_SEG16)
elmot 1:d0dfbce63a89 216
elmot 1:d0dfbce63a89 217 #define LCD_DIGIT5_COM0 LCD_COM0
elmot 1:d0dfbce63a89 218 #define LCD_DIGIT5_COM0_SEG_MASK ~(LCD_SEG9 | LCD_SEG14)
elmot 1:d0dfbce63a89 219 #define LCD_DIGIT5_COM0_1 LCD_COM0_1
elmot 1:d0dfbce63a89 220 #define LCD_DIGIT5_COM0_1_SEG_MASK ~(LCD_SEG8 | LCD_SEG15)
elmot 1:d0dfbce63a89 221 #define LCD_DIGIT5_COM1 LCD_COM1
elmot 1:d0dfbce63a89 222 #define LCD_DIGIT5_COM1_SEG_MASK ~(LCD_SEG9 | LCD_SEG14)
elmot 1:d0dfbce63a89 223 #define LCD_DIGIT5_COM1_1 LCD_COM1_1
elmot 1:d0dfbce63a89 224 #define LCD_DIGIT5_COM1_1_SEG_MASK ~(LCD_SEG8 | LCD_SEG15)
elmot 1:d0dfbce63a89 225 #define LCD_DIGIT5_COM2 LCD_COM2
elmot 1:d0dfbce63a89 226 #define LCD_DIGIT5_COM2_SEG_MASK ~(LCD_SEG9 | LCD_SEG14)
elmot 1:d0dfbce63a89 227 #define LCD_DIGIT5_COM2_1 LCD_COM2_1
elmot 1:d0dfbce63a89 228 #define LCD_DIGIT5_COM2_1_SEG_MASK ~(LCD_SEG8 | LCD_SEG15)
elmot 1:d0dfbce63a89 229 #define LCD_DIGIT5_COM3 LCD_COM3
elmot 1:d0dfbce63a89 230 #define LCD_DIGIT5_COM3_SEG_MASK ~(LCD_SEG9 | LCD_SEG14)
elmot 1:d0dfbce63a89 231 #define LCD_DIGIT5_COM3_1 LCD_COM3_1
elmot 1:d0dfbce63a89 232 #define LCD_DIGIT5_COM3_1_SEG_MASK ~(LCD_SEG8 | LCD_SEG15)
elmot 1:d0dfbce63a89 233
elmot 1:d0dfbce63a89 234 #define LCD_DIGIT6_COM0 LCD_COM0
elmot 1:d0dfbce63a89 235 #define LCD_DIGIT6_COM0_SEG_MASK ~(LCD_SEG10 | LCD_SEG11 | LCD_SEG12 | LCD_SEG13)
elmot 1:d0dfbce63a89 236 #define LCD_DIGIT6_COM1 LCD_COM1
elmot 1:d0dfbce63a89 237 #define LCD_DIGIT6_COM1_SEG_MASK ~(LCD_SEG10 | LCD_SEG11 | LCD_SEG12 | LCD_SEG13)
elmot 1:d0dfbce63a89 238 #define LCD_DIGIT6_COM2 LCD_COM2
elmot 1:d0dfbce63a89 239 #define LCD_DIGIT6_COM2_SEG_MASK ~(LCD_SEG10 | LCD_SEG11 | LCD_SEG12 | LCD_SEG13)
elmot 1:d0dfbce63a89 240 #define LCD_DIGIT6_COM3 LCD_COM3
elmot 1:d0dfbce63a89 241 #define LCD_DIGIT6_COM3_SEG_MASK ~(LCD_SEG10 | LCD_SEG11 | LCD_SEG12 | LCD_SEG13)
elmot 1:d0dfbce63a89 242
elmot 1:d0dfbce63a89 243 /**
elmot 1:d0dfbce63a89 244 * @brief LCD Bar location
elmot 1:d0dfbce63a89 245 */
elmot 1:d0dfbce63a89 246 #define LCD_BAR0_2_COM LCD_COM3
elmot 1:d0dfbce63a89 247 #define LCD_BAR1_3_COM LCD_COM2
elmot 1:d0dfbce63a89 248 #define LCD_BAR0_SEG LCD_SEG11
elmot 1:d0dfbce63a89 249 #define LCD_BAR1_SEG LCD_SEG11
elmot 1:d0dfbce63a89 250 #define LCD_BAR2_SEG LCD_SEG9
elmot 1:d0dfbce63a89 251 #define LCD_BAR3_SEG LCD_SEG9
elmot 1:d0dfbce63a89 252 #define LCD_BAR0_2_SEG_MASK ~(LCD_BAR0_SEG | LCD_BAR2_SEG)
elmot 1:d0dfbce63a89 253 #define LCD_BAR1_3_SEG_MASK ~(LCD_BAR1_SEG | LCD_BAR3_SEG)
elmot 1:d0dfbce63a89 254
elmot 1:d0dfbce63a89 255 /**
elmot 1:d0dfbce63a89 256 * @brief LCD segments & coms redefinition.
elmot 1:d0dfbce63a89 257 * LCD component segments & coms are not necessarily link to MCU segmnents & coms output.
elmot 1:d0dfbce63a89 258 */
elmot 1:d0dfbce63a89 259 #if defined (USE_STM32L476G_DISCO_REVC) || defined (USE_STM32L476G_DISCO_REVB)
elmot 1:d0dfbce63a89 260 #define LCD_COM0 MCU_LCD_COM0
elmot 1:d0dfbce63a89 261 #define LCD_COM0_1 MCU_LCD_COM0_1
elmot 1:d0dfbce63a89 262 #define LCD_COM1 MCU_LCD_COM1
elmot 1:d0dfbce63a89 263 #define LCD_COM1_1 MCU_LCD_COM1_1
elmot 1:d0dfbce63a89 264 #define LCD_COM2 MCU_LCD_COM2
elmot 1:d0dfbce63a89 265 #define LCD_COM2_1 MCU_LCD_COM2_1
elmot 1:d0dfbce63a89 266 #define LCD_COM3 MCU_LCD_COM3
elmot 1:d0dfbce63a89 267 #define LCD_COM3_1 MCU_LCD_COM3_1
elmot 1:d0dfbce63a89 268 #elif defined (USE_STM32L476G_DISCO_REVA)
elmot 1:d0dfbce63a89 269 #define LCD_COM0 MCU_LCD_COM5
elmot 1:d0dfbce63a89 270 #define LCD_COM0_1 MCU_LCD_COM5_1
elmot 1:d0dfbce63a89 271 #define LCD_COM1 MCU_LCD_COM7
elmot 1:d0dfbce63a89 272 #define LCD_COM1_1 MCU_LCD_COM7_1
elmot 1:d0dfbce63a89 273 #define LCD_COM2 MCU_LCD_COM6
elmot 1:d0dfbce63a89 274 #define LCD_COM2_1 MCU_LCD_COM6_1
elmot 1:d0dfbce63a89 275 #define LCD_COM3 MCU_LCD_COM4
elmot 1:d0dfbce63a89 276 #define LCD_COM3_1 MCU_LCD_COM4_1
elmot 1:d0dfbce63a89 277 #endif
elmot 1:d0dfbce63a89 278 #define LCD_SEG0 MCU_LCD_SEG4
elmot 1:d0dfbce63a89 279 #define LCD_SEG1 MCU_LCD_SEG23
elmot 1:d0dfbce63a89 280 #define LCD_SEG2 MCU_LCD_SEG6
elmot 1:d0dfbce63a89 281 #define LCD_SEG3 MCU_LCD_SEG13
elmot 1:d0dfbce63a89 282 #define LCD_SEG4 MCU_LCD_SEG15
elmot 1:d0dfbce63a89 283 #define LCD_SEG5 MCU_LCD_SEG29
elmot 1:d0dfbce63a89 284 #define LCD_SEG6 MCU_LCD_SEG31
elmot 1:d0dfbce63a89 285 #define LCD_SEG7 MCU_LCD_SEG33
elmot 1:d0dfbce63a89 286 #define LCD_SEG8 MCU_LCD_SEG35
elmot 1:d0dfbce63a89 287 #define LCD_SEG9 MCU_LCD_SEG25
elmot 1:d0dfbce63a89 288 #define LCD_SEG10 MCU_LCD_SEG17
elmot 1:d0dfbce63a89 289 #define LCD_SEG11 MCU_LCD_SEG8
elmot 1:d0dfbce63a89 290 #define LCD_SEG12 MCU_LCD_SEG9
elmot 1:d0dfbce63a89 291 #define LCD_SEG13 MCU_LCD_SEG26
elmot 1:d0dfbce63a89 292 #define LCD_SEG14 MCU_LCD_SEG24
elmot 1:d0dfbce63a89 293 #define LCD_SEG15 MCU_LCD_SEG34
elmot 1:d0dfbce63a89 294 #define LCD_SEG16 MCU_LCD_SEG32
elmot 1:d0dfbce63a89 295 #define LCD_SEG17 MCU_LCD_SEG30
elmot 1:d0dfbce63a89 296 #define LCD_SEG18 MCU_LCD_SEG28
elmot 1:d0dfbce63a89 297 #define LCD_SEG19 MCU_LCD_SEG14
elmot 1:d0dfbce63a89 298 #define LCD_SEG20 MCU_LCD_SEG12
elmot 1:d0dfbce63a89 299 #define LCD_SEG21 MCU_LCD_SEG5
elmot 1:d0dfbce63a89 300 #define LCD_SEG22 MCU_LCD_SEG22
elmot 1:d0dfbce63a89 301 #define LCD_SEG23 MCU_LCD_SEG3
elmot 1:d0dfbce63a89 302 #define LCD_SEG0_SHIFT MCU_LCD_SEG4_SHIFT
elmot 1:d0dfbce63a89 303 #define LCD_SEG1_SHIFT MCU_LCD_SEG23_SHIFT
elmot 1:d0dfbce63a89 304 #define LCD_SEG2_SHIFT MCU_LCD_SEG6_SHIFT
elmot 1:d0dfbce63a89 305 #define LCD_SEG3_SHIFT MCU_LCD_SEG13_SHIFT
elmot 1:d0dfbce63a89 306 #define LCD_SEG4_SHIFT MCU_LCD_SEG15_SHIFT
elmot 1:d0dfbce63a89 307 #define LCD_SEG5_SHIFT MCU_LCD_SEG29_SHIFT
elmot 1:d0dfbce63a89 308 #define LCD_SEG6_SHIFT MCU_LCD_SEG31_SHIFT
elmot 1:d0dfbce63a89 309 #define LCD_SEG7_SHIFT MCU_LCD_SEG33_SHIFT
elmot 1:d0dfbce63a89 310 #define LCD_SEG8_SHIFT MCU_LCD_SEG35_SHIFT
elmot 1:d0dfbce63a89 311 #define LCD_SEG9_SHIFT MCU_LCD_SEG25_SHIFT
elmot 1:d0dfbce63a89 312 #define LCD_SEG10_SHIFT MCU_LCD_SEG17_SHIFT
elmot 1:d0dfbce63a89 313 #define LCD_SEG11_SHIFT MCU_LCD_SEG8_SHIFT
elmot 1:d0dfbce63a89 314 #define LCD_SEG12_SHIFT MCU_LCD_SEG9_SHIFT
elmot 1:d0dfbce63a89 315 #define LCD_SEG13_SHIFT MCU_LCD_SEG26_SHIFT
elmot 1:d0dfbce63a89 316 #define LCD_SEG14_SHIFT MCU_LCD_SEG24_SHIFT
elmot 1:d0dfbce63a89 317 #define LCD_SEG15_SHIFT MCU_LCD_SEG34_SHIFT
elmot 1:d0dfbce63a89 318 #define LCD_SEG16_SHIFT MCU_LCD_SEG32_SHIFT
elmot 1:d0dfbce63a89 319 #define LCD_SEG17_SHIFT MCU_LCD_SEG30_SHIFT
elmot 1:d0dfbce63a89 320 #define LCD_SEG18_SHIFT MCU_LCD_SEG28_SHIFT
elmot 1:d0dfbce63a89 321 #define LCD_SEG19_SHIFT MCU_LCD_SEG14_SHIFT
elmot 1:d0dfbce63a89 322 #define LCD_SEG20_SHIFT MCU_LCD_SEG12_SHIFT
elmot 1:d0dfbce63a89 323 #define LCD_SEG21_SHIFT MCU_LCD_SEG5_SHIFT
elmot 1:d0dfbce63a89 324 #define LCD_SEG22_SHIFT MCU_LCD_SEG22_SHIFT
elmot 1:d0dfbce63a89 325 #define LCD_SEG23_SHIFT MCU_LCD_SEG3_SHIFT
elmot 1:d0dfbce63a89 326
elmot 1:d0dfbce63a89 327 /**
elmot 1:d0dfbce63a89 328 * @brief STM32 LCD segments & coms definitions.
elmot 1:d0dfbce63a89 329 */
elmot 1:d0dfbce63a89 330 #define MCU_LCD_COM0 LCD_RAM_REGISTER0
elmot 1:d0dfbce63a89 331 #define MCU_LCD_COM0_1 LCD_RAM_REGISTER1
elmot 1:d0dfbce63a89 332 #define MCU_LCD_COM1 LCD_RAM_REGISTER2
elmot 1:d0dfbce63a89 333 #define MCU_LCD_COM1_1 LCD_RAM_REGISTER3
elmot 1:d0dfbce63a89 334 #define MCU_LCD_COM2 LCD_RAM_REGISTER4
elmot 1:d0dfbce63a89 335 #define MCU_LCD_COM2_1 LCD_RAM_REGISTER5
elmot 1:d0dfbce63a89 336 #define MCU_LCD_COM3 LCD_RAM_REGISTER6
elmot 1:d0dfbce63a89 337 #define MCU_LCD_COM3_1 LCD_RAM_REGISTER7
elmot 1:d0dfbce63a89 338 #define MCU_LCD_COM4 LCD_RAM_REGISTER8
elmot 1:d0dfbce63a89 339 #define MCU_LCD_COM4_1 LCD_RAM_REGISTER9
elmot 1:d0dfbce63a89 340 #define MCU_LCD_COM5 LCD_RAM_REGISTER10
elmot 1:d0dfbce63a89 341 #define MCU_LCD_COM5_1 LCD_RAM_REGISTER11
elmot 1:d0dfbce63a89 342 #define MCU_LCD_COM6 LCD_RAM_REGISTER12
elmot 1:d0dfbce63a89 343 #define MCU_LCD_COM6_1 LCD_RAM_REGISTER13
elmot 1:d0dfbce63a89 344 #define MCU_LCD_COM7 LCD_RAM_REGISTER14
elmot 1:d0dfbce63a89 345 #define MCU_LCD_COM7_1 LCD_RAM_REGISTER15
elmot 1:d0dfbce63a89 346 #define MCU_LCD_SEG0 (1U << MCU_LCD_SEG0_SHIFT)
elmot 1:d0dfbce63a89 347 #define MCU_LCD_SEG1 (1U << MCU_LCD_SEG1_SHIFT)
elmot 1:d0dfbce63a89 348 #define MCU_LCD_SEG2 (1U << MCU_LCD_SEG2_SHIFT)
elmot 1:d0dfbce63a89 349 #define MCU_LCD_SEG3 (1U << MCU_LCD_SEG3_SHIFT)
elmot 1:d0dfbce63a89 350 #define MCU_LCD_SEG4 (1U << MCU_LCD_SEG4_SHIFT)
elmot 1:d0dfbce63a89 351 #define MCU_LCD_SEG5 (1U << MCU_LCD_SEG5_SHIFT)
elmot 1:d0dfbce63a89 352 #define MCU_LCD_SEG6 (1U << MCU_LCD_SEG6_SHIFT)
elmot 1:d0dfbce63a89 353 #define MCU_LCD_SEG7 (1U << MCU_LCD_SEG7_SHIFT)
elmot 1:d0dfbce63a89 354 #define MCU_LCD_SEG8 (1U << MCU_LCD_SEG8_SHIFT)
elmot 1:d0dfbce63a89 355 #define MCU_LCD_SEG9 (1U << MCU_LCD_SEG9_SHIFT)
elmot 1:d0dfbce63a89 356 #define MCU_LCD_SEG10 (1U << MCU_LCD_SEG10_SHIFT)
elmot 1:d0dfbce63a89 357 #define MCU_LCD_SEG11 (1U << MCU_LCD_SEG11_SHIFT)
elmot 1:d0dfbce63a89 358 #define MCU_LCD_SEG12 (1U << MCU_LCD_SEG12_SHIFT)
elmot 1:d0dfbce63a89 359 #define MCU_LCD_SEG13 (1U << MCU_LCD_SEG13_SHIFT)
elmot 1:d0dfbce63a89 360 #define MCU_LCD_SEG14 (1U << MCU_LCD_SEG14_SHIFT)
elmot 1:d0dfbce63a89 361 #define MCU_LCD_SEG15 (1U << MCU_LCD_SEG15_SHIFT)
elmot 1:d0dfbce63a89 362 #define MCU_LCD_SEG16 (1U << MCU_LCD_SEG16_SHIFT)
elmot 1:d0dfbce63a89 363 #define MCU_LCD_SEG17 (1U << MCU_LCD_SEG17_SHIFT)
elmot 1:d0dfbce63a89 364 #define MCU_LCD_SEG18 (1U << MCU_LCD_SEG18_SHIFT)
elmot 1:d0dfbce63a89 365 #define MCU_LCD_SEG19 (1U << MCU_LCD_SEG19_SHIFT)
elmot 1:d0dfbce63a89 366 #define MCU_LCD_SEG20 (1U << MCU_LCD_SEG20_SHIFT)
elmot 1:d0dfbce63a89 367 #define MCU_LCD_SEG21 (1U << MCU_LCD_SEG21_SHIFT)
elmot 1:d0dfbce63a89 368 #define MCU_LCD_SEG22 (1U << MCU_LCD_SEG22_SHIFT)
elmot 1:d0dfbce63a89 369 #define MCU_LCD_SEG23 (1U << MCU_LCD_SEG23_SHIFT)
elmot 1:d0dfbce63a89 370 #define MCU_LCD_SEG24 (1U << MCU_LCD_SEG24_SHIFT)
elmot 1:d0dfbce63a89 371 #define MCU_LCD_SEG25 (1U << MCU_LCD_SEG25_SHIFT)
elmot 1:d0dfbce63a89 372 #define MCU_LCD_SEG26 (1U << MCU_LCD_SEG26_SHIFT)
elmot 1:d0dfbce63a89 373 #define MCU_LCD_SEG27 (1U << MCU_LCD_SEG27_SHIFT)
elmot 1:d0dfbce63a89 374 #define MCU_LCD_SEG28 (1U << MCU_LCD_SEG28_SHIFT)
elmot 1:d0dfbce63a89 375 #define MCU_LCD_SEG29 (1U << MCU_LCD_SEG29_SHIFT)
elmot 1:d0dfbce63a89 376 #define MCU_LCD_SEG30 (1U << MCU_LCD_SEG30_SHIFT)
elmot 1:d0dfbce63a89 377 #define MCU_LCD_SEG31 (1U << MCU_LCD_SEG31_SHIFT)
elmot 1:d0dfbce63a89 378 #define MCU_LCD_SEG32 (1U << MCU_LCD_SEG32_SHIFT)
elmot 1:d0dfbce63a89 379 #define MCU_LCD_SEG33 (1U << MCU_LCD_SEG33_SHIFT)
elmot 1:d0dfbce63a89 380 #define MCU_LCD_SEG34 (1U << MCU_LCD_SEG34_SHIFT)
elmot 1:d0dfbce63a89 381 #define MCU_LCD_SEG35 (1U << MCU_LCD_SEG35_SHIFT)
elmot 1:d0dfbce63a89 382 #define MCU_LCD_SEG36 (1U << MCU_LCD_SEG36_SHIFT)
elmot 1:d0dfbce63a89 383 #define MCU_LCD_SEG37 (1U << MCU_LCD_SEG37_SHIFT)
elmot 1:d0dfbce63a89 384 #define MCU_LCD_SEG38 (1U << MCU_LCD_SEG38_SHIFT)
elmot 1:d0dfbce63a89 385 #define MCU_LCD_SEG0_SHIFT 0
elmot 1:d0dfbce63a89 386 #define MCU_LCD_SEG1_SHIFT 1
elmot 1:d0dfbce63a89 387 #define MCU_LCD_SEG2_SHIFT 2
elmot 1:d0dfbce63a89 388 #define MCU_LCD_SEG3_SHIFT 3
elmot 1:d0dfbce63a89 389 #define MCU_LCD_SEG4_SHIFT 4
elmot 1:d0dfbce63a89 390 #define MCU_LCD_SEG5_SHIFT 5
elmot 1:d0dfbce63a89 391 #define MCU_LCD_SEG6_SHIFT 6
elmot 1:d0dfbce63a89 392 #define MCU_LCD_SEG7_SHIFT 7
elmot 1:d0dfbce63a89 393 #define MCU_LCD_SEG8_SHIFT 8
elmot 1:d0dfbce63a89 394 #define MCU_LCD_SEG9_SHIFT 9
elmot 1:d0dfbce63a89 395 #define MCU_LCD_SEG10_SHIFT 10
elmot 1:d0dfbce63a89 396 #define MCU_LCD_SEG11_SHIFT 11
elmot 1:d0dfbce63a89 397 #define MCU_LCD_SEG12_SHIFT 12
elmot 1:d0dfbce63a89 398 #define MCU_LCD_SEG13_SHIFT 13
elmot 1:d0dfbce63a89 399 #define MCU_LCD_SEG14_SHIFT 14
elmot 1:d0dfbce63a89 400 #define MCU_LCD_SEG15_SHIFT 15
elmot 1:d0dfbce63a89 401 #define MCU_LCD_SEG16_SHIFT 16
elmot 1:d0dfbce63a89 402 #define MCU_LCD_SEG17_SHIFT 17
elmot 1:d0dfbce63a89 403 #define MCU_LCD_SEG18_SHIFT 18
elmot 1:d0dfbce63a89 404 #define MCU_LCD_SEG19_SHIFT 19
elmot 1:d0dfbce63a89 405 #define MCU_LCD_SEG20_SHIFT 20
elmot 1:d0dfbce63a89 406 #define MCU_LCD_SEG21_SHIFT 21
elmot 1:d0dfbce63a89 407 #define MCU_LCD_SEG22_SHIFT 22
elmot 1:d0dfbce63a89 408 #define MCU_LCD_SEG23_SHIFT 23
elmot 1:d0dfbce63a89 409 #define MCU_LCD_SEG24_SHIFT 24
elmot 1:d0dfbce63a89 410 #define MCU_LCD_SEG25_SHIFT 25
elmot 1:d0dfbce63a89 411 #define MCU_LCD_SEG26_SHIFT 26
elmot 1:d0dfbce63a89 412 #define MCU_LCD_SEG27_SHIFT 27
elmot 1:d0dfbce63a89 413 #define MCU_LCD_SEG28_SHIFT 28
elmot 1:d0dfbce63a89 414 #define MCU_LCD_SEG29_SHIFT 29
elmot 1:d0dfbce63a89 415 #define MCU_LCD_SEG30_SHIFT 30
elmot 1:d0dfbce63a89 416 #define MCU_LCD_SEG31_SHIFT 31
elmot 1:d0dfbce63a89 417 #define MCU_LCD_SEG32_SHIFT 0
elmot 1:d0dfbce63a89 418 #define MCU_LCD_SEG33_SHIFT 1
elmot 1:d0dfbce63a89 419 #define MCU_LCD_SEG34_SHIFT 2
elmot 1:d0dfbce63a89 420 #define MCU_LCD_SEG35_SHIFT 3
elmot 1:d0dfbce63a89 421 #define MCU_LCD_SEG36_SHIFT 4
elmot 1:d0dfbce63a89 422 #define MCU_LCD_SEG37_SHIFT 5
elmot 1:d0dfbce63a89 423 #define MCU_LCD_SEG38_SHIFT 6
elmot 1:d0dfbce63a89 424 #define MCU_LCD_SEG39_SHIFT 7
elmot 1:d0dfbce63a89 425 #define MCU_LCD_SEG40_SHIFT 8
elmot 1:d0dfbce63a89 426 #define MCU_LCD_SEG41_SHIFT 9
elmot 1:d0dfbce63a89 427 #define MCU_LCD_SEG42_SHIFT 10
elmot 1:d0dfbce63a89 428 #define MCU_LCD_SEG43_SHIFT 11
elmot 1:d0dfbce63a89 429
elmot 1:d0dfbce63a89 430 /**
elmot 1:d0dfbce63a89 431 * @brief LCD Pins definition.
elmot 1:d0dfbce63a89 432 */
elmot 1:d0dfbce63a89 433 #if defined (USE_STM32L476G_DISCO_REVC) || defined (USE_STM32L476G_DISCO_REVB)
elmot 1:d0dfbce63a89 434 #define LCD_GPIO_BANKA_PINS (GPIO_PIN_6 | GPIO_PIN_7 | GPIO_PIN_8 | \
elmot 1:d0dfbce63a89 435 GPIO_PIN_9 | GPIO_PIN_10 | GPIO_PIN_15)
elmot 1:d0dfbce63a89 436 #define LCD_GPIO_BANKB_PINS (GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_4 | \
elmot 1:d0dfbce63a89 437 GPIO_PIN_5 | GPIO_PIN_9 | GPIO_PIN_12 | \
elmot 1:d0dfbce63a89 438 GPIO_PIN_13 | GPIO_PIN_14 | GPIO_PIN_15)
elmot 1:d0dfbce63a89 439 #define LCD_GPIO_BANKC_PINS (GPIO_PIN_3 | GPIO_PIN_4 | GPIO_PIN_5 | \
elmot 1:d0dfbce63a89 440 GPIO_PIN_6 | GPIO_PIN_7 | GPIO_PIN_8)
elmot 1:d0dfbce63a89 441 #define LCD_GPIO_BANKD_PINS (GPIO_PIN_8 | GPIO_PIN_9 | GPIO_PIN_10 | \
elmot 1:d0dfbce63a89 442 GPIO_PIN_11 | GPIO_PIN_12 | GPIO_PIN_13 | \
elmot 1:d0dfbce63a89 443 GPIO_PIN_14 | GPIO_PIN_15)
elmot 1:d0dfbce63a89 444 #elif defined (USE_STM32L476G_DISCO_REVA)
elmot 1:d0dfbce63a89 445 #define LCD_GPIO_BANKA_PINS (GPIO_PIN_6 | GPIO_PIN_7 | GPIO_PIN_15)
elmot 1:d0dfbce63a89 446 #define LCD_GPIO_BANKB_PINS (GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_4 | \
elmot 1:d0dfbce63a89 447 GPIO_PIN_5 | GPIO_PIN_12 | GPIO_PIN_13 | \
elmot 1:d0dfbce63a89 448 GPIO_PIN_14 | GPIO_PIN_15)
elmot 1:d0dfbce63a89 449 #define LCD_GPIO_BANKC_PINS (GPIO_PIN_3 | GPIO_PIN_4 | GPIO_PIN_5 | \
elmot 1:d0dfbce63a89 450 GPIO_PIN_6 | GPIO_PIN_7 | GPIO_PIN_8 | \
elmot 1:d0dfbce63a89 451 GPIO_PIN_10 | GPIO_PIN_11 | GPIO_PIN_12)
elmot 1:d0dfbce63a89 452 #define LCD_GPIO_BANKD_PINS (GPIO_PIN_2 | GPIO_PIN_8 | GPIO_PIN_9 | \
elmot 1:d0dfbce63a89 453 GPIO_PIN_10 | GPIO_PIN_11 | GPIO_PIN_12 | \
elmot 1:d0dfbce63a89 454 GPIO_PIN_13 | GPIO_PIN_14 | GPIO_PIN_15)
elmot 1:d0dfbce63a89 455 #endif
elmot 1:d0dfbce63a89 456
elmot 1:d0dfbce63a89 457 /* Define for scrolling sentences*/
elmot 1:d0dfbce63a89 458 #define SCROLL_SPEED_HIGH 150
elmot 1:d0dfbce63a89 459 #define SCROLL_SPEED_MEDIUM 300
elmot 1:d0dfbce63a89 460 #define SCROLL_SPEED_LOW 450
elmot 1:d0dfbce63a89 461
elmot 1:d0dfbce63a89 462 #define DOT ((uint16_t) 0x8000 ) /* for add decimal point in string */
elmot 1:d0dfbce63a89 463 #define DOUBLE_DOT ((uint16_t) 0x4000) /* for add decimal point in string */
elmot 1:d0dfbce63a89 464
elmot 1:d0dfbce63a89 465 /* code for '(' character */
elmot 1:d0dfbce63a89 466 #define C_OPENPARMAP ((uint16_t) 0x0028)
elmot 1:d0dfbce63a89 467
elmot 1:d0dfbce63a89 468 /* code for ')' character */
elmot 1:d0dfbce63a89 469 #define C_CLOSEPARMAP ((uint16_t) 0x0011)
elmot 1:d0dfbce63a89 470
elmot 1:d0dfbce63a89 471 /* code for 'd' character */
elmot 1:d0dfbce63a89 472 #define C_DMAP ((uint16_t) 0xf300)
elmot 1:d0dfbce63a89 473
elmot 1:d0dfbce63a89 474 /* code for 'm' character */
elmot 1:d0dfbce63a89 475 #define C_MMAP ((uint16_t) 0xb210)
elmot 1:d0dfbce63a89 476
elmot 1:d0dfbce63a89 477 /* code for 'n' character */
elmot 1:d0dfbce63a89 478 #define C_NMAP ((uint16_t) 0x2210)
elmot 1:d0dfbce63a89 479
elmot 1:d0dfbce63a89 480 /* code for 'µ' character */
elmot 1:d0dfbce63a89 481 #define C_UMAP ((uint16_t) 0x6084)
elmot 1:d0dfbce63a89 482
elmot 1:d0dfbce63a89 483 /* constant code for '*' character */
elmot 1:d0dfbce63a89 484 #define C_STAR ((uint16_t) 0xA0DD)
elmot 1:d0dfbce63a89 485
elmot 1:d0dfbce63a89 486 /* constant code for '-' character */
elmot 1:d0dfbce63a89 487 #define C_MINUS ((uint16_t) 0xA000)
elmot 1:d0dfbce63a89 488
elmot 1:d0dfbce63a89 489 /* constant code for '+' character */
elmot 1:d0dfbce63a89 490 #define C_PLUS ((uint16_t) 0xA014)
elmot 1:d0dfbce63a89 491
elmot 1:d0dfbce63a89 492 /* constant code for '/' */
elmot 1:d0dfbce63a89 493 #define C_SLATCH ((uint16_t) 0x00c0)
elmot 1:d0dfbce63a89 494
elmot 1:d0dfbce63a89 495 /* constant code for ° */
elmot 1:d0dfbce63a89 496 #define C_PERCENT_1 ((uint16_t) 0xec00)
elmot 1:d0dfbce63a89 497
elmot 1:d0dfbce63a89 498 /* constant code for small o */
elmot 1:d0dfbce63a89 499 #define C_PERCENT_2 ((uint16_t) 0xb300)
elmot 1:d0dfbce63a89 500
elmot 1:d0dfbce63a89 501 #define C_FULL ((uint16_t) 0xffdd)
elmot 1:d0dfbce63a89 502
elmot 1:d0dfbce63a89 503 /**
elmot 1:d0dfbce63a89 504 * @}
elmot 1:d0dfbce63a89 505 */
elmot 1:d0dfbce63a89 506
elmot 1:d0dfbce63a89 507 /* Exported functions --------------------------------------------------------*/
elmot 1:d0dfbce63a89 508
elmot 1:d0dfbce63a89 509 /** @defgroup STM32L476G_DISCOVERY_LCD_Exported_Functions Exported Functions
elmot 1:d0dfbce63a89 510 * @{
elmot 1:d0dfbce63a89 511 */
elmot 1:d0dfbce63a89 512 void BSP_LCD_GLASS_Init(void);
elmot 1:d0dfbce63a89 513 void BSP_LCD_GLASS_DeInit(void);
elmot 1:d0dfbce63a89 514 void BSP_LCD_GLASS_BlinkConfig(uint32_t BlinkMode, uint32_t BlinkFrequency);
elmot 1:d0dfbce63a89 515 void BSP_LCD_GLASS_Contrast(uint32_t Contrast);
elmot 1:d0dfbce63a89 516 void BSP_LCD_GLASS_DisplayChar(uint8_t* ch, Point_Typedef Point, DoublePoint_Typedef Column, DigitPosition_Typedef Position);
elmot 1:d0dfbce63a89 517 void BSP_LCD_GLASS_DisplayString(uint8_t* ptr);
elmot 1:d0dfbce63a89 518 void BSP_LCD_GLASS_DisplayStrDeci(uint16_t* ptr);
elmot 1:d0dfbce63a89 519 void BSP_LCD_GLASS_ScrollSentence(uint8_t* ptr, uint16_t nScroll, uint16_t ScrollSpeed);
elmot 1:d0dfbce63a89 520 void BSP_LCD_GLASS_DisplayBar(uint32_t BarId);
elmot 1:d0dfbce63a89 521 void BSP_LCD_GLASS_ClearBar(uint32_t BarId);
elmot 1:d0dfbce63a89 522 void BSP_LCD_GLASS_BarLevelConfig(uint8_t BarLevel);
elmot 1:d0dfbce63a89 523 void BSP_LCD_GLASS_Clear(void);
elmot 1:d0dfbce63a89 524 /**
elmot 1:d0dfbce63a89 525 * @}
elmot 1:d0dfbce63a89 526 */
elmot 1:d0dfbce63a89 527
elmot 1:d0dfbce63a89 528 /**
elmot 1:d0dfbce63a89 529 * @}
elmot 1:d0dfbce63a89 530 */
elmot 1:d0dfbce63a89 531
elmot 1:d0dfbce63a89 532 /**
elmot 1:d0dfbce63a89 533 * @}
elmot 1:d0dfbce63a89 534 */
elmot 1:d0dfbce63a89 535
elmot 1:d0dfbce63a89 536 /**
elmot 1:d0dfbce63a89 537 * @}
elmot 1:d0dfbce63a89 538 */
elmot 1:d0dfbce63a89 539
elmot 1:d0dfbce63a89 540 #ifdef __cplusplus
elmot 1:d0dfbce63a89 541 }
elmot 1:d0dfbce63a89 542 #endif
elmot 1:d0dfbce63a89 543
elmot 1:d0dfbce63a89 544 #endif /* __STM32L476G_DISCOVERY_GLASS_LCD_H */
elmot 1:d0dfbce63a89 545
elmot 1:d0dfbce63a89 546 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/