From dd0ebdfeb05f2923237a6822a2588cff845db2f5 Mon Sep 17 00:00:00 2001 From: Th3maz1ng Date: Fri, 23 Dec 2022 23:22:18 +0100 Subject: [PATCH] Added the pwm initialization code for the backlight --- src/W800 SDK v1.00.08/app/drivers/lcd/lcd.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/W800 SDK v1.00.08/app/drivers/lcd/lcd.c b/src/W800 SDK v1.00.08/app/drivers/lcd/lcd.c index 49a6db1..12ccf28 100644 --- a/src/W800 SDK v1.00.08/app/drivers/lcd/lcd.c +++ b/src/W800 SDK v1.00.08/app/drivers/lcd/lcd.c @@ -3,6 +3,7 @@ #include "mmc_sdio.h" #include "lcd.h" #include "app_log.h" +#include "wm_gpio_afsel.h" /** * @brief Prototype of functions only used internally : @@ -257,7 +258,9 @@ void lcd_init(LCDConfig_t * const LCDConfig) if(!LCDConfig) return; // Backlight is controlled using PWM - tls_gpio_cfg(LCDConfig->LCDPWMBacklightPin, WM_GPIO_DIR_OUTPUT, WM_GPIO_ATTR_FLOATING); + wm_pwm4_config(LCDConfig->LCDPWMBacklightPin); + tls_pwm_init(4, 10000, 0, 0); + //tls_gpio_cfg(LCDConfig->LCDPWMBacklightPin, WM_GPIO_DIR_OUTPUT, WM_GPIO_ATTR_FLOATING); tls_gpio_cfg(LCDConfig->LCDChipSelectPin, WM_GPIO_DIR_OUTPUT, WM_GPIO_ATTR_FLOATING); tls_gpio_cfg(LCDConfig->LCDDataCommandPin, WM_GPIO_DIR_OUTPUT, WM_GPIO_ATTR_FLOATING); @@ -353,7 +356,7 @@ spi_write_9_bit(LCDConfig, false, 0x29); #endif - lcd_set_backlight(LCDConfig, 1); + lcd_set_backlight(LCDConfig, 255); } void lcd_draw_rect_frame(LCDConfig_t * const LCDConfig, uint16_t x, uint16_t y, uint16_t width, uint16_t height, uint8_t *data) @@ -374,10 +377,7 @@ void lcd_set_backlight(LCDConfig_t * const LCDConfig, uint8_t brightness) { if(!LCDConfig) return; - if(brightness) - tls_gpio_write(LCDConfig->LCDPWMBacklightPin, 1); - else - tls_gpio_write(LCDConfig->LCDPWMBacklightPin, 0); + tls_pwm_duty_set(4, brightness); } void lcd_hardware_reset(LCDConfig_t * const LCDConfig)