File tree Expand file tree Collapse file tree 2 files changed +6
-2
lines changed Expand file tree Collapse file tree 2 files changed +6
-2
lines changed Original file line number Diff line number Diff line change @@ -112,6 +112,7 @@ namespace pimoroni {
112112
113113 command (reg::INVON); // set inversion mode
114114 command (reg::SLPOUT); // leave sleep mode
115+ display_sleep = false ;
115116
116117 configure_display (rotation);
117118
@@ -325,12 +326,14 @@ namespace pimoroni {
325326 float gamma = 2.8 ;
326327 uint16_t value = (uint16_t )(pow ((float )(brightness) / 255 .0f , gamma) * 65535 .0f + 0 .5f );
327328 pwm_set_gpio_level (bl, value);
328- if (brightness == 0 ) {
329+ if (brightness == 0 && !display_sleep ) {
329330 command (reg::SLPOUT); // leave sleep mode
330331 sleep_ms (5 );
331- } else {
332+ display_sleep = true ;
333+ } else if (display_sleep) {
332334 command (reg::SLPOUT); // leave sleep mode
333335 sleep_ms (120 );
336+ display_sleep = false ;
334337 }
335338 }
336339}
Original file line number Diff line number Diff line change @@ -44,6 +44,7 @@ namespace pimoroni {
4444 uint parallel_offset;
4545 uint st_dma;
4646 bool display_on = false ;
47+ bool display_sleep = false ;
4748
4849
4950 // The ST7789 requires 16 ns between SPI rising edges.
You can’t perform that action at this time.
0 commit comments