浏览代码

Better animated boot screen

Scott Lahteine 4 年前
父节点
当前提交
9c9113e225
共有 3 个文件被更改,包括 12 次插入12 次删除
  1. 10
    2
      Marlin/src/lcd/dogm/marlinui_DOGM.cpp
  2. 1
    5
      Marlin/src/lcd/tft/ui_320x240.cpp
  3. 1
    5
      Marlin/src/lcd/tft/ui_480x320.cpp

+ 10
- 2
Marlin/src/lcd/dogm/marlinui_DOGM.cpp 查看文件

144
         constexpr millis_t d = 0;
144
         constexpr millis_t d = 0;
145
         constexpr uint8_t f = 0;
145
         constexpr uint8_t f = 0;
146
       #else
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
         LOOP_L_N(f, COUNT(custom_bootscreen_animation))
150
         LOOP_L_N(f, COUNT(custom_bootscreen_animation))
149
       #endif
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
           u8g.firstPage();
157
           u8g.firstPage();
152
           do { draw_custom_bootscreen(f); } while (u8g.nextPage());
158
           do { draw_custom_bootscreen(f); } while (u8g.nextPage());
153
           if (d) safe_delay(d);
159
           if (d) safe_delay(d);
156
       #ifndef CUSTOM_BOOTSCREEN_TIMEOUT
162
       #ifndef CUSTOM_BOOTSCREEN_TIMEOUT
157
         #define CUSTOM_BOOTSCREEN_TIMEOUT 2500
163
         #define CUSTOM_BOOTSCREEN_TIMEOUT 2500
158
       #endif
164
       #endif
159
-      safe_delay(CUSTOM_BOOTSCREEN_TIMEOUT);
165
+      #if CUSTOM_BOOTSCREEN_TIMEOUT
166
+        safe_delay(CUSTOM_BOOTSCREEN_TIMEOUT);
167
+      #endif
160
     }
168
     }
161
   #endif // SHOW_CUSTOM_BOOTSCREEN
169
   #endif // SHOW_CUSTOM_BOOTSCREEN
162
 
170
 

+ 1
- 5
Marlin/src/lcd/tft/ui_320x240.cpp 查看文件

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

+ 1
- 5
Marlin/src/lcd/tft/ui_480x320.cpp 查看文件

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

正在加载...
取消
保存