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