浏览代码

Function-like macros

Scott Lahteine 5 年前
父节点
当前提交
37849969ad
共有 3 个文件被更改,包括 72 次插入72 次删除
  1. 16
    16
      Marlin/src/feature/controllerfan.cpp
  2. 30
    30
      Marlin/src/module/stepper.cpp
  3. 26
    26
      Marlin/src/module/stepper/indirection.h

+ 16
- 16
Marlin/src/feature/controllerfan.cpp 查看文件

@@ -43,22 +43,22 @@ void controllerfan_update() {
43 43
       #if HAS_HEATED_BED
44 44
         || thermalManager.temp_bed.soft_pwm_amount > 0
45 45
       #endif
46
-        #if HAS_X2_ENABLE
47
-          || X2_ENABLE_READ() == X_ENABLE_ON
48
-        #endif
49
-        #if HAS_Y2_ENABLE
50
-          || Y2_ENABLE_READ() == Y_ENABLE_ON
51
-        #endif
52
-        #if HAS_Z2_ENABLE
53
-          || Z2_ENABLE_READ() == Z_ENABLE_ON
54
-        #endif
55
-        #if HAS_Z3_ENABLE
56
-          || Z3_ENABLE_READ() == Z_ENABLE_ON
57
-        #endif
58
-        #if E_STEPPERS
59
-          #define _OR_ENABLED_E(N) || E##N##_ENABLE_READ() == E_ENABLE_ON
60
-          REPEAT(E_STEPPERS, _OR_ENABLED_E)
61
-        #endif
46
+      #if HAS_X2_ENABLE
47
+        || X2_ENABLE_READ() == X_ENABLE_ON
48
+      #endif
49
+      #if HAS_Y2_ENABLE
50
+        || Y2_ENABLE_READ() == Y_ENABLE_ON
51
+      #endif
52
+      #if HAS_Z2_ENABLE
53
+        || Z2_ENABLE_READ() == Z_ENABLE_ON
54
+      #endif
55
+      #if HAS_Z3_ENABLE
56
+        || Z3_ENABLE_READ() == Z_ENABLE_ON
57
+      #endif
58
+      #if E_STEPPERS
59
+        #define _OR_ENABLED_E(N) || E##N##_ENABLE_READ() == E_ENABLE_ON
60
+        REPEAT(E_STEPPERS, _OR_ENABLED_E)
61
+      #endif
62 62
     ) {
63 63
       lastMotorOn = ms; //... set time to NOW so the fan will turn on
64 64
     }

+ 30
- 30
Marlin/src/module/stepper.cpp 查看文件

@@ -2049,96 +2049,96 @@ void Stepper::init() {
2049 2049
 
2050 2050
   // Init Dir Pins
2051 2051
   #if HAS_X_DIR
2052
-    X_DIR_INIT;
2052
+    X_DIR_INIT();
2053 2053
   #endif
2054 2054
   #if HAS_X2_DIR
2055
-    X2_DIR_INIT;
2055
+    X2_DIR_INIT();
2056 2056
   #endif
2057 2057
   #if HAS_Y_DIR
2058
-    Y_DIR_INIT;
2058
+    Y_DIR_INIT();
2059 2059
     #if ENABLED(Y_DUAL_STEPPER_DRIVERS) && HAS_Y2_DIR
2060
-      Y2_DIR_INIT;
2060
+      Y2_DIR_INIT();
2061 2061
     #endif
2062 2062
   #endif
2063 2063
   #if HAS_Z_DIR
2064
-    Z_DIR_INIT;
2064
+    Z_DIR_INIT();
2065 2065
     #if Z_MULTI_STEPPER_DRIVERS && HAS_Z2_DIR
2066
-      Z2_DIR_INIT;
2066
+      Z2_DIR_INIT();
2067 2067
     #endif
2068 2068
     #if ENABLED(Z_TRIPLE_STEPPER_DRIVERS) && HAS_Z3_DIR
2069
-      Z3_DIR_INIT;
2069
+      Z3_DIR_INIT();
2070 2070
     #endif
2071 2071
   #endif
2072 2072
   #if HAS_E0_DIR
2073
-    E0_DIR_INIT;
2073
+    E0_DIR_INIT();
2074 2074
   #endif
2075 2075
   #if HAS_E1_DIR
2076
-    E1_DIR_INIT;
2076
+    E1_DIR_INIT();
2077 2077
   #endif
2078 2078
   #if HAS_E2_DIR
2079
-    E2_DIR_INIT;
2079
+    E2_DIR_INIT();
2080 2080
   #endif
2081 2081
   #if HAS_E3_DIR
2082
-    E3_DIR_INIT;
2082
+    E3_DIR_INIT();
2083 2083
   #endif
2084 2084
   #if HAS_E4_DIR
2085
-    E4_DIR_INIT;
2085
+    E4_DIR_INIT();
2086 2086
   #endif
2087 2087
   #if HAS_E5_DIR
2088
-    E5_DIR_INIT;
2088
+    E5_DIR_INIT();
2089 2089
   #endif
2090 2090
 
2091 2091
   // Init Enable Pins - steppers default to disabled.
2092 2092
   #if HAS_X_ENABLE
2093
-    X_ENABLE_INIT;
2093
+    X_ENABLE_INIT();
2094 2094
     if (!X_ENABLE_ON) X_ENABLE_WRITE(HIGH);
2095 2095
     #if EITHER(DUAL_X_CARRIAGE, X_DUAL_STEPPER_DRIVERS) && HAS_X2_ENABLE
2096
-      X2_ENABLE_INIT;
2096
+      X2_ENABLE_INIT();
2097 2097
       if (!X_ENABLE_ON) X2_ENABLE_WRITE(HIGH);
2098 2098
     #endif
2099 2099
   #endif
2100 2100
   #if HAS_Y_ENABLE
2101
-    Y_ENABLE_INIT;
2101
+    Y_ENABLE_INIT();
2102 2102
     if (!Y_ENABLE_ON) Y_ENABLE_WRITE(HIGH);
2103 2103
     #if ENABLED(Y_DUAL_STEPPER_DRIVERS) && HAS_Y2_ENABLE
2104
-      Y2_ENABLE_INIT;
2104
+      Y2_ENABLE_INIT();
2105 2105
       if (!Y_ENABLE_ON) Y2_ENABLE_WRITE(HIGH);
2106 2106
     #endif
2107 2107
   #endif
2108 2108
   #if HAS_Z_ENABLE
2109
-    Z_ENABLE_INIT;
2109
+    Z_ENABLE_INIT();
2110 2110
     if (!Z_ENABLE_ON) Z_ENABLE_WRITE(HIGH);
2111 2111
     #if Z_MULTI_STEPPER_DRIVERS && HAS_Z2_ENABLE
2112
-      Z2_ENABLE_INIT;
2112
+      Z2_ENABLE_INIT();
2113 2113
       if (!Z_ENABLE_ON) Z2_ENABLE_WRITE(HIGH);
2114 2114
     #endif
2115 2115
     #if ENABLED(Z_TRIPLE_STEPPER_DRIVERS) && HAS_Z3_ENABLE
2116
-      Z3_ENABLE_INIT;
2116
+      Z3_ENABLE_INIT();
2117 2117
       if (!Z_ENABLE_ON) Z3_ENABLE_WRITE(HIGH);
2118 2118
     #endif
2119 2119
   #endif
2120 2120
   #if HAS_E0_ENABLE
2121
-    E0_ENABLE_INIT;
2121
+    E0_ENABLE_INIT();
2122 2122
     if (!E_ENABLE_ON) E0_ENABLE_WRITE(HIGH);
2123 2123
   #endif
2124 2124
   #if HAS_E1_ENABLE
2125
-    E1_ENABLE_INIT;
2125
+    E1_ENABLE_INIT();
2126 2126
     if (!E_ENABLE_ON) E1_ENABLE_WRITE(HIGH);
2127 2127
   #endif
2128 2128
   #if HAS_E2_ENABLE
2129
-    E2_ENABLE_INIT;
2129
+    E2_ENABLE_INIT();
2130 2130
     if (!E_ENABLE_ON) E2_ENABLE_WRITE(HIGH);
2131 2131
   #endif
2132 2132
   #if HAS_E3_ENABLE
2133
-    E3_ENABLE_INIT;
2133
+    E3_ENABLE_INIT();
2134 2134
     if (!E_ENABLE_ON) E3_ENABLE_WRITE(HIGH);
2135 2135
   #endif
2136 2136
   #if HAS_E4_ENABLE
2137
-    E4_ENABLE_INIT;
2137
+    E4_ENABLE_INIT();
2138 2138
     if (!E_ENABLE_ON) E4_ENABLE_WRITE(HIGH);
2139 2139
   #endif
2140 2140
   #if HAS_E5_ENABLE
2141
-    E5_ENABLE_INIT;
2141
+    E5_ENABLE_INIT();
2142 2142
     if (!E_ENABLE_ON) E5_ENABLE_WRITE(HIGH);
2143 2143
   #endif
2144 2144
 
@@ -2156,7 +2156,7 @@ void Stepper::init() {
2156 2156
   // Init Step Pins
2157 2157
   #if HAS_X_STEP
2158 2158
     #if EITHER(X_DUAL_STEPPER_DRIVERS, DUAL_X_CARRIAGE)
2159
-      X2_STEP_INIT;
2159
+      X2_STEP_INIT();
2160 2160
       X2_STEP_WRITE(INVERT_X_STEP_PIN);
2161 2161
     #endif
2162 2162
     AXIS_INIT(X, X);
@@ -2164,7 +2164,7 @@ void Stepper::init() {
2164 2164
 
2165 2165
   #if HAS_Y_STEP
2166 2166
     #if ENABLED(Y_DUAL_STEPPER_DRIVERS)
2167
-      Y2_STEP_INIT;
2167
+      Y2_STEP_INIT();
2168 2168
       Y2_STEP_WRITE(INVERT_Y_STEP_PIN);
2169 2169
     #endif
2170 2170
     AXIS_INIT(Y, Y);
@@ -2172,11 +2172,11 @@ void Stepper::init() {
2172 2172
 
2173 2173
   #if HAS_Z_STEP
2174 2174
     #if Z_MULTI_STEPPER_DRIVERS
2175
-      Z2_STEP_INIT;
2175
+      Z2_STEP_INIT();
2176 2176
       Z2_STEP_WRITE(INVERT_Z_STEP_PIN);
2177 2177
     #endif
2178 2178
     #if ENABLED(Z_TRIPLE_STEPPER_DRIVERS)
2179
-      Z3_STEP_INIT;
2179
+      Z3_STEP_INIT();
2180 2180
       Z3_STEP_WRITE(INVERT_Z_STEP_PIN);
2181 2181
     #endif
2182 2182
     AXIS_INIT(Z, Z);

+ 26
- 26
Marlin/src/module/stepper/indirection.h 查看文件

@@ -58,11 +58,11 @@ void reset_stepper_drivers();    // Called by settings.load / settings.reset
58 58
   #define X_DIR_WRITE(STATE) WRITE(X_DIR_PIN,STATE)
59 59
   #define X_DIR_READ() READ(X_DIR_PIN)
60 60
 #endif
61
-#define X_STEP_INIT SET_OUTPUT(X_STEP_PIN)
61
+#define X_STEP_INIT() SET_OUTPUT(X_STEP_PIN)
62 62
 #ifndef X_STEP_WRITE
63 63
   #define X_STEP_WRITE(STATE) WRITE(X_STEP_PIN,STATE)
64 64
 #endif
65
-#define X_STEP_READ READ(X_STEP_PIN)
65
+#define X_STEP_READ() READ(X_STEP_PIN)
66 66
 
67 67
 // Y Stepper
68 68
 #ifndef Y_ENABLE_INIT
@@ -75,11 +75,11 @@ void reset_stepper_drivers();    // Called by settings.load / settings.reset
75 75
   #define Y_DIR_WRITE(STATE) WRITE(Y_DIR_PIN,STATE)
76 76
   #define Y_DIR_READ() READ(Y_DIR_PIN)
77 77
 #endif
78
-#define Y_STEP_INIT SET_OUTPUT(Y_STEP_PIN)
78
+#define Y_STEP_INIT() SET_OUTPUT(Y_STEP_PIN)
79 79
 #ifndef Y_STEP_WRITE
80 80
   #define Y_STEP_WRITE(STATE) WRITE(Y_STEP_PIN,STATE)
81 81
 #endif
82
-#define Y_STEP_READ READ(Y_STEP_PIN)
82
+#define Y_STEP_READ() READ(Y_STEP_PIN)
83 83
 
84 84
 // Z Stepper
85 85
 #ifndef Z_ENABLE_INIT
@@ -92,11 +92,11 @@ void reset_stepper_drivers();    // Called by settings.load / settings.reset
92 92
   #define Z_DIR_WRITE(STATE) WRITE(Z_DIR_PIN,STATE)
93 93
   #define Z_DIR_READ() READ(Z_DIR_PIN)
94 94
 #endif
95
-#define Z_STEP_INIT SET_OUTPUT(Z_STEP_PIN)
95
+#define Z_STEP_INIT() SET_OUTPUT(Z_STEP_PIN)
96 96
 #ifndef Z_STEP_WRITE
97 97
   #define Z_STEP_WRITE(STATE) WRITE(Z_STEP_PIN,STATE)
98 98
 #endif
99
-#define Z_STEP_READ READ(Z_STEP_PIN)
99
+#define Z_STEP_READ() READ(Z_STEP_PIN)
100 100
 
101 101
 // X2 Stepper
102 102
 #if HAS_X2_ENABLE
@@ -110,11 +110,11 @@ void reset_stepper_drivers();    // Called by settings.load / settings.reset
110 110
     #define X2_DIR_WRITE(STATE) WRITE(X2_DIR_PIN,STATE)
111 111
     #define X2_DIR_READ() READ(X2_DIR_PIN)
112 112
   #endif
113
-  #define X2_STEP_INIT SET_OUTPUT(X2_STEP_PIN)
113
+  #define X2_STEP_INIT() SET_OUTPUT(X2_STEP_PIN)
114 114
   #ifndef X2_STEP_WRITE
115 115
     #define X2_STEP_WRITE(STATE) WRITE(X2_STEP_PIN,STATE)
116 116
   #endif
117
-  #define X2_STEP_READ READ(X2_STEP_PIN)
117
+  #define X2_STEP_READ() READ(X2_STEP_PIN)
118 118
 #endif
119 119
 
120 120
 // Y2 Stepper
@@ -129,11 +129,11 @@ void reset_stepper_drivers();    // Called by settings.load / settings.reset
129 129
     #define Y2_DIR_WRITE(STATE) WRITE(Y2_DIR_PIN,STATE)
130 130
     #define Y2_DIR_READ() READ(Y2_DIR_PIN)
131 131
   #endif
132
-  #define Y2_STEP_INIT SET_OUTPUT(Y2_STEP_PIN)
132
+  #define Y2_STEP_INIT() SET_OUTPUT(Y2_STEP_PIN)
133 133
   #ifndef Y2_STEP_WRITE
134 134
     #define Y2_STEP_WRITE(STATE) WRITE(Y2_STEP_PIN,STATE)
135 135
   #endif
136
-  #define Y2_STEP_READ READ(Y2_STEP_PIN)
136
+  #define Y2_STEP_READ() READ(Y2_STEP_PIN)
137 137
 #else
138 138
   #define Y2_DIR_WRITE(STATE) NOOP
139 139
 #endif
@@ -150,11 +150,11 @@ void reset_stepper_drivers();    // Called by settings.load / settings.reset
150 150
     #define Z2_DIR_WRITE(STATE) WRITE(Z2_DIR_PIN,STATE)
151 151
     #define Z2_DIR_READ() READ(Z2_DIR_PIN)
152 152
   #endif
153
-  #define Z2_STEP_INIT SET_OUTPUT(Z2_STEP_PIN)
153
+  #define Z2_STEP_INIT() SET_OUTPUT(Z2_STEP_PIN)
154 154
   #ifndef Z2_STEP_WRITE
155 155
     #define Z2_STEP_WRITE(STATE) WRITE(Z2_STEP_PIN,STATE)
156 156
   #endif
157
-  #define Z2_STEP_READ READ(Z2_STEP_PIN)
157
+  #define Z2_STEP_READ() READ(Z2_STEP_PIN)
158 158
 #else
159 159
   #define Z2_DIR_WRITE(STATE) NOOP
160 160
 #endif
@@ -171,11 +171,11 @@ void reset_stepper_drivers();    // Called by settings.load / settings.reset
171 171
     #define Z3_DIR_WRITE(STATE) WRITE(Z3_DIR_PIN,STATE)
172 172
     #define Z3_DIR_READ() READ(Z3_DIR_PIN)
173 173
   #endif
174
-  #define Z3_STEP_INIT SET_OUTPUT(Z3_STEP_PIN)
174
+  #define Z3_STEP_INIT() SET_OUTPUT(Z3_STEP_PIN)
175 175
   #ifndef Z3_STEP_WRITE
176 176
     #define Z3_STEP_WRITE(STATE) WRITE(Z3_STEP_PIN,STATE)
177 177
   #endif
178
-  #define Z3_STEP_READ READ(Z3_STEP_PIN)
178
+  #define Z3_STEP_READ() READ(Z3_STEP_PIN)
179 179
 #else
180 180
   #define Z3_DIR_WRITE(STATE) NOOP
181 181
 #endif
@@ -191,11 +191,11 @@ void reset_stepper_drivers();    // Called by settings.load / settings.reset
191 191
   #define E0_DIR_WRITE(STATE) WRITE(E0_DIR_PIN,STATE)
192 192
   #define E0_DIR_READ() READ(E0_DIR_PIN)
193 193
 #endif
194
-#define E0_STEP_INIT SET_OUTPUT(E0_STEP_PIN)
194
+#define E0_STEP_INIT() SET_OUTPUT(E0_STEP_PIN)
195 195
 #ifndef E0_STEP_WRITE
196 196
   #define E0_STEP_WRITE(STATE) WRITE(E0_STEP_PIN,STATE)
197 197
 #endif
198
-#define E0_STEP_READ READ(E0_STEP_PIN)
198
+#define E0_STEP_READ() READ(E0_STEP_PIN)
199 199
 
200 200
 // E1 Stepper
201 201
 #ifndef E1_ENABLE_INIT
@@ -208,11 +208,11 @@ void reset_stepper_drivers();    // Called by settings.load / settings.reset
208 208
   #define E1_DIR_WRITE(STATE) WRITE(E1_DIR_PIN,STATE)
209 209
   #define E1_DIR_READ() READ(E1_DIR_PIN)
210 210
 #endif
211
-#define E1_STEP_INIT SET_OUTPUT(E1_STEP_PIN)
211
+#define E1_STEP_INIT() SET_OUTPUT(E1_STEP_PIN)
212 212
 #ifndef E1_STEP_WRITE
213 213
   #define E1_STEP_WRITE(STATE) WRITE(E1_STEP_PIN,STATE)
214 214
 #endif
215
-#define E1_STEP_READ READ(E1_STEP_PIN)
215
+#define E1_STEP_READ() READ(E1_STEP_PIN)
216 216
 
217 217
 // E2 Stepper
218 218
 #ifndef E2_ENABLE_INIT
@@ -225,11 +225,11 @@ void reset_stepper_drivers();    // Called by settings.load / settings.reset
225 225
   #define E2_DIR_WRITE(STATE) WRITE(E2_DIR_PIN,STATE)
226 226
   #define E2_DIR_READ() READ(E2_DIR_PIN)
227 227
 #endif
228
-#define E2_STEP_INIT SET_OUTPUT(E2_STEP_PIN)
228
+#define E2_STEP_INIT() SET_OUTPUT(E2_STEP_PIN)
229 229
 #ifndef E2_STEP_WRITE
230 230
   #define E2_STEP_WRITE(STATE) WRITE(E2_STEP_PIN,STATE)
231 231
 #endif
232
-#define E2_STEP_READ READ(E2_STEP_PIN)
232
+#define E2_STEP_READ() READ(E2_STEP_PIN)
233 233
 
234 234
 // E3 Stepper
235 235
 #ifndef E3_ENABLE_INIT
@@ -242,11 +242,11 @@ void reset_stepper_drivers();    // Called by settings.load / settings.reset
242 242
   #define E3_DIR_WRITE(STATE) WRITE(E3_DIR_PIN,STATE)
243 243
   #define E3_DIR_READ() READ(E3_DIR_PIN)
244 244
 #endif
245
-#define E3_STEP_INIT SET_OUTPUT(E3_STEP_PIN)
245
+#define E3_STEP_INIT() SET_OUTPUT(E3_STEP_PIN)
246 246
 #ifndef E3_STEP_WRITE
247 247
   #define E3_STEP_WRITE(STATE) WRITE(E3_STEP_PIN,STATE)
248 248
 #endif
249
-#define E3_STEP_READ READ(E3_STEP_PIN)
249
+#define E3_STEP_READ() READ(E3_STEP_PIN)
250 250
 
251 251
 // E4 Stepper
252 252
 #ifndef E4_ENABLE_INIT
@@ -259,11 +259,11 @@ void reset_stepper_drivers();    // Called by settings.load / settings.reset
259 259
   #define E4_DIR_WRITE(STATE) WRITE(E4_DIR_PIN,STATE)
260 260
   #define E4_DIR_READ() READ(E4_DIR_PIN)
261 261
 #endif
262
-#define E4_STEP_INIT SET_OUTPUT(E4_STEP_PIN)
262
+#define E4_STEP_INIT() SET_OUTPUT(E4_STEP_PIN)
263 263
 #ifndef E4_STEP_WRITE
264 264
   #define E4_STEP_WRITE(STATE) WRITE(E4_STEP_PIN,STATE)
265 265
 #endif
266
-#define E4_STEP_READ READ(E4_STEP_PIN)
266
+#define E4_STEP_READ() READ(E4_STEP_PIN)
267 267
 
268 268
 // E5 Stepper
269 269
 #ifndef E5_ENABLE_INIT
@@ -276,11 +276,11 @@ void reset_stepper_drivers();    // Called by settings.load / settings.reset
276 276
   #define E5_DIR_WRITE(STATE) WRITE(E5_DIR_PIN,STATE)
277 277
   #define E5_DIR_READ() READ(E5_DIR_PIN)
278 278
 #endif
279
-#define E5_STEP_INIT SET_OUTPUT(E5_STEP_PIN)
279
+#define E5_STEP_INIT() SET_OUTPUT(E5_STEP_PIN)
280 280
 #ifndef E5_STEP_WRITE
281 281
   #define E5_STEP_WRITE(STATE) WRITE(E5_STEP_PIN,STATE)
282 282
 #endif
283
-#define E5_STEP_READ READ(E5_STEP_PIN)
283
+#define E5_STEP_READ() READ(E5_STEP_PIN)
284 284
 
285 285
 /**
286 286
  * Extruder indirection for the single E axis

正在加载...
取消
保存