Browse Source

IDEX clean up (#11690)

Roxy-3D 6 years ago
parent
commit
7680b64aa6
No account linked to committer's email address

+ 177
- 0
Marlin/_Bootscreen.h View File

@@ -0,0 +1,177 @@
1
+/**
2
+ * Marlin 3D Printer Firmware
3
+ * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
4
+ *
5
+ * Based on Sprinter and grbl.
6
+ * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
7
+ *
8
+ * This program is free software: you can redistribute it and/or modify
9
+ * it under the terms of the GNU General Public License as published by
10
+ * the Free Software Foundation, either version 3 of the License, or
11
+ * (at your option) any later version.
12
+ *
13
+ * This program is distributed in the hope that it will be useful,
14
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16
+ * GNU General Public License for more details.
17
+ *
18
+ * You should have received a copy of the GNU General Public License
19
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
20
+ *
21
+ */
22
+
23
+/**
24
+ * Custom Bitmap for splashscreen
25
+ *
26
+ * You may use one of the following tools to generate the C++ bitmap array from
27
+ * a black and white image:
28
+ *
29
+ *  - http://www.marlinfw.org/tools/u8glib/converter.html
30
+ *  - http://www.digole.com/tools/PicturetoC_Hex_converter.php
31
+ */
32
+#include <avr/pgmspace.h>
33
+
34
+#define CUSTOM_BOOTSCREEN_TIMEOUT   2500
35
+
36
+#define CUSTOM_BOOTSCREEN_BMPWIDTH  128
37
+#define CUSTOM_BOOTSCREEN_BMPHEIGHT 64
38
+
39
+#ifdef TREX3 
40
+const unsigned char custom_start_bmp[] PROGMEM = {
41
+B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00001111,  // 0
42
+B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000001,
43
+B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000001,
44
+B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11111111,B11111110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000001,
45
+B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000011,B11111111,B11111111,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,  // 4
46
+B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00001111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
47
+B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11111111,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
48
+B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11111111,B11111111,B11111111,B11111100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
49
+B00000000,B00000000,B00000000,B00000000,B00000000,B00000011,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,  // 8
50
+B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
51
+B00000000,B00000000,B00000000,B00000000,B00000000,B00001111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
52
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
53
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,  // 12
54
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00011111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,
55
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,
56
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,
57
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,  // 16
58
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,
59
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,
60
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,
61
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,  // 20
62
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,
63
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,
64
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,
65
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,  // 24
66
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,
67
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,
68
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00011111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,
69
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,  // 28
70
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
71
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
72
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
73
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,  // 32
74
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
75
+B00000000,B00000000,B00000000,B00000000,B00000000,B00001111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,
76
+B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B11100000,B00111111,B11111111,B11111111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,
77
+B00000000,B00000000,B00000000,B00000000,B00000000,B00000011,B11100000,B00111111,B11111111,B11111111,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,  // 36
78
+B00000000,B00000000,B00000000,B00000000,B00000000,B00000001,B11100000,B00111111,B11111111,B11111111,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
79
+B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11100000,B00111111,B11111111,B11111110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
80
+B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B00111111,B11111111,B11111100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
81
+B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11111000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,  // 40
82
+B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
83
+B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
84
+B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,  // 44
85
+B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
86
+B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
87
+B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11111110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
88
+B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
89
+B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,  // 48
90
+B00000000,B11111111,B11111111,B00000000,B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000001,B11100000,B00000000,B00000000,
91
+B00000000,B11111111,B11111111,B00000000,B01111111,B11111000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B11110000,B00000000,B00000000,
92
+B00000000,B10000011,B11000001,B00000000,B01110000,B00111100,B00000000,B00111000,B00000011,B11000000,B01111000,B00000000,B00001100,B00011000,B00000000,B00000000,
93
+B00000000,B00000011,B11000000,B00000000,B01110000,B00011110,B00000001,B11111110,B00000000,B11000000,B01100000,B00000000,B00000000,B00001100,B00000000,B00000000,  // 52
94
+B00000000,B00000011,B11000000,B00000000,B01110000,B00111100,B00000011,B11000111,B00000000,B01100000,B11000000,B00000000,B00000000,B00001100,B00000000,B00000000,
95
+B00000000,B00000011,B11000000,B00000000,B01111110,B01111000,B00000110,B00000001,B10000000,B00110001,B10000000,B00000000,B00000000,B00011100,B00000000,B00000000,
96
+B00000000,B00000011,B11000000,B11111111,B01111111,B11100000,B00000110,B00000001,B11000000,B00011011,B00000000,B00000000,B00000011,B11111000,B00000000,B00000000,
97
+B00000000,B00000011,B11000000,B11111111,B01110000,B11100000,B00001111,B11111111,B11000000,B00001111,B00000000,B00000000,B00000011,B11111000,B00000000,B00000000,  // 56
98
+B00000000,B00000011,B11000000,B00000000,B01110000,B01111000,B00001100,B00000000,B00000000,B00001111,B00000000,B00000000,B00000000,B00011100,B00000000,B00000000,
99
+B00000000,B00000011,B11000000,B00000000,B01110000,B00111100,B00000110,B00000000,B00000000,B00011001,B10000000,B00000000,B00000000,B00001100,B00000000,B00000000,
100
+B00000000,B00000011,B11000000,B00000000,B01110000,B00011110,B00000110,B00000000,B11000000,B00110000,B11000000,B00000000,B00000000,B00001100,B00000000,B00000000,
101
+B10000000,B00000011,B11000000,B00000000,B01110000,B00011110,B00000011,B10000001,B10000000,B01100000,B01100000,B00000000,B00001100,B00011000,B00000000,B00000001,  // 60
102
+B10000000,B00000011,B11000000,B00000000,B01110000,B00001110,B10000001,B11111111,B10000000,B11000000,B00110000,B00000000,B00000111,B11110000,B00000000,B00000001,
103
+B10000000,B00000011,B11000000,B00000000,B01110000,B00000111,B00000000,B01111100,B00000011,B10000000,B00011100,B00000000,B00000001,B11100000,B00000000,B00000001,
104
+B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00001111
105
+};
106
+  
107
+  #else
108
+const unsigned char custom_start_bmp[] PROGMEM = {
109
+B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00001111,  // 0
110
+B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000001,
111
+B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000001,
112
+B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11111111,B11111110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000001,
113
+B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000011,B11111111,B11111111,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,  // 4
114
+B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00001111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
115
+B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11111111,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
116
+B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11111111,B11111111,B11111111,B11111100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
117
+B00000000,B00000000,B00000000,B00000000,B00000000,B00000011,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,  // 8
118
+B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
119
+B00000000,B00000000,B00000000,B00000000,B00000000,B00001111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
120
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
121
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,  // 12
122
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00011111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,
123
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,
124
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,
125
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,  // 16
126
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,
127
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,
128
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,
129
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,  // 20
130
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,
131
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,
132
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,
133
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,  // 24
134
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,
135
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,
136
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00011111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,
137
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,  // 28
138
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
139
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
140
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
141
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,  // 32
142
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
143
+B00000000,B00000000,B00000000,B00000000,B00000000,B00001111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,
144
+B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B11100000,B00111111,B11111111,B11111111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,
145
+B00000000,B00000000,B00000000,B00000000,B00000000,B00000011,B11100000,B00111111,B11111111,B11111111,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,  // 36
146
+B00000000,B00000000,B00000000,B00000000,B00000000,B00000001,B11100000,B00111111,B11111111,B11111111,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
147
+B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11100000,B00111111,B11111111,B11111110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
148
+B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B00111111,B11111111,B11111100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
149
+B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11111000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,  // 40
150
+B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
151
+B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
152
+B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,  // 44
153
+B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
154
+B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
155
+B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11111110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
156
+B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
157
+B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,  // 48
158
+B00000000,B11111111,B11111111,B00000000,B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11100000,B00000000,B00000000,
159
+B00000000,B11111111,B11111111,B00000000,B01111111,B11111000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000011,B11110000,B00000000,B00000000,
160
+B00000000,B10000011,B11000001,B00000000,B01110000,B00111100,B00000000,B00111000,B00000011,B11000000,B01111000,B00000000,B00000111,B00111000,B00000000,B00000000,
161
+B00000000,B00000011,B11000000,B00000000,B01110000,B00011110,B00000001,B11111110,B00000000,B11000000,B01100000,B00000000,B00001110,B00011100,B00000110,B00000000,  // 52
162
+B00000000,B00000011,B11000000,B00000000,B01110000,B00111100,B00000011,B11000111,B00000000,B01100000,B11000000,B00000000,B00001100,B00001100,B00000110,B00000000,
163
+B00000000,B00000011,B11000000,B00000000,B01111110,B01111000,B00000110,B00000001,B10000000,B00110001,B10000000,B00000000,B00000000,B00001100,B00000110,B00000000,
164
+B00000000,B00000011,B11000000,B11111111,B01111111,B11100000,B00000110,B00000001,B11000000,B00011011,B00000000,B00000000,B00000000,B00011100,B00111111,B11000000,
165
+B00000000,B00000011,B11000000,B11111111,B01110000,B11100000,B00001111,B11111111,B11000000,B00001111,B00000000,B00000000,B00000000,B00111000,B00111111,B11000000,  // 56
166
+B00000000,B00000011,B11000000,B00000000,B01110000,B01111000,B00001100,B00000000,B00000000,B00001111,B00000000,B00000000,B00000000,B01110000,B00000110,B00000000,
167
+B00000000,B00000011,B11000000,B00000000,B01110000,B00111100,B00000110,B00000000,B00000000,B00011001,B10000000,B00000000,B00000000,B01100000,B00000110,B00000000,
168
+B00000000,B00000011,B11000000,B00000000,B01110000,B00011110,B00000110,B00000000,B11000000,B00110000,B11000000,B00000000,B00000001,B11000000,B00000110,B00000000,
169
+B10000000,B00000011,B11000000,B00000000,B01110000,B00011110,B00000011,B10000001,B10000000,B01100000,B01100000,B00000000,B00000011,B10000000,B00000000,B00000001,  // 60
170
+B10000000,B00000011,B11000000,B00000000,B01110000,B00001110,B10000001,B11111111,B10000000,B11000000,B00110000,B00000000,B00001111,B11111100,B00000000,B00000001,
171
+B10000000,B00000011,B11000000,B00000000,B01110000,B00000111,B00000000,B01111100,B00000011,B10000000,B00011100,B00000000,B00011111,B11111100,B00000000,B00000001,
172
+B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00001111
173
+};
174
+#endif
175
+
176
+
177
+

+ 130
- 0
Marlin/_statusscreen.h View File

@@ -0,0 +1,130 @@
1
+/**
2
+ * Marlin 3D Printer Firmware
3
+ * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
4
+ *
5
+ * Based on Sprinter and grbl.
6
+ * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
7
+ *
8
+ * This program is free software: you can redistribute it and/or modify
9
+ * it under the terms of the GNU General Public License as published by
10
+ * the Free Software Foundation, either version 3 of the License, or
11
+ * (at your option) any later version.
12
+ *
13
+ * This program is distributed in the hope that it will be useful,
14
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16
+ * GNU General Public License for more details.
17
+ *
18
+ * You should have received a copy of the GNU General Public License
19
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
20
+ *
21
+ */
22
+
23
+/**
24
+ * Custom Status Screen bitmap
25
+ *
26
+ * Place this file in the root with your configuration files
27
+ * and enable CUSTOM_STATUS_SCREEN_IMAGE in Configuration.h.
28
+ *
29
+ * Use the Marlin Bitmap Converter to make your own:
30
+ * http://marlinfw.org/tools/u8glib/converter.html
31
+ */
32
+//#include "MarlinConfig.h"
33
+
34
+//============================================
35
+
36
+#define STATUS_SCREENWIDTH 128
37
+
38
+#define STATUS_SCREEN_HOTEND_TEXT_X(E) (27 + (E) * 25)
39
+
40
+#define STATUS_SCREEN_BED_TEXT_X  81
41
+
42
+#define FAN_ANIM_FRAMES 3
43
+#define STATUS_SCREEN_FAN_TEXT_X 103
44
+#define STATUS_SCREEN_FAN_TEXT_Y  28
45
+
46
+//============================================
47
+
48
+#if HOTENDS < 2
49
+  #if FAN_ANIM_FRAMES <= 2
50
+  #elif FAN_ANIM_FRAMES == 3
51
+  #elif FAN_ANIM_FRAMES == 4
52
+  #endif
53
+
54
+#else // HOTENDS >= 2
55
+
56
+  #if FAN_ANIM_FRAMES <= 2
57
+
58
+  #elif FAN_ANIM_FRAMES == 3
59
+    const unsigned char status_screen0_bmp[] PROGMEM = {
60
+      B00000000,B00001111,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B11111111,B11111111,
61
+      B00000000,B01111111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B11000000,B00011111,
62
+      B00000000,B11111111,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B00100000,B00100111,
63
+      B00000011,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000110,B11110000,B01111011,
64
+      B00000111,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000110,B11110000,B01111011,
65
+      B00001111,B10000111,B11111100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000101,B11111000,B11111101,
66
+      B00001111,B10000111,B11111100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000100,B11111000,B11111001,
67
+      B00001111,B10000111,B11111100,B00000000,B11111111,B00000000,B00000000,B01111111,B10000000,B00000000,B00001000,B00100000,B10000000,B00000100,B00111111,B11100001,
68
+      B00001111,B10000111,B11111100,B00000001,B11110111,B10000000,B00000000,B11110011,B11000000,B00000000,B00000100,B00010000,B01000000,B00000100,B00001111,B10000001,
69
+      B00001111,B10000111,B11111100,B00000001,B11100111,B10000000,B00000000,B11101101,B11000000,B00000000,B00000100,B00010000,B01000000,B00000100,B00001111,B10000001,
70
+      B00001111,B10000111,B11111100,B00000001,B11010111,B10000000,B00000000,B11111101,B11000000,B00000000,B00001000,B00100000,B10000000,B00000100,B00001111,B10000001,
71
+      B00001111,B10000000,B00000000,B00000000,B11110111,B00000000,B00000000,B01111011,B10000000,B00000000,B00010000,B01000001,B00000000,B00000100,B00111111,B11100001,
72
+      B00001111,B10000000,B00000000,B00000000,B11110111,B00000000,B00000000,B01110111,B10000000,B00000000,B00100000,B10000010,B00000000,B00000100,B11111000,B11111001,
73
+      B00000111,B10000111,B11111100,B00000001,B11110111,B10000000,B00000000,B11101111,B11000000,B00000000,B00100000,B10000010,B00000000,B00000101,B11111000,B11111101,
74
+      B00000011,B10000111,B11111000,B00000001,B11100011,B10000000,B00000000,B11100001,B11000000,B00000000,B00010000,B01000001,B00000000,B00000110,B11110000,B01111011,
75
+      B00000001,B10000111,B11100000,B00000001,B11111111,B10000000,B00000000,B11111111,B11000000,B00000000,B00001000,B00100000,B10000000,B00000110,B11110000,B01111011,
76
+      B00000000,B10000111,B10000000,B00000000,B01111110,B00000000,B00000000,B00111111,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B00100000,B00100111,
77
+      B00000000,B00000110,B00000000,B00000000,B00111100,B00000000,B00000000,B00011110,B00000000,B00000000,B11111111,B11111111,B11000000,B00000111,B11000000,B00011111,
78
+      B00000000,B00000000,B00000000,B00000000,B00011000,B00000000,B00000000,B00001100,B00000000,B00000000,B11111111,B11111111,B11000000,B00000111,B11111111,B11111111
79
+    };
80
+    const unsigned char status_screen1_bmp[] PROGMEM = {
81
+
82
+      B00000000,B00001111,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B11111111,B11111111,
83
+      B00000000,B01111111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B11000110,B00011111,
84
+      B00000000,B11111111,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B00111110,B00000111,
85
+      B00000011,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000110,B00111110,B00000011,
86
+      B00000111,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000110,B00011110,B00000011,
87
+      B00001111,B10000111,B11111100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000100,B00011110,B00001101,
88
+      B00001111,B10000111,B11111100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000100,B00000110,B00111101,
89
+      B00001111,B10000111,B11111100,B00000000,B11111111,B00000000,B00000000,B01111111,B10000000,B00000000,B00001000,B00100000,B10000000,B00000100,B00000111,B00111101,
90
+      B00001111,B10000111,B11111100,B00000001,B11110111,B10000000,B00000000,B11110011,B11000000,B00000000,B00000100,B00010000,B01000000,B00000100,B00001111,B11111111,
91
+      B00001111,B10000111,B11111100,B00000001,B11100111,B10000000,B00000000,B11101101,B11000000,B00000000,B00000100,B00010000,B01000000,B00000111,B11111111,B11111111,
92
+      B00001111,B10000111,B11111100,B00000001,B11010111,B10000000,B00000000,B11111101,B11000000,B00000000,B00001000,B00100000,B10000000,B00000111,B11111111,B10000001,
93
+      B00001111,B10000000,B00000000,B00000000,B11110111,B00000000,B00000000,B01111011,B10000000,B00000000,B00010000,B01000001,B00000000,B00000101,B11100111,B00000001,
94
+      B00001111,B10000000,B00000000,B00000000,B11110111,B00000000,B00000000,B01110111,B10000000,B00000000,B00100000,B10000010,B00000000,B00000101,B11000011,B00000001,
95
+      B00000111,B10000111,B11111100,B00000001,B11110111,B10000000,B00000000,B11101111,B11000000,B00000000,B00100000,B10000010,B00000000,B00000101,B10000011,B11000001,
96
+      B00000011,B10000111,B11111000,B00000001,B11100011,B10000000,B00000000,B11100001,B11000000,B00000000,B00010000,B01000001,B00000000,B00000110,B00000011,B11000011,
97
+      B00000001,B10000111,B11100000,B00000001,B11111111,B10000000,B00000000,B11111111,B11000000,B00000000,B00001000,B00100000,B10000000,B00000110,B00000011,B11100011,
98
+      B00000000,B10000111,B10000000,B00000000,B01111110,B00000000,B00000000,B01111111,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B00000011,B11100111,
99
+      B00000000,B00000110,B00000000,B00000000,B00111100,B00000000,B00000000,B00111110,B00000000,B00000000,B11111111,B11111111,B11000000,B00000111,B11000011,B00011111,
100
+      B00000000,B00000000,B00000000,B00000000,B00011000,B00000000,B00000000,B00001100,B00000000,B00000000,B11111111,B11111111,B11000000,B00000111,B11111111,B11111111
101
+    };
102
+    const unsigned char status_screen2_bmp[] PROGMEM = {
103
+
104
+      B00000000,B00001111,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B11111111,B11111111,
105
+      B00000000,B01111111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B11000011,B00011111,
106
+      B00000000,B11111111,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B00000011,B11100111,
107
+      B00000011,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000110,B00000011,B11110011,
108
+      B00000111,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000110,B10000011,B11100011,
109
+      B00001111,B10000111,B11111100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000101,B11000011,B11000001,
110
+      B00001111,B10000111,B11111100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000101,B11100011,B10000001,
111
+      B00001111,B10000111,B11111100,B00000000,B11111111,B00000000,B00000000,B01111111,B10000000,B00000000,B00001000,B00100000,B10000000,B00000101,B11110111,B00000001,
112
+      B00001111,B10000111,B11111100,B00000001,B11110111,B10000000,B00000000,B11110011,B11000000,B00000000,B00000100,B00010000,B01000000,B00000111,B11111111,B10000001,
113
+      B00001111,B10000111,B11111100,B00000001,B11100111,B10000000,B00000000,B11101101,B11000000,B00000000,B00000100,B00010000,B01000000,B00000111,B11111111,B11111111,
114
+      B00001111,B10000111,B11111100,B00000001,B11010111,B10000000,B00000000,B11111101,B11000000,B00000000,B00001000,B00100000,B10000000,B00000100,B00001111,B11111111,
115
+      B00001111,B10000000,B00000000,B00000000,B11110111,B00000000,B00000000,B01111011,B10000000,B00000000,B00010000,B01000001,B00000000,B00000100,B00000111,B01111101,
116
+      B00001111,B10000000,B00000000,B00000000,B11110111,B00000000,B00000000,B01110111,B10000000,B00000000,B00100000,B10000010,B00000000,B00000100,B00001110,B00111101,
117
+      B00000111,B10000111,B11111100,B00000001,B11110111,B10000000,B00000000,B11101111,B11000000,B00000000,B00100000,B10000010,B00000000,B00000100,B00011110,B00011101,
118
+      B00000011,B10000111,B11111000,B00000001,B11100011,B10000000,B00000000,B11100001,B11000000,B00000000,B00010000,B01000001,B00000000,B00000110,B00111110,B00001011,
119
+      B00000001,B10000111,B11100000,B00000001,B11111111,B10000000,B00000000,B11111111,B11000000,B00000000,B00001000,B00100000,B10000000,B00000110,B01111110,B00000011,
120
+      B00000000,B10000111,B10000000,B00000000,B01111110,B00000000,B00000000,B01111111,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B00111110,B00000111,
121
+      B00000000,B00000110,B00000000,B00000000,B00111100,B00000000,B00000000,B00111110,B00000000,B00000000,B11111111,B11111111,B11000000,B00000111,B11000110,B00011111,
122
+      B00000000,B00000000,B00000000,B00000000,B00011000,B00000000,B00000000,B00001100,B00000000,B00000000,B11111111,B11111111,B11000000,B00000111,B11111111,B11111111
123
+    };
124
+
125
+  #elif FAN_ANIM_FRAMES == 4
126
+/*
127
+*/
128
+  #endif
129
+
130
+#endif // HOTENDS >= 2

+ 2019
- 0
Marlin/src/config/examples/Formbot/T-Rex_2+/Configuration.h
File diff suppressed because it is too large
View File


+ 1690
- 0
Marlin/src/config/examples/Formbot/T-Rex_2+/Configuration_adv.h
File diff suppressed because it is too large
View File


+ 177
- 0
Marlin/src/config/examples/Formbot/T-Rex_2+/_Bootscreen.h View File

@@ -0,0 +1,177 @@
1
+/**
2
+ * Marlin 3D Printer Firmware
3
+ * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
4
+ *
5
+ * Based on Sprinter and grbl.
6
+ * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
7
+ *
8
+ * This program is free software: you can redistribute it and/or modify
9
+ * it under the terms of the GNU General Public License as published by
10
+ * the Free Software Foundation, either version 3 of the License, or
11
+ * (at your option) any later version.
12
+ *
13
+ * This program is distributed in the hope that it will be useful,
14
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16
+ * GNU General Public License for more details.
17
+ *
18
+ * You should have received a copy of the GNU General Public License
19
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
20
+ *
21
+ */
22
+
23
+/**
24
+ * Custom Bitmap for splashscreen
25
+ *
26
+ * You may use one of the following tools to generate the C++ bitmap array from
27
+ * a black and white image:
28
+ *
29
+ *  - http://www.marlinfw.org/tools/u8glib/converter.html
30
+ *  - http://www.digole.com/tools/PicturetoC_Hex_converter.php
31
+ */
32
+#include <avr/pgmspace.h>
33
+
34
+#define CUSTOM_BOOTSCREEN_TIMEOUT   2500
35
+
36
+#define CUSTOM_BOOTSCREEN_BMPWIDTH  128
37
+#define CUSTOM_BOOTSCREEN_BMPHEIGHT 64
38
+
39
+#ifdef TREX3 
40
+const unsigned char custom_start_bmp[] PROGMEM = {
41
+B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00001111,  // 0
42
+B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000001,
43
+B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000001,
44
+B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11111111,B11111110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000001,
45
+B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000011,B11111111,B11111111,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,  // 4
46
+B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00001111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
47
+B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11111111,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
48
+B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11111111,B11111111,B11111111,B11111100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
49
+B00000000,B00000000,B00000000,B00000000,B00000000,B00000011,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,  // 8
50
+B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
51
+B00000000,B00000000,B00000000,B00000000,B00000000,B00001111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
52
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
53
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,  // 12
54
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00011111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,
55
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,
56
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,
57
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,  // 16
58
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,
59
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,
60
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,
61
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,  // 20
62
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,
63
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,
64
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,
65
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,  // 24
66
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,
67
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,
68
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00011111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,
69
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,  // 28
70
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
71
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
72
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
73
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,  // 32
74
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
75
+B00000000,B00000000,B00000000,B00000000,B00000000,B00001111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,
76
+B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B11100000,B00111111,B11111111,B11111111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,
77
+B00000000,B00000000,B00000000,B00000000,B00000000,B00000011,B11100000,B00111111,B11111111,B11111111,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,  // 36
78
+B00000000,B00000000,B00000000,B00000000,B00000000,B00000001,B11100000,B00111111,B11111111,B11111111,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
79
+B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11100000,B00111111,B11111111,B11111110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
80
+B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B00111111,B11111111,B11111100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
81
+B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11111000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,  // 40
82
+B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
83
+B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
84
+B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,  // 44
85
+B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
86
+B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
87
+B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11111110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
88
+B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
89
+B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,  // 48
90
+B00000000,B11111111,B11111111,B00000000,B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000001,B11100000,B00000000,B00000000,
91
+B00000000,B11111111,B11111111,B00000000,B01111111,B11111000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B11110000,B00000000,B00000000,
92
+B00000000,B10000011,B11000001,B00000000,B01110000,B00111100,B00000000,B00111000,B00000011,B11000000,B01111000,B00000000,B00001100,B00011000,B00000000,B00000000,
93
+B00000000,B00000011,B11000000,B00000000,B01110000,B00011110,B00000001,B11111110,B00000000,B11000000,B01100000,B00000000,B00000000,B00001100,B00000000,B00000000,  // 52
94
+B00000000,B00000011,B11000000,B00000000,B01110000,B00111100,B00000011,B11000111,B00000000,B01100000,B11000000,B00000000,B00000000,B00001100,B00000000,B00000000,
95
+B00000000,B00000011,B11000000,B00000000,B01111110,B01111000,B00000110,B00000001,B10000000,B00110001,B10000000,B00000000,B00000000,B00011100,B00000000,B00000000,
96
+B00000000,B00000011,B11000000,B11111111,B01111111,B11100000,B00000110,B00000001,B11000000,B00011011,B00000000,B00000000,B00000011,B11111000,B00000000,B00000000,
97
+B00000000,B00000011,B11000000,B11111111,B01110000,B11100000,B00001111,B11111111,B11000000,B00001111,B00000000,B00000000,B00000011,B11111000,B00000000,B00000000,  // 56
98
+B00000000,B00000011,B11000000,B00000000,B01110000,B01111000,B00001100,B00000000,B00000000,B00001111,B00000000,B00000000,B00000000,B00011100,B00000000,B00000000,
99
+B00000000,B00000011,B11000000,B00000000,B01110000,B00111100,B00000110,B00000000,B00000000,B00011001,B10000000,B00000000,B00000000,B00001100,B00000000,B00000000,
100
+B00000000,B00000011,B11000000,B00000000,B01110000,B00011110,B00000110,B00000000,B11000000,B00110000,B11000000,B00000000,B00000000,B00001100,B00000000,B00000000,
101
+B10000000,B00000011,B11000000,B00000000,B01110000,B00011110,B00000011,B10000001,B10000000,B01100000,B01100000,B00000000,B00001100,B00011000,B00000000,B00000001,  // 60
102
+B10000000,B00000011,B11000000,B00000000,B01110000,B00001110,B10000001,B11111111,B10000000,B11000000,B00110000,B00000000,B00000111,B11110000,B00000000,B00000001,
103
+B10000000,B00000011,B11000000,B00000000,B01110000,B00000111,B00000000,B01111100,B00000011,B10000000,B00011100,B00000000,B00000001,B11100000,B00000000,B00000001,
104
+B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00001111
105
+};
106
+  
107
+  #else
108
+const unsigned char custom_start_bmp[] PROGMEM = {
109
+B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00001111,  // 0
110
+B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000001,
111
+B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000001,
112
+B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11111111,B11111110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000001,
113
+B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000011,B11111111,B11111111,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,  // 4
114
+B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00001111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
115
+B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11111111,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
116
+B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11111111,B11111111,B11111111,B11111100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
117
+B00000000,B00000000,B00000000,B00000000,B00000000,B00000011,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,  // 8
118
+B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
119
+B00000000,B00000000,B00000000,B00000000,B00000000,B00001111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
120
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
121
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,  // 12
122
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00011111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,
123
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,
124
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,
125
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,  // 16
126
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,
127
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,
128
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,
129
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,  // 20
130
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,
131
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,
132
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,
133
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,  // 24
134
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,
135
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,
136
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00011111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,
137
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,  // 28
138
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
139
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
140
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
141
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,  // 32
142
+B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
143
+B00000000,B00000000,B00000000,B00000000,B00000000,B00001111,B11100000,B00111111,B11111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,
144
+B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B11100000,B00111111,B11111111,B11111111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,
145
+B00000000,B00000000,B00000000,B00000000,B00000000,B00000011,B11100000,B00111111,B11111111,B11111111,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,  // 36
146
+B00000000,B00000000,B00000000,B00000000,B00000000,B00000001,B11100000,B00111111,B11111111,B11111111,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
147
+B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11100000,B00111111,B11111111,B11111110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
148
+B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00100000,B00111111,B11111111,B11111100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
149
+B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11111000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,  // 40
150
+B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
151
+B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
152
+B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,  // 44
153
+B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
154
+B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00111111,B11111111,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
155
+B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00011111,B11111110,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
156
+B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,
157
+B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,  // 48
158
+B00000000,B11111111,B11111111,B00000000,B01111111,B11100000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B11100000,B00000000,B00000000,
159
+B00000000,B11111111,B11111111,B00000000,B01111111,B11111000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000011,B11110000,B00000000,B00000000,
160
+B00000000,B10000011,B11000001,B00000000,B01110000,B00111100,B00000000,B00111000,B00000011,B11000000,B01111000,B00000000,B00000111,B00111000,B00000000,B00000000,
161
+B00000000,B00000011,B11000000,B00000000,B01110000,B00011110,B00000001,B11111110,B00000000,B11000000,B01100000,B00000000,B00001110,B00011100,B00000110,B00000000,  // 52
162
+B00000000,B00000011,B11000000,B00000000,B01110000,B00111100,B00000011,B11000111,B00000000,B01100000,B11000000,B00000000,B00001100,B00001100,B00000110,B00000000,
163
+B00000000,B00000011,B11000000,B00000000,B01111110,B01111000,B00000110,B00000001,B10000000,B00110001,B10000000,B00000000,B00000000,B00001100,B00000110,B00000000,
164
+B00000000,B00000011,B11000000,B11111111,B01111111,B11100000,B00000110,B00000001,B11000000,B00011011,B00000000,B00000000,B00000000,B00011100,B00111111,B11000000,
165
+B00000000,B00000011,B11000000,B11111111,B01110000,B11100000,B00001111,B11111111,B11000000,B00001111,B00000000,B00000000,B00000000,B00111000,B00111111,B11000000,  // 56
166
+B00000000,B00000011,B11000000,B00000000,B01110000,B01111000,B00001100,B00000000,B00000000,B00001111,B00000000,B00000000,B00000000,B01110000,B00000110,B00000000,
167
+B00000000,B00000011,B11000000,B00000000,B01110000,B00111100,B00000110,B00000000,B00000000,B00011001,B10000000,B00000000,B00000000,B01100000,B00000110,B00000000,
168
+B00000000,B00000011,B11000000,B00000000,B01110000,B00011110,B00000110,B00000000,B11000000,B00110000,B11000000,B00000000,B00000001,B11000000,B00000110,B00000000,
169
+B10000000,B00000011,B11000000,B00000000,B01110000,B00011110,B00000011,B10000001,B10000000,B01100000,B01100000,B00000000,B00000011,B10000000,B00000000,B00000001,  // 60
170
+B10000000,B00000011,B11000000,B00000000,B01110000,B00001110,B10000001,B11111111,B10000000,B11000000,B00110000,B00000000,B00001111,B11111100,B00000000,B00000001,
171
+B10000000,B00000011,B11000000,B00000000,B01110000,B00000111,B00000000,B01111100,B00000011,B10000000,B00011100,B00000000,B00011111,B11111100,B00000000,B00000001,
172
+B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00001111
173
+};
174
+#endif
175
+
176
+
177
+

+ 130
- 0
Marlin/src/config/examples/Formbot/T-Rex_2+/_statusscreen.h View File

@@ -0,0 +1,130 @@
1
+/**
2
+ * Marlin 3D Printer Firmware
3
+ * Copyright (C) 2016 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
4
+ *
5
+ * Based on Sprinter and grbl.
6
+ * Copyright (C) 2011 Camiel Gubbels / Erik van der Zalm
7
+ *
8
+ * This program is free software: you can redistribute it and/or modify
9
+ * it under the terms of the GNU General Public License as published by
10
+ * the Free Software Foundation, either version 3 of the License, or
11
+ * (at your option) any later version.
12
+ *
13
+ * This program is distributed in the hope that it will be useful,
14
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
15
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16
+ * GNU General Public License for more details.
17
+ *
18
+ * You should have received a copy of the GNU General Public License
19
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
20
+ *
21
+ */
22
+
23
+/**
24
+ * Custom Status Screen bitmap
25
+ *
26
+ * Place this file in the root with your configuration files
27
+ * and enable CUSTOM_STATUS_SCREEN_IMAGE in Configuration.h.
28
+ *
29
+ * Use the Marlin Bitmap Converter to make your own:
30
+ * http://marlinfw.org/tools/u8glib/converter.html
31
+ */
32
+//#include "MarlinConfig.h"
33
+
34
+//============================================
35
+
36
+#define STATUS_SCREENWIDTH 128
37
+
38
+#define STATUS_SCREEN_HOTEND_TEXT_X(E) (27 + (E) * 25)
39
+
40
+#define STATUS_SCREEN_BED_TEXT_X  81
41
+
42
+#define FAN_ANIM_FRAMES 3
43
+#define STATUS_SCREEN_FAN_TEXT_X 103
44
+#define STATUS_SCREEN_FAN_TEXT_Y  28
45
+
46
+//============================================
47
+
48
+#if HOTENDS < 2
49
+  #if FAN_ANIM_FRAMES <= 2
50
+  #elif FAN_ANIM_FRAMES == 3
51
+  #elif FAN_ANIM_FRAMES == 4
52
+  #endif
53
+
54
+#else // HOTENDS >= 2
55
+
56
+  #if FAN_ANIM_FRAMES <= 2
57
+
58
+  #elif FAN_ANIM_FRAMES == 3
59
+    const unsigned char status_screen0_bmp[] PROGMEM = {
60
+      B00000000,B00001111,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B11111111,B11111111,
61
+      B00000000,B01111111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B11000000,B00011111,
62
+      B00000000,B11111111,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B00100000,B00100111,
63
+      B00000011,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000110,B11110000,B01111011,
64
+      B00000111,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000110,B11110000,B01111011,
65
+      B00001111,B10000111,B11111100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000101,B11111000,B11111101,
66
+      B00001111,B10000111,B11111100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000100,B11111000,B11111001,
67
+      B00001111,B10000111,B11111100,B00000000,B11111111,B00000000,B00000000,B01111111,B10000000,B00000000,B00001000,B00100000,B10000000,B00000100,B00111111,B11100001,
68
+      B00001111,B10000111,B11111100,B00000001,B11110111,B10000000,B00000000,B11110011,B11000000,B00000000,B00000100,B00010000,B01000000,B00000100,B00001111,B10000001,
69
+      B00001111,B10000111,B11111100,B00000001,B11100111,B10000000,B00000000,B11101101,B11000000,B00000000,B00000100,B00010000,B01000000,B00000100,B00001111,B10000001,
70
+      B00001111,B10000111,B11111100,B00000001,B11010111,B10000000,B00000000,B11111101,B11000000,B00000000,B00001000,B00100000,B10000000,B00000100,B00001111,B10000001,
71
+      B00001111,B10000000,B00000000,B00000000,B11110111,B00000000,B00000000,B01111011,B10000000,B00000000,B00010000,B01000001,B00000000,B00000100,B00111111,B11100001,
72
+      B00001111,B10000000,B00000000,B00000000,B11110111,B00000000,B00000000,B01110111,B10000000,B00000000,B00100000,B10000010,B00000000,B00000100,B11111000,B11111001,
73
+      B00000111,B10000111,B11111100,B00000001,B11110111,B10000000,B00000000,B11101111,B11000000,B00000000,B00100000,B10000010,B00000000,B00000101,B11111000,B11111101,
74
+      B00000011,B10000111,B11111000,B00000001,B11100011,B10000000,B00000000,B11100001,B11000000,B00000000,B00010000,B01000001,B00000000,B00000110,B11110000,B01111011,
75
+      B00000001,B10000111,B11100000,B00000001,B11111111,B10000000,B00000000,B11111111,B11000000,B00000000,B00001000,B00100000,B10000000,B00000110,B11110000,B01111011,
76
+      B00000000,B10000111,B10000000,B00000000,B01111110,B00000000,B00000000,B00111111,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B00100000,B00100111,
77
+      B00000000,B00000110,B00000000,B00000000,B00111100,B00000000,B00000000,B00011110,B00000000,B00000000,B11111111,B11111111,B11000000,B00000111,B11000000,B00011111,
78
+      B00000000,B00000000,B00000000,B00000000,B00011000,B00000000,B00000000,B00001100,B00000000,B00000000,B11111111,B11111111,B11000000,B00000111,B11111111,B11111111
79
+    };
80
+    const unsigned char status_screen1_bmp[] PROGMEM = {
81
+
82
+      B00000000,B00001111,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B11111111,B11111111,
83
+      B00000000,B01111111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B11000110,B00011111,
84
+      B00000000,B11111111,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B00111110,B00000111,
85
+      B00000011,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000110,B00111110,B00000011,
86
+      B00000111,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000110,B00011110,B00000011,
87
+      B00001111,B10000111,B11111100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000100,B00011110,B00001101,
88
+      B00001111,B10000111,B11111100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000100,B00000110,B00111101,
89
+      B00001111,B10000111,B11111100,B00000000,B11111111,B00000000,B00000000,B01111111,B10000000,B00000000,B00001000,B00100000,B10000000,B00000100,B00000111,B00111101,
90
+      B00001111,B10000111,B11111100,B00000001,B11110111,B10000000,B00000000,B11110011,B11000000,B00000000,B00000100,B00010000,B01000000,B00000100,B00001111,B11111111,
91
+      B00001111,B10000111,B11111100,B00000001,B11100111,B10000000,B00000000,B11101101,B11000000,B00000000,B00000100,B00010000,B01000000,B00000111,B11111111,B11111111,
92
+      B00001111,B10000111,B11111100,B00000001,B11010111,B10000000,B00000000,B11111101,B11000000,B00000000,B00001000,B00100000,B10000000,B00000111,B11111111,B10000001,
93
+      B00001111,B10000000,B00000000,B00000000,B11110111,B00000000,B00000000,B01111011,B10000000,B00000000,B00010000,B01000001,B00000000,B00000101,B11100111,B00000001,
94
+      B00001111,B10000000,B00000000,B00000000,B11110111,B00000000,B00000000,B01110111,B10000000,B00000000,B00100000,B10000010,B00000000,B00000101,B11000011,B00000001,
95
+      B00000111,B10000111,B11111100,B00000001,B11110111,B10000000,B00000000,B11101111,B11000000,B00000000,B00100000,B10000010,B00000000,B00000101,B10000011,B11000001,
96
+      B00000011,B10000111,B11111000,B00000001,B11100011,B10000000,B00000000,B11100001,B11000000,B00000000,B00010000,B01000001,B00000000,B00000110,B00000011,B11000011,
97
+      B00000001,B10000111,B11100000,B00000001,B11111111,B10000000,B00000000,B11111111,B11000000,B00000000,B00001000,B00100000,B10000000,B00000110,B00000011,B11100011,
98
+      B00000000,B10000111,B10000000,B00000000,B01111110,B00000000,B00000000,B01111111,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B00000011,B11100111,
99
+      B00000000,B00000110,B00000000,B00000000,B00111100,B00000000,B00000000,B00111110,B00000000,B00000000,B11111111,B11111111,B11000000,B00000111,B11000011,B00011111,
100
+      B00000000,B00000000,B00000000,B00000000,B00011000,B00000000,B00000000,B00001100,B00000000,B00000000,B11111111,B11111111,B11000000,B00000111,B11111111,B11111111
101
+    };
102
+    const unsigned char status_screen2_bmp[] PROGMEM = {
103
+
104
+      B00000000,B00001111,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B11111111,B11111111,
105
+      B00000000,B01111111,B11000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B11000011,B00011111,
106
+      B00000000,B11111111,B11110000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B00000011,B11100111,
107
+      B00000011,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000110,B00000011,B11110011,
108
+      B00000111,B10000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000110,B10000011,B11100011,
109
+      B00001111,B10000111,B11111100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000101,B11000011,B11000001,
110
+      B00001111,B10000111,B11111100,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000000,B00000101,B11100011,B10000001,
111
+      B00001111,B10000111,B11111100,B00000000,B11111111,B00000000,B00000000,B01111111,B10000000,B00000000,B00001000,B00100000,B10000000,B00000101,B11110111,B00000001,
112
+      B00001111,B10000111,B11111100,B00000001,B11110111,B10000000,B00000000,B11110011,B11000000,B00000000,B00000100,B00010000,B01000000,B00000111,B11111111,B10000001,
113
+      B00001111,B10000111,B11111100,B00000001,B11100111,B10000000,B00000000,B11101101,B11000000,B00000000,B00000100,B00010000,B01000000,B00000111,B11111111,B11111111,
114
+      B00001111,B10000111,B11111100,B00000001,B11010111,B10000000,B00000000,B11111101,B11000000,B00000000,B00001000,B00100000,B10000000,B00000100,B00001111,B11111111,
115
+      B00001111,B10000000,B00000000,B00000000,B11110111,B00000000,B00000000,B01111011,B10000000,B00000000,B00010000,B01000001,B00000000,B00000100,B00000111,B01111101,
116
+      B00001111,B10000000,B00000000,B00000000,B11110111,B00000000,B00000000,B01110111,B10000000,B00000000,B00100000,B10000010,B00000000,B00000100,B00001110,B00111101,
117
+      B00000111,B10000111,B11111100,B00000001,B11110111,B10000000,B00000000,B11101111,B11000000,B00000000,B00100000,B10000010,B00000000,B00000100,B00011110,B00011101,
118
+      B00000011,B10000111,B11111000,B00000001,B11100011,B10000000,B00000000,B11100001,B11000000,B00000000,B00010000,B01000001,B00000000,B00000110,B00111110,B00001011,
119
+      B00000001,B10000111,B11100000,B00000001,B11111111,B10000000,B00000000,B11111111,B11000000,B00000000,B00001000,B00100000,B10000000,B00000110,B01111110,B00000011,
120
+      B00000000,B10000111,B10000000,B00000000,B01111110,B00000000,B00000000,B01111111,B00000000,B00000000,B00000000,B00000000,B00000000,B00000111,B00111110,B00000111,
121
+      B00000000,B00000110,B00000000,B00000000,B00111100,B00000000,B00000000,B00111110,B00000000,B00000000,B11111111,B11111111,B11000000,B00000111,B11000110,B00011111,
122
+      B00000000,B00000000,B00000000,B00000000,B00011000,B00000000,B00000000,B00001100,B00000000,B00000000,B11111111,B11111111,B11000000,B00000111,B11111111,B11111111
123
+    };
124
+
125
+  #elif FAN_ANIM_FRAMES == 4
126
+/*
127
+*/
128
+  #endif
129
+
130
+#endif // HOTENDS >= 2

+ 39
- 1
Marlin/src/gcode/calibrate/G28.cpp View File

@@ -174,6 +174,11 @@ void GcodeSuite::G28(const bool always_home_all) {
174 174
     }
175 175
   #endif
176 176
 
177
+  #if ENABLED(DUAL_X_CARRIAGE)
178
+    bool IDEX_saved_duplication_state = extruder_duplication_enabled;
179
+    DualXMode IDEX_saved_mode = dual_x_carriage_mode;
180
+  #endif
181
+
177 182
   #if ENABLED(MARLIN_DEV_MODE)
178 183
     if (parser.seen('S')) {
179 184
       LOOP_XYZ(a) set_axis_is_at_home((AxisEnum)a);
@@ -229,7 +234,7 @@ void GcodeSuite::G28(const bool always_home_all) {
229 234
     tool_change(0, 0, true);
230 235
   #endif
231 236
 
232
-  #if ENABLED(DUAL_X_CARRIAGE)
237
+  #if ENABLED(DUAL_X_CARRIAGE) || ENABLED(DUAL_NOZZLE_DUPLICATION_MODE)
233 238
     extruder_duplication_enabled = false;
234 239
   #endif
235 240
 
@@ -354,6 +359,39 @@ void GcodeSuite::G28(const bool always_home_all) {
354 359
 
355 360
   #endif // !DELTA (G28)
356 361
 
362
+/**
363
+ * 
364
+ * This code block allows the DXC mode to survive (and function) across a G28 if it is an IDEX
365
+ * machine and the printer is currently in DXC_DUPLICATION_MODE.
366
+ * This is important because it lets a user use the LCD Panel to set an IDEX Duplication mode, and 
367
+ * then print a standard GCode file that contains a single print that does a G28 and has no other
368
+ * IDEX specific commands in it.
369
+ * 
370
+ **/
371
+
372
+  #if ENABLED(DUAL_X_CARRIAGE)
373
+    if (dual_x_carriage_mode == DXC_DUPLICATION_MODE) {
374
+
375
+        // Always home the 2nd (right) extruder first
376
+        active_extruder = 1;
377
+        homeaxis(X_AXIS);
378
+
379
+        // Remember this extruder's position for later tool change
380
+        inactive_extruder_x_pos = current_position[X_AXIS];
381
+
382
+        // Home the 1st (left) extruder
383
+        active_extruder = 0;
384
+        homeaxis(X_AXIS);
385
+
386
+        // Consider the active extruder to be parked
387
+        COPY(raised_parked_position, current_position);
388
+        delayed_move_time = 0;
389
+        active_extruder_parked = true;
390
+        extruder_duplication_enabled = IDEX_saved_duplication_state;
391
+        dual_x_carriage_mode         = IDEX_saved_mode;
392
+    }
393
+  #endif
394
+
357 395
   endstops.not_homing();
358 396
 
359 397
   #if ENABLED(DELTA) && ENABLED(DELTA_HOME_TO_SAFE_ZONE)

+ 64
- 11
Marlin/src/gcode/control/M605.cpp View File

@@ -27,24 +27,37 @@
27 27
 #include "../gcode.h"
28 28
 #include "../../module/motion.h"
29 29
 #include "../../module/stepper.h"
30
+#include "../../module/tool_change.h"
31
+#include "../../module/planner.h"
30 32
 
31 33
 #if ENABLED(DUAL_X_CARRIAGE)
32 34
 
33 35
   /**
34 36
    * M605: Set dual x-carriage movement mode
35 37
    *
38
+   *    M605    : Restore user specified DEFAULT_DUAL_X_CARRIAGE_MODE
36 39
    *    M605 S0: Full control mode. The slicer has full control over x-carriage movement
37 40
    *    M605 S1: Auto-park mode. The inactive head will auto park/unpark without slicer involvement
38 41
    *    M605 S2 [Xnnn] [Rmmm]: Duplication mode. The second extruder will duplicate the first with nnn
39 42
    *                         units x-offset and an optional differential hotend temperature of
40 43
    *                         mmm degrees. E.g., with "M605 S2 X100 R2" the second extruder will duplicate
41 44
    *                         the first with a spacing of 100mm in the x direction and 2 degrees hotter.
45
+   *    M605 S3 : Enable Symmetric Duplication mode.  The second extruder will duplicate the first extruder's
46
+   *              movement similar to the M605 S2 mode.   However, the second extruder will be producing
47
+   *              a mirror image of the first extruder.  The initial x-offset and temperature differential are
48
+   *              set with M605 S2 [Xnnn] [Rmmm] and then followed with a M605 S3 to start the mirrored movement.
49
+   *    M605 W  : IDEX What? command.
42 50
    *
43 51
    *    Note: the X axis should be homed after changing dual x-carriage mode.
44 52
    */
45 53
   void GcodeSuite::M605() {
46 54
     planner.synchronize();
47
-    if (parser.seen('S')) dual_x_carriage_mode = (DualXMode)parser.value_byte();
55
+
56
+    if (parser.seen('S')) { 
57
+      DualXMode  previous_mode, requested_mode = (DualXMode)parser.value_byte();
58
+      previous_mode = dual_x_carriage_mode;
59
+      dual_x_carriage_mode = (DualXMode)parser.value_byte();
60
+
48 61
     switch (dual_x_carriage_mode) {
49 62
       case DXC_FULL_CONTROL_MODE:
50 63
       case DXC_AUTO_PARK_MODE:
@@ -52,16 +65,7 @@
52 65
       case DXC_DUPLICATION_MODE:
53 66
         if (parser.seen('X')) duplicate_extruder_x_offset = MAX(parser.value_linear_units(), X2_MIN_POS - x_home_pos(0));
54 67
         if (parser.seen('R')) duplicate_extruder_temp_offset = parser.value_celsius_diff();
55
-        SERIAL_ECHO_START();
56
-        SERIAL_ECHOPGM(MSG_HOTEND_OFFSET);
57
-        SERIAL_CHAR(' ');
58
-        SERIAL_ECHO(hotend_offset[X_AXIS][0]);
59
-        SERIAL_CHAR(',');
60
-        SERIAL_ECHO(hotend_offset[Y_AXIS][0]);
61
-        SERIAL_CHAR(' ');
62
-        SERIAL_ECHO(duplicate_extruder_x_offset);
63
-        SERIAL_CHAR(',');
64
-        SERIAL_ECHOLN(hotend_offset[Y_AXIS][1]);
68
+          if (active_extruder != 0) tool_change(0);
65 69
         break;
66 70
       default:
67 71
         dual_x_carriage_mode = DEFAULT_DUAL_X_CARRIAGE_MODE;
@@ -70,6 +74,55 @@
70 74
     active_extruder_parked = false;
71 75
     extruder_duplication_enabled = false;
72 76
     delayed_move_time = 0;
77
+    } else
78
+      if (!parser.seen('W'))  // if no S or W parameter, the DXC mode gets reset to the user's default 
79
+        dual_x_carriage_mode = DEFAULT_DUAL_X_CARRIAGE_MODE;
80
+
81
+    if (parser.seen('W')) {
82
+      SERIAL_ECHO_START();
83
+      SERIAL_ECHOPGM("IDEX mode: ");
84
+      switch (dual_x_carriage_mode) {
85
+        case DXC_FULL_CONTROL_MODE:
86
+          SERIAL_ECHOPGM("DXC_FULL_CONTROL_MODE\n");
87
+          break;
88
+        case DXC_AUTO_PARK_MODE:
89
+          SERIAL_ECHOPGM("DXC_AUTO_PARK_MODE\n");
90
+          break;
91
+        case DXC_DUPLICATION_MODE:
92
+          SERIAL_ECHOPGM("DXC_DUPLICATION_MODE\n");
93
+          break;
94
+      }
95
+      SERIAL_ECHOPGM("Active Ext: ");
96
+      SERIAL_ECHO((int) active_extruder);
97
+
98
+      if (active_extruder_parked == false)
99
+        SERIAL_ECHOPGM(" NOT ");
100
+      SERIAL_ECHOPGM(" parked.\n");
101
+
102
+      SERIAL_ECHOPGM("active_extruder_x_pos: ");
103
+      SERIAL_ECHO( current_position[X_AXIS]);
104
+
105
+      SERIAL_ECHOPGM("   inactive_extruder_x_pos: ");
106
+      SERIAL_ECHO( inactive_extruder_x_pos);
107
+
108
+      SERIAL_ECHOPGM("\n1st extruder x_home_pos(): ");
109
+      SERIAL_ECHO(x_home_pos(0));
110
+      SERIAL_ECHOPGM("\n2nd extruder x_home_pos(): ");
111
+      SERIAL_ECHO(x_home_pos(1));
112
+
113
+      SERIAL_ECHOPGM("\nextruder_duplication_enabled: ");
114
+      SERIAL_ECHO(extruder_duplication_enabled);
115
+
116
+      SERIAL_ECHOPGM("\nduplicate_extruder_x_offset: ");
117
+      SERIAL_ECHO(duplicate_extruder_x_offset);
118
+
119
+      SERIAL_ECHOPGM("\nduplicate_extruder_temp_offset: ");
120
+      SERIAL_ECHO(duplicate_extruder_temp_offset);
121
+
122
+      SERIAL_ECHOPGM("\ndelayed_move_time: ");
123
+      SERIAL_ECHO(delayed_move_time);
124
+      SERIAL_ECHOPGM("\n"); 
125
+    }
73 126
   }
74 127
 
75 128
 #elif ENABLED(DUAL_NOZZLE_DUPLICATION_MODE)

+ 12
- 1
Marlin/src/gcode/queue.cpp View File

@@ -138,6 +138,17 @@ inline bool _enqueuecommand(const char* cmd, bool say_ok=false
138 138
  * Enqueue with Serial Echo
139 139
  */
140 140
 bool enqueue_and_echo_command(const char* cmd) {
141
+
142
+//SERIAL_ECHO("enqueue_and_echo_command(\"");
143
+//SERIAL_ECHO(cmd);
144
+//SERIAL_ECHO("\") \n");
145
+//
146
+  if ( *cmd == 0 || *cmd == '\n' || *cmd == 'r')
147
+//{
148
+//SERIAL_ECHO("Null command found...   Did not queue!\n");
149
+    return true;
150
+//}
151
+
141 152
   if (_enqueuecommand(cmd)) {
142 153
     SERIAL_ECHO_START();
143 154
     SERIAL_ECHOPAIR(MSG_ENQUEUEING, cmd);
@@ -155,7 +166,7 @@ bool enqueue_and_echo_command(const char* cmd) {
155 166
 static bool drain_injected_commands_P() {
156 167
   if (injected_commands_P != NULL) {
157 168
     size_t i = 0;
158
-    char c, cmd[30];
169
+    char c, cmd[60];
159 170
     strncpy_P(cmd, injected_commands_P, sizeof(cmd) - 1);
160 171
     cmd[sizeof(cmd) - 1] = '\0';
161 172
     while ((c = cmd[i]) && c != '\n') i++; // find the end of this gcode command

+ 13
- 1
Marlin/src/lcd/language/language_en.h View File

@@ -188,7 +188,7 @@
188 188
   #define MSG_EDITING_STOPPED                 _UxGT("Mesh Editing Stopped")
189 189
 #endif
190 190
 #ifndef MSG_USER_MENU
191
-  #define MSG_USER_MENU                       _UxGT("Custom Commands")
191
+  #define MSG_USER_MENU                       _UxGT("Custom User Commands")
192 192
 #endif
193 193
 #ifndef MSG_UBL_DOING_G29
194 194
   #define MSG_UBL_DOING_G29                   _UxGT("Doing G29")
@@ -202,6 +202,18 @@
202 202
 #ifndef MSG_UBL_LEVEL_BED
203 203
   #define MSG_UBL_LEVEL_BED                   _UxGT("Unified Bed Leveling")
204 204
 #endif
205
+#ifndef MSG_IDEX_MENU
206
+  #define MSG_IDEX_MENU                       _UxGT("IDEX Mode Selection")
207
+#endif
208
+#ifndef MSG_IDEX_MODE_AUTOPARK
209
+  #define MSG_IDEX_MODE_AUTOPARK              _UxGT("DXC Auto-Park mode")
210
+#endif
211
+#ifndef MSG_IDEX_MODE_DUPLICATE
212
+  #define MSG_IDEX_MODE_DUPLICATE             _UxGT("DXC Duplication mode")
213
+#endif
214
+#ifndef MSG_IDEX_MODE_FULL_CTRL
215
+  #define MSG_IDEX_MODE_FULL_CTRL             _UxGT("DXC Full control mode")
216
+#endif
205 217
 #ifndef MSG_UBL_MANUAL_MESH
206 218
   #define MSG_UBL_MANUAL_MESH                 _UxGT("Manually Build Mesh")
207 219
 #endif

+ 21
- 0
Marlin/src/lcd/ultralcd.cpp View File

@@ -1030,6 +1030,23 @@ void lcd_quick_feedback(const bool clear_buttons) {
1030 1030
 
1031 1031
   #endif // HAS_DEBUG_MENU
1032 1032
 
1033
+   /**
1034
+    * IDEX submenu
1035
+    */
1036
+  #if ENABLED(DUAL_X_CARRIAGE)
1037
+    static void IDEX_menu() {
1038
+      START_MENU();
1039
+      MENU_BACK(MSG_MAIN);
1040
+      MENU_ITEM(gcode, MSG_IDEX_MODE_AUTOPARK,  PSTR("M605 S1\nG28 X\nG1 X100\n"));
1041
+      if (!TEST(axis_known_position, Y_AXIS) || !TEST(axis_known_position, Z_AXIS))
1042
+        MENU_ITEM(gcode, MSG_IDEX_MODE_DUPLICATE, PSTR("T0\nG28\nM605 S2 X200\nG28 X\nG1 X100\n"));  // If Y or Z is not homed, a full G28 is done first.
1043
+      else  
1044
+        MENU_ITEM(gcode, MSG_IDEX_MODE_DUPLICATE, PSTR("T0\nM605 S2 X200\nG28 X\nG1 X100\n"));       // If Y and Z is homed, a full G28 is not needed first.
1045
+      MENU_ITEM(gcode, MSG_IDEX_MODE_FULL_CTRL, PSTR("M605 S0\nG28 X\n"));
1046
+      END_MENU();
1047
+    }
1048
+  #endif // DUAL_X_CARRIAGE
1049
+
1033 1050
   #if ENABLED(CUSTOM_USER_MENUS)
1034 1051
 
1035 1052
     #ifdef USER_SCRIPT_DONE
@@ -1107,6 +1124,10 @@ void lcd_quick_feedback(const bool clear_buttons) {
1107 1124
       MENU_ITEM(submenu, MSG_USER_MENU, _lcd_user_menu);
1108 1125
     #endif
1109 1126
 
1127
+    #if ENABLED(DUAL_X_CARRIAGE)
1128
+      MENU_ITEM(submenu, MSG_IDEX_MENU, IDEX_menu);
1129
+    #endif
1130
+
1110 1131
     //
1111 1132
     // Debug Menu when certain options are enabled
1112 1133
     //

+ 22
- 11
Marlin/src/module/motion.cpp View File

@@ -835,7 +835,8 @@ float soft_endstop_min[XYZ] = { X_MIN_BED, Y_MIN_BED, Z_MIN_POS },
835 835
 #endif // !UBL_SEGMENTED
836 836
 
837 837
 #if ENABLED(DUAL_X_CARRIAGE) || ENABLED(DUAL_NOZZLE_DUPLICATION_MODE)
838
-  bool extruder_duplication_enabled = false;                              // Used in Dual X mode 2
838
+  bool extruder_duplication_enabled = false;                              // Used in Dual X mode 2 & 3
839
+  bool symmetric_duplication_mode   = false;                              // Used in Dual X mode 2 & 3
839 840
 #endif
840 841
 
841 842
 #if ENABLED(DUAL_X_CARRIAGE)
@@ -884,15 +885,20 @@ float soft_endstop_min[XYZ] = { X_MIN_BED, Y_MIN_BED, Z_MIN_POS },
884 885
             }
885 886
           }
886 887
           // unpark extruder: 1) raise, 2) move into starting XY position, 3) lower
887
-          for (uint8_t i = 0; i < 3; i++)
888
-            if (!planner.buffer_line(
889
-              i == 0 ? raised_parked_position[X_AXIS] : current_position[X_AXIS],
890
-              i == 0 ? raised_parked_position[Y_AXIS] : current_position[Y_AXIS],
891
-              i == 2 ? current_position[Z_AXIS] : raised_parked_position[Z_AXIS],
892
-              current_position[E_AXIS],
893
-              i == 1 ? PLANNER_XY_FEEDRATE() : planner.max_feedrate_mm_s[Z_AXIS],
894
-              active_extruder)
895
-            ) break;
888
+
889
+            #define CUR_X    current_position[X_AXIS]
890
+            #define CUR_Y    current_position[Y_AXIS]
891
+            #define CUR_Z    current_position[Z_AXIS]
892
+            #define CUR_E    current_position[E_AXIS]
893
+            #define RAISED_X raised_parked_position[X_AXIS]
894
+            #define RAISED_Y raised_parked_position[Y_AXIS]
895
+            #define RAISED_Z raised_parked_position[Z_AXIS]
896
+
897
+SERIAL_ECHOLNPGM("dual_x_carriage_unpark()\n");
898
+
899
+            if (planner.buffer_line(RAISED_X, RAISED_Y, RAISED_Z, CUR_E, planner.max_feedrate_mm_s[Z_AXIS], active_extruder)) 
900
+              if (planner.buffer_line( CUR_X,    CUR_Y, RAISED_Z, CUR_E, PLANNER_XY_FEEDRATE(),             active_extruder)) 
901
+                  planner.buffer_line( CUR_X,    CUR_Y,    CUR_Z, CUR_E, planner.max_feedrate_mm_s[Z_AXIS], active_extruder);
896 902
           delayed_move_time = 0;
897 903
           active_extruder_parked = false;
898 904
           #if ENABLED(DEBUG_LEVELING_FEATURE)
@@ -976,7 +982,12 @@ void prepare_move_to_destination() {
976 982
 
977 983
   if (
978 984
     #if UBL_SEGMENTED
979
-      ubl.prepare_segmented_line_to(destination, MMS_SCALED(feedrate_mm_s))
985
+//    ubl.prepare_segmented_line_to(destination, MMS_SCALED(feedrate_mm_s))   // This does not seem to work correctly on UBL.
986
+      #if ENABLED(DELTA)                                                      // A Delta case and a Cartesian case can work
987
+        ubl.prepare_segmented_line_to(destination, MMS_SCALED(feedrate_mm_s)) // around the problem until it is fixed.
988
+      #else
989
+        prepare_move_to_destination_cartesian()
990
+      #endif
980 991
     #elif IS_KINEMATIC
981 992
       prepare_kinematic_move_to(destination)
982 993
     #else

+ 5
- 4
Marlin/src/module/motion.h View File

@@ -307,6 +307,7 @@ void homeaxis(const AxisEnum axis);
307 307
  */
308 308
 #if ENABLED(DUAL_X_CARRIAGE) || ENABLED(DUAL_NOZZLE_DUPLICATION_MODE)
309 309
   extern bool extruder_duplication_enabled;       // Used in Dual X mode 2
310
+  extern bool symmetric_duplication_mode;         // Used in Dual X mode 2
310 311
 #endif
311 312
 
312 313
 /**
@@ -317,16 +318,16 @@ void homeaxis(const AxisEnum axis);
317 318
   enum DualXMode : char {
318 319
     DXC_FULL_CONTROL_MODE,  // DUAL_X_CARRIAGE only
319 320
     DXC_AUTO_PARK_MODE,     // DUAL_X_CARRIAGE only
320
-    DXC_DUPLICATION_MODE
321
+    DXC_DUPLICATION_MODE,
321 322
   };
322 323
 
323 324
   extern DualXMode dual_x_carriage_mode;
324 325
   extern float inactive_extruder_x_pos,           // used in mode 0 & 1
325 326
                raised_parked_position[XYZE],      // used in mode 1
326
-               duplicate_extruder_x_offset;       // used in mode 2
327
-  extern bool active_extruder_parked;             // used in mode 1 & 2
327
+               duplicate_extruder_x_offset;       // used in mode 2 & 3
328
+  extern bool active_extruder_parked;             // used in mode 1, 2 & 3
328 329
   extern millis_t delayed_move_time;              // used in mode 1
329
-  extern int16_t duplicate_extruder_temp_offset;  // used in mode 2
330
+  extern int16_t duplicate_extruder_temp_offset;  // used in mode 2 & 3
330 331
 
331 332
   float x_home_pos(const int extruder);
332 333
 

+ 3
- 0
Marlin/src/module/stepper.cpp View File

@@ -231,6 +231,9 @@ int8_t Stepper::count_direction[NUM_AXIS] = { 0, 0, 0, 0 };
231 231
   #define X_APPLY_DIR(v,ALWAYS) \
232 232
     if (extruder_duplication_enabled || ALWAYS) { \
233 233
       X_DIR_WRITE(v); \
234
+      if (symmetric_duplication_mode) \
235
+        X2_DIR_WRITE(!v); \
236
+      else \
234 237
       X2_DIR_WRITE(v); \
235 238
     } \
236 239
     else { \

+ 15
- 24
Marlin/src/module/tool_change.cpp View File

@@ -248,7 +248,6 @@ inline void invalid_extruder_error(const uint8_t e) {
248 248
         switch (dual_x_carriage_mode) {
249 249
           case DXC_FULL_CONTROL_MODE: SERIAL_ECHOLNPGM("DXC_FULL_CONTROL_MODE"); break;
250 250
           case DXC_AUTO_PARK_MODE: SERIAL_ECHOLNPGM("DXC_AUTO_PARK_MODE"); break;
251
-          case DXC_DUPLICATION_MODE: SERIAL_ECHOLNPGM("DXC_DUPLICATION_MODE"); break;
252 251
         }
253 252
       }
254 253
     #endif
@@ -270,15 +269,16 @@ inline void invalid_extruder_error(const uint8_t e) {
270 269
         }
271 270
       #endif
272 271
       // Park old head: 1) raise 2) move to park position 3) lower
273
-      for (uint8_t i = 0; i < 3; i++)
274
-        planner.buffer_line(
275
-          i == 0 ? current_position[X_AXIS] : xhome,
276
-          current_position[Y_AXIS],
277
-          i == 2 ? current_position[Z_AXIS] : raised_z,
278
-          current_position[E_AXIS],
279
-          planner.max_feedrate_mm_s[i == 1 ? X_AXIS : Z_AXIS],
280
-          active_extruder
281
-        );
272
+
273
+      #define CUR_X current_position[X_AXIS]
274
+      #define CUR_Y current_position[Y_AXIS]
275
+      #define CUR_Z current_position[Z_AXIS]
276
+      #define CUR_E current_position[E_AXIS]
277
+
278
+      planner.buffer_line( CUR_X, CUR_Y, raised_z, CUR_E, planner.max_feedrate_mm_s[Z_AXIS], active_extruder);
279
+      planner.buffer_line( xhome, CUR_Y, raised_z, CUR_E, planner.max_feedrate_mm_s[X_AXIS], active_extruder);
280
+      planner.buffer_line( xhome, CUR_Y, CUR_Z,    CUR_E, planner.max_feedrate_mm_s[Z_AXIS], active_extruder);
281
+
282 282
       planner.synchronize();
283 283
     }
284 284
 
@@ -316,20 +316,6 @@ inline void invalid_extruder_error(const uint8_t e) {
316 316
         active_extruder_parked = true;
317 317
         delayed_move_time = 0;
318 318
         break;
319
-      case DXC_DUPLICATION_MODE:
320
-        // If the new extruder is the left one, set it "parked"
321
-        // This triggers the second extruder to move into the duplication position
322
-        active_extruder_parked = (active_extruder == 0);
323
-        current_position[X_AXIS] = active_extruder_parked ? inactive_extruder_x_pos : destination[X_AXIS] + duplicate_extruder_x_offset;
324
-        inactive_extruder_x_pos = destination[X_AXIS];
325
-        extruder_duplication_enabled = false;
326
-        #if ENABLED(DEBUG_LEVELING_FEATURE)
327
-          if (DEBUGGING(LEVELING)) {
328
-            SERIAL_ECHOLNPAIR("Set inactive_extruder_x_pos=", inactive_extruder_x_pos);
329
-            SERIAL_ECHOLNPGM("Clear extruder_duplication_enabled");
330
-          }
331
-        #endif
332
-        break;
333 319
     }
334 320
 
335 321
     #if ENABLED(DEBUG_LEVELING_FEATURE)
@@ -351,6 +337,11 @@ inline void invalid_extruder_error(const uint8_t e) {
351 337
 void tool_change(const uint8_t tmp_extruder, const float fr_mm_s/*=0.0*/, bool no_move/*=false*/) {
352 338
   planner.synchronize();
353 339
 
340
+  #if ENABLED(DUAL_X_CARRIAGE)  // Only T0 allowed if the Printer is in DXC_DUPLICATION_MODE
341
+    if (tmp_extruder != 0 && dual_x_carriage_mode == DXC_DUPLICATION_MODE)
342
+       return invalid_extruder_error(tmp_extruder); 
343
+  #endif
344
+
354 345
   #if HAS_LEVELING
355 346
     // Set current position to the physical position
356 347
     const bool leveling_was_active = planner.leveling_active;

Loading…
Cancel
Save