|
10 | 10 | #include "disp_spi.h" |
11 | 11 | #include "driver/i2c.h" |
12 | 12 | #include "driver/gpio.h" |
| 13 | +#include "driver/ledc.h" |
13 | 14 | #include "esp_log.h" |
14 | 15 | #include "freertos/FreeRTOS.h" |
15 | 16 | #include "freertos/task.h" |
@@ -172,6 +173,51 @@ void st7735s_sleep_out() |
172 | 173 | st7735s_send_cmd(0x11); |
173 | 174 | } |
174 | 175 |
|
| 176 | +void st7735s_brightness_control_enable(void) |
| 177 | +{ |
| 178 | + /* |
| 179 | + Configure LED (Backlight) pin as PWM for Brightness control. |
| 180 | + */ |
| 181 | + ledc_channel_config_t LCD_backlight_channel = { |
| 182 | + .gpio_num = ST7735S_BCKL, |
| 183 | + .speed_mode = LEDC_LOW_SPEED_MODE, |
| 184 | + .channel = LEDC_CHANNEL_0, |
| 185 | + .intr_type = LEDC_INTR_DISABLE, |
| 186 | + .timer_sel = LEDC_TIMER_0, |
| 187 | + .duty = 0, |
| 188 | + .hpoint = 0, |
| 189 | + .flags.output_invert = 0 |
| 190 | + }; |
| 191 | + ledc_timer_config_t LCD_backlight_timer = { |
| 192 | + .speed_mode = LEDC_LOW_SPEED_MODE, |
| 193 | + .bit_num = LEDC_TIMER_10_BIT, |
| 194 | + .timer_num = LEDC_TIMER_0, |
| 195 | + .freq_hz = 5000, |
| 196 | + .clk_cfg = LEDC_AUTO_CLK |
| 197 | + }; |
| 198 | + |
| 199 | + ESP_ERROR_CHECK( ledc_timer_config(&LCD_backlight_timer) ); |
| 200 | + ESP_ERROR_CHECK( ledc_channel_config(&LCD_backlight_channel) ); |
| 201 | + |
| 202 | +} |
| 203 | + |
| 204 | +void st7735s_set_brightness(uint16_t brightness) |
| 205 | +{ |
| 206 | + /* |
| 207 | + Set brightness. |
| 208 | + 0 -> Display off |
| 209 | + 100 -> Full brightness |
| 210 | + NOTE: brightness value must be between 0 - 100 |
| 211 | + */ |
| 212 | + if(brightness > 100) |
| 213 | + { |
| 214 | + ESP_LOGE(TAG, "Brightness value must be between 0 - 100"); |
| 215 | + return; |
| 216 | + } |
| 217 | + ESP_ERROR_CHECK( ledc_set_duty(LEDC_LOW_SPEED_MODE, LEDC_CHANNEL_0, brightness*10) ); |
| 218 | + ESP_ERROR_CHECK( ledc_update_duty(LEDC_LOW_SPEED_MODE, LEDC_CHANNEL_0) ); |
| 219 | +} |
| 220 | + |
175 | 221 | /********************** |
176 | 222 | * STATIC FUNCTIONS |
177 | 223 | **********************/ |
|
0 commit comments