void set_contrast(ST7789Spi *display, uint8_t value) { }
#elif BOARD_MODEL == BOARD_TECHO
void set_contrast(void *display, uint8_t value) {
- if (value == 0) { digitalWrite(pin_backlight, LOW); }
+ if (value == 0) { analogWrite(pin_backlight, 0); }
else { analogWrite(pin_backlight, value); }
}
#elif BOARD_MODEL == BOARD_TDECK
display.epd2.setBusyCallback(busyCallback);
#if HAS_BACKLIGHT
pinMode(pin_backlight, OUTPUT);
- digitalWrite(pin_backlight, LOW);
+ analogWrite(pin_backlight, 0);
#endif
#elif BOARD_MODEL == BOARD_TBEAM_S_V1
Wire.begin(SDA_OLED, SCL_OLED);
#if BOARD_MODEL == BOARD_TECHO
#if HAS_BACKLIGHT
- if (display_intensity == 0) { digitalWrite(pin_backlight, LOW); }
+ if (display_intensity == 0) { analogWrite(pin_backlight, 0); }
else { analogWrite(pin_backlight, display_intensity); }
#endif
#endif
bool epd_blanked = false;
#if BOARD_MODEL == BOARD_TECHO
- void epd_blank() {
+ void epd_blank(bool full_update = true) {
display.setFullWindow();
display.fillScreen(SSD1306_WHITE);
- display.display(true);
+ display.display(full_update);
+ }
+
+ void epd_black(bool full_update = true) {
+ display.setFullWindow();
+ display.fillScreen(SSD1306_BLACK);
+ display.display(full_update);
}
#endif
digitalWrite(PIN_T114_TFT_BLGT, HIGH);
digitalWrite(PIN_T114_TFT_EN, HIGH);
#elif BOARD_MODEL == BOARD_TECHO
- digitalWrite(pin_backlight, LOW);
- epd_blank();
+ for (uint8_t i = display_intensity; i > 0; i--) { analogWrite(pin_backlight, i-1); delay(1); }
+ epd_black(true); delay(300); epd_black(true);
+ analogWrite(PIN_VEXT_EN, 0);
+ delay(100);
#endif
sd_power_gpregret_set(0, 0x6d);
nrf_gpio_cfg_sense_input(pin_btn_usr1, NRF_GPIO_PIN_PULLUP, NRF_GPIO_PIN_SENSE_LOW);