Ver código fonte

Better animated boot screen

Scott Lahteine 4 anos atrás
pai
commit
9c9113e225

+ 10
- 2
Marlin/src/lcd/dogm/marlinui_DOGM.cpp Ver arquivo

@@ -144,10 +144,16 @@ bool MarlinUI::detected() { return true; }
144 144
         constexpr millis_t d = 0;
145 145
         constexpr uint8_t f = 0;
146 146
       #else
147
-        constexpr millis_t d = CUSTOM_BOOTSCREEN_FRAME_TIME;
147
+        #if DISABLED(CUSTOM_BOOTSCREEN_ANIMATED_FRAME_TIME)
148
+          constexpr millis_t d = CUSTOM_BOOTSCREEN_FRAME_TIME;
149
+        #endif
148 150
         LOOP_L_N(f, COUNT(custom_bootscreen_animation))
149 151
       #endif
150 152
         {
153
+          #if ENABLED(CUSTOM_BOOTSCREEN_ANIMATED_FRAME_TIME)
154
+            const uint8_t fr = _MIN(f, COUNT(custom_bootscreen_frame_time) - 1);
155
+            const millis_t d = custom_bootscreen_frame_time[fr];
156
+          #endif
151 157
           u8g.firstPage();
152 158
           do { draw_custom_bootscreen(f); } while (u8g.nextPage());
153 159
           if (d) safe_delay(d);
@@ -156,7 +162,9 @@ bool MarlinUI::detected() { return true; }
156 162
       #ifndef CUSTOM_BOOTSCREEN_TIMEOUT
157 163
         #define CUSTOM_BOOTSCREEN_TIMEOUT 2500
158 164
       #endif
159
-      safe_delay(CUSTOM_BOOTSCREEN_TIMEOUT);
165
+      #if CUSTOM_BOOTSCREEN_TIMEOUT
166
+        safe_delay(CUSTOM_BOOTSCREEN_TIMEOUT);
167
+      #endif
160 168
     }
161 169
   #endif // SHOW_CUSTOM_BOOTSCREEN
162 170
 

+ 1
- 5
Marlin/src/lcd/tft/ui_320x240.cpp Ver arquivo

@@ -88,10 +88,6 @@ void MarlinUI::clear_lcd() {
88 88
 }
89 89
 
90 90
 #if ENABLED(SHOW_BOOTSCREEN)
91
-  #ifndef BOOTSCREEN_TIMEOUT
92
-    #define BOOTSCREEN_TIMEOUT 1500
93
-  #endif
94
-
95 91
   void MarlinUI::show_bootscreen() {
96 92
     tft.queue.reset();
97 93
 
@@ -106,7 +102,7 @@ void MarlinUI::clear_lcd() {
106 102
     safe_delay(BOOTSCREEN_TIMEOUT);
107 103
     clear_lcd();
108 104
   }
109
-#endif // SHOW_BOOTSCREEN
105
+#endif
110 106
 
111 107
 void MarlinUI::draw_kill_screen() {
112 108
   tft.queue.reset();

+ 1
- 5
Marlin/src/lcd/tft/ui_480x320.cpp Ver arquivo

@@ -90,10 +90,6 @@ void MarlinUI::clear_lcd() {
90 90
 }
91 91
 
92 92
 #if ENABLED(SHOW_BOOTSCREEN)
93
-  #ifndef BOOTSCREEN_TIMEOUT
94
-    #define BOOTSCREEN_TIMEOUT 1500
95
-  #endif
96
-
97 93
   #undef BOOTSCREEN_TIMEOUT
98 94
   #define BOOTSCREEN_TIMEOUT 5000
99 95
 
@@ -112,7 +108,7 @@ void MarlinUI::clear_lcd() {
112 108
     safe_delay(BOOTSCREEN_TIMEOUT);
113 109
     clear_lcd();
114 110
   }
115
-#endif // SHOW_BOOTSCREEN
111
+#endif
116 112
 
117 113
 void MarlinUI::draw_kill_screen() {
118 114
   tft.queue.reset();

Carregando…
Cancelar
Salvar