STM32L476G_EVAL BSP User Manual
|
stm32l476g_eval_glass_lcd.c
Go to the documentation of this file.
00001 /** 00002 ****************************************************************************** 00003 * @file stm32l476g_eval_glass_lcd.c 00004 * @author MCD Application Team 00005 * @version $VERSION$ 00006 * @date $DATE$ 00007 * @brief This file includes the LCD Glass driver for LCD XHO5002B Module of 00008 * STM32L476G-EVAL board. 00009 ****************************************************************************** 00010 * @attention 00011 * 00012 * <h2><center>© COPYRIGHT(c) 2015 STMicroelectronics</center></h2> 00013 * 00014 * Redistribution and use in source and binary forms, with or without modification, 00015 * are permitted provided that the following conditions are met: 00016 * 1. Redistributions of source code must retain the above copyright notice, 00017 * this list of conditions and the following disclaimer. 00018 * 2. Redistributions in binary form must reproduce the above copyright notice, 00019 * this list of conditions and the following disclaimer in the documentation 00020 * and/or other materials provided with the distribution. 00021 * 3. Neither the name of STMicroelectronics nor the names of its contributors 00022 * may be used to endorse or promote products derived from this software 00023 * without specific prior written permission. 00024 * 00025 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 00026 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 00027 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 00028 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 00029 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 00030 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 00031 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 00032 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 00033 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 00034 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 00035 * 00036 ****************************************************************************** 00037 */ 00038 00039 /* Includes ------------------------------------------------------------------*/ 00040 #include "stm32l476g_eval_glass_lcd.h" 00041 00042 /** @addtogroup BSP 00043 * @{ 00044 */ 00045 00046 /** @addtogroup STM32L476G_EVAL 00047 * @{ 00048 */ 00049 00050 /** @defgroup STM32L476G_EVAL_GLASS_LCD STM32L476G_EVAL GLASS LCD 00051 * @brief This file includes the LCD Glass driver for LCD_XHO5002B Module of 00052 * STM32L476G-EVAL board. 00053 * @{ 00054 */ 00055 00056 00057 /* Private constants ---------------------------------------------------------*/ 00058 00059 /** @defgroup STM32L476G_EVAL_GLASS_LCD_Private_Constants Private Constants 00060 * @{ 00061 */ 00062 #define ASCII_CHAR_SPACE 0x20 /* */ 00063 #define ASCII_CHAR_FORWARD_SLASH 0x2F /* / */ 00064 #define ASCII_CHAR_0 0x30 /* 0 */ 00065 #define ASCII_CHAR_COLON 0x3A /* : */ 00066 #define ASCII_CHAR_AT_SYMBOL 0x40 /* @ */ 00067 #define ASCII_CHAR_A 0x41 /* A */ 00068 #define ASCII_CHAR_LEFT_OPEN_BRACKET 0x5B /* [ */ 00069 /** 00070 * @} 00071 */ 00072 00073 /* Private variables ---------------------------------------------------------*/ 00074 00075 /** @defgroup STM32L476G_EVAL_GLASS_LCD_Private_Variables Private Variables 00076 * @{ 00077 */ 00078 00079 /** 00080 @verbatim 00081 ================================================================================ 00082 GLASS LCD MAPPING 00083 ================================================================================ 00084 A 00085 _ ---------- 00086 P|_| |\ |H /| 00087 F| G | I |B 00088 | \ | / | 00089 --M-- --N-- 00090 | /| \ | 00091 E| L | J |C 00092 _ | / |K \| 00093 Q|_| ----------- 00094 D 00095 00096 A LCD character coding is based on the following matrix: 00097 COM0 COM1 COM4 COM5 COM6 COM7 00098 SEG(n) { 0 , 0 , I , B , C , J } 00099 SEG(n+1) { D , K , A , H , M , N } 00100 SEG(n+2) { Q , L , G , F , P , E } 00101 00102 The character A for example is: 00103 ----------------------------------------------------------- 00104 COM0 COM1 COM4 COM5 COM6 COM7 00105 SEG(n) { 0 , 0 , 0 , 1 , 1 , 0 } 00106 SEG(n+1) { 0 , 0 , 1 , 0 , 1 , 1 } 00107 SEG(n+2) { 0 , 0 , 0 , 1 , 0 , 1 } 00108 -------------------------------------------------------- 00109 = 0 0 2 5 3 6 hex 00110 00111 => 'A' = 0x002536 00112 00113 @endverbatim 00114 */ 00115 00116 LCD_HandleTypeDef LCDHandle; 00117 00118 /* LCD BAR status: To save the bar setting after writing in LCD RAM memory */ 00119 uint8_t LCDBar = BATTERYLEVEL_FULL; 00120 00121 /** 00122 * @brief LETTERS AND NUMBERS MAPPING DEFINITION 00123 */ 00124 __IO const uint32_t Mask[] = 00125 { 00126 0x00F00000, 0x000F0000, 0x0000F000, 0x00000F00, 0x000000F0, 0x0000000F 00127 }; 00128 const uint8_t Shift[6] = 00129 { 00130 20, 16, 12, 8, 4, 0 00131 }; 00132 00133 uint32_t Digit[6]; /* Digit frame buffer */ 00134 00135 /* Letters and number map of the custom LCD 8x40(STM8L152D-EVAL evaluation board) */ 00136 __IO const uint32_t LetterMap[26] = 00137 { 00138 /* A B C D E F */ 00139 0x00002536, 0x00202536, 0x00202404, 0x00222310, 0x00202426, 0x00002426, 00140 /* G H I J K L */ 00141 0x00202416, 0x00000536, 0x00222200, 0x00200114, 0x00001425, 0x00200404, 00142 /* M N O P Q R */ 00143 0x00005514, 0x00004515, 0x00202514, 0x00002526, 0x00002532, 0x00002527, 00144 /* S T U V W X */ 00145 0x00202432, 0x00022200, 0x00200514, 0x00041404, 0x00050515, 0x00045001, 00146 /* Y Z */ 00147 0x00025000, 0x00243000 00148 }; 00149 00150 __IO const uint32_t NumberMap[10] = 00151 { 00152 /* 0 1 2 3 4 */ 00153 0x00202514, 0x00000110, 0x00202126, 0x00202132, 0x00000532, 00154 /* 5 6 7 8 9 */ 00155 0x00202432, 0x00202436, 0x00002110, 0x00202536, 0x00202532 00156 }; 00157 00158 /* Constant table for cap characters 'A' --> 'Z' */ 00159 const uint16_t CapLetterMap[26]= 00160 { 00161 /* A B C D E F G H I */ 00162 0xFE00, 0x6714, 0x1D00, 0x4714, 0x9D00, 0x9C00, 0x3F00, 0xFA00, 0x0014, 00163 /* J K L M N O P Q R */ 00164 0x5300, 0x9841, 0x1900, 0x5A48, 0x5A09, 0x5F00, 0xFC00, 0x5F01, 0xFC01, 00165 /* S T U V W X Y Z */ 00166 0xAF00, 0x0414, 0x5b00, 0x18C0, 0x5A81, 0x00C9, 0x0058, 0x05C0 00167 }; 00168 00169 /** 00170 * @} 00171 */ 00172 00173 /** @defgroup STM32L476G_EVAL_GLASS_LCD_Private_Functions Private Functions 00174 * @{ 00175 */ 00176 static void Convert(uint8_t* c, Point_Typedef Point, DoublePoint_Typedef DoublePoint); 00177 static void LCD_MspInit(LCD_HandleTypeDef *hlcd); 00178 00179 /** 00180 * @} 00181 */ 00182 00183 /** @addtogroup STM32L476G_EVAL_GLASS_LCD_Exported_Functions 00184 * @{ 00185 */ 00186 00187 /** 00188 * @brief Configures the LCD GLASS relative GPIO port IOs and LCD peripheral. 00189 * @retval None 00190 */ 00191 void BSP_LCD_GLASS_Init(void) 00192 { 00193 LCDHandle.Instance = LCD; 00194 LCDHandle.Init.Prescaler = LCD_PRESCALER_4; 00195 LCDHandle.Init.Divider = LCD_DIVIDER_16; 00196 LCDHandle.Init.Duty = LCD_DUTY_1_8; 00197 LCDHandle.Init.Bias = LCD_BIAS_1_4; 00198 LCDHandle.Init.VoltageSource = LCD_VOLTAGESOURCE_INTERNAL; 00199 LCDHandle.Init.Contrast = LCD_CONTRASTLEVEL_7; 00200 LCDHandle.Init.DeadTime = LCD_DEADTIME_0; 00201 LCDHandle.Init.PulseOnDuration = LCD_PULSEONDURATION_2; 00202 LCDHandle.Init.HighDrive = LCD_HIGHDRIVE_DISABLE; 00203 LCDHandle.Init.BlinkMode = LCD_BLINKMODE_OFF; 00204 LCDHandle.Init.BlinkFrequency = LCD_BLINKFREQUENCY_DIV8; 00205 LCDHandle.Init.MuxSegment = LCD_MUXSEGMENT_DISABLE; 00206 00207 __HAL_LCD_RESET_HANDLE_STATE(&LCDHandle); 00208 00209 /* Initialize the LCD */ 00210 LCD_MspInit(&LCDHandle); 00211 HAL_LCD_Init(&LCDHandle); 00212 } 00213 00214 /** 00215 * @brief Configures the LCD Blink mode and Blink frequency. 00216 * @param BlinkMode: specifies the LCD blink mode. 00217 * This parameter can be one of the following values: 00218 * @arg LCD_BLINKMODE_OFF: Blink disabled 00219 * @arg LCD_BLINKMODE_SEG0_COM0: Blink enabled on SEG[0], COM[0] (1 pixel) 00220 * @arg LCD_BLINKMODE_SEG0_ALLCOM: Blink enabled on SEG[0], all COM (up to 8 00221 * pixels according to the programmed duty) 00222 * @arg LCD_BLINKMODE_ALLSEG_ALLCOM: Blink enabled on all SEG and all COM 00223 * (all pixels) 00224 * @param BlinkFrequency: specifies the LCD blink frequency. 00225 * @arg LCD_BLINKFREQUENCY_DIV8: The Blink frequency = fLcd/8 00226 * @arg LCD_BLINKFREQUENCY_DIV16: The Blink frequency = fLcd/16 00227 * @arg LCD_BLINKFREQUENCY_DIV32: The Blink frequency = fLcd/32 00228 * @arg LCD_BLINKFREQUENCY_DIV64: The Blink frequency = fLcd/64 00229 * @arg LCD_BLINKFREQUENCY_DIV128: The Blink frequency = fLcd/128 00230 * @arg LCD_BLINKFREQUENCY_DIV256: The Blink frequency = fLcd/256 00231 * @arg LCD_BLINKFREQUENCY_DIV512: The Blink frequency = fLcd/512 00232 * @arg LCD_BLINKFREQUENCY_DIV1024: The Blink frequency = fLcd/1024 00233 * @retval None 00234 */ 00235 void BSP_LCD_GLASS_BlinkConfig(uint32_t BlinkMode, uint32_t BlinkFrequency) 00236 { 00237 __HAL_LCD_BLINK_CONFIG(&LCDHandle, BlinkMode, BlinkFrequency); 00238 } 00239 00240 /** 00241 * @brief LCD contrast setting 00242 * @param Contrast: specifies the LCD Contrast. 00243 * This parameter can be one of the following values: 00244 * @arg LCD_CONTRASTLEVEL_0: Maximum Voltage = 2.60V 00245 * @arg LCD_CONTRASTLEVEL_1: Maximum Voltage = 2.73V 00246 * @arg LCD_CONTRASTLEVEL_2: Maximum Voltage = 2.86V 00247 * @arg LCD_CONTRASTLEVEL_3: Maximum Voltage = 2.99V 00248 * @arg LCD_CONTRASTLEVEL_4: Maximum Voltage = 3.12V 00249 * @arg LCD_CONTRASTLEVEL_5: Maximum Voltage = 3.26V 00250 * @arg LCD_CONTRASTLEVEL_6: Maximum Voltage = 3.40V 00251 * @arg LCD_CONTRASTLEVEL_7: Maximum Voltage = 3.55V 00252 * @retval None 00253 */ 00254 void BSP_LCD_GLASS_Contrast(uint32_t Contrast) 00255 { 00256 __HAL_LCD_CONTRAST_CONFIG(&LCDHandle, Contrast); 00257 } 00258 00259 /** 00260 * @brief This function writes a char in the LCD frame buffer. 00261 * @param ch: the character to display. 00262 * @param Point: a point to add in front of char 00263 * This parameter can be: POINT_OFF or POINT_ON 00264 * @param Column: flag indicating if a column has to be add in front 00265 * of displayed character. 00266 * This parameter can be: DOUBLEPOINT_OFF or DOUBLEPOINT_ON. 00267 * @param Position: position in the LCD of the caracter to write [1:7] 00268 * @retval None 00269 * @note Required preconditions: The LCD should be cleared before to start the 00270 * write operation. 00271 */ 00272 void BSP_LCD_GLASS_WriteChar(uint8_t* ch, uint8_t Point, uint8_t Column, uint8_t Position) 00273 { 00274 /* To convert displayed character in segment in array digit */ 00275 Convert(ch, (Point_Typedef)Point, (DoublePoint_Typedef)Column); 00276 switch(Position) 00277 { 00278 /* Position 1 on LCD */ 00279 case 1: 00280 /* Write Digit 0 on COM0 */ 00281 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER0, 0xFFFFFBFF, (Digit[0] << (uint32_t)0x09)); 00282 /* Write Digit 1 on COM1 */ 00283 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER2, 0xFFFFF3FF, (Digit[1] << (uint32_t)0x09)); 00284 /* Write Digit 2 on COM4 */ 00285 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER8, 0xFFFFF1FF, (Digit[2] << (uint32_t)0x09)); 00286 /* Write Digit 3 on COM5 */ 00287 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER10, 0xFFFFF1FF, (Digit[3] << (uint32_t)0x09)); 00288 /* Write Digit 4 on COM6 */ 00289 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER12, 0xFFFFF9FF, (Digit[4] << (uint32_t)0x09)); 00290 /* Write Digit 5 on COM7 */ 00291 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER14, 0xFFFFF1FF, (Digit[5] << (uint32_t)0x09)); 00292 break; 00293 00294 /* Position 2 on LCD */ 00295 case 2: 00296 /* Write Digit 0 on COM0 */ 00297 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER0, 0xFFFF9FFF, (Digit[0] << (uint32_t)0x0C)); 00298 /* Write Digit 1 on COM1 */ 00299 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER2, 0xFFFF9FFF, (Digit[1] << (uint32_t)0x0C)); 00300 /* Write Digit 2 on COM4 */ 00301 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER8, 0xFFFF8FFF, (Digit[2] << (uint32_t)0x0C)); 00302 /* Write Digit 3 on COM5 */ 00303 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER10, 0xFFFF8FFF, (Digit[3] << (uint32_t)0x0C)); 00304 /* Write Digit 4 on COM6 */ 00305 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER12, 0xFFFF8FFF, (Digit[4] << (uint32_t)0x0C)); 00306 /* Write Digit 5 on COM7 */ 00307 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER14, 0xFFFF8FFF, (Digit[5] << (uint32_t)0x0C)); 00308 break; 00309 00310 /* Position 3 on LCD */ 00311 case 3: 00312 /* Write Digit 0 on COM0 */ 00313 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER0, 0xFFFCFFFF, (Digit[0] << (uint32_t)0x0F)); 00314 /* Write Digit 1 on COM1 */ 00315 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER2, 0xFFFCFFFF, (Digit[1] << (uint32_t)0x0F)); 00316 /* Write Digit 2 on COM4 */ 00317 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER8, 0xFFFC7FFF, (Digit[2] << (uint32_t)0x0F)); 00318 /* Write Digit 3 on COM5 */ 00319 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER10, 0xFFFC7FFF, (Digit[3] << (uint32_t)0x0F)); 00320 /* Write Digit 4 on COM6 */ 00321 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER12, 0xFFFC7FFF, (Digit[4] << (uint32_t)0x0F)); 00322 /* Write Digit 5 on COM7 */ 00323 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER14, 0xFFFC7FFF, (Digit[5] << (uint32_t)0x0F)); 00324 break; 00325 00326 /* Position 4 on LCD */ 00327 case 4: 00328 /* Write Digit 0 on COM0 */ 00329 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER0, 0xFFE7FFFF, (Digit[0] << (uint32_t)0x12)); 00330 /* Write Digit 1 on COM1 */ 00331 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER2, 0xFFE7FFFF, (Digit[1] << (uint32_t)0x12)); 00332 /* Write Digit 2 on COM4 */ 00333 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER8, 0xFFE3FFFF, (Digit[2] << (uint32_t)0x12)); 00334 /* Write Digit 3 on COM5 */ 00335 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER10, 0xFFE3FFFF, (Digit[3] << (uint32_t)0x12)); 00336 /* Write Digit 4 on COM6 */ 00337 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER12, 0xFFE3FFFF, (Digit[4] << (uint32_t)0x12)); 00338 /* Write Digit 5 on COM7 */ 00339 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER14, 0xFFE3FFFF, (Digit[5] << (uint32_t)0x12)); 00340 break; 00341 00342 /* Position 5 on LCD */ 00343 case 5: 00344 /* Write Digit 0 on COM0 */ 00345 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER0, 0xFFFFFFF9, Digit[0]); 00346 /* Write Digit 1 on COM1 */ 00347 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER2, 0xFFFFFFF9, Digit[1]); 00348 /* Write Digit 2 on COM4 */ 00349 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER8, 0xFFFFFFF8, Digit[2]); 00350 /* Write Digit 3 on COM5 */ 00351 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER10, 0xFFFFFFF8, Digit[3]); 00352 /* Write Digit 4 on COM6 */ 00353 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER12, 0xFFFFFFF8, Digit[4]); 00354 /* Write Digit 5 on COM7 */ 00355 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER14, 0xFFFFFFF8, Digit[5]); 00356 break; 00357 00358 /* Position 6 on LCD */ 00359 case 6: 00360 /* Write Digit 0 on COM0 */ 00361 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER0, 0xFFFFFFCF, (Digit[0] << (uint32_t)0x03)); 00362 /* Write Digit 1 on COM1 */ 00363 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER2, 0xFFFFFFCF, (Digit[1] << (uint32_t)0x03)); 00364 /* Write Digit 2 on COM4 */ 00365 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER8, 0xFFFFFFC7, (Digit[2] << (uint32_t)0x03)); 00366 /* Write Digit 3 on COM5 */ 00367 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER10, 0xFFFFFFC7, (Digit[3] << (uint32_t)0x03)); 00368 /* Write Digit 4 on COM6 */ 00369 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER12, 0xFFFFFFC7, (Digit[4] << (uint32_t)0x03)); 00370 /* Write Digit 5 on COM7 */ 00371 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER14, 0xFFFFFFC7, (Digit[5] << (uint32_t)0x03)); 00372 break; 00373 00374 /* Position 7 on LCD */ 00375 case 7: 00376 /* Write Digit 0 on COM0 */ 00377 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER0, 0xFFFFFE7F, (Digit[0] << (uint32_t)0x06)); 00378 /* Write Digit 1 on COM1 */ 00379 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER2, 0xFFFFFE7F, (Digit[1] << (uint32_t)0x06)); 00380 /* Write Digit 2 on COM4 */ 00381 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER8, 0xFFFFFE3F, (Digit[2] << (uint32_t)0x06)); 00382 /* Write Digit 3 on COM5 */ 00383 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER10, 0xFFFFFE3F, (Digit[3] << (uint32_t)0x06)); 00384 /* Write Digit 4 on COM6 */ 00385 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER12, 0xFFFFFE3F, (Digit[4] << (uint32_t)0x06)); 00386 /* Write Digit 5 on COM7 */ 00387 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER14, 0xFFFFFE3F, (Digit[5] << (uint32_t)0x06)); 00388 break; 00389 00390 default: 00391 break; 00392 } 00393 00394 /* Update the LCD display */ 00395 HAL_LCD_UpdateDisplayRequest(&LCDHandle); 00396 00397 /* Refresh LCD bar */ 00398 BSP_LCD_GLASS_BarLevelConfig(LCDBar); 00399 } 00400 00401 /** 00402 * @brief Setting bar on LCD, writes bar value in LCD frame buffer 00403 * @param BarLevel: specifies the LCD GLASS Batery Level. 00404 * This parameter can be one of the following values: 00405 * @arg BATTERYLEVEL_OFF: LCD GLASS Batery Empty 00406 * @arg BATTERYLEVEL_1_4: LCD GLASS Batery 1/4 Full 00407 * @arg BATTERYLEVEL_1_2: LCD GLASS Batery 1/2 Full 00408 * @arg BATTERYLEVEL_3_4: LCD GLASS Batery 3/4 Full 00409 * @arg BATTERYLEVEL_FULL: LCD GLASS Batery Full 00410 * @retval None 00411 */ 00412 void BSP_LCD_GLASS_BarLevelConfig(uint8_t BarLevel) 00413 { 00414 switch (BarLevel) 00415 { 00416 case BATTERYLEVEL_OFF: 00417 /* Set BATTERYLEVEL_3_4 off */ 00418 /* Set BATTERYLEVEL_1_4 off */ 00419 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER0, 0xFFFFFFF6, 0); 00420 /* Set BATTERYLEVEL_1_2 off */ 00421 /* Set BATTERYLEVEL_FULL off */ 00422 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER2, 0xFFFFFFF6, 0); 00423 LCDBar = BATTERYLEVEL_OFF; 00424 break; 00425 00426 /* BARLEVEL 1/4 */ 00427 case BATTERYLEVEL_1_4: 00428 /* Set BATTERYLEVEL_1_4 on */ 00429 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER0, 0xFFFFFFF6, (uint32_t)(0x00000001)); 00430 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER2, 0xFFFFFFF6, 0); 00431 LCDBar = BATTERYLEVEL_1_4; 00432 break; 00433 00434 /* BARLEVEL 1/2 */ 00435 case BATTERYLEVEL_1_2: 00436 /* Set BatteryLevel_1_4 on */ 00437 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER0, 0xFFFFFFF6, (uint32_t)(0x00000001)); 00438 /* Set BatteryLevel_1_2 on */ 00439 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER2, 0xFFFFFFF6, (uint32_t)(0x00000001)); 00440 LCDBar = BATTERYLEVEL_1_2; 00441 break; 00442 00443 /* Battery Level 3/4 */ 00444 case BATTERYLEVEL_3_4: 00445 /* Set BATTERYLEVEL_3_4 on */ 00446 /* Set BatteryLevel_1_4 on */ 00447 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER0, 0xFFFFFFF6, (uint32_t)(0x00000001)); 00448 /* Set BatteryLevel_1_2 on */ 00449 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER2, 0xFFFFFFF6, (uint32_t)(0x00000009)); 00450 LCDBar = BATTERYLEVEL_3_4; 00451 break; 00452 00453 /* BATTERYLEVEL_FULL */ 00454 case BATTERYLEVEL_FULL: 00455 /* Set BATTERYLEVEL_3_4 on */ 00456 /* Set BatteryLevel_1_4 on */ 00457 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER0, 0xFFFFFFF6, (uint32_t)(0x00000009)); 00458 /* Set BATTERYLEVEL_FULL on */ 00459 /* Set BatteryLevel_1_2 on */ 00460 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER2, 0xFFFFFFF6, (uint32_t)(0x00000009)); 00461 LCDBar = BATTERYLEVEL_FULL; 00462 break; 00463 00464 default: 00465 break; 00466 } 00467 00468 /* Update the LCD display */ 00469 HAL_LCD_UpdateDisplayRequest(&LCDHandle); 00470 } 00471 00472 /** 00473 * @brief This function Clear a char in the LCD RAM. 00474 * @param position: Position in the LCD of the caracter to write. 00475 * This parameter can be any value in range [1:7]. 00476 * @retval None 00477 */ 00478 void BSP_LCD_GLASS_ClearChar(uint8_t position) 00479 { 00480 switch (position) 00481 { 00482 /* Clear position 1 on LCD */ 00483 case 1: 00484 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER0, 0xFFFFFBFF, 0); 00485 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER2, 0xFFFFF3FF, 0); 00486 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER8, 0xFFFFF1FF, 0); 00487 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER10, 0xFFFFF1FF, 0); 00488 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER12, 0xFFFFF9FF, 0); 00489 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER14, 0xFFFFF1FF, 0); 00490 break; 00491 00492 /* Clear position 2 on LCD */ 00493 case 2: 00494 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER0, 0xFFFF9FFF, 0); 00495 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER2, 0xFFFF9FFF, 0); 00496 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER8, 0xFFFF8FFF, 0); 00497 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER10, 0xFFFF8FFF, 0); 00498 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER12, 0xFFFF8FFF, 0); 00499 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER14, 0xFFFF8FFF, 0); 00500 break; 00501 00502 /* Clear position 3 on LCD */ 00503 case 3: 00504 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER0, 0xFFFCFFFF, 0); 00505 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER2, 0xFFFCFFFF, 0); 00506 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER8, 0xFFFC7FFF, 0); 00507 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER10, 0xFFFC7FFF, 0); 00508 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER12, 0xFFFC7FFF, 0); 00509 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER14, 0xFFFC7FFF, 0); 00510 break; 00511 00512 /* Clear position 4 on LCD */ 00513 case 4: 00514 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER0, 0xFFE7FFFF, 0); 00515 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER2, 0xFFE7FFFF, 0); 00516 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER8, 0xFFE3FFFF, 0); 00517 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER10, 0xFFE3FFFF, 0); 00518 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER12, 0xFFE3FFFF, 0); 00519 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER14, 0xFFE3FFFF, 0); 00520 break; 00521 00522 /* Clear position 5 on LCD */ 00523 case 5: 00524 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER0, 0xFFFFFFF9, 0); 00525 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER2, 0xFFFFFFF9, 0); 00526 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER8, 0xFFFFFFF8, 0); 00527 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER10, 0xFFFFFFF8, 0); 00528 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER12, 0xFFFFFFF8, 0); 00529 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER14, 0xFFFFFFF8, 0); 00530 break; 00531 00532 /* Clear position 6 on LCD */ 00533 case 6: 00534 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER0, 0xFFFFFFCF, 0); 00535 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER2, 0xFFFFFFCF, 0); 00536 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER8, 0xFFFFFFC7, 0); 00537 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER10, 0xFFFFFFC7, 0); 00538 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER12, 0xFFFFFFC7, 0); 00539 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER14, 0xFFFFFFC7, 0); 00540 break; 00541 00542 /* Clear position 7 on LCD */ 00543 case 7: 00544 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER0, 0xFFFFFE7F, 0); 00545 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER2, 0xFFFFFE7F, 0); 00546 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER8, 0xFFFFFE3F, 0); 00547 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER10, 0xFFFFFE3F, 0); 00548 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER12, 0xFFFFFE3F, 0); 00549 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER14, 0xFFFFFE3F, 0); 00550 break; 00551 00552 default: 00553 break; 00554 } 00555 /* Update the LCD display */ 00556 HAL_LCD_UpdateDisplayRequest(&LCDHandle); 00557 } 00558 00559 /** 00560 * @brief This function writes a char in the LCD RAM. 00561 * @param Ch: The character to display. 00562 * @param Point: A point to add in front of char. 00563 * This parameter can be one of the following values: 00564 * @arg POINT_OFF: No point to add in front of char. 00565 * @arg POINT_ON: Add a point in front of char. 00566 * @param DoublePoint: Flag indicating if a apostrophe has to be add in front 00567 * of displayed character. 00568 * This parameter can be one of the following values: 00569 * @arg DOUBLEPOINT_OFF: No colon to add in back of char. 00570 * @arg DOUBLEPOINT_ON: Add an colon in back of char. 00571 * @param Position: Position in the LCD of the caracter to write. 00572 * This parameter can be any value in range [1:7]. 00573 * @retval None 00574 */ 00575 void BSP_LCD_GLASS_DisplayChar(uint8_t* Ch, Point_Typedef Point, DoublePoint_Typedef DoublePoint, uint8_t Position) 00576 { 00577 /*!< LCD Write Char */ 00578 BSP_LCD_GLASS_WriteChar(Ch, Point, DoublePoint, Position); 00579 00580 /* Update the LCD display */ 00581 HAL_LCD_UpdateDisplayRequest(&LCDHandle); 00582 } 00583 00584 /** 00585 * @brief This function writes a char in the LCD RAM. 00586 * @param ptr: Pointer to string to display on the LCD Glass. 00587 * @retval None 00588 */ 00589 void BSP_LCD_GLASS_DisplayString(uint8_t* ptr) 00590 { 00591 uint8_t position = 0x01; 00592 00593 /*!< Send the string character by character on lCD */ 00594 while ((*ptr != 0) & (position < 8)) 00595 { 00596 /*!< Display one character on LCD */ 00597 BSP_LCD_GLASS_WriteChar(ptr, 0, 0, position); 00598 /*!< Point on the next character */ 00599 ptr++; 00600 /*!< Increment the character counter */ 00601 position++; 00602 } 00603 } 00604 00605 /** 00606 * @brief This function Clears the LCD Glass Text Zone. 00607 * @retval None 00608 */ 00609 void BSP_LCD_GLASS_ClearTextZone(void) 00610 { 00611 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER0, 0xFFE49A49, 0); 00612 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER2, 0xFFE49A49, 0); 00613 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER8, 0xFFE00000, 0); 00614 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER10, 0xFFE00000, 0); 00615 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER12, 0xFFE00800, 0); 00616 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER14, 0xFFE00000, 0); 00617 00618 /*!< Request LCD RAM update */ 00619 HAL_LCD_UpdateDisplayRequest(&LCDHandle); 00620 } 00621 00622 /** 00623 * @brief This function writes a char in the LCD RAM. 00624 * @param ptr: Pointer to string to display on the LCD Glass. 00625 * @retval None 00626 * @note Required preconditions: Char is ASCCI value "Ored" with decimal point or Column flag 00627 */ 00628 void BSP_LCD_GLASS_DisplayStrDeci(uint16_t* ptr) 00629 { 00630 uint8_t index = 1; 00631 uint8_t tmpchar; 00632 00633 /* Send the string character by character on lCD */ 00634 while((*ptr != 0) & (index < 8)) 00635 { 00636 tmpchar = (*ptr) & 0x00FF; 00637 00638 switch((*ptr) & 0xF000) 00639 { 00640 case DOT: 00641 /* Display one character on LCD with decimal point */ 00642 BSP_LCD_GLASS_WriteChar(&tmpchar, POINT_ON, DOUBLEPOINT_OFF, index); 00643 break; 00644 case DOUBLE_DOT: 00645 /* Display one character on LCD with decimal point */ 00646 BSP_LCD_GLASS_WriteChar(&tmpchar, POINT_OFF, DOUBLEPOINT_ON, index); 00647 break; 00648 default: 00649 BSP_LCD_GLASS_WriteChar(&tmpchar, POINT_OFF, DOUBLEPOINT_OFF, index); 00650 break; 00651 }/* Point on the next character */ 00652 ptr++; 00653 00654 /* Increment the character counter */ 00655 index++; 00656 } 00657 } 00658 00659 /** 00660 * @brief This function Clear the whole LCD RAM. 00661 * @retval None 00662 */ 00663 void BSP_LCD_GLASS_Clear(void) 00664 { 00665 HAL_LCD_Clear(&LCDHandle); 00666 } 00667 00668 /** 00669 * @brief Display a string in scrolling mode 00670 * @param ptr: Pointer to string to display on the LCD Glass. 00671 * @param nScroll: Specifies how many time the message will be scrolled 00672 * @param ScrollSpeed : Speciifes the speed of the scroll, low value gives 00673 * higher speed 00674 * @retval None 00675 * @note Required preconditions: The LCD should be cleared before to start the 00676 * write operation. 00677 */ 00678 void BSP_LCD_GLASS_ScrollSentence(uint8_t* ptr, uint16_t nScroll, uint16_t ScrollSpeed) 00679 { 00680 uint8_t repetition = 0, nbrchar = 0, sizestr = 0; 00681 uint8_t* ptr1; 00682 uint8_t str[8] = ""; 00683 00684 if(ptr == 0) 00685 { 00686 return; 00687 } 00688 00689 /* To calculate end of string */ 00690 for(ptr1 = ptr, sizestr = 0; *ptr1 != 0; sizestr++, ptr1++); 00691 00692 ptr1 = ptr; 00693 00694 BSP_LCD_GLASS_DisplayString(ptr); 00695 HAL_Delay(ScrollSpeed); 00696 00697 /* To shift the string for scrolling display*/ 00698 for (repetition = 0; repetition < nScroll; repetition++) 00699 { 00700 for(nbrchar = 0; nbrchar < sizestr; nbrchar++) 00701 { 00702 *(str) =* (ptr1+((nbrchar)%sizestr)); 00703 *(str+1) =* (ptr1+((nbrchar+1)%sizestr)); 00704 *(str+2) =* (ptr1+((nbrchar+2)%sizestr)); 00705 *(str+3) =* (ptr1+((nbrchar+3)%sizestr)); 00706 *(str+4) =* (ptr1+((nbrchar+4)%sizestr)); 00707 *(str+5) =* (ptr1+((nbrchar+5)%sizestr)); 00708 *(str+6) =* (ptr1+((nbrchar+6)%sizestr)); 00709 *(str+7) =* (ptr1+((nbrchar+7)%sizestr)); 00710 BSP_LCD_GLASS_ClearTextZone(); 00711 BSP_LCD_GLASS_DisplayString(str); 00712 00713 HAL_Delay(ScrollSpeed); 00714 } 00715 } 00716 } 00717 00718 /** 00719 * @brief Configure ST Logo display. 00720 * @param NewState: enable or disable the logo display . 00721 * @retval None 00722 */ 00723 void BSP_LCD_GLASS_DisplayLogo(FunctionalState NewState) 00724 { 00725 if (NewState != DISABLE) 00726 { 00727 /* Set logo on */ 00728 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER0, 0xFFFFFFBF, 0x00000040); 00729 } 00730 else 00731 { 00732 /* Set logo of */ 00733 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER0, 0xFFFFFFBF, 0); 00734 } 00735 00736 /*!< Request LCD RAM update */ 00737 HAL_LCD_UpdateDisplayRequest(&LCDHandle); 00738 } 00739 00740 /** 00741 * @brief Configure the LCD ArrowDirection. 00742 * @param ArrowDirection: Specify the ArrowDirection to set. 00743 * @retval None 00744 */ 00745 void BSP_LCD_GLASS_ArrowConfig(ArrowDirection_TypeDef ArrowDirection) 00746 { 00747 switch (ArrowDirection) 00748 { 00749 /* ARROWDIRECTION_UP */ 00750 case ARROWDIRECTION_UP: 00751 /* Set ARROWDIRECTION_UP on */ 00752 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER0, 0xFFFF6FFF, 0x00001000); 00753 break; 00754 00755 /* ARROWDIRECTION_LEFT */ 00756 case ARROWDIRECTION_LEFT : 00757 /* Set ARROWDIRECTION_LEFT on */ 00758 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER2, 0xFFFF6FFF, 0x00001000); 00759 break; 00760 00761 /* ARROWDIRECTION_DOWN */ 00762 case ARROWDIRECTION_DOWN: 00763 /* Set ARROWDIRECTION_DOWN on */ 00764 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER2, 0xFFFF6FFF, 0x00008000); 00765 break; 00766 00767 /* ARROWDIRECTION_RIGHT */ 00768 case ARROWDIRECTION_RIGHT: 00769 /* Set ARROWDIRECTION_RIGHT on */ 00770 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER0, 0xFFFF6FFF, 0x00008000); 00771 break; 00772 00773 case ARROWDIRECTION_OFF: 00774 /* Set ARROWDIRECTION_UP off */ 00775 /* Set ARROWDIRECTION_RIGHT off */ 00776 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER0, 0xFFFF6FFF, 0); 00777 /* Set ARROWDIRECTION_LEFT off */ 00778 /* Set ARROWDIRECTION_DOWN off */ 00779 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER2, 0xFFFF6FFF, 0); 00780 break; 00781 00782 default: 00783 break; 00784 } 00785 00786 /*!< Request LCD RAM update */ 00787 HAL_LCD_UpdateDisplayRequest(&LCDHandle); 00788 } 00789 00790 /** 00791 * @brief Configure the LCD Temperature level display . 00792 * @param Temperature: indicate the Temperature level to set. 00793 * @retval None 00794 */ 00795 void BSP_LCD_GLASS_TemperatureConfig(TemperatureLevel_TypeDef Temperature) 00796 { 00797 switch (Temperature) 00798 { 00799 /* Temperature level 1*/ 00800 case TEMPERATURELEVEL_1 : 00801 /* Clear Temperature level 5 */ 00802 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER0, 0xFFFFFDFF, 0); 00803 /* Clear Temperature level 4 and level 2 */ 00804 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER4, 0xFFFFF3FF, 0); 00805 /* Clear Temperature level 1 and level 3 */ 00806 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER6, 0xFFFFF3FF, 0); 00807 /* Set Temperature level 1*/ 00808 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER2, 0xFFFFFDFF, 0x00000200); 00809 break; 00810 00811 /* Temperature level 2 */ 00812 case TEMPERATURELEVEL_2: 00813 /* Clear Temperature level 4 and level 2 */ 00814 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER4, 0xFFFFF3FF, 0); 00815 /* Clear Temperature level 1 and level 3 */ 00816 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER6, 0xFFFFF3FF, 0); 00817 /* Set Temperature level 1 */ 00818 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER2, 0xFFFFFDFF, 0x00000200); 00819 /* Set Temperature level 2 */ 00820 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER0, 0xFFFFFDFF, 0x00000200); 00821 break; 00822 00823 /* Temperature level 3 */ 00824 case TEMPERATURELEVEL_3: 00825 /* Clear Temperature level 1 and level 3 */ 00826 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER6, 0xFFFFF3FF, 0); 00827 /* Set Temperature level 1 */ 00828 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER2, 0xFFFFFDFF, 0x00000200); 00829 /* Set Temperature level 2 */ 00830 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER0, 0xFFFFFDFF, 0x00000200); 00831 /* Set Temperature level 3 */ 00832 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER4, 0xFFFFF3FF, 0x00000400); 00833 break; 00834 00835 /* Temperature level 4*/ 00836 case TEMPERATURELEVEL_4: 00837 /* Set Temperature level 1 */ 00838 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER2, 0xFFFFFDFF, 0x00000200); 00839 /* Set Temperature level 2 */ 00840 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER0, 0xFFFFFDFF, 0x00000200); 00841 /* Set Temperature level 3 */ 00842 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER4, 0xFFFFF3FF, 0x00000400); 00843 /* Set Temperature level 4 */ 00844 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER6, 0xFFFFF3FF, 0x00000400); 00845 break; 00846 00847 /* Temperature_2*/ 00848 case TEMPERATURELEVEL_5: 00849 /* Set Temperature level 1 */ 00850 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER2, 0xFFFFFDFF, 0x00000200); 00851 /* Set Temperature level 2 */ 00852 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER0, 0xFFFFFDFF, 0x00000200); 00853 /* Set Temperature level 3 and level 5 */ 00854 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER4, 0xFFFFF3FF, 0x00000C00); 00855 /* Set Temperature level 4 */ 00856 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER6, 0xFFFFF3FF, 0x00000400); 00857 break; 00858 00859 /* Temperature_6*/ 00860 case TEMPERATURELEVEL_6: 00861 /* Set Temperature level 1 */ 00862 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER2, 0xFFFFFDFF, 0x00000200); 00863 /* Set Temperature level 2 */ 00864 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER0, 0xFFFFFDFF, 0x00000200); 00865 /* Set Temperature level 3 and level 5 */ 00866 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER4, 0xFFFFF3FF, 0x00000C00); 00867 /* Set Temperature level 4 and level 6 */ 00868 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER6, 0xFFFFF3FF, 0x00000C00); 00869 break; 00870 00871 case TEMPERATURELEVEL_OFF: 00872 /* Clear Temperature level 5 */ 00873 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER0, 0xFFFFFDFF, 0); 00874 /* Clear Temperature level 6 */ 00875 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER2, 0xFFFFFDFF, 0); 00876 /* Clear Temperature level 4 and level 2 */ 00877 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER4, 0xFFFFF3FF, 0); 00878 /* Clear Temperature level 1 and level 3 */ 00879 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER6, 0xFFFFF3FF, 0); 00880 break; 00881 00882 default: 00883 break; 00884 } 00885 00886 /*!< Request LCD RAM update */ 00887 HAL_LCD_UpdateDisplayRequest(&LCDHandle); 00888 } 00889 00890 /** 00891 * @brief Configure the LCD Value Unit. 00892 * @param ValueUnit: indicate the Value Unit to set. 00893 * @retval None 00894 */ 00895 void BSP_LCD_GLASS_ValueUnitConfig(ValueUnit_TypeDef ValueUnit) 00896 { 00897 switch (ValueUnit) 00898 { 00899 /* VALUEUNIT MILLIAMPERE*/ 00900 case VALUEUNIT_MILLIAMPERE: 00901 /* Set VALUEUNIT_MILLIAMPERE on */ 00902 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER2, 0xFFFBFFBF, 0x00040000); 00903 break; 00904 00905 /* VALUEUNIT MICROAMPERE)*/ 00906 case VALUEUNIT_MICROAMPERE: 00907 /* Set VALUEUNIT_MICROAMPERE */ 00908 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER0, 0xFFFBFFFF, 0x00040000); 00909 break; 00910 00911 /* VALUEUNIT NANOAMPERE*/ 00912 case VALUEUNIT_NANOAMPERE: 00913 /* Set VALUEUNIT_NANOAMPERE on */ 00914 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER2, 0xFFFBFFBF, 0x00000040); 00915 break; 00916 00917 case VALUEUNIT_OFF: 00918 /* Set VALUEUNIT_MILLIAMPERE and VALUEUNIT_NANOAMPERE OFF */ 00919 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER2, 0xFFFBFFBF, 0); 00920 /* Set VALUEUNIT_MICROAMPERE off */ 00921 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER0, 0xFFFBFFFF, 0); 00922 break; 00923 00924 default: 00925 break; 00926 } 00927 00928 /*!< Request LCD RAM update */ 00929 HAL_LCD_UpdateDisplayRequest(&LCDHandle); 00930 } 00931 00932 /** 00933 * @brief Configure the LCD sign. 00934 * @param Sign: indicate the sign to set. 00935 * @param NewState: enable or disable the Digit. 00936 * @retval None 00937 */ 00938 void BSP_LCD_GLASS_SignCmd(Sign_TypeDef Sign, FunctionalState NewState) 00939 { 00940 if (NewState != DISABLE) 00941 { 00942 switch (Sign) 00943 { 00944 /* Sign positive */ 00945 case SIGN_POSITIVE: 00946 /* Set SIGN_POSITIVE on */ 00947 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER12, 0xFFFFF7FF, 0x00000800); 00948 break; 00949 00950 /* Sign negative*/ 00951 case SIGN_NEGATIVE: 00952 /* Set SIGN_NEGATIVE on */ 00953 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER0, 0xFFFFF7FF, 0x00000800); 00954 break; 00955 00956 default: 00957 break; 00958 } 00959 } 00960 else 00961 { 00962 switch (Sign) 00963 { 00964 /* Sign positive */ 00965 case SIGN_POSITIVE: 00966 /* Set SIGN_POSITIVE off */ 00967 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER12, 0xFFFFF7FF, 0); 00968 break; 00969 00970 /* Sign negative */ 00971 case SIGN_NEGATIVE: 00972 /* Set SIGN_NEGATIVE off */ 00973 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER0, 0xFFFFF7FF, 0); 00974 break; 00975 00976 default: 00977 break; 00978 } 00979 } 00980 00981 /*!< Request LCD RAM update */ 00982 HAL_LCD_UpdateDisplayRequest(&LCDHandle); 00983 } 00984 /** 00985 * @brief Set Matrix Pixel on. 00986 * @param PixelRow: Specify Matrix Row. 00987 * @param PixelColumn: Specify Matrix Column. 00988 * @retval None 00989 */ 00990 void BSP_LCD_GLASS_WriteMatrixPixel(PixelRow_TypeDef PixelRow, PixelColumn_TypeDef PixelColumn) 00991 { 00992 switch (PixelRow) 00993 { 00994 case PIXELROW_1: 00995 switch (PixelColumn) 00996 { 00997 case PIXELCOLUMN_1: 00998 /* Position : Row = 1 , Column= 1 */ 00999 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER6, ~((uint32_t)0x00000200), (uint32_t)0x00000200); 01000 break; 01001 01002 case PIXELCOLUMN_2: 01003 /* Position : Row = 1 , Column= 2 */ 01004 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER6, ~((uint32_t)0x00004000), (uint32_t)0x00004000); 01005 break; 01006 01007 case PIXELCOLUMN_3: 01008 /* Position : Row = 1 , Column= 3 */ 01009 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER6, ~((uint32_t)0x00002000), (uint32_t)0x00002000); 01010 break; 01011 01012 case PIXELCOLUMN_4: 01013 /* Position : Row = 1 , Column= 4 */ 01014 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER6, ~((uint32_t)0x00001000), (uint32_t)0x00001000); 01015 break; 01016 01017 case PIXELCOLUMN_5: 01018 /* Position : Row = 1 , Column= 5 */ 01019 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER6, ~((uint32_t)0x00020000), (uint32_t)0x00020000); 01020 break; 01021 01022 case PIXELCOLUMN_6: 01023 /* Position : Row = 1 , Column= 6 */ 01024 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER6, ~((uint32_t)0x00010000), (uint32_t)0x00010000); 01025 break; 01026 01027 case PIXELCOLUMN_7: 01028 /* Position : Row = 1 , Column= 7 */ 01029 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER6, ~((uint32_t)0x00008000), (uint32_t)0x00008000); 01030 break; 01031 01032 case PIXELCOLUMN_8: 01033 /* Position : Row = 1 , Column= 8 */ 01034 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER6, ~((uint32_t)0x00100000), (uint32_t)0x00100000); 01035 break; 01036 01037 case PIXELCOLUMN_9: 01038 /* Position : Row = 1 , Column= 9 */ 01039 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER6, ~((uint32_t)0x00080000), (uint32_t)0x00080000); 01040 break; 01041 01042 case PIXELCOLUMN_10: 01043 /* Position : Row = 1 , Column= 10 */ 01044 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER6, ~((uint32_t)0x00040000), (uint32_t)0x00040000); 01045 break; 01046 01047 case PIXELCOLUMN_11: 01048 /* Position : Row = 1 , Column= 11 */ 01049 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER6, ~((uint32_t)0x00000004), (uint32_t)0x00000004); 01050 break; 01051 01052 case PIXELCOLUMN_12: 01053 /* Position : Row = 1 , Column= 12 */ 01054 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER6, ~((uint32_t)0x00000002), (uint32_t)0x00000002); 01055 break; 01056 01057 case PIXELCOLUMN_13: 01058 /* Position : Row = 1 , Column= 13 */ 01059 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER6, ~((uint32_t)0x00000001), (uint32_t)0x00000001); 01060 break; 01061 01062 case PIXELCOLUMN_14: 01063 /* Position : Row = 1 , Column= 14 */ 01064 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER6, ~((uint32_t)0x00000020), (uint32_t)0x00000020); 01065 break; 01066 01067 case PIXELCOLUMN_15: 01068 /* Position : Row = 1 , Column= 15 */ 01069 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER6, ~((uint32_t)0x00000010), (uint32_t)0x00000010); 01070 break; 01071 01072 case PIXELCOLUMN_16: 01073 /* Position : Row = 1 , Column= 16 */ 01074 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER6, ~((uint32_t)0x00000008), (uint32_t)0x00000008); 01075 break; 01076 01077 case PIXELCOLUMN_17: 01078 /* Position : Row = 1 , Column= 17 */ 01079 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER6, ~((uint32_t)0x00000100), (uint32_t)0x00000100); 01080 break; 01081 01082 case PIXELCOLUMN_18: 01083 /* Position : Row = 1 , Column= 18 */ 01084 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER6, ~((uint32_t)0x00000080), (uint32_t)0x00000080); 01085 break; 01086 01087 case PIXELCOLUMN_19: 01088 /* Position : Row = 1 , Column= 19 */ 01089 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER6, ~((uint32_t)0x00000040), (uint32_t)0x00000040); 01090 break; 01091 01092 default: 01093 break; 01094 01095 } 01096 break; 01097 01098 case PIXELROW_2: 01099 switch (PixelColumn) 01100 { 01101 case PIXELCOLUMN_1: 01102 /* Position : Row = 2 , Column= 1 */ 01103 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER4, ~((uint32_t)0x00000200), (uint32_t)0x00000200); 01104 break; 01105 01106 case PIXELCOLUMN_2: 01107 /* Position : Row = 2 , Column= 2 */ 01108 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER4, ~((uint32_t)0x00004000), (uint32_t)0x00004000); 01109 break; 01110 01111 case PIXELCOLUMN_3: 01112 /* Position : Row = 2 , Column= 3 */ 01113 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER4, ~((uint32_t)0x00002000), (uint32_t)0x00002000); 01114 break; 01115 01116 case PIXELCOLUMN_4: 01117 /* Position : Row = 2 , Column= 4 */ 01118 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER4, ~((uint32_t)0x00001000), (uint32_t)0x00001000); 01119 break; 01120 01121 case PIXELCOLUMN_5: 01122 /* Position : Row = 2 , Column= 5 */ 01123 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER4, ~((uint32_t)0x00020000), (uint32_t)0x00020000); 01124 break; 01125 01126 case PIXELCOLUMN_6: 01127 /* Position : Row = 2 , Column= 6 */ 01128 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER4, ~((uint32_t)0x00010000), (uint32_t)0x00010000); 01129 break; 01130 01131 case PIXELCOLUMN_7: 01132 /* Position : Row = 2 , Column= 7 */ 01133 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER4, ~((uint32_t)0x00008000), (uint32_t)0x00008000); 01134 break; 01135 01136 case PIXELCOLUMN_8: 01137 /* Position : Row = 2 , Column= 8 */ 01138 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER4, ~((uint32_t)0x00100000), (uint32_t)0x00100000); 01139 break; 01140 01141 case PIXELCOLUMN_9: 01142 /* Position : Row = 2 , Column= 9 */ 01143 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER4, ~((uint32_t)0x00080000), (uint32_t)0x00080000); 01144 break; 01145 01146 case PIXELCOLUMN_10: 01147 /* Position : Row = 2 , Column= 10 */ 01148 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER4, ~((uint32_t)0x00040000), (uint32_t)0x00040000); 01149 break; 01150 01151 case PIXELCOLUMN_11: 01152 /* Position : Row = 2 , Column= 11 */ 01153 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER4, ~((uint32_t)0x00000004), (uint32_t)0x00000004); 01154 break; 01155 01156 case PIXELCOLUMN_12: 01157 /* Position : Row = 2 , Column= 12 */ 01158 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER4, ~((uint32_t)0x00000002), (uint32_t)0x00000002); 01159 break; 01160 01161 case PIXELCOLUMN_13: 01162 /* Position : Row = 2 , Column= 13 */ 01163 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER4, ~((uint32_t)0x00000001), (uint32_t)0x00000001); 01164 break; 01165 01166 case PIXELCOLUMN_14: 01167 /* Position : Row = 2 , Column= 14 */ 01168 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER4, ~((uint32_t)0x00000020), (uint32_t)0x00000020); 01169 break; 01170 01171 case PIXELCOLUMN_15: 01172 /* Position : Row = 2 , Column= 15 */ 01173 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER4, ~((uint32_t)0x00000010), (uint32_t)0x00000010); 01174 break; 01175 01176 case PIXELCOLUMN_16: 01177 /* Position : Row = 2 , Column= 16 */ 01178 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER4, ~((uint32_t)0x00000008), (uint32_t)0x00000008); 01179 break; 01180 01181 case PIXELCOLUMN_17: 01182 /* Position : Row = 2 , Column= 17 */ 01183 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER4, ~((uint32_t)0x00000100), (uint32_t)0x00000100); 01184 break; 01185 01186 case PIXELCOLUMN_18: 01187 /* Position : Row = 2 , Column= 18 */ 01188 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER4, ~((uint32_t)0x00000080), (uint32_t)0x00000080); 01189 break; 01190 01191 case PIXELCOLUMN_19: 01192 /* Position : Row = 2 , Column= 19 */ 01193 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER4, ~((uint32_t)0x00000040), (uint32_t)0x00000040); 01194 break; 01195 01196 default: 01197 break; 01198 } 01199 break; 01200 01201 case PIXELROW_3: 01202 switch (PixelColumn) 01203 { 01204 case PIXELCOLUMN_1: 01205 /* Position : Row = 3 , Column= 1 */ 01206 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER4, ~((uint32_t)0x00200000), (uint32_t)0x00200000); 01207 break; 01208 01209 case PIXELCOLUMN_2: 01210 /* Position : Row = 3 , Column= 2 */ 01211 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER4, ~((uint32_t)0x00400000), (uint32_t)0x00400000); 01212 break; 01213 01214 case PIXELCOLUMN_3: 01215 /* Position : Row = 3 , Column= 3 */ 01216 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER4, ~((uint32_t)0x00800000), (uint32_t)0x00800000); 01217 break; 01218 01219 case PIXELCOLUMN_4: 01220 /* Position : Row = 3 , Column= 4 */ 01221 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER4, ~((uint32_t)0x01000000), (uint32_t)0x01000000); 01222 break; 01223 01224 case PIXELCOLUMN_5: 01225 /* Position : Row = 3 , Column= 5 */ 01226 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER4, ~((uint32_t)0x02000000), (uint32_t)0x02000000); 01227 break; 01228 01229 case PIXELCOLUMN_6: 01230 /* Position : Row = 3 , Column= 6 */ 01231 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER4, ~((uint32_t)0x04000000), (uint32_t)0x04000000); 01232 break; 01233 01234 case PIXELCOLUMN_7: 01235 /* Position : Row = 3 , Column= 7 */ 01236 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER4, ~((uint32_t)0x08000000), (uint32_t)0x08000000); 01237 break; 01238 01239 case PIXELCOLUMN_8: 01240 /* Position : Row = 3 , Column= 8 */ 01241 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER4, ~((uint32_t)0x10000000), (uint32_t)0x10000000); 01242 break; 01243 01244 case PIXELCOLUMN_9: 01245 /* Position : Row = 3 , Column= 9*/ 01246 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER4, ~((uint32_t)0x20000000), (uint32_t)0x20000000); 01247 break; 01248 01249 case PIXELCOLUMN_10: 01250 /* Position : Row = 3 , Column= 10*/ 01251 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER4, ~((uint32_t)0x40000000), (uint32_t)0x40000000); 01252 break; 01253 01254 case PIXELCOLUMN_11: 01255 /* Position : Row = 3 , Column= 11*/ 01256 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER4, ~((uint32_t)0x80000000), (uint32_t)0x80000000); 01257 break; 01258 01259 case PIXELCOLUMN_12: 01260 /* Position : Row = 3 , Column= 12*/ 01261 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER5, ~((uint32_t)0x00000001), (uint32_t)0x00000001); 01262 break; 01263 01264 case PIXELCOLUMN_13: 01265 /* Position : Row = 3 , Column= 13*/ 01266 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER5, ~((uint32_t)0x00000002), (uint32_t)0x00000002); 01267 break; 01268 01269 case PIXELCOLUMN_14: 01270 /* Position : Row = 3 , Column= 14*/ 01271 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER5, ~((uint32_t)0x00000004), (uint32_t)0x00000004); 01272 break; 01273 01274 case PIXELCOLUMN_15: 01275 /* Position : Row = 3 , Column= 15*/ 01276 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER5, ~((uint32_t)0x00000008), (uint32_t)0x00000008); 01277 break; 01278 01279 case PIXELCOLUMN_16: 01280 /* Position : Row = 3 , Column= 16*/ 01281 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER5, ~((uint32_t)0x00000010), (uint32_t)0x00000010); 01282 break; 01283 01284 case PIXELCOLUMN_17: 01285 /* Position : Row = 3 , Column= 17*/ 01286 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER5, ~((uint32_t)0x00000020), (uint32_t)0x00000020); 01287 break; 01288 01289 case PIXELCOLUMN_18: 01290 /* Position : Row = 3 , Column= 18*/ 01291 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER5, ~((uint32_t)0x00000040), (uint32_t)0x00000040); 01292 break; 01293 01294 case PIXELCOLUMN_19: 01295 /* Position : Row = 3 , Column= 19 */ 01296 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER5, ~((uint32_t)0x00000080), (uint32_t)0x00000080); 01297 break; 01298 01299 default: 01300 break; 01301 } 01302 break; 01303 01304 case PIXELROW_4: 01305 switch (PixelColumn) 01306 { 01307 case PIXELCOLUMN_1: 01308 /* Position : Row = 4 , Column= 1 */ 01309 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER6, ~((uint32_t)0x00200000), (uint32_t)0x00200000); 01310 break; 01311 01312 case PIXELCOLUMN_2: 01313 /* Position : Row = 4 , Column= 2 */ 01314 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER6, ~((uint32_t)0x00400000), (uint32_t)0x00400000); 01315 break; 01316 01317 case PIXELCOLUMN_3: 01318 /* Position : Row = 4 , Column= 3 */ 01319 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER6, ~((uint32_t)0x00800000), (uint32_t)0x00800000); 01320 break; 01321 01322 case PIXELCOLUMN_4: 01323 /* Position : Row = 4 , Column= 4 */ 01324 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER6, ~((uint32_t)0x01000000), (uint32_t)0x01000000); 01325 break; 01326 01327 case PIXELCOLUMN_5: 01328 /* Position : Row = 4 , Column= 5 */ 01329 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER6, ~((uint32_t)0x02000000), (uint32_t)0x02000000); 01330 break; 01331 01332 case PIXELCOLUMN_6: 01333 /* Position : Row = 4 , Column= 6 */ 01334 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER6, ~((uint32_t)0x04000000), (uint32_t)0x04000000); 01335 break; 01336 01337 case PIXELCOLUMN_7: 01338 /* Position : Row = 4 , Column= 7 */ 01339 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER6, ~((uint32_t)0x08000000), (uint32_t)0x08000000); 01340 break; 01341 01342 case PIXELCOLUMN_8: 01343 /* Position : Row = 4 , Column= 8 */ 01344 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER6, ~((uint32_t)0x10000000), (uint32_t)0x10000000); 01345 break; 01346 01347 case PIXELCOLUMN_9: 01348 /* Position : Row = 4 , Column= 9*/ 01349 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER6, ~((uint32_t)0x20000000), (uint32_t)0x20000000); 01350 break; 01351 01352 case PIXELCOLUMN_10: 01353 /* Position : Row = 4 , Column= 10*/ 01354 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER6, ~((uint32_t)0x40000000), (uint32_t)0x40000000); 01355 break; 01356 01357 case PIXELCOLUMN_11: 01358 /* Position : Row = 4 , Column= 11*/ 01359 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER6, ~((uint32_t)0x80000000), (uint32_t)0x80000000); 01360 break; 01361 01362 case PIXELCOLUMN_12: 01363 /* Position : Row = 4 , Column= 12*/ 01364 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER7, ~((uint32_t)0x00000001), (uint32_t)0x00000001); 01365 break; 01366 01367 case PIXELCOLUMN_13: 01368 /* Position : Row = 4 , Column= 13*/ 01369 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER7, ~((uint32_t)0x00000002), (uint32_t)0x00000002); 01370 break; 01371 01372 case PIXELCOLUMN_14: 01373 /* Position : Row = 4 , Column= 14*/ 01374 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER7, ~((uint32_t)0x00000004), (uint32_t)0x00000004); 01375 break; 01376 01377 case PIXELCOLUMN_15: 01378 /* Position : Row = 4 , Column= 15*/ 01379 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER7, ~((uint32_t)0x00000008), (uint32_t)0x00000008); 01380 break; 01381 01382 case PIXELCOLUMN_16: 01383 /* Position : Row = 4 , Column= 16*/ 01384 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER7, ~((uint32_t)0x00000010), (uint32_t)0x00000010); 01385 break; 01386 01387 case PIXELCOLUMN_17: 01388 /* Position : Row = 4 , Column= 17*/ 01389 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER7, ~((uint32_t)0x00000020), (uint32_t)0x00000020); 01390 break; 01391 01392 case PIXELCOLUMN_18: 01393 /* Position : Row = 4 , Column= 18*/ 01394 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER7, ~((uint32_t)0x00000040), (uint32_t)0x00000040); 01395 break; 01396 01397 case PIXELCOLUMN_19: 01398 /* Position : Row = 4 , Column= 19 */ 01399 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER7, ~((uint32_t)0x00000080), (uint32_t)0x00000080); 01400 break; 01401 01402 default: 01403 break; 01404 01405 } 01406 break; 01407 01408 case PIXELROW_5: 01409 switch (PixelColumn) 01410 { 01411 case PIXELCOLUMN_1: 01412 /* Position : Row = 5 , Column= 1 */ 01413 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER0, ~((uint32_t)0x00200000), (uint32_t)0x00200000); 01414 break; 01415 01416 case PIXELCOLUMN_2: 01417 /* Position : Row = 5 , Column= 2 */ 01418 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER0, ~((uint32_t)0x00400000), (uint32_t)0x00400000); 01419 break; 01420 01421 case PIXELCOLUMN_3: 01422 /* Position : Row = 5 , Column= 3 */ 01423 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER0, ~((uint32_t)0x00800000), (uint32_t)0x00800000); 01424 break; 01425 01426 case PIXELCOLUMN_4: 01427 /* Position : Row = 5 , Column= 4 */ 01428 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER0, ~((uint32_t)0x01000000), (uint32_t)0x01000000); 01429 break; 01430 01431 case PIXELCOLUMN_5: 01432 /* Position : Row = 5 , Column= 5 */ 01433 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER0, ~((uint32_t)0x02000000), (uint32_t)0x02000000); 01434 break; 01435 01436 case PIXELCOLUMN_6: 01437 /* Position : Row = 5 , Column= 6 */ 01438 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER0, ~((uint32_t)0x04000000), (uint32_t)0x04000000); 01439 break; 01440 01441 case PIXELCOLUMN_7: 01442 /* Position : Row = 5 , Column= 7 */ 01443 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER0, ~((uint32_t)0x08000000), (uint32_t)0x08000000); 01444 break; 01445 01446 case PIXELCOLUMN_8: 01447 /* Position : Row = 5 , Column= 8 */ 01448 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER0, ~((uint32_t)0x10000000), (uint32_t)0x10000000); 01449 break; 01450 01451 case PIXELCOLUMN_9: 01452 /* Position : Row = 5 , Column= 9*/ 01453 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER0, ~((uint32_t)0x20000000), (uint32_t)0x20000000); 01454 break; 01455 01456 case PIXELCOLUMN_10: 01457 /* Position : Row = 5 , Column= 10*/ 01458 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER0, ~((uint32_t)0x40000000), (uint32_t)0x40000000); 01459 break; 01460 01461 case PIXELCOLUMN_11: 01462 /* Position : Row = 5 , Column= 11*/ 01463 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER0, ~((uint32_t)0x80000000), (uint32_t)0x80000000); 01464 break; 01465 01466 case PIXELCOLUMN_12: 01467 /* Position : Row = 5 , Column= 12*/ 01468 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER1, ~((uint32_t)0x00000001), (uint32_t)0x00000001); 01469 break; 01470 01471 case PIXELCOLUMN_13: 01472 /* Position : Row = 5 , Column= 13*/ 01473 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER1, ~((uint32_t)0x00000002), (uint32_t)0x00000002); 01474 break; 01475 01476 case PIXELCOLUMN_14: 01477 /* Position : Row = 5 , Column= 14*/ 01478 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER1, ~((uint32_t)0x00000004), (uint32_t)0x00000004); 01479 break; 01480 01481 case PIXELCOLUMN_15: 01482 /* Position : Row = 5 , Column= 15*/ 01483 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER1, ~((uint32_t)0x00000008), (uint32_t)0x00000008); 01484 break; 01485 01486 case PIXELCOLUMN_16: 01487 /* Position : Row = 5 , Column= 16*/ 01488 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER1, ~((uint32_t)0x00000010), (uint32_t)0x00000010); 01489 break; 01490 01491 case PIXELCOLUMN_17: 01492 /* Position : Row = 5 , Column= 17*/ 01493 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER1, ~((uint32_t)0x00000020), (uint32_t)0x00000020); 01494 break; 01495 01496 case PIXELCOLUMN_18: 01497 /* Position : Row = 5 , Column= 18*/ 01498 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER1, ~((uint32_t)0x00000040), (uint32_t)0x00000040); 01499 break; 01500 01501 case PIXELCOLUMN_19: 01502 /* Position : Row = 5 , Column= 19 */ 01503 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER1, ~((uint32_t)0x00000080), (uint32_t)0x00000080); 01504 break; 01505 01506 default: 01507 break; 01508 } 01509 break; 01510 01511 case PIXELROW_6: 01512 switch (PixelColumn) 01513 { 01514 case PIXELCOLUMN_1: 01515 /* Position : Row = 6 , Column= 1 */ 01516 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER2, ~((uint32_t)0x00200000), (uint32_t)0x00200000); 01517 break; 01518 01519 case PIXELCOLUMN_2: 01520 /* Position : Row = 6 , Column= 2 */ 01521 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER2, ~((uint32_t)0x00400000), (uint32_t)0x00400000); 01522 break; 01523 01524 case PIXELCOLUMN_3: 01525 /* Position : Row = 6 , Column= 3 */ 01526 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER2, ~((uint32_t)0x00800000), (uint32_t)0x00800000); 01527 break; 01528 01529 case PIXELCOLUMN_4: 01530 /* Position : Row = 6 , Column= 4 */ 01531 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER2, ~((uint32_t)0x01000000), (uint32_t)0x01000000); 01532 break; 01533 01534 case PIXELCOLUMN_5: 01535 /* Position : Row = 6 , Column= 5 */ 01536 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER2, ~((uint32_t)0x02000000), (uint32_t)0x02000000); 01537 break; 01538 01539 case PIXELCOLUMN_6: 01540 /* Position : Row = 6 , Column= 6 */ 01541 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER2, ~((uint32_t)0x04000000), (uint32_t)0x04000000); 01542 break; 01543 01544 case PIXELCOLUMN_7: 01545 /* Position : Row = 6 , Column= 7 */ 01546 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER2, ~((uint32_t)0x08000000), (uint32_t)0x08000000); 01547 break; 01548 01549 case PIXELCOLUMN_8: 01550 /* Position : Row = 6 , Column= 8 */ 01551 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER2, ~((uint32_t)0x10000000), (uint32_t)0x10000000); 01552 break; 01553 01554 case PIXELCOLUMN_9: 01555 /* Position : Row = 6 , Column= 9*/ 01556 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER2, ~((uint32_t)0x20000000), (uint32_t)0x20000000); 01557 break; 01558 01559 case PIXELCOLUMN_10: 01560 /* Position : Row = 6 , Column= 10*/ 01561 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER2, ~((uint32_t)0x40000000), (uint32_t)0x40000000); 01562 break; 01563 01564 case PIXELCOLUMN_11: 01565 /* Position : Row = 6 , Column= 11*/ 01566 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER2, ~((uint32_t)0x80000000), (uint32_t)0x80000000); 01567 break; 01568 01569 case PIXELCOLUMN_12: 01570 /* Position : Row = 6 , Column= 12*/ 01571 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER3, ~((uint32_t)0x00000001), (uint32_t)0x00000001); 01572 break; 01573 01574 case PIXELCOLUMN_13: 01575 /* Position : Row = 6 , Column= 13*/ 01576 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER3, ~((uint32_t)0x00000002), (uint32_t)0x00000002); 01577 break; 01578 01579 case PIXELCOLUMN_14: 01580 /* Position : Row = 6 , Column= 14*/ 01581 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER3, ~((uint32_t)0x00000004), (uint32_t)0x00000004); 01582 break; 01583 01584 case PIXELCOLUMN_15: 01585 /* Position : Row = 6 , Column= 15*/ 01586 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER3, ~((uint32_t)0x00000008), (uint32_t)0x00000008); 01587 break; 01588 01589 case PIXELCOLUMN_16: 01590 /* Position : Row = 6 , Column= 16*/ 01591 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER3, ~((uint32_t)0x00000010), (uint32_t)0x00000010); 01592 break; 01593 01594 case PIXELCOLUMN_17: 01595 /* Position : Row = 6 , Column= 17*/ 01596 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER3, ~((uint32_t)0x00000020), (uint32_t)0x00000020); 01597 break; 01598 01599 case PIXELCOLUMN_18: 01600 /* Position : Row = 6 , Column= 18*/ 01601 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER3, ~((uint32_t)0x00000040), (uint32_t)0x00000040); 01602 break; 01603 01604 case PIXELCOLUMN_19: 01605 /* Position : Row = 6 , Column= 19 */ 01606 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER3, ~((uint32_t)0x00000080), (uint32_t)0x00000080); 01607 break; 01608 01609 default: 01610 break; 01611 } 01612 break; 01613 01614 case PIXELROW_7: 01615 switch (PixelColumn) 01616 { 01617 case PIXELCOLUMN_1: 01618 /* Position : Row = 7 , Column =1 */ 01619 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER14, ~((uint32_t)0x00200000), (uint32_t)0x00200000); 01620 break; 01621 01622 case PIXELCOLUMN_2: 01623 /* Position : Row = 7 , Column =2 */ 01624 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER14, ~((uint32_t)0x00400000), (uint32_t)0x00400000); 01625 break; 01626 01627 case PIXELCOLUMN_3: 01628 /* Position : Row = 7 , Column =3 */ 01629 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER14, ~((uint32_t)0x00800000), (uint32_t)0x00800000); 01630 break; 01631 01632 case PIXELCOLUMN_4: 01633 /* Position : Row = 7 , Column =4 */ 01634 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER14, ~((uint32_t)0x01000000), (uint32_t)0x01000000); 01635 break; 01636 01637 case PIXELCOLUMN_5: 01638 /* Position : Row = 7 , Column =5 */ 01639 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER14, ~((uint32_t)0x02000000), (uint32_t)0x02000000); 01640 break; 01641 01642 case PIXELCOLUMN_6: 01643 /* Position : Row = 7 , Column =6 */ 01644 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER14, ~((uint32_t)0x04000000), (uint32_t)0x04000000); 01645 break; 01646 01647 case PIXELCOLUMN_7: 01648 /* Position : Row = 7 , Column =7 */ 01649 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER14, ~((uint32_t)0x08000000), (uint32_t)0x08000000); 01650 break; 01651 01652 case PIXELCOLUMN_8: 01653 /* Position : Row = 7 , Column =8 */ 01654 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER14, ~((uint32_t)0x10000000), (uint32_t)0x10000000); 01655 break; 01656 01657 case PIXELCOLUMN_9: 01658 /* Position : Row = 7 , Column =9*/ 01659 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER14, ~((uint32_t)0x20000000), (uint32_t)0x20000000); 01660 break; 01661 01662 case PIXELCOLUMN_10: 01663 /* Position : Row = 7 , Column =10*/ 01664 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER14, ~((uint32_t)0x40000000), (uint32_t)0x40000000); 01665 break; 01666 01667 case PIXELCOLUMN_11: 01668 /* Position : Row = 7 , Column =11*/ 01669 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER14, ~((uint32_t)0x80000000), (uint32_t)0x80000000); 01670 break; 01671 01672 case PIXELCOLUMN_12: 01673 /* Position : Row = 7 , Column =12*/ 01674 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER15, ~((uint32_t)0x00000001), (uint32_t)0x00000001); 01675 break; 01676 01677 case PIXELCOLUMN_13: 01678 /* Position : Row = 7 , Column =13*/ 01679 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER15, ~((uint32_t)0x00000002), (uint32_t)0x00000002); 01680 break; 01681 01682 case PIXELCOLUMN_14: 01683 /* Position : Row = 7 , Column =14*/ 01684 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER15, ~((uint32_t)0x00000004), (uint32_t)0x00000004); 01685 break; 01686 01687 case PIXELCOLUMN_15: 01688 /* Position : Row = 7 , Column =15*/ 01689 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER15, ~((uint32_t)0x00000008), (uint32_t)0x00000008); 01690 break; 01691 01692 case PIXELCOLUMN_16: 01693 /* Position : Row = 7 , Column =16*/ 01694 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER15, ~((uint32_t)0x00000010), (uint32_t)0x00000010); 01695 break; 01696 01697 case PIXELCOLUMN_17: 01698 /* Position : Row = 7 , Column =17*/ 01699 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER15, ~((uint32_t)0x00000020), (uint32_t)0x00000020); 01700 break; 01701 01702 case PIXELCOLUMN_18: 01703 /* Position : Row = 7 , Column =18*/ 01704 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER15, ~((uint32_t)0x00000040), (uint32_t)0x00000040); 01705 break; 01706 01707 case PIXELCOLUMN_19: 01708 /* Position : Row = 7 , Column =19 */ 01709 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER15, ~((uint32_t)0x00000080), (uint32_t)0x00000080); 01710 break; 01711 01712 default: 01713 break; 01714 } 01715 break; 01716 01717 case PIXELROW_8: 01718 switch (PixelColumn) 01719 { 01720 case PIXELCOLUMN_1: 01721 /* Position : Row = 8 , Column =1 */ 01722 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER12, ~((uint32_t)0x00200000), (uint32_t)0x00200000); 01723 break; 01724 01725 case PIXELCOLUMN_2: 01726 /* Position : Row = 8 , Column =2 */ 01727 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER12, ~((uint32_t)0x00400000), (uint32_t)0x00400000); 01728 break; 01729 01730 case PIXELCOLUMN_3: 01731 /* Position : Row = 8 , Column =3 */ 01732 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER12, ~((uint32_t)0x00800000), (uint32_t)0x00800000); 01733 break; 01734 01735 case PIXELCOLUMN_4: 01736 /* Position : Row = 8 , Column =4 */ 01737 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER12, ~((uint32_t)0x01000000), (uint32_t)0x01000000); 01738 break; 01739 01740 case PIXELCOLUMN_5: 01741 /* Position : Row = 8 , Column =5 */ 01742 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER12, ~((uint32_t)0x02000000), (uint32_t)0x02000000); 01743 break; 01744 01745 case PIXELCOLUMN_6: 01746 /* Position : Row = 8 , Column =6 */ 01747 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER12, ~((uint32_t)0x04000000), (uint32_t)0x04000000); 01748 break; 01749 01750 case PIXELCOLUMN_7: 01751 /* Position : Row = 8 , Column =7 */ 01752 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER12, ~((uint32_t)0x08000000), (uint32_t)0x08000000); 01753 break; 01754 01755 case PIXELCOLUMN_8: 01756 /* Position : Row = 8 , Column =8 */ 01757 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER12, ~((uint32_t)0x10000000), (uint32_t)0x10000000); 01758 break; 01759 01760 case PIXELCOLUMN_9: 01761 /* Position : Row = 8 , Column =9*/ 01762 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER12, ~((uint32_t)0x20000000), (uint32_t)0x20000000); 01763 break; 01764 01765 case PIXELCOLUMN_10: 01766 /* Position : Row = 8 , Column =10*/ 01767 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER12, ~((uint32_t)0x40000000), (uint32_t)0x40000000); 01768 break; 01769 01770 case PIXELCOLUMN_11: 01771 /* Position : Row = 8 , Column =11*/ 01772 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER12, ~((uint32_t)0x80000000), (uint32_t)0x80000000); 01773 break; 01774 01775 case PIXELCOLUMN_12: 01776 /* Position : Row = 8 , Column =12*/ 01777 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER13, ~((uint32_t)0x00000001), (uint32_t)0x00000001); 01778 break; 01779 01780 case PIXELCOLUMN_13: 01781 /* Position : Row = 8 , Column =13*/ 01782 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER13, ~((uint32_t)0x00000002), (uint32_t)0x00000002); 01783 break; 01784 01785 case PIXELCOLUMN_14: 01786 /* Position : Row = 8 , Column =14*/ 01787 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER13, ~((uint32_t)0x00000004), (uint32_t)0x00000004); 01788 break; 01789 01790 case PIXELCOLUMN_15: 01791 /* Position : Row = 8 , Column =15*/ 01792 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER13, ~((uint32_t)0x00000008), (uint32_t)0x00000008); 01793 break; 01794 01795 case PIXELCOLUMN_16: 01796 /* Position : Row = 8 , Column =16*/ 01797 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER13, ~((uint32_t)0x00000010), (uint32_t)0x00000010); 01798 break; 01799 01800 case PIXELCOLUMN_17: 01801 /* Position : Row = 8 , Column =17*/ 01802 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER13, ~((uint32_t)0x00000020), (uint32_t)0x00000020); 01803 break; 01804 01805 case PIXELCOLUMN_18: 01806 /* Position : Row = 8 , Column =18*/ 01807 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER13, ~((uint32_t)0x00000040), (uint32_t)0x00000040); 01808 break; 01809 01810 case PIXELCOLUMN_19: 01811 /* Position : Row = 8 , Column =19 */ 01812 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER13, ~((uint32_t)0x00000080), (uint32_t)0x00000080); 01813 break; 01814 01815 default: 01816 break; 01817 } 01818 break; 01819 01820 case PIXELROW_9: 01821 switch (PixelColumn) 01822 { 01823 case PIXELCOLUMN_1: 01824 /* Position : Row = 9 , Column =1 */ 01825 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER10, ~((uint32_t)0x00200000), (uint32_t)0x00200000); 01826 break; 01827 01828 case PIXELCOLUMN_2: 01829 /* Position : Row = 9 , Column =2 */ 01830 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER10, ~((uint32_t)0x00400000), (uint32_t)0x00400000); 01831 break; 01832 01833 case PIXELCOLUMN_3: 01834 /* Position : Row = 9 , Column =3 */ 01835 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER10, ~((uint32_t)0x00800000), (uint32_t)0x00800000); 01836 break; 01837 01838 case PIXELCOLUMN_4: 01839 /* Position : Row = 9 , Column =4 */ 01840 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER10, ~((uint32_t)0x01000000), (uint32_t)0x01000000); 01841 break; 01842 01843 case PIXELCOLUMN_5: 01844 /* Position : Row = 9 , Column =5 */ 01845 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER10, ~((uint32_t)0x02000000), (uint32_t)0x02000000); 01846 break; 01847 01848 case PIXELCOLUMN_6: 01849 /* Position : Row = 9 , Column =6 */ 01850 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER10, ~((uint32_t)0x04000000), (uint32_t)0x04000000); 01851 break; 01852 01853 case PIXELCOLUMN_7: 01854 /* Position : Row = 9 , Column =7 */ 01855 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER10, ~((uint32_t)0x08000000), (uint32_t)0x08000000); 01856 break; 01857 01858 case PIXELCOLUMN_8: 01859 /* Position : Row = 9 , Column =8 */ 01860 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER10, ~((uint32_t)0x10000000), (uint32_t)0x10000000); 01861 break; 01862 01863 case PIXELCOLUMN_9: 01864 /* Position : Row = 9 , Column =9*/ 01865 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER10, ~((uint32_t)0x20000000), (uint32_t)0x20000000); 01866 break; 01867 01868 case PIXELCOLUMN_10: 01869 /* Position : Row = 9 , Column =10*/ 01870 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER10, ~((uint32_t)0x40000000), (uint32_t)0x40000000); 01871 break; 01872 01873 case PIXELCOLUMN_11: 01874 /* Position : Row = 9 , Column =11*/ 01875 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER10, ~((uint32_t)0x80000000), (uint32_t)0x80000000); 01876 break; 01877 01878 case PIXELCOLUMN_12: 01879 /* Position : Row = 9 , Column =12*/ 01880 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER11, ~((uint32_t)0x00000001), (uint32_t)0x00000001); 01881 break; 01882 01883 case PIXELCOLUMN_13: 01884 /* Position : Row = 9 , Column =13*/ 01885 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER11, ~((uint32_t)0x00000002), (uint32_t)0x00000002); 01886 break; 01887 01888 case PIXELCOLUMN_14: 01889 /* Position : Row = 9 , Column =14*/ 01890 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER11, ~((uint32_t)0x00000004), (uint32_t)0x00000004); 01891 break; 01892 01893 case PIXELCOLUMN_15: 01894 /* Position : Row = 9 , Column =15*/ 01895 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER11, ~((uint32_t)0x00000008), (uint32_t)0x00000008); 01896 break; 01897 01898 case PIXELCOLUMN_16: 01899 /* Position : Row = 9 , Column =16*/ 01900 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER11, ~((uint32_t)0x00000010), (uint32_t)0x00000010); 01901 break; 01902 01903 case PIXELCOLUMN_17: 01904 /* Position : Row = 9 , Column =17*/ 01905 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER11, ~((uint32_t)0x00000020), (uint32_t)0x00000020); 01906 break; 01907 01908 case PIXELCOLUMN_18: 01909 /* Position : Row = 9 , Column =18*/ 01910 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER11, ~((uint32_t)0x00000040), (uint32_t)0x00000040); 01911 break; 01912 01913 case PIXELCOLUMN_19: 01914 /* Position : Row = 9 , Column =19 */ 01915 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER11, ~((uint32_t)0x00000080), (uint32_t)0x00000080); 01916 break; 01917 01918 default: 01919 break; 01920 } 01921 break; 01922 01923 case PIXELROW_10: 01924 switch (PixelColumn) 01925 { 01926 case PIXELCOLUMN_1: 01927 /* Position : Row = 10 , Column= 1 */ 01928 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER8, ~((uint32_t)0x00200000), (uint32_t)0x00200000); 01929 break; 01930 01931 case PIXELCOLUMN_2: 01932 /* Position : Row = 10 , Column= 2 */ 01933 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER8, ~((uint32_t)0x00400000), (uint32_t)0x00400000); 01934 break; 01935 01936 case PIXELCOLUMN_3: 01937 /* Position : Row = 10 , Column= 3 */ 01938 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER8, ~((uint32_t)0x00800000), (uint32_t)0x00800000); 01939 break; 01940 01941 case PIXELCOLUMN_4: 01942 /* Position : Row = 10 , Column= 4 */ 01943 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER8, ~((uint32_t)0x01000000), (uint32_t)0x01000000); 01944 break; 01945 01946 case PIXELCOLUMN_5: 01947 /* Position : Row = 10 , Column= 5 */ 01948 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER8, ~((uint32_t)0x02000000), (uint32_t)0x02000000); 01949 break; 01950 01951 case PIXELCOLUMN_6: 01952 /* Position : Row = 10 , Column= 6 */ 01953 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER8, ~((uint32_t)0x04000000), (uint32_t)0x04000000); 01954 break; 01955 01956 case PIXELCOLUMN_7: 01957 /* Position : Row = 10 , Column= 7 */ 01958 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER8, ~((uint32_t)0x08000000), (uint32_t)0x08000000); 01959 break; 01960 01961 case PIXELCOLUMN_8: 01962 /* Position : Row = 10 , Column= 8 */ 01963 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER8, ~((uint32_t)0x10000000), (uint32_t)0x10000000); 01964 break; 01965 01966 case PIXELCOLUMN_9: 01967 /* Position : Row = 10 , Column= 9*/ 01968 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER8, ~((uint32_t)0x20000000), (uint32_t)0x20000000); 01969 break; 01970 01971 case PIXELCOLUMN_10: 01972 /* Position : Row = 10 , Column= 10*/ 01973 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER8, ~((uint32_t)0x40000000), (uint32_t)0x40000000); 01974 break; 01975 01976 case PIXELCOLUMN_11: 01977 /* Position : Row = 10 , Column= 11*/ 01978 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER8, ~((uint32_t)0x80000000), (uint32_t)0x80000000); 01979 break; 01980 01981 case PIXELCOLUMN_12: 01982 /* Position : Row = 10 , Column= 12*/ 01983 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER9, ~((uint32_t)0x00000001), (uint32_t)0x00000001); 01984 break; 01985 01986 case PIXELCOLUMN_13: 01987 /* Position : Row = 10 , Column= 13*/ 01988 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER9, ~((uint32_t)0x00000002), (uint32_t)0x00000002); 01989 break; 01990 01991 case PIXELCOLUMN_14: 01992 /* Position : Row = 10 , Column= 14*/ 01993 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER9, ~((uint32_t)0x00000004), (uint32_t)0x00000004); 01994 break; 01995 01996 case PIXELCOLUMN_15: 01997 /* Position : Row = 10 , Column= 15*/ 01998 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER9, ~((uint32_t)0x00000008), (uint32_t)0x00000008); 01999 break; 02000 02001 case PIXELCOLUMN_16: 02002 /* Position : Row = 10 , Column= 16*/ 02003 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER9, ~((uint32_t)0x00000010), (uint32_t)0x00000010); 02004 break; 02005 02006 case PIXELCOLUMN_17: 02007 /* Position : Row = 10 , Column= 17*/ 02008 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER9, ~((uint32_t)0x00000020), (uint32_t)0x00000020); 02009 break; 02010 02011 case PIXELCOLUMN_18: 02012 /* Position : Row = 10 , Column= 18*/ 02013 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER9, ~((uint32_t)0x00000040), (uint32_t)0x00000040); 02014 break; 02015 02016 case PIXELCOLUMN_19: 02017 /* Position : Row = 10 , Column= 19 */ 02018 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER9, ~((uint32_t)0x00000080), (uint32_t)0x00000080); 02019 break; 02020 02021 default: 02022 break; 02023 } 02024 break; 02025 } 02026 02027 /*!< Request LCD RAM update */ 02028 HAL_LCD_UpdateDisplayRequest(&LCDHandle); 02029 } 02030 02031 /** 02032 * @brief Set Matrix Pixel off. 02033 * @param PixelRow: Specify Matrix Row. 02034 * @param PixelColumn: Specify Matrix Column. 02035 * @retval None 02036 */ 02037 void BSP_LCD_GLASS_ClearMatrixPixel(PixelRow_TypeDef PixelRow, PixelColumn_TypeDef PixelColumn) 02038 { 02039 switch (PixelRow) 02040 { 02041 case PIXELROW_1: 02042 switch (PixelColumn) 02043 { 02044 case PIXELCOLUMN_1: 02045 /* Position : Row = 1 , Column= 1 */ 02046 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER6, (uint32_t)0xFFFFFDFF, 0); 02047 break; 02048 02049 case PIXELCOLUMN_2: 02050 /* Position : Row = 1 , Column= 2 */ 02051 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER6, (uint32_t)0xFFFFBFFF, 0); 02052 break; 02053 02054 case PIXELCOLUMN_3: 02055 /* Position : Row = 1 , Column= 3 */ 02056 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER6, (uint32_t)0xFFFFDFFF, 0); 02057 break; 02058 02059 case PIXELCOLUMN_4: 02060 /* Position : Row = 1 , Column= 4 */ 02061 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER6, (uint32_t)0xFFFFEFFF, 0); 02062 break; 02063 02064 case PIXELCOLUMN_5: 02065 /* Position : Row = 1 , Column= 5 */ 02066 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER6, (uint32_t)0xFFFDFFFF, 0); 02067 break; 02068 02069 case PIXELCOLUMN_6: 02070 /* Position : Row = 1 , Column= 6 */ 02071 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER6, (uint32_t)0xFFFEFFFF, 0); 02072 break; 02073 02074 case PIXELCOLUMN_7: 02075 /* Position : Row = 1 , Column= 7 */ 02076 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER6, (uint32_t)0xFFFF7FFF, 0); 02077 break; 02078 02079 case PIXELCOLUMN_8: 02080 /* Position : Row = 1 , Column= 8 */ 02081 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER6, (uint32_t)0xFFEFFFFF, 0); 02082 break; 02083 02084 case PIXELCOLUMN_9: 02085 /* Position : Row = 1 , Column= 9 */ 02086 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER6, (uint32_t)0xFFF7FFFF, 0); 02087 break; 02088 02089 case PIXELCOLUMN_10: 02090 /* Position : Row = 1 , Column= 10 */ 02091 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER6, (uint32_t)0xFFFBFFFF, 0); 02092 break; 02093 02094 case PIXELCOLUMN_11: 02095 /* Position : Row = 1 , Column= 11 */ 02096 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER6, (uint32_t)0xFFFFFFFB, 0); 02097 break; 02098 02099 case PIXELCOLUMN_12: 02100 /* Position : Row = 1 , Column= 12 */ 02101 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER6, (uint32_t)0xFFFFFFFD, 0); 02102 break; 02103 02104 case PIXELCOLUMN_13: 02105 /* Position : Row = 1 , Column= 13 */ 02106 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER6, (uint32_t)0xFFFFFFFE, 0); 02107 break; 02108 02109 case PIXELCOLUMN_14: 02110 /* Position : Row = 1 , Column= 14 */ 02111 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER6, (uint32_t)0xFFFFFFDF, 0); 02112 break; 02113 02114 case PIXELCOLUMN_15: 02115 /* Position : Row = 1 , Column= 15 */ 02116 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER6, (uint32_t)0xFFFFFFEF, 0); 02117 break; 02118 02119 case PIXELCOLUMN_16: 02120 /* Position : Row = 1 , Column= 16 */ 02121 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER6, (uint32_t)0xFFFFFFF7, 0); 02122 break; 02123 02124 case PIXELCOLUMN_17: 02125 /* Position : Row = 1 , Column= 17 */ 02126 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER6, (uint32_t)0xFFFFFEFF, 0); 02127 break; 02128 02129 case PIXELCOLUMN_18: 02130 /* Position : Row = 1 , Column= 18 */ 02131 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER6, (uint32_t)0xFFFFFF7F, 0); 02132 break; 02133 02134 case PIXELCOLUMN_19: 02135 /* Position : Row = 1 , Column= 19 */ 02136 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER6, (uint32_t)0xFFFFFFBF, 0); 02137 break; 02138 02139 default: 02140 break; 02141 } 02142 break; 02143 02144 case PIXELROW_2: 02145 02146 switch (PixelColumn) 02147 { 02148 case PIXELCOLUMN_1: 02149 /* Position : Row = 2 , Column= 1 */ 02150 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER4, (uint32_t)0xFFFFFDFF, 0); 02151 break; 02152 02153 case PIXELCOLUMN_2: 02154 /* Position : Row = 2 , Column= 2 */ 02155 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER4, (uint32_t)0xFFFFBFFF, 0); 02156 break; 02157 02158 case PIXELCOLUMN_3: 02159 /* Position : Row = 2 , Column= 3 */ 02160 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER4, (uint32_t)0xFFFFDFFF, 0); 02161 break; 02162 02163 case PIXELCOLUMN_4: 02164 /* Position : Row = 2 , Column= 4 */ 02165 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER4, (uint32_t)0xFFFFEFFF, 0); 02166 break; 02167 02168 case PIXELCOLUMN_5: 02169 /* Position : Row = 2 , Column= 5 */ 02170 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER4, (uint32_t)0xFFFDFFFF, 0); 02171 break; 02172 02173 case PIXELCOLUMN_6: 02174 /* Position : Row = 2 , Column= 6 */ 02175 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER4, (uint32_t)0xFFFEFFFF, 0); 02176 break; 02177 02178 case PIXELCOLUMN_7: 02179 /* Position : Row = 2 , Column= 7 */ 02180 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER4, (uint32_t)0xFFFF7FFF, 0); 02181 break; 02182 02183 case PIXELCOLUMN_8: 02184 /* Position : Row = 2 , Column= 8 */ 02185 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER4, (uint32_t)0xFFEFFFFF, 0); 02186 break; 02187 02188 case PIXELCOLUMN_9: 02189 /* Position : Row = 2 , Column= 9 */ 02190 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER4, (uint32_t)0xFFF7FFFF, 0); 02191 break; 02192 02193 case PIXELCOLUMN_10: 02194 /* Position : Row = 2 , Column= 10 */ 02195 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER4, (uint32_t)0xFFFBFFFF, 0); 02196 break; 02197 02198 case PIXELCOLUMN_11: 02199 /* Position : Row = 2 , Column= 11 */ 02200 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER4, (uint32_t)0xFFFFFFFB, 0); 02201 break; 02202 02203 case PIXELCOLUMN_12: 02204 /* Position : Row = 2 , Column= 12 */ 02205 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER4, (uint32_t)0xFFFFFFFD, 0); 02206 break; 02207 02208 case PIXELCOLUMN_13: 02209 /* Position : Row = 2 , Column= 13 */ 02210 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER4, (uint32_t)0xFFFFFFFE, 0); 02211 break; 02212 02213 case PIXELCOLUMN_14: 02214 /* Position : Row = 2 , Column= 14 */ 02215 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER4, (uint32_t)0xFFFFFFDF, 0); 02216 break; 02217 02218 case PIXELCOLUMN_15: 02219 /* Position : Row = 2 , Column= 15 */ 02220 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER4, (uint32_t)0xFFFFFFEF, 0); 02221 break; 02222 02223 case PIXELCOLUMN_16: 02224 /* Position : Row = 2 , Column= 16 */ 02225 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER4, (uint32_t)0xFFFFFFF7, 0); 02226 break; 02227 02228 case PIXELCOLUMN_17: 02229 /* Position : Row = 2 , Column= 17 */ 02230 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER4, (uint32_t)0xFFFFFEFF, 0); 02231 break; 02232 02233 case PIXELCOLUMN_18: 02234 /* Position : Row = 2 , Column= 18 */ 02235 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER4, (uint32_t)0xFFFFFF7F, 0); 02236 break; 02237 02238 case PIXELCOLUMN_19: 02239 /* Position : Row = 2 , Column= 19 */ 02240 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER4, (uint32_t)0xFFFFFFBF, 0); 02241 break; 02242 02243 default: 02244 break; 02245 } 02246 break; 02247 02248 case PIXELROW_3: 02249 switch (PixelColumn) 02250 { 02251 case PIXELCOLUMN_1: 02252 /* Position : Row = 3 , Column= 1 */ 02253 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER4, (uint32_t)0xFFDFFFFF, 0); 02254 break; 02255 02256 case PIXELCOLUMN_2: 02257 /* Position : Row = 3 , Column= 2 */ 02258 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER4, (uint32_t)0xFFBFFFFF, 0); 02259 break; 02260 02261 case PIXELCOLUMN_3: 02262 /* Position : Row = 3 , Column= 3 */ 02263 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER4, (uint32_t)0xFF7FFFFF, 0); 02264 break; 02265 02266 case PIXELCOLUMN_4: 02267 /* Position : Row = 3 , Column= 4 */ 02268 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER4, (uint32_t)0xFEFFFFFF, 0); 02269 break; 02270 02271 case PIXELCOLUMN_5: 02272 /* Position : Row = 3 , Column= 5 */ 02273 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER4, (uint32_t)0xFDFFFFFF, 0); 02274 break; 02275 02276 case PIXELCOLUMN_6: 02277 /* Position : Row = 3 , Column= 6 */ 02278 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER4, (uint32_t)0xFBFFFFFF, 0); 02279 break; 02280 02281 case PIXELCOLUMN_7: 02282 /* Position : Row = 3 , Column= 7 */ 02283 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER4, (uint32_t)0xF7FFFFFF, 0); 02284 break; 02285 02286 case PIXELCOLUMN_8: 02287 /* Position : Row = 3 , Column= 8 */ 02288 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER4, (uint32_t)0xEFFFFFFF, 0); 02289 break; 02290 02291 case PIXELCOLUMN_9: 02292 /* Position : Row = 3 , Column= 9*/ 02293 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER4, (uint32_t)0xDFFFFFFF, 0); 02294 break; 02295 02296 case PIXELCOLUMN_10: 02297 /* Position : Row = 3 , Column= 10*/ 02298 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER4, (uint32_t)0xBFFFFFFF, 0); 02299 break; 02300 02301 case PIXELCOLUMN_11: 02302 /* Position : Row = 3 , Column= 11*/ 02303 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER4, (uint32_t)0x7FFFFFFF, 0); 02304 break; 02305 02306 case PIXELCOLUMN_12: 02307 /* Position : Row = 3 , Column= 12*/ 02308 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER5, (uint32_t)0xFFFFFFFE, 0); 02309 break; 02310 02311 case PIXELCOLUMN_13: 02312 /* Position : Row = 3 , Column= 13*/ 02313 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER5, (uint32_t)0xFFFFFFFD, 0); 02314 break; 02315 02316 case PIXELCOLUMN_14: 02317 /* Position : Row = 3 , Column= 14*/ 02318 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER5, (uint32_t)0xFFFFFFFB, 0); 02319 break; 02320 02321 case PIXELCOLUMN_15: 02322 /* Position : Row = 3 , Column= 15*/ 02323 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER5, (uint32_t)0xFFFFFFF7, 0); 02324 break; 02325 02326 case PIXELCOLUMN_16: 02327 /* Position : Row = 3 , Column= 16*/ 02328 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER5, (uint32_t)0xFFFFFFEF, 0); 02329 break; 02330 02331 case PIXELCOLUMN_17: 02332 /* Position : Row = 3 , Column= 17*/ 02333 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER5, (uint32_t)0xFFFFFFDF, 0); 02334 break; 02335 02336 case PIXELCOLUMN_18: 02337 /* Position : Row = 3 , Column= 18*/ 02338 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER5, (uint32_t)0xFFFFFFBF, 0); 02339 break; 02340 02341 case PIXELCOLUMN_19: 02342 /* Position : Row = 3 , Column= 19 */ 02343 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER5, (uint32_t)0xFFFFFF7F, 0); 02344 break; 02345 02346 default: 02347 break; 02348 } 02349 break; 02350 02351 case PIXELROW_4: 02352 switch (PixelColumn) 02353 { 02354 case PIXELCOLUMN_1: 02355 /* Position : Row = 4 , Column= 1 */ 02356 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER6, (uint32_t)0xFFDFFFFF, 0); 02357 break; 02358 02359 case PIXELCOLUMN_2: 02360 /* Position : Row = 4 , Column= 2 */ 02361 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER6, (uint32_t)0xFFBFFFFF, 0); 02362 break; 02363 02364 case PIXELCOLUMN_3: 02365 /* Position : Row = 4 , Column= 3 */ 02366 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER6, (uint32_t)0xFF7FFFFF, 0); 02367 break; 02368 02369 case PIXELCOLUMN_4: 02370 /* Position : Row = 4 , Column= 4 */ 02371 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER6, (uint32_t)0xFEFFFFFF, 0); 02372 break; 02373 02374 case PIXELCOLUMN_5: 02375 /* Position : Row = 4 , Column= 5 */ 02376 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER6, (uint32_t)0xFDFFFFFF, 0); 02377 break; 02378 02379 case PIXELCOLUMN_6: 02380 /* Position : Row = 4 , Column= 6 */ 02381 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER6, (uint32_t)0xFBFFFFFF, 0); 02382 break; 02383 02384 case PIXELCOLUMN_7: 02385 /* Position : Row = 4 , Column= 7 */ 02386 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER6, (uint32_t)0xF7FFFFFF, 0); 02387 break; 02388 02389 case PIXELCOLUMN_8: 02390 /* Position : Row = 4 , Column= 8 */ 02391 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER6, (uint32_t)0xEFFFFFFF, 0); 02392 break; 02393 02394 case PIXELCOLUMN_9: 02395 /* Position : Row = 4 , Column= 9*/ 02396 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER6, (uint32_t)0xDFFFFFFF, 0); 02397 break; 02398 02399 case PIXELCOLUMN_10: 02400 /* Position : Row = 4 , Column= 10*/ 02401 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER6, (uint32_t)0xBFFFFFFF, 0); 02402 break; 02403 02404 case PIXELCOLUMN_11: 02405 /* Position : Row = 4 , Column= 11*/ 02406 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER6, (uint32_t)0x7FFFFFFF, 0); 02407 break; 02408 02409 case PIXELCOLUMN_12: 02410 /* Position : Row = 4 , Column= 12*/ 02411 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER7, (uint32_t)0xFFFFFFFE, 0); 02412 break; 02413 02414 case PIXELCOLUMN_13: 02415 /* Position : Row = 4 , Column= 13*/ 02416 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER7, (uint32_t)0xFFFFFFFD, 0); 02417 break; 02418 02419 case PIXELCOLUMN_14: 02420 /* Position : Row = 4 , Column= 14*/ 02421 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER7, (uint32_t)0xFFFFFFFB, 0); 02422 break; 02423 02424 case PIXELCOLUMN_15: 02425 /* Position : Row = 4 , Column= 15*/ 02426 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER7, (uint32_t)0xFFFFFFF7, 0); 02427 break; 02428 02429 case PIXELCOLUMN_16: 02430 /* Position : Row = 4 , Column= 16*/ 02431 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER7, (uint32_t)0xFFFFFFEF, 0); 02432 break; 02433 02434 case PIXELCOLUMN_17: 02435 /* Position : Row = 4 , Column= 17*/ 02436 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER7, (uint32_t)0xFFFFFFDF, 0); 02437 break; 02438 02439 case PIXELCOLUMN_18: 02440 /* Position : Row = 4 , Column= 18*/ 02441 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER7, (uint32_t)0xFFFFFFBF, 0); 02442 break; 02443 02444 case PIXELCOLUMN_19: 02445 /* Position : Row = 4 , Column= 19 */ 02446 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER7, (uint32_t)0xFFFFFF7F, 0); 02447 break; 02448 02449 default: 02450 break; 02451 } 02452 break; 02453 02454 case PIXELROW_5: 02455 switch (PixelColumn) 02456 { 02457 case PIXELCOLUMN_1: 02458 /* Position : Row = 5 , Column= 1 */ 02459 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER0, (uint32_t)0xFFDFFFFF, 0); 02460 break; 02461 02462 case PIXELCOLUMN_2: 02463 /* Position : Row = 5 , Column= 2 */ 02464 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER0, (uint32_t)0xFFBFFFFF, 0); 02465 break; 02466 02467 case PIXELCOLUMN_3: 02468 /* Position : Row = 5 , Column= 3 */ 02469 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER0, (uint32_t)0xFF7FFFFF, 0); 02470 break; 02471 02472 case PIXELCOLUMN_4: 02473 /* Position : Row = 5 , Column= 4 */ 02474 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER0, (uint32_t)0xFEFFFFFF, 0); 02475 break; 02476 02477 case PIXELCOLUMN_5: 02478 /* Position : Row = 5 , Column= 5 */ 02479 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER0, (uint32_t)0xFDFFFFFF, 0); 02480 break; 02481 02482 case PIXELCOLUMN_6: 02483 /* Position : Row = 5 , Column= 6 */ 02484 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER0, (uint32_t)0xFBFFFFFF, 0); 02485 break; 02486 02487 case PIXELCOLUMN_7: 02488 /* Position : Row = 5 , Column= 7 */ 02489 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER0, (uint32_t)0xF7FFFFFF, 0); 02490 break; 02491 02492 case PIXELCOLUMN_8: 02493 /* Position : Row = 5 , Column= 8 */ 02494 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER0, (uint32_t)0xEFFFFFFF, 0); 02495 break; 02496 02497 case PIXELCOLUMN_9: 02498 /* Position : Row = 5 , Column= 9*/ 02499 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER0, (uint32_t)0xDFFFFFFF, 0); 02500 break; 02501 02502 case PIXELCOLUMN_10: 02503 /* Position : Row = 5 , Column= 10*/ 02504 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER0, (uint32_t)0xBFFFFFFF, 0); 02505 break; 02506 02507 case PIXELCOLUMN_11: 02508 /* Position : Row = 5 , Column= 11*/ 02509 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER0, (uint32_t)0x7FFFFFFF, 0); 02510 break; 02511 02512 case PIXELCOLUMN_12: 02513 /* Position : Row = 5 , Column= 12*/ 02514 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER1, (uint32_t)0xFFFFFFFE, 0); 02515 break; 02516 02517 case PIXELCOLUMN_13: 02518 /* Position : Row = 5 , Column= 13*/ 02519 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER1, (uint32_t)0xFFFFFFFD, 0); 02520 break; 02521 02522 case PIXELCOLUMN_14: 02523 /* Position : Row = 5 , Column= 14*/ 02524 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER1, (uint32_t)0xFFFFFFFB, 0); 02525 break; 02526 02527 case PIXELCOLUMN_15: 02528 /* Position : Row = 5 , Column= 15*/ 02529 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER1, (uint32_t)0xFFFFFFF7, 0); 02530 break; 02531 02532 case PIXELCOLUMN_16: 02533 /* Position : Row = 5 , Column= 16*/ 02534 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER1, (uint32_t)0xFFFFFFEF, 0); 02535 break; 02536 02537 case PIXELCOLUMN_17: 02538 /* Position : Row = 5 , Column= 17*/ 02539 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER1, (uint32_t)0xFFFFFFDF, 0); 02540 break; 02541 02542 case PIXELCOLUMN_18: 02543 /* Position : Row = 5 , Column= 18*/ 02544 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER1, (uint32_t)0xFFFFFFBF, 0); 02545 break; 02546 02547 case PIXELCOLUMN_19: 02548 /* Position : Row = 5 , Column= 19 */ 02549 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER1, (uint32_t)0xFFFFFF7F, 0); 02550 break; 02551 02552 default: 02553 break; 02554 } 02555 break; 02556 02557 case PIXELROW_6: 02558 switch (PixelColumn) 02559 { 02560 case PIXELCOLUMN_1: 02561 /* Position : Row = 6 , Column= 1 */ 02562 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER2, (uint32_t)0xFFDFFFFF, 0); 02563 break; 02564 02565 case PIXELCOLUMN_2: 02566 /* Position : Row = 6 , Column= 2 */ 02567 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER2, (uint32_t)0xFFBFFFFF, 0); 02568 break; 02569 02570 case PIXELCOLUMN_3: 02571 /* Position : Row = 6 , Column= 3 */ 02572 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER2, (uint32_t)0xFF7FFFFF, 0); 02573 break; 02574 02575 case PIXELCOLUMN_4: 02576 /* Position : Row = 6 , Column= 4 */ 02577 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER2, (uint32_t)0xFEFFFFFF, 0); 02578 break; 02579 02580 case PIXELCOLUMN_5: 02581 /* Position : Row = 6 , Column= 5 */ 02582 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER2, (uint32_t)0xFDFFFFFF, 0); 02583 break; 02584 02585 case PIXELCOLUMN_6: 02586 /* Position : Row = 6 , Column= 6 */ 02587 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER2, (uint32_t)0xFBFFFFFF, 0); 02588 break; 02589 02590 case PIXELCOLUMN_7: 02591 /* Position : Row = 6 , Column= 7 */ 02592 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER2, (uint32_t)0xF7FFFFFF, 0); 02593 break; 02594 02595 case PIXELCOLUMN_8: 02596 /* Position : Row = 6 , Column= 8 */ 02597 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER2, (uint32_t)0xEFFFFFFF, 0); 02598 break; 02599 02600 case PIXELCOLUMN_9: 02601 /* Position : Row = 6 , Column= 9*/ 02602 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER2, (uint32_t)0xDFFFFFFF, 0); 02603 break; 02604 02605 case PIXELCOLUMN_10: 02606 /* Position : Row = 6 , Column= 10*/ 02607 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER2, (uint32_t)0xBFFFFFFF, 0); 02608 break; 02609 02610 case PIXELCOLUMN_11: 02611 /* Position : Row = 6 , Column= 11*/ 02612 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER2, (uint32_t)0x7FFFFFFF, 0); 02613 break; 02614 02615 case PIXELCOLUMN_12: 02616 /* Position : Row = 6 , Column= 12*/ 02617 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER3, (uint32_t)0xFFFFFFFE, 0); 02618 break; 02619 02620 case PIXELCOLUMN_13: 02621 /* Position : Row = 6 , Column= 13*/ 02622 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER3, (uint32_t)0xFFFFFFFD, 0); 02623 break; 02624 02625 case PIXELCOLUMN_14: 02626 /* Position : Row = 6 , Column= 14*/ 02627 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER3, (uint32_t)0xFFFFFFFB, 0); 02628 break; 02629 02630 case PIXELCOLUMN_15: 02631 /* Position : Row = 6 , Column= 15*/ 02632 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER3, (uint32_t)0xFFFFFFF7, 0); 02633 break; 02634 02635 case PIXELCOLUMN_16: 02636 /* Position : Row = 6 , Column= 16*/ 02637 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER3, (uint32_t)0xFFFFFFEF, 0); 02638 break; 02639 02640 case PIXELCOLUMN_17: 02641 /* Position : Row = 6 , Column= 17*/ 02642 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER3, (uint32_t)0xFFFFFFDF, 0); 02643 break; 02644 02645 case PIXELCOLUMN_18: 02646 /* Position : Row = 6 , Column= 18*/ 02647 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER3, (uint32_t)0xFFFFFFBF, 0); 02648 break; 02649 02650 case PIXELCOLUMN_19: 02651 /* Position : Row = 6 , Column= 19 */ 02652 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER3, (uint32_t)0xFFFFFF7F, 0); 02653 break; 02654 02655 default: 02656 break; 02657 } 02658 break; 02659 02660 case PIXELROW_7: 02661 switch (PixelColumn) 02662 { 02663 case PIXELCOLUMN_1: 02664 /* Position : Row = 7 , Column =1 */ 02665 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER14, (uint32_t)0xFFDFFFFF, 0); 02666 break; 02667 02668 case PIXELCOLUMN_2: 02669 /* Position : Row = 7 , Column =2 */ 02670 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER14, (uint32_t)0xFFBFFFFF, 0); 02671 break; 02672 02673 case PIXELCOLUMN_3: 02674 /* Position : Row = 7 , Column =3 */ 02675 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER14, (uint32_t)0xFF7FFFFF, 0); 02676 break; 02677 02678 case PIXELCOLUMN_4: 02679 /* Position : Row = 7 , Column =4 */ 02680 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER14, (uint32_t)0xFEFFFFFF, 0); 02681 break; 02682 02683 case PIXELCOLUMN_5: 02684 /* Position : Row = 7 , Column =5 */ 02685 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER14, (uint32_t)0xFDFFFFFF, 0); 02686 break; 02687 02688 case PIXELCOLUMN_6: 02689 /* Position : Row = 7 , Column =6 */ 02690 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER14, (uint32_t)0xFBFFFFFF, 0); 02691 break; 02692 02693 case PIXELCOLUMN_7: 02694 /* Position : Row = 7 , Column =7 */ 02695 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER14, (uint32_t)0xF7FFFFFF, 0); 02696 break; 02697 02698 case PIXELCOLUMN_8: 02699 /* Position : Row = 7 , Column =8 */ 02700 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER14, (uint32_t)0xEFFFFFFF, 0); 02701 break; 02702 02703 case PIXELCOLUMN_9: 02704 /* Position : Row = 7 , Column =9*/ 02705 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER14, (uint32_t)0xDFFFFFFF, 0); 02706 break; 02707 02708 case PIXELCOLUMN_10: 02709 /* Position : Row = 7 , Column =10*/ 02710 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER14, (uint32_t)0xBFFFFFFF, 0); 02711 break; 02712 02713 case PIXELCOLUMN_11: 02714 /* Position : Row = 7 , Column =11*/ 02715 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER14, (uint32_t)0x7FFFFFFF, 0); 02716 break; 02717 02718 case PIXELCOLUMN_12: 02719 /* Position : Row = 7 , Column =12*/ 02720 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER15, (uint32_t)0xFFFFFFFE, 0); 02721 break; 02722 02723 case PIXELCOLUMN_13: 02724 /* Position : Row = 7 , Column =13*/ 02725 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER15, (uint32_t)0xFFFFFFFD, 0); 02726 break; 02727 02728 case PIXELCOLUMN_14: 02729 /* Position : Row = 7 , Column =14*/ 02730 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER15, (uint32_t)0xFFFFFFFB, 0); 02731 break; 02732 02733 case PIXELCOLUMN_15: 02734 /* Position : Row = 7 , Column =15*/ 02735 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER15, (uint32_t)0xFFFFFFF7, 0); 02736 break; 02737 02738 case PIXELCOLUMN_16: 02739 /* Position : Row = 7 , Column =16*/ 02740 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER15, (uint32_t)0xFFFFFFEF, 0); 02741 break; 02742 02743 case PIXELCOLUMN_17: 02744 /* Position : Row = 7 , Column =17*/ 02745 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER15, (uint32_t)0xFFFFFFDF, 0); 02746 break; 02747 02748 case PIXELCOLUMN_18: 02749 /* Position : Row = 7 , Column =18*/ 02750 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER15, (uint32_t)0xFFFFFFBF, 0); 02751 break; 02752 02753 case PIXELCOLUMN_19: 02754 /* Position : Row = 7 , Column =19 */ 02755 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER15, (uint32_t)0xFFFFFF7F, 0); 02756 break; 02757 02758 default: 02759 break; 02760 } 02761 break; 02762 02763 case PIXELROW_8: 02764 switch (PixelColumn) 02765 { 02766 case PIXELCOLUMN_1: 02767 /* Position : Row = 8 , Column =1 */ 02768 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER12, (uint32_t)0xFFDFFFFF, 0); 02769 break; 02770 02771 case PIXELCOLUMN_2: 02772 /* Position : Row = 8 , Column =2 */ 02773 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER12, (uint32_t)0xFFBFFFFF, 0); 02774 break; 02775 02776 case PIXELCOLUMN_3: 02777 /* Position : Row = 8 , Column =3 */ 02778 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER12, (uint32_t)0xFF7FFFFF, 0); 02779 break; 02780 02781 case PIXELCOLUMN_4: 02782 /* Position : Row = 8 , Column =4 */ 02783 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER12, (uint32_t)0xFEFFFFF0, 0); 02784 break; 02785 02786 case PIXELCOLUMN_5: 02787 /* Position : Row = 8 , Column =5 */ 02788 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER12, (uint32_t)0xFDFFFFFF, 0); 02789 break; 02790 02791 case PIXELCOLUMN_6: 02792 /* Position : Row = 8 , Column =6 */ 02793 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER12, (uint32_t)0xFBFFFFF0, 0); 02794 break; 02795 02796 case PIXELCOLUMN_7: 02797 /* Position : Row = 8 , Column =7 */ 02798 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER12, (uint32_t)0xF7FFFFFF, 0); 02799 break; 02800 02801 case PIXELCOLUMN_8: 02802 /* Position : Row = 8 , Column =8 */ 02803 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER12, (uint32_t)0xEFFFFFFF, 0); 02804 break; 02805 02806 case PIXELCOLUMN_9: 02807 /* Position : Row = 8 , Column =9*/ 02808 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER12, (uint32_t)0xDFFFFFFF, 0); 02809 break; 02810 02811 case PIXELCOLUMN_10: 02812 /* Position : Row = 8 , Column =10*/ 02813 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER12, (uint32_t)0xBFFFFFFF, 0); 02814 break; 02815 02816 case PIXELCOLUMN_11: 02817 /* Position : Row = 8 , Column =11*/ 02818 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER12, (uint32_t)0x7FFFFFFF, 0); 02819 break; 02820 02821 case PIXELCOLUMN_12: 02822 /* Position : Row = 8 , Column =12*/ 02823 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER13, (uint32_t)0xFFFFFFFE, 0); 02824 break; 02825 02826 case PIXELCOLUMN_13: 02827 /* Position : Row = 8 , Column =13*/ 02828 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER13, (uint32_t)0xFFFFFFFD, 0); 02829 break; 02830 02831 case PIXELCOLUMN_14: 02832 /* Position : Row = 8 , Column =14*/ 02833 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER13, (uint32_t)0xFFFFFFFB, 0); 02834 break; 02835 02836 case PIXELCOLUMN_15: 02837 /* Position : Row = 8 , Column =15*/ 02838 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER13, (uint32_t)0xFFFFFFF7, 0); 02839 break; 02840 02841 case PIXELCOLUMN_16: 02842 /* Position : Row = 8 , Column =16*/ 02843 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER13, (uint32_t)0xFFFFFFEF, 0); 02844 break; 02845 02846 case PIXELCOLUMN_17: 02847 /* Position : Row = 8 , Column =17*/ 02848 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER13, (uint32_t)0xFFFFFFDF, 0); 02849 break; 02850 02851 case PIXELCOLUMN_18: 02852 /* Position : Row = 8 , Column =18*/ 02853 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER13, (uint32_t)0xFFFFFFBF, 0); 02854 break; 02855 02856 case PIXELCOLUMN_19: 02857 /* Position : Row = 8 , Column =19 */ 02858 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER13, (uint32_t)0xFFFFFF7F, 0); 02859 break; 02860 02861 default: 02862 break; 02863 } 02864 break; 02865 02866 case PIXELROW_9: 02867 switch (PixelColumn) 02868 { 02869 case PIXELCOLUMN_1: 02870 /* Position : Row = 9 , Column =1 */ 02871 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER10, (uint32_t)0xFFDFFFFF, 0); 02872 break; 02873 02874 case PIXELCOLUMN_2: 02875 /* Position : Row = 9 , Column =2 */ 02876 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER10, (uint32_t)0xFFBFFFFF, 0); 02877 break; 02878 02879 case PIXELCOLUMN_3: 02880 /* Position : Row = 9 , Column =3 */ 02881 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER10, (uint32_t)0xFF7FFFFF, 0); 02882 break; 02883 02884 case PIXELCOLUMN_4: 02885 /* Position : Row = 9 , Column =4 */ 02886 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER10, (uint32_t)0xFEFFFFFF, 0); 02887 break; 02888 02889 case PIXELCOLUMN_5: 02890 /* Position : Row = 9 , Column =5 */ 02891 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER10, (uint32_t)0xFDFFFFFF, 0); 02892 break; 02893 02894 case PIXELCOLUMN_6: 02895 /* Position : Row = 9 , Column =6 */ 02896 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER10, (uint32_t)0xFBFFFFFF, 0); 02897 break; 02898 02899 case PIXELCOLUMN_7: 02900 /* Position : Row = 9 , Column =7 */ 02901 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER10, (uint32_t)0xF7FFFFFF, 0); 02902 break; 02903 02904 case PIXELCOLUMN_8: 02905 /* Position : Row = 9 , Column =8 */ 02906 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER10, (uint32_t)0xEFFFFFFF, 0); 02907 break; 02908 02909 case PIXELCOLUMN_9: 02910 /* Position : Row = 9 , Column =9*/ 02911 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER10, (uint32_t)0xDFFFFFFF, 0); 02912 break; 02913 02914 case PIXELCOLUMN_10: 02915 /* Position : Row = 9 , Column =10*/ 02916 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER10, (uint32_t)0xBFFFFFF, 0); 02917 break; 02918 02919 case PIXELCOLUMN_11: 02920 /* Position : Row = 9 , Column =11*/ 02921 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER10, (uint32_t)0x7FFFFFFF, 0); 02922 break; 02923 02924 case PIXELCOLUMN_12: 02925 /* Position : Row = 9 , Column =12*/ 02926 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER11, (uint32_t)0xFFFFFFFE, 0); 02927 break; 02928 02929 case PIXELCOLUMN_13: 02930 /* Position : Row = 9 , Column =13*/ 02931 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER11, (uint32_t)0xFFFFFFFD, 0); 02932 break; 02933 02934 case PIXELCOLUMN_14: 02935 /* Position : Row = 9 , Column =14*/ 02936 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER11, (uint32_t)0xFFFFFFFB, 0); 02937 break; 02938 02939 case PIXELCOLUMN_15: 02940 /* Position : Row = 9 , Column =15*/ 02941 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER11, (uint32_t)0xFFFFFFF7, 0); 02942 break; 02943 02944 case PIXELCOLUMN_16: 02945 /* Position : Row = 9 , Column =16*/ 02946 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER11, (uint32_t)0xFFFFFFEF, 0); 02947 break; 02948 02949 case PIXELCOLUMN_17: 02950 /* Position : Row = 9 , Column =17*/ 02951 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER11, (uint32_t)0xFFFFFFDF, 0); 02952 break; 02953 02954 case PIXELCOLUMN_18: 02955 /* Position : Row = 9 , Column =18*/ 02956 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER11, (uint32_t)0xFFFFFFBF, 0); 02957 break; 02958 02959 case PIXELCOLUMN_19: 02960 /* Position : Row = 9 , Column =19 */ 02961 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER11, (uint32_t)0xFFFFFF7F, 0); 02962 break; 02963 02964 default: 02965 break; 02966 } 02967 break; 02968 02969 case PIXELROW_10: 02970 switch (PixelColumn) 02971 { 02972 case PIXELCOLUMN_1: 02973 /* Position : Row = 10 , Column= 1 */ 02974 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER8, (uint32_t)0xFFDFFFFF, 0); 02975 break; 02976 02977 case PIXELCOLUMN_2: 02978 /* Position : Row = 10 , Column= 2 */ 02979 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER8, (uint32_t)0xFFBFFFFF, 0); 02980 break; 02981 02982 case PIXELCOLUMN_3: 02983 /* Position : Row = 10 , Column= 3 */ 02984 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER8, (uint32_t)0xFF7FFFFF, 0); 02985 break; 02986 02987 case PIXELCOLUMN_4: 02988 /* Position : Row = 10 , Column= 4 */ 02989 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER8, (uint32_t)0xFEFFFFFF, 0); 02990 break; 02991 02992 case PIXELCOLUMN_5: 02993 /* Position : Row = 10 , Column= 5 */ 02994 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER8, (uint32_t)0xFDFFFFFF, 0); 02995 break; 02996 02997 case PIXELCOLUMN_6: 02998 /* Position : Row = 10 , Column= 6 */ 02999 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER8, (uint32_t)0xFBFFFFFF, 0); 03000 break; 03001 03002 case PIXELCOLUMN_7: 03003 /* Position : Row = 10 , Column= 7 */ 03004 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER8, (uint32_t)0xF7FFFFFF, 0); 03005 break; 03006 03007 case PIXELCOLUMN_8: 03008 /* Position : Row = 10 , Column= 8 */ 03009 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER8, (uint32_t)0xEFFFFFFF, 0); 03010 break; 03011 03012 case PIXELCOLUMN_9: 03013 /* Position : Row = 10 , Column= 9*/ 03014 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER8, (uint32_t)0xDFFFFFFF, 0); 03015 break; 03016 03017 case PIXELCOLUMN_10: 03018 /* Position : Row = 10 , Column= 10*/ 03019 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER8, (uint32_t)0xBFFFFFFF, 0); 03020 break; 03021 03022 case PIXELCOLUMN_11: 03023 /* Position : Row = 10 , Column= 11*/ 03024 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER8, (uint32_t)0x7FFFFFFF, 0); 03025 break; 03026 03027 case PIXELCOLUMN_12: 03028 /* Position : Row = 10 , Column= 12*/ 03029 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER9, (uint32_t)0xFFFFFFFE, 0); 03030 break; 03031 03032 case PIXELCOLUMN_13: 03033 /* Position : Row = 10 , Column= 13*/ 03034 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER9, (uint32_t)0xFFFFFFFD, 0); 03035 break; 03036 03037 case PIXELCOLUMN_14: 03038 /* Position : Row = 10 , Column= 14*/ 03039 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER9, (uint32_t)0xFFFFFFFB, 0); 03040 break; 03041 03042 case PIXELCOLUMN_15: 03043 /* Position : Row = 10 , Column= 15*/ 03044 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER9, (uint32_t)0xFFFFFFF7, 0); 03045 break; 03046 03047 case PIXELCOLUMN_16: 03048 /* Position : Row = 10 , Column= 16*/ 03049 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER9, (uint32_t)0xFFFFFFEF, 0); 03050 break; 03051 03052 case PIXELCOLUMN_17: 03053 /* Position : Row = 10 , Column= 17*/ 03054 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER9, (uint32_t)0xFFFFFFDF, 0); 03055 break; 03056 03057 case PIXELCOLUMN_18: 03058 /* Position : Row = 10 , Column= 18*/ 03059 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER9, (uint32_t)0xFFFFFFBF, 0); 03060 break; 03061 03062 case PIXELCOLUMN_19: 03063 /* Position : Row = 10 , Column= 19 */ 03064 HAL_LCD_Write(&LCDHandle, LCD_RAM_REGISTER9, (uint32_t)0xFFFFFF7F, 0); 03065 break; 03066 03067 default: 03068 break; 03069 } 03070 break; 03071 } 03072 03073 /*!< Request LCD RAM update */ 03074 HAL_LCD_UpdateDisplayRequest(&LCDHandle); 03075 } 03076 03077 /** 03078 * @} 03079 */ 03080 03081 /** @addtogroup STM32L476G_EVAL_LCD_Private_Functions 03082 * @{ 03083 */ 03084 03085 /** 03086 * @brief LCD MSP Init. 03087 * @param hlcd: LCD handle 03088 * @retval None 03089 */ 03090 static void LCD_MspInit(LCD_HandleTypeDef *hlcd) 03091 { 03092 GPIO_InitTypeDef gpioinitstruct = {0}; 03093 RCC_OscInitTypeDef oscinitstruct = {0}; 03094 03095 /*##-1- Enable PWR peripheral Clock #######################################*/ 03096 __HAL_RCC_PWR_CLK_ENABLE(); 03097 03098 /*##-2- Allow Access and Reset the Backup Domaine ##########################*/ 03099 /* Allow Access to Backup Domaine */ 03100 HAL_PWR_EnableBkUpAccess(); 03101 03102 /* Reset the Backup Domaine */ 03103 __HAL_RCC_BACKUPRESET_FORCE(); 03104 __HAL_RCC_BACKUPRESET_RELEASE(); 03105 03106 /*##-3- Configue LSE as RTC clock soucre ###################################*/ 03107 oscinitstruct.OscillatorType = RCC_OSCILLATORTYPE_LSE; 03108 oscinitstruct.PLL.PLLState = RCC_PLL_NONE; 03109 oscinitstruct.LSEState = RCC_LSE_ON; 03110 if(HAL_RCC_OscConfig(&oscinitstruct) != HAL_OK) 03111 { 03112 while(1); 03113 } 03114 __HAL_RCC_RTC_CONFIG(RCC_RTCCLKSOURCE_LSE); 03115 03116 03117 /*##-4- Enable LCD GPIO Clocks #############################################*/ 03118 __HAL_RCC_GPIOA_CLK_ENABLE(); 03119 __HAL_RCC_GPIOB_CLK_ENABLE(); 03120 __HAL_RCC_GPIOC_CLK_ENABLE(); 03121 __HAL_RCC_GPIOD_CLK_ENABLE(); 03122 __HAL_RCC_GPIOE_CLK_ENABLE(); 03123 03124 /*##-5- Configure peripheral GPIO ##########################################*/ 03125 /* Configure Output for LCD */ 03126 /* Port A */ 03127 gpioinitstruct.Pin = GPIO_PIN_1 | GPIO_PIN_2 | GPIO_PIN_3 | GPIO_PIN_6 | \ 03128 GPIO_PIN_7 | GPIO_PIN_8 | GPIO_PIN_9 | GPIO_PIN_10 | \ 03129 GPIO_PIN_15; 03130 gpioinitstruct.Mode = GPIO_MODE_AF_PP; 03131 gpioinitstruct.Pull = GPIO_NOPULL; 03132 gpioinitstruct.Speed = GPIO_SPEED_MEDIUM; 03133 gpioinitstruct.Alternate = GPIO_AF11_LCD; 03134 HAL_GPIO_Init(GPIOA, &gpioinitstruct); 03135 03136 03137 /* Configure Output for LCD */ 03138 /* Port B */ 03139 gpioinitstruct.Pin = GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_3 | GPIO_PIN_4 | \ 03140 GPIO_PIN_5 | GPIO_PIN_8 | GPIO_PIN_9 | GPIO_PIN_10 | \ 03141 GPIO_PIN_11 | GPIO_PIN_12 | GPIO_PIN_13 | GPIO_PIN_14 | \ 03142 GPIO_PIN_15; 03143 HAL_GPIO_Init(GPIOB, &gpioinitstruct); 03144 03145 03146 /* Configure Output for LCD */ 03147 /* Port C*/ 03148 gpioinitstruct.Pin = GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_2 | GPIO_PIN_3 | \ 03149 GPIO_PIN_4 | GPIO_PIN_5 | GPIO_PIN_6 | GPIO_PIN_7 | \ 03150 GPIO_PIN_8 | GPIO_PIN_9 | GPIO_PIN_10 | GPIO_PIN_11 | \ 03151 GPIO_PIN_12; 03152 HAL_GPIO_Init(GPIOC, &gpioinitstruct); 03153 03154 /* Configure Output for LCD */ 03155 /* Port D*/ 03156 gpioinitstruct.Pin = GPIO_PIN_2 | GPIO_PIN_8 | GPIO_PIN_9 | GPIO_PIN_10 | \ 03157 GPIO_PIN_11 | GPIO_PIN_12 | GPIO_PIN_13 | GPIO_PIN_14 | \ 03158 GPIO_PIN_15; 03159 HAL_GPIO_Init(GPIOD, &gpioinitstruct); 03160 03161 /* Configure Output for LCD */ 03162 /* Port E*/ 03163 gpioinitstruct.Pin = GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_2 | GPIO_PIN_3; 03164 HAL_GPIO_Init(GPIOE, &gpioinitstruct); 03165 03166 /*##-6- Enable LCD peripheral Clock ########################################*/ 03167 __HAL_RCC_LCD_CLK_ENABLE(); 03168 } 03169 03170 /** 03171 * @brief Converts an ascii char to the a LCD Digit (previous coding). 03172 * @param c: a char to display. 03173 * @param Point: a point to add in front of a char 03174 * This parameter can be: POINT_OFF or POINT_ON 03175 * @param DoublePoint: flag indicating if Double Point has to be added in front 03176 * of the displayed character. 03177 * This parameter can be: DOUBLEPOINT_ON or DOUBLEPOINT_OFF. 03178 * @retval None 03179 */ 03180 static void Convert(uint8_t* c, Point_Typedef Point, DoublePoint_Typedef DoublePoint) 03181 { 03182 uint32_t ch = 0 , tmp = 0; 03183 uint8_t i = 0; 03184 03185 /* The character c is a letter in upper case*/ 03186 if ((*c < (uint8_t)ASCII_CHAR_LEFT_OPEN_BRACKET)&(*c > (uint8_t)ASCII_CHAR_AT_SYMBOL)) 03187 { 03188 ch = LetterMap[*c-(uint8_t)ASCII_CHAR_A]; 03189 } 03190 /* The character c is a number*/ 03191 if ((*c < (uint8_t)ASCII_CHAR_COLON)&(*c > (uint8_t)ASCII_CHAR_FORWARD_SLASH)) 03192 { 03193 ch = NumberMap[*c-(uint8_t)ASCII_CHAR_0]; 03194 } 03195 /* The character c is a space character */ 03196 if (*c == (uint8_t)ASCII_CHAR_SPACE) 03197 { 03198 ch = (uint32_t)0x00; 03199 } 03200 /* Set the Q pixel in the character that can be displayed if the point is on */ 03201 if (Point == POINT_ON) 03202 { 03203 ch |= (uint32_t)0x00400000; 03204 } 03205 03206 /* Set the P pixel in the character that can be displayed if the double point is on */ 03207 if (DoublePoint == DOUBLEPOINT_ON) 03208 { 03209 ch |= (uint32_t)0x00000040; 03210 } 03211 03212 for (i = 0;i < 6; i++) 03213 { 03214 tmp = ch & Mask[i]; 03215 Digit[i] = (uint8_t)(tmp >> (uint8_t)Shift[i]); 03216 } 03217 } 03218 03219 /** 03220 * @} 03221 */ 03222 03223 /** 03224 * @} 03225 */ 03226 03227 /** 03228 * @} 03229 */ 03230 03231 /** 03232 * @} 03233 */ 03234 03235 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
Generated on Sun Jun 21 2015 23:46:41 for STM32L476G_EVAL BSP User Manual by
