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