@@ -611,7 +611,149 @@ void TFT_eSPI::begin(uint8_t tc)
611611 init (tc);
612612}
613613
614+ void TFT_eSPI::initFromSleep (uint8_t tc)
615+ {
614616
617+ if (!_booted) return ;
618+ _booted = false ;
619+
620+ initBus ();
621+
622+ spi.begin (TFT_SCLK, TFT_MISO, TFT_MOSI, -1 );
623+
624+ lockTransaction = false ;
625+ inTransaction = false ;
626+ locked = true ;
627+
628+ INIT_TFT_DATA_BUS;
629+
630+ #if defined(TFT_CS)
631+ if (TFT_CS >= 0 ) {
632+ pinMode (TFT_CS, OUTPUT);
633+ digitalWrite (TFT_CS, HIGH);
634+ }
635+ #endif
636+
637+ #if defined(TFT_DC)
638+ if (TFT_DC >= 0 ) {
639+ pinMode (TFT_DC, OUTPUT);
640+ digitalWrite (TFT_DC, HIGH);
641+ }
642+ #endif
643+
644+ #ifdef TFT_RST
645+ if (TFT_RST >= 0 ) {
646+ pinMode (TFT_RST, OUTPUT);
647+ }
648+ #else
649+ writecommand (TFT_SWRST);
650+ #endif
651+
652+ tc = tc; // Suppress warning
653+
654+ #if defined (ILI9341_DRIVER) || defined(ILI9341_2_DRIVER) || defined (ILI9342_DRIVER)
655+ #include " TFT_Drivers/ILI9341_Init.h"
656+
657+ #elif defined (ST7735_DRIVER)
658+ tabcolor = tc;
659+ #include " TFT_Drivers/ST7735_Init.h"
660+
661+ #elif defined (ILI9163_DRIVER)
662+ #include " TFT_Drivers/ILI9163_Init.h"
663+
664+ #elif defined (S6D02A1_DRIVER)
665+ #include " TFT_Drivers/S6D02A1_Init.h"
666+
667+ #elif defined (ST7796_DRIVER)
668+ #include " TFT_Drivers/ST7796_Init.h"
669+
670+ #elif defined (ILI9486_DRIVER)
671+ #include " TFT_Drivers/ILI9486_Init.h"
672+
673+ #elif defined (ILI9481_DRIVER)
674+ #include " TFT_Drivers/ILI9481_Init.h"
675+
676+ #elif defined (ILI9488_DRIVER)
677+ #include " TFT_Drivers/ILI9488_Init.h"
678+
679+ #elif defined (HX8357D_DRIVER)
680+ #include " TFT_Drivers/HX8357D_Init.h"
681+
682+ #elif defined (ST7789_DRIVER)
683+ #include " TFT_Drivers/ST7789_Init.h"
684+
685+ #elif defined (R61581_DRIVER)
686+ #include " TFT_Drivers/R61581_Init.h"
687+
688+ #elif defined (RM68140_DRIVER)
689+ #include " TFT_Drivers/RM68140_Init.h"
690+
691+ #elif defined (ST7789_2_DRIVER)
692+ #include " TFT_Drivers/ST7789_2_Init.h"
693+
694+ #elif defined (SSD1351_DRIVER)
695+ #include " TFT_Drivers/SSD1351_Init.h"
696+
697+ #elif defined (SSD1963_DRIVER)
698+ #include " TFT_Drivers/SSD1963_Init.h"
699+
700+ #elif defined (GC9A01_DRIVER)
701+ #include " TFT_Drivers/GC9A01_Init.h"
702+
703+ #elif defined (ILI9225_DRIVER)
704+ #include " TFT_Drivers/ILI9225_Init.h"
705+
706+ #elif defined (RM68120_DRIVER)
707+ #include " TFT_Drivers/RM68120_Init.h"
708+
709+ #elif defined (HX8357B_DRIVER)
710+ #include " TFT_Drivers/HX8357B_Init.h"
711+
712+ #elif defined (HX8357C_DRIVER)
713+ #include " TFT_Drivers/HX8357C_Init.h"
714+
715+ #elif defined (UC8179_DRIVER)
716+ #include " TFT_Drivers/UC8179_Init.h"
717+
718+ #elif defined (SSD1680_DRIVER)
719+ #include " TFT_Drivers/SSD1680_Init.h"
720+
721+ #elif defined (SSD1681_DRIVER)
722+ #include " TFT_Drivers/SSD1681_Init.h"
723+
724+ #elif defined (SSD1683_DRIVER)
725+ #include " TFT_Drivers/SSD1683_Init.h"
726+
727+ #elif defined (SSD1677_DRIVER)
728+ #include " TFT_Drivers/SSD1677_Init.h"
729+
730+ #elif defined (JD79686B_DRIVER)
731+ #include " TFT_Drivers/JD79686B_Init.h"
732+
733+ #elif defined (ED2208_DRIVER)
734+ #include " TFT_Drivers/ED2208_Init.h"
735+
736+ #elif defined (ED103TC2_DRIVER)
737+ #include " TFT_Drivers/ED103TC2_Init_Wake.h"
738+
739+ #elif defined (T133A01_DRIVER)
740+ #include " TFT_Drivers/T133A01_Init.h"
741+
742+ #elif defined (JD79667_DRIVER)
743+ #include " TFT_Drivers/JD79667_Init.h"
744+
745+ #elif defined (JD79676_DRIVER)
746+ #include " TFT_Drivers/JD79676_Init.h"
747+
748+ #endif
749+
750+ #if defined (TFT_BL) && defined (TFT_BACKLIGHT_ON)
751+ if (TFT_BL >= 0 ) {
752+ pinMode (TFT_BL, OUTPUT);
753+ digitalWrite (TFT_BL, TFT_BACKLIGHT_ON);
754+ }
755+ #endif
756+ }
615757/* **************************************************************************************
616758** Function name: init (tc is tab colour for ST7735 displays only)
617759** Description: Reset, then initialise the TFT display registers
0 commit comments