Kaynağa Gözat

pinsDebug with more features, uses less RAM

I've just uploaded a major change to pinsDebug.
The big change was creating an array in FLASH that contained every
active pin definition. That reduced the RAM memory usage considerably
but increased the FLASH usage.
Creating the array requires going through the pin list twice. Rather
than having two copies of it in the code I moved the list out to another
file (pinsDebug_list.h) and then just did two #includes.
From the user’s view they’ll see the following changes:
1. Now reports all the names assigned to a pin
2. The port is now reported in addition to the pin number.
3. When PWM0A & PWM1C share a pin, both PWMs are reported
4. More PWM/Timer info is reported
One new item that may cause some concern is the usage of the LINE
predefined preprocessor macro. It may not be available if the Arduino
IDE goes to a different compiler.

Includes support for 1284 & 1286 families.

Memory usage changes when enabling PINS_DEBUGGING:
ATmega2560
FLASH
.           without   52576
.           with new  64592
.           with old  62826
.           new-out   12016
.           old-out   10250
.           new-old   1766
.
RAM
.           without   2807
.           with new  2875
.           with old  3545
.           new-out   68
.           old-out   738
.           new-old   -670

==================================================================

minor changes - mostly formatting

1) added newline to end of teensyduino file

2) changed flag name from TEENSYDUINO to TEENSYDUINO_IDE.  Got warnings
about redefining TEENSYDUINO

3) removed some trailing spaces

reduce PROGMEM size & update pin list

Reduced PROGMEM usage by
1) converting often used macro to a function
2) moved as much as possible into the function

This required creating two arrays of address pointers for the PWM
registers.

==================================================================

update with new M3, M4, M5 pin names

==================================================================

report I/O status for unused/unknown pins
Scott Lahteine 7 yıl önce
ebeveyn
işleme
55d296aaf0
2 değiştirilmiş dosya ile 1135 ekleme ve 774 silme
  1. 360
    774
      Marlin/pinsDebug.h
  2. 775
    0
      Marlin/pinsDebug_list.h

+ 360
- 774
Marlin/pinsDebug.h
Dosya farkı çok büyük olduğundan ihmal edildi
Dosyayı Görüntüle


+ 775
- 0
Marlin/pinsDebug_list.h Dosyayı Görüntüle

@@ -0,0 +1,775 @@
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
+ // Please update this list when adding new pins to Marlin.
24
+ // The order doesn't matter.
25
+ // Following this pattern is a must.
26
+ // If the new pin name is over 28 characters long then pinsDebug.h will need to be modified.
27
+
28
+  // Pin list updated from 18 FEB 2017 RCBugfix branch   - max length of pin name is 24
29
+#if defined(__FD) && __FD >= 0
30
+  REPORT_NAME_DIGITAL(__FD, __LINE__ )
31
+#endif
32
+#if defined(__FS) && __FS >= 0
33
+  REPORT_NAME_DIGITAL(__FS, __LINE__ )
34
+#endif
35
+#if defined(__GD) && __GD >= 0
36
+  REPORT_NAME_DIGITAL(__GD, __LINE__ )
37
+#endif
38
+#if defined(__GS) && __GS >= 0
39
+  REPORT_NAME_DIGITAL(__GS, __LINE__ )
40
+#endif
41
+#if PIN_EXISTS(AVR_MISO)
42
+  REPORT_NAME_DIGITAL(AVR_MISO_PIN, __LINE__ )
43
+#endif
44
+#if PIN_EXISTS(AVR_MOSI)
45
+  REPORT_NAME_DIGITAL(AVR_MOSI_PIN, __LINE__ )
46
+#endif
47
+#if PIN_EXISTS(AVR_SCK)
48
+  REPORT_NAME_DIGITAL(AVR_SCK_PIN, __LINE__ )
49
+#endif
50
+#if PIN_EXISTS(AVR_SS)
51
+  REPORT_NAME_DIGITAL(AVR_SS_PIN, __LINE__ )
52
+#endif
53
+#if PIN_EXISTS(BEEPER)
54
+  REPORT_NAME_DIGITAL(BEEPER_PIN, __LINE__ )
55
+#endif
56
+#if defined(BTN_CENTER) && BTN_CENTER >= 0
57
+  REPORT_NAME_DIGITAL(BTN_CENTER, __LINE__ )
58
+#endif
59
+#if defined(BTN_DOWN) && BTN_DOWN >= 0
60
+  REPORT_NAME_DIGITAL(BTN_DOWN, __LINE__ )
61
+#endif
62
+#if defined(BTN_DWN) && BTN_DWN >= 0
63
+  REPORT_NAME_DIGITAL(BTN_DWN, __LINE__ )
64
+#endif
65
+#if defined(BTN_EN1) && BTN_EN1 >= 0
66
+  REPORT_NAME_DIGITAL(BTN_EN1, __LINE__ )
67
+#endif
68
+#if defined(BTN_EN2) && BTN_EN2 >= 0
69
+  REPORT_NAME_DIGITAL(BTN_EN2, __LINE__ )
70
+#endif
71
+#if defined(BTN_ENC) && BTN_ENC >= 0
72
+  REPORT_NAME_DIGITAL(BTN_ENC, __LINE__ )
73
+#endif
74
+#if defined(BTN_HOME) && BTN_HOME >= 0
75
+  REPORT_NAME_DIGITAL(BTN_HOME, __LINE__ )
76
+#endif
77
+#if defined(BTN_LEFT) && BTN_LEFT >= 0
78
+  REPORT_NAME_DIGITAL(BTN_LEFT, __LINE__ )
79
+#endif
80
+#if defined(BTN_LFT) && BTN_LFT >= 0
81
+  REPORT_NAME_DIGITAL(BTN_LFT, __LINE__ )
82
+#endif
83
+#if defined(BTN_RIGHT) && BTN_RIGHT >= 0
84
+  REPORT_NAME_DIGITAL(BTN_RIGHT, __LINE__ )
85
+#endif
86
+#if defined(BTN_RT) && BTN_RT >= 0
87
+  REPORT_NAME_DIGITAL(BTN_RT, __LINE__ )
88
+#endif
89
+#if defined(BTN_UP) && BTN_UP >= 0
90
+  REPORT_NAME_DIGITAL(BTN_UP, __LINE__ )
91
+#endif
92
+#if PIN_EXISTS(CASE_LIGHT)
93
+  REPORT_NAME_DIGITAL(CASE_LIGHT_PIN, __LINE__ )
94
+#endif
95
+#if PIN_EXISTS(CONTROLLERFAN)
96
+  REPORT_NAME_DIGITAL(CONTROLLERFAN_PIN, __LINE__ )
97
+#endif
98
+#if PIN_EXISTS(CUTOFF_RESET)
99
+  REPORT_NAME_DIGITAL(CUTOFF_RESET_PIN, __LINE__ )
100
+#endif
101
+#if PIN_EXISTS(CUTOFF_TEST)
102
+  REPORT_NAME_DIGITAL(CUTOFF_TEST_PIN, __LINE__ )
103
+#endif
104
+#if PIN_EXISTS(DAC_DISABLE)
105
+  REPORT_NAME_DIGITAL(DAC_DISABLE_PIN, __LINE__ )
106
+#endif
107
+#if defined(DAC_STEPPER_VREF) && DAC_STEPPER_VREF >= 0
108
+  REPORT_NAME_DIGITAL(DAC_STEPPER_VREF, __LINE__ )
109
+#endif
110
+#if PIN_EXISTS(DEBUG)
111
+  REPORT_NAME_DIGITAL(DEBUG_PIN, __LINE__ )
112
+#endif
113
+#if defined(DIGIPOTS_I2C_SCL) && DIGIPOTS_I2C_SCL >= 0
114
+  REPORT_NAME_DIGITAL(DIGIPOTS_I2C_SCL, __LINE__ )
115
+#endif
116
+#if defined(DIGIPOTS_I2C_SDA_E0) && DIGIPOTS_I2C_SDA_E0 >= 0
117
+  REPORT_NAME_DIGITAL(DIGIPOTS_I2C_SDA_E0, __LINE__ )
118
+#endif
119
+#if defined(DIGIPOTS_I2C_SDA_E1) && DIGIPOTS_I2C_SDA_E1 >= 0
120
+  REPORT_NAME_DIGITAL(DIGIPOTS_I2C_SDA_E1, __LINE__ )
121
+#endif
122
+#if defined(DIGIPOTS_I2C_SDA_X) && DIGIPOTS_I2C_SDA_X >= 0
123
+  REPORT_NAME_DIGITAL(DIGIPOTS_I2C_SDA_X, __LINE__ )
124
+#endif
125
+#if defined(DIGIPOTS_I2C_SDA_Y) && DIGIPOTS_I2C_SDA_Y >= 0
126
+  REPORT_NAME_DIGITAL(DIGIPOTS_I2C_SDA_Y, __LINE__ )
127
+#endif
128
+#if defined(DIGIPOTS_I2C_SDA_Z) && DIGIPOTS_I2C_SDA_Z >= 0
129
+  REPORT_NAME_DIGITAL(DIGIPOTS_I2C_SDA_Z, __LINE__ )
130
+#endif
131
+#if PIN_EXISTS(DIGIPOTSS)
132
+  REPORT_NAME_DIGITAL(DIGIPOTSS_PIN, __LINE__ )
133
+#endif
134
+#if defined(DOGLCD_A0) && DOGLCD_A0 >= 0
135
+  REPORT_NAME_DIGITAL(DOGLCD_A0, __LINE__ )
136
+#endif
137
+#if defined(DOGLCD_CS) && DOGLCD_CS >= 0
138
+  REPORT_NAME_DIGITAL(DOGLCD_CS, __LINE__ )
139
+#endif
140
+#if defined(DOGLCD_MOSI) && DOGLCD_MOSI >= 0
141
+  REPORT_NAME_DIGITAL(DOGLCD_MOSI, __LINE__ )
142
+#endif
143
+#if defined(DOGLCD_SCK) && DOGLCD_SCK >= 0
144
+  REPORT_NAME_DIGITAL(DOGLCD_SCK, __LINE__ )
145
+#endif
146
+#if PIN_EXISTS(E0_ATT)
147
+  REPORT_NAME_DIGITAL(E0_ATT_PIN, __LINE__ )
148
+#endif
149
+#if PIN_EXISTS(E0_AUTO_FAN)
150
+  REPORT_NAME_DIGITAL(E0_AUTO_FAN_PIN, __LINE__ )
151
+#endif
152
+#if PIN_EXISTS(E0_CS)
153
+  REPORT_NAME_DIGITAL(E0_CS_PIN, __LINE__ )
154
+#endif
155
+#if PIN_EXISTS(E0_DIR)
156
+  REPORT_NAME_DIGITAL(E0_DIR_PIN, __LINE__ )
157
+#endif
158
+#if PIN_EXISTS(E0_ENABLE)
159
+  REPORT_NAME_DIGITAL(E0_ENABLE_PIN, __LINE__ )
160
+#endif
161
+#if PIN_EXISTS(E0_MS1)
162
+  REPORT_NAME_DIGITAL(E0_MS1_PIN, __LINE__ )
163
+#endif
164
+#if PIN_EXISTS(E0_MS2)
165
+  REPORT_NAME_DIGITAL(E0_MS2_PIN, __LINE__ )
166
+#endif
167
+#if PIN_EXISTS(E0_STEP)
168
+  REPORT_NAME_DIGITAL(E0_STEP_PIN, __LINE__ )
169
+#endif
170
+#if PIN_EXISTS(E1_AUTO_FAN)
171
+  REPORT_NAME_DIGITAL(E1_AUTO_FAN_PIN, __LINE__ )
172
+#endif
173
+#if PIN_EXISTS(E1_CS)
174
+  REPORT_NAME_DIGITAL(E1_CS_PIN, __LINE__ )
175
+#endif
176
+#if PIN_EXISTS(E1_DIR)
177
+  REPORT_NAME_DIGITAL(E1_DIR_PIN, __LINE__ )
178
+#endif
179
+#if PIN_EXISTS(E1_ENABLE)
180
+  REPORT_NAME_DIGITAL(E1_ENABLE_PIN, __LINE__ )
181
+#endif
182
+#if PIN_EXISTS(E1_MS1)
183
+  REPORT_NAME_DIGITAL(E1_MS1_PIN, __LINE__ )
184
+#endif
185
+#if PIN_EXISTS(E1_MS2)
186
+  REPORT_NAME_DIGITAL(E1_MS2_PIN, __LINE__ )
187
+#endif
188
+#if PIN_EXISTS(E1_STEP)
189
+  REPORT_NAME_DIGITAL(E1_STEP_PIN, __LINE__ )
190
+#endif
191
+#if PIN_EXISTS(E2_AUTO_FAN)
192
+  REPORT_NAME_DIGITAL(E2_AUTO_FAN_PIN, __LINE__ )
193
+#endif
194
+#if PIN_EXISTS(E2_DIR)
195
+  REPORT_NAME_DIGITAL(E2_DIR_PIN, __LINE__ )
196
+#endif
197
+#if PIN_EXISTS(E2_ENABLE)
198
+  REPORT_NAME_DIGITAL(E2_ENABLE_PIN, __LINE__ )
199
+#endif
200
+#if PIN_EXISTS(E2_STEP)
201
+  REPORT_NAME_DIGITAL(E2_STEP_PIN, __LINE__ )
202
+#endif
203
+#if PIN_EXISTS(E3_AUTO_FAN)
204
+  REPORT_NAME_DIGITAL(E3_AUTO_FAN_PIN, __LINE__ )
205
+#endif
206
+#if PIN_EXISTS(E3_DIR)
207
+  REPORT_NAME_DIGITAL(E3_DIR_PIN, __LINE__ )
208
+#endif
209
+#if PIN_EXISTS(E3_ENABLE)
210
+  REPORT_NAME_DIGITAL(E3_ENABLE_PIN, __LINE__ )
211
+#endif
212
+#if PIN_EXISTS(E3_STEP)
213
+  REPORT_NAME_DIGITAL(E3_STEP_PIN, __LINE__ )
214
+#endif
215
+#if PIN_EXISTS(E4_DIR)
216
+  REPORT_NAME_DIGITAL(E4_DIR_PIN, __LINE__ )
217
+#endif
218
+#if PIN_EXISTS(E4_ENABLE)
219
+  REPORT_NAME_DIGITAL(E4_ENABLE_PIN, __LINE__ )
220
+#endif
221
+#if PIN_EXISTS(E4_STEP)
222
+  REPORT_NAME_DIGITAL(E4_STEP_PIN, __LINE__ )
223
+#endif
224
+#if defined(encrot0) && encrot0 >= 0
225
+  REPORT_NAME_DIGITAL(encrot0, __LINE__ )
226
+#endif
227
+#if defined(encrot1) && encrot1 >= 0
228
+  REPORT_NAME_DIGITAL(encrot1, __LINE__ )
229
+#endif
230
+#if defined(encrot2) && encrot2 >= 0
231
+  REPORT_NAME_DIGITAL(encrot2, __LINE__ )
232
+#endif
233
+#if defined(encrot3) && encrot3 >= 0
234
+  REPORT_NAME_DIGITAL(encrot3, __LINE__ )
235
+#endif
236
+#if defined(EXT_AUX_A0) && EXT_AUX_A0 >= 0 && EXT_AUX_A0 < NUM_ANALOG_INPUTS
237
+  REPORT_NAME_ANALOG(EXT_AUX_A0, __LINE__ )
238
+#endif
239
+#if defined(EXT_AUX_A0) && EXT_AUX_A0 >= 0 && EXT_AUX_A0 >= NUM_ANALOG_INPUTS
240
+  REPORT_NAME_DIGITAL(EXT_AUX_A0, __LINE__ )
241
+#endif
242
+#if defined(EXT_AUX_A0_IO) && EXT_AUX_A0_IO >= 0
243
+  REPORT_NAME_DIGITAL(EXT_AUX_A0_IO, __LINE__ )
244
+#endif
245
+#if defined(EXT_AUX_A1) && EXT_AUX_A1 >= 0 && EXT_AUX_A1 < NUM_ANALOG_INPUTS
246
+  REPORT_NAME_ANALOG(EXT_AUX_A1, __LINE__ )
247
+#endif
248
+#if defined(EXT_AUX_A1) && EXT_AUX_A1 >= 0 && EXT_AUX_A1 >= NUM_ANALOG_INPUTS
249
+  REPORT_NAME_DIGITAL(EXT_AUX_A1, __LINE__ )
250
+#endif
251
+#if defined(EXT_AUX_A1_IO) && EXT_AUX_A1_IO >= 0
252
+  REPORT_NAME_DIGITAL(EXT_AUX_A1_IO, __LINE__ )
253
+#endif
254
+#if defined(EXT_AUX_A2) && EXT_AUX_A2 >= 0 && EXT_AUX_A2 < NUM_ANALOG_INPUTS
255
+  REPORT_NAME_ANALOG(EXT_AUX_A2, __LINE__ )
256
+#endif
257
+#if defined(EXT_AUX_A2) && EXT_AUX_A2 >= 0 && EXT_AUX_A2 >= NUM_ANALOG_INPUTS
258
+  REPORT_NAME_DIGITAL(EXT_AUX_A2, __LINE__ )
259
+#endif
260
+#if defined(EXT_AUX_A2_IO) && EXT_AUX_A2_IO >= 0
261
+  REPORT_NAME_DIGITAL(EXT_AUX_A2_IO, __LINE__ )
262
+#endif
263
+#if defined(EXT_AUX_A3) && EXT_AUX_A3 >= 0 && EXT_AUX_A3 < NUM_ANALOG_INPUTS
264
+  REPORT_NAME_ANALOG(EXT_AUX_A3, __LINE__ )
265
+#endif
266
+#if defined(EXT_AUX_A3) && EXT_AUX_A3 >= 0 && EXT_AUX_A3 >= NUM_ANALOG_INPUTS
267
+  REPORT_NAME_DIGITAL(EXT_AUX_A3, __LINE__ )
268
+#endif
269
+#if defined(EXT_AUX_A3_IO) && EXT_AUX_A3_IO >= 0
270
+  REPORT_NAME_DIGITAL(EXT_AUX_A3_IO, __LINE__ )
271
+#endif
272
+#if defined(EXT_AUX_A4) && EXT_AUX_A4 >= 0 && EXT_AUX_A4 < NUM_ANALOG_INPUTS
273
+  REPORT_NAME_ANALOG(EXT_AUX_A4, __LINE__ )
274
+#endif
275
+#if defined(EXT_AUX_A4) && EXT_AUX_A4 >= 0 && EXT_AUX_A4 >= NUM_ANALOG_INPUTS
276
+  REPORT_NAME_DIGITAL(EXT_AUX_A4, __LINE__ )
277
+#endif
278
+#if defined(EXT_AUX_A4_IO) && EXT_AUX_A4_IO >= 0
279
+  REPORT_NAME_DIGITAL(EXT_AUX_A4_IO, __LINE__ )
280
+#endif
281
+#if defined(EXT_AUX_PWM_D24) && EXT_AUX_PWM_D24 >= 0
282
+  REPORT_NAME_DIGITAL(EXT_AUX_PWM_D24, __LINE__ )
283
+#endif
284
+#if defined(EXT_AUX_RX1_D2) && EXT_AUX_RX1_D2 >= 0
285
+  REPORT_NAME_DIGITAL(EXT_AUX_RX1_D2, __LINE__ )
286
+#endif
287
+#if defined(EXT_AUX_SCL_D0) && EXT_AUX_SCL_D0 >= 0
288
+  REPORT_NAME_DIGITAL(EXT_AUX_SCL_D0, __LINE__ )
289
+#endif
290
+#if defined(EXT_AUX_SDA_D1) && EXT_AUX_SDA_D1 >= 0
291
+  REPORT_NAME_DIGITAL(EXT_AUX_SDA_D1, __LINE__ )
292
+#endif
293
+#if defined(EXT_AUX_TX1_D3) && EXT_AUX_TX1_D3 >= 0
294
+  REPORT_NAME_DIGITAL(EXT_AUX_TX1_D3, __LINE__ )
295
+#endif
296
+#if defined(EXTRUDER_0_AUTO_FAN) && EXTRUDER_0_AUTO_FAN >= 0
297
+  REPORT_NAME_DIGITAL(EXTRUDER_0_AUTO_FAN, __LINE__ )
298
+#endif
299
+#if defined(EXTRUDER_1_AUTO_FAN) && EXTRUDER_1_AUTO_FAN >= 0
300
+  REPORT_NAME_DIGITAL(EXTRUDER_1_AUTO_FAN, __LINE__ )
301
+#endif
302
+#if PIN_EXISTS(FAN)
303
+  REPORT_NAME_DIGITAL(FAN_PIN, __LINE__ )
304
+#endif
305
+#if PIN_EXISTS(FAN1)
306
+  REPORT_NAME_DIGITAL(FAN1_PIN, __LINE__ )
307
+#endif
308
+#if PIN_EXISTS(FAN2)
309
+  REPORT_NAME_DIGITAL(FAN2_PIN, __LINE__ )
310
+#endif
311
+#if PIN_EXISTS(FIL_RUNOUT)
312
+  REPORT_NAME_DIGITAL(FIL_RUNOUT_PIN, __LINE__ )
313
+#endif
314
+#if PIN_EXISTS(FILWIDTH) && FILWIDTH_PIN < NUM_ANALOG_INPUTS
315
+  REPORT_NAME_ANALOG(FILWIDTH_PIN, __LINE__ )
316
+#endif
317
+#if defined(GEN7_VERSION) && GEN7_VERSION >= 0
318
+  REPORT_NAME_DIGITAL(GEN7_VERSION, __LINE__ )
319
+#endif
320
+#if PIN_EXISTS(HEATER_0)
321
+  REPORT_NAME_DIGITAL(HEATER_0_PIN, __LINE__ )
322
+#endif
323
+#if PIN_EXISTS(HEATER_1)
324
+  REPORT_NAME_DIGITAL(HEATER_1_PIN, __LINE__ )
325
+#endif
326
+#if PIN_EXISTS(HEATER_2)
327
+  REPORT_NAME_DIGITAL(HEATER_2_PIN, __LINE__ )
328
+#endif
329
+#if PIN_EXISTS(HEATER_3)
330
+  REPORT_NAME_DIGITAL(HEATER_3_PIN, __LINE__ )
331
+#endif
332
+#if PIN_EXISTS(HEATER_4)
333
+  REPORT_NAME_DIGITAL(HEATER_4_PIN, __LINE__ )
334
+#endif
335
+#if PIN_EXISTS(HEATER_5)
336
+  REPORT_NAME_DIGITAL(HEATER_5_PIN, __LINE__ )
337
+#endif
338
+#if PIN_EXISTS(HEATER_6)
339
+  REPORT_NAME_DIGITAL(HEATER_6_PIN, __LINE__ )
340
+#endif
341
+#if PIN_EXISTS(HEATER_7)
342
+  REPORT_NAME_DIGITAL(HEATER_7_PIN, __LINE__ )
343
+#endif
344
+#if PIN_EXISTS(HEATER_BED)
345
+  REPORT_NAME_DIGITAL(HEATER_BED_PIN, __LINE__ )
346
+#endif
347
+#if PIN_EXISTS(HOME)
348
+  REPORT_NAME_DIGITAL(HOME_PIN, __LINE__ )
349
+#endif
350
+#if defined(I2C_SCL) && I2C_SCL >= 0
351
+  REPORT_NAME_DIGITAL(I2C_SCL, __LINE__ )
352
+#endif
353
+#if defined(I2C_SDA) && I2C_SDA >= 0
354
+  REPORT_NAME_DIGITAL(I2C_SDA, __LINE__ )
355
+#endif
356
+#if PIN_EXISTS(KILL)
357
+  REPORT_NAME_DIGITAL(KILL_PIN, __LINE__ )
358
+#endif
359
+#if PIN_EXISTS(LCD_BACKLIGHT)
360
+  REPORT_NAME_DIGITAL(LCD_BACKLIGHT_PIN, __LINE__ )
361
+#endif
362
+#if defined(LCD_CONTRAST) && LCD_CONTRAST >= 0
363
+  REPORT_NAME_DIGITAL(LCD_CONTRAST, __LINE__ )
364
+#endif
365
+#if PIN_EXISTS(LCD)
366
+  REPORT_NAME_DIGITAL(LCD_PINS_D4, __LINE__ )
367
+#endif
368
+#if PIN_EXISTS(LCD)
369
+  REPORT_NAME_DIGITAL(LCD_PINS_D5, __LINE__ )
370
+#endif
371
+#if PIN_EXISTS(LCD)
372
+  REPORT_NAME_DIGITAL(LCD_PINS_D6, __LINE__ )
373
+#endif
374
+#if PIN_EXISTS(LCD)
375
+  REPORT_NAME_DIGITAL(LCD_PINS_D7, __LINE__ )
376
+#endif
377
+#if PIN_EXISTS(LCD)
378
+  REPORT_NAME_DIGITAL(LCD_PINS_ENABLE, __LINE__ )
379
+#endif
380
+#if PIN_EXISTS(LCD)
381
+  REPORT_NAME_DIGITAL(LCD_PINS_RS, __LINE__ )
382
+#endif
383
+#if defined(LCD_SDSS) && LCD_SDSS >= 0
384
+  REPORT_NAME_DIGITAL(LCD_SDSS, __LINE__ )
385
+#endif
386
+#if PIN_EXISTS(LED)
387
+  REPORT_NAME_DIGITAL(LED_PIN, __LINE__ )
388
+#endif
389
+#if PIN_EXISTS(MAIN_VOLTAGE_MEASURE) && MAIN_VOLTAGE_MEASURE_PIN < NUM_ANALOG_INPUTS
390
+  REPORT_NAME_ANALOG(MAIN_VOLTAGE_MEASURE_PIN, __LINE__ )
391
+#endif
392
+#if defined(MAX6675_SS) && MAX6675_SS >= 0
393
+  REPORT_NAME_DIGITAL(MAX6675_SS, __LINE__ )
394
+#endif
395
+#if PIN_EXISTS(MISO)
396
+  REPORT_NAME_DIGITAL(MISO_PIN, __LINE__ )
397
+#endif
398
+#if PIN_EXISTS(MOSFET_A)
399
+  REPORT_NAME_DIGITAL(MOSFET_A_PIN, __LINE__ )
400
+#endif
401
+#if PIN_EXISTS(MOSFET_B)
402
+  REPORT_NAME_DIGITAL(MOSFET_B_PIN, __LINE__ )
403
+#endif
404
+#if PIN_EXISTS(MOSFET_C)
405
+  REPORT_NAME_DIGITAL(MOSFET_C_PIN, __LINE__ )
406
+#endif
407
+#if PIN_EXISTS(MOSFET_D)
408
+  REPORT_NAME_DIGITAL(MOSFET_D_PIN, __LINE__ )
409
+#endif
410
+#if PIN_EXISTS(MOSI)
411
+  REPORT_NAME_DIGITAL(MOSI_PIN, __LINE__ )
412
+#endif
413
+#if PIN_EXISTS(MOTOR_CURRENT_PWM_E)
414
+  REPORT_NAME_DIGITAL(MOTOR_CURRENT_PWM_E_PIN, __LINE__ )
415
+#endif
416
+#if PIN_EXISTS(MOTOR_CURRENT_PWM_XY)
417
+  REPORT_NAME_DIGITAL(MOTOR_CURRENT_PWM_XY_PIN, __LINE__ )
418
+#endif
419
+#if PIN_EXISTS(MOTOR_CURRENT_PWM_Z)
420
+  REPORT_NAME_DIGITAL(MOTOR_CURRENT_PWM_Z_PIN, __LINE__ )
421
+#endif
422
+#if defined(NUM_TLCS) && NUM_TLCS >= 0
423
+  REPORT_NAME_DIGITAL(NUM_TLCS, __LINE__ )
424
+#endif
425
+#if PIN_EXISTS(ORIG_E0_AUTO_FAN)
426
+  REPORT_NAME_DIGITAL(ORIG_E0_AUTO_FAN_PIN, __LINE__ )
427
+#endif
428
+#if PIN_EXISTS(ORIG_E1_AUTO_FAN)
429
+  REPORT_NAME_DIGITAL(ORIG_E1_AUTO_FAN_PIN, __LINE__ )
430
+#endif
431
+#if PIN_EXISTS(ORIG_E2_AUTO_FAN)
432
+  REPORT_NAME_DIGITAL(ORIG_E2_AUTO_FAN_PIN, __LINE__ )
433
+#endif
434
+#if PIN_EXISTS(ORIG_E3_AUTO_FAN)
435
+  REPORT_NAME_DIGITAL(ORIG_E3_AUTO_FAN_PIN, __LINE__ )
436
+#endif
437
+#if PIN_EXISTS(PHOTOGRAPH)
438
+  REPORT_NAME_DIGITAL(PHOTOGRAPH_PIN, __LINE__ )
439
+#endif
440
+#if PIN_EXISTS(PS_ON)
441
+  REPORT_NAME_DIGITAL(PS_ON_PIN, __LINE__ )
442
+#endif
443
+#if PIN_EXISTS(PWM_1)
444
+  REPORT_NAME_DIGITAL(PWM_1_PIN, __LINE__ )
445
+#endif
446
+#if PIN_EXISTS(PWM_2)
447
+  REPORT_NAME_DIGITAL(PWM_2_PIN, __LINE__ )
448
+#endif
449
+#if PIN_EXISTS(RAMPS_D10)
450
+  REPORT_NAME_DIGITAL(RAMPS_D10_PIN, __LINE__ )
451
+#endif
452
+#if PIN_EXISTS(RAMPS_D8)
453
+  REPORT_NAME_DIGITAL(RAMPS_D8_PIN, __LINE__ )
454
+#endif
455
+#if PIN_EXISTS(RAMPS_D9)
456
+  REPORT_NAME_DIGITAL(RAMPS_D9_PIN, __LINE__ )
457
+#endif
458
+#if PIN_EXISTS(RX_ENABLE)
459
+  REPORT_NAME_DIGITAL(RX_ENABLE_PIN, __LINE__ )
460
+#endif
461
+#if PIN_EXISTS(SAFETY_TRIGGERED)
462
+  REPORT_NAME_DIGITAL(SAFETY_TRIGGERED_PIN, __LINE__ )
463
+#endif
464
+#if PIN_EXISTS(SCK)
465
+  REPORT_NAME_DIGITAL(SCK_PIN, __LINE__ )
466
+#endif
467
+#if defined(SCL) && SCL >= 0
468
+  REPORT_NAME_DIGITAL(SCL, __LINE__ )
469
+#endif
470
+#if PIN_EXISTS(SD_DETECT)
471
+  REPORT_NAME_DIGITAL(SD_DETECT_PIN, __LINE__ )
472
+#endif
473
+#if defined(SDA) && SDA >= 0
474
+  REPORT_NAME_DIGITAL(SDA, __LINE__ )
475
+#endif
476
+#if defined(SDPOWER) && SDPOWER >= 0
477
+  REPORT_NAME_DIGITAL(SDPOWER, __LINE__ )
478
+#endif
479
+#if defined(SDSS) && SDSS >= 0
480
+  REPORT_NAME_DIGITAL(SDSS, __LINE__ )
481
+#endif
482
+#if PIN_EXISTS(SERVO0)
483
+  REPORT_NAME_DIGITAL(SERVO0_PIN, __LINE__ )
484
+#endif
485
+#if PIN_EXISTS(SERVO1)
486
+  REPORT_NAME_DIGITAL(SERVO1_PIN, __LINE__ )
487
+#endif
488
+#if PIN_EXISTS(SERVO2)
489
+  REPORT_NAME_DIGITAL(SERVO2_PIN, __LINE__ )
490
+#endif
491
+#if PIN_EXISTS(SERVO3)
492
+  REPORT_NAME_DIGITAL(SERVO3_PIN, __LINE__ )
493
+#endif
494
+#if defined(SHIFT_CLK) && SHIFT_CLK >= 0
495
+  REPORT_NAME_DIGITAL(SHIFT_CLK, __LINE__ )
496
+#endif
497
+#if defined(SHIFT_EN) && SHIFT_EN >= 0
498
+  REPORT_NAME_DIGITAL(SHIFT_EN, __LINE__ )
499
+#endif
500
+#if defined(SHIFT_LD) && SHIFT_LD >= 0
501
+  REPORT_NAME_DIGITAL(SHIFT_LD, __LINE__ )
502
+#endif
503
+#if defined(SHIFT_OUT) && SHIFT_OUT >= 0
504
+  REPORT_NAME_DIGITAL(SHIFT_OUT, __LINE__ )
505
+#endif
506
+#if PIN_EXISTS(SLED)
507
+  REPORT_NAME_DIGITAL(SLED_PIN, __LINE__ )
508
+#endif
509
+#if PIN_EXISTS(SLEEP_WAKE)
510
+  REPORT_NAME_DIGITAL(SLEEP_WAKE_PIN, __LINE__ )
511
+#endif
512
+#if PIN_EXISTS(SOL1)
513
+  REPORT_NAME_DIGITAL(SOL1_PIN, __LINE__ )
514
+#endif
515
+#if PIN_EXISTS(SOL2)
516
+  REPORT_NAME_DIGITAL(SOL2_PIN, __LINE__ )
517
+#endif
518
+#if defined(SPARE_IO) && SPARE_IO >= 0
519
+  REPORT_NAME_DIGITAL(SPARE_IO, __LINE__ )
520
+#endif
521
+#if PIN_EXISTS(SPINDLE_DIR)
522
+  REPORT_NAME_DIGITAL(SPINDLE_DIR_PIN, __LINE__ )
523
+#endif
524
+#if PIN_EXISTS(SPINDLE_LASER_ENABLE)
525
+  REPORT_NAME_DIGITAL(SPINDLE_LASER_ENABLE_PIN, __LINE__ )
526
+#endif
527
+#if PIN_EXISTS(SPINDLE_SPEED_LASER_POWER)
528
+  REPORT_NAME_DIGITAL(SPINDLE_SPEED_LASER_POWER_PIN, __LINE__ )
529
+#endif
530
+#if PIN_EXISTS(SR_CLK)
531
+  REPORT_NAME_DIGITAL(SR_CLK_PIN, __LINE__ )
532
+#endif
533
+#if PIN_EXISTS(SR_DATA)
534
+  REPORT_NAME_DIGITAL(SR_DATA_PIN, __LINE__ )
535
+#endif
536
+#if PIN_EXISTS(SR_STROBE)
537
+  REPORT_NAME_DIGITAL(SR_STROBE_PIN, __LINE__ )
538
+#endif
539
+#if PIN_EXISTS(SS)
540
+  REPORT_NAME_DIGITAL(SS_PIN, __LINE__ )
541
+#endif
542
+#if defined(STAT_LED_BLUE) && STAT_LED_BLUE >= 0
543
+  REPORT_NAME_DIGITAL(STAT_LED_BLUE, __LINE__ )
544
+#endif
545
+#if PIN_EXISTS(STAT_LED_BLUE)
546
+  REPORT_NAME_DIGITAL(STAT_LED_BLUE_PIN, __LINE__ )
547
+#endif
548
+#if defined(STAT_LED_RED) && STAT_LED_RED >= 0
549
+  REPORT_NAME_DIGITAL(STAT_LED_RED, __LINE__ )
550
+#endif
551
+#if PIN_EXISTS(STAT_LED_RED)
552
+  REPORT_NAME_DIGITAL(STAT_LED_RED_PIN, __LINE__ )
553
+#endif
554
+#if PIN_EXISTS(STEPPER_RESET)
555
+  REPORT_NAME_DIGITAL(STEPPER_RESET_PIN, __LINE__ )
556
+#endif
557
+#if PIN_EXISTS(SUICIDE)
558
+  REPORT_NAME_DIGITAL(SUICIDE_PIN, __LINE__ )
559
+#endif
560
+#if defined(TC1) && TC1 >= 0 && TC1 < NUM_ANALOG_INPUTS
561
+  REPORT_NAME_ANALOG(TC1, __LINE__ )
562
+#endif
563
+#if defined(TC2) && TC2 >= 0 && TC2 < NUM_ANALOG_INPUTS
564
+  REPORT_NAME_ANALOG(TC2, __LINE__ )
565
+#endif
566
+#if PIN_EXISTS(TEMP_0) && TEMP_0_PIN < NUM_ANALOG_INPUTS
567
+  REPORT_NAME_ANALOG(TEMP_0_PIN, __LINE__ )
568
+#endif
569
+#if PIN_EXISTS(TEMP_1) && TEMP_1_PIN < NUM_ANALOG_INPUTS
570
+  REPORT_NAME_ANALOG(TEMP_1_PIN, __LINE__ )
571
+#endif
572
+#if PIN_EXISTS(TEMP_2) && TEMP_2_PIN < NUM_ANALOG_INPUTS
573
+  REPORT_NAME_ANALOG(TEMP_2_PIN, __LINE__ )
574
+#endif
575
+#if PIN_EXISTS(TEMP_3) && TEMP_3_PIN < NUM_ANALOG_INPUTS
576
+  REPORT_NAME_ANALOG(TEMP_3_PIN, __LINE__ )
577
+#endif
578
+#if PIN_EXISTS(TEMP_4) && TEMP_4_PIN < NUM_ANALOG_INPUTS
579
+  REPORT_NAME_ANALOG(TEMP_4_PIN, __LINE__ )
580
+#endif
581
+#if PIN_EXISTS(TEMP_BED) && TEMP_BED_PIN < NUM_ANALOG_INPUTS
582
+  REPORT_NAME_ANALOG(TEMP_BED_PIN, __LINE__ )
583
+#endif
584
+#if PIN_EXISTS(TEMP_CHAMBER) && TEMP_CHAMBER_PIN < NUM_ANALOG_INPUTS
585
+  REPORT_NAME_ANALOG(TEMP_CHAMBER_PIN, __LINE__ )
586
+#endif
587
+#if PIN_EXISTS(TEMP_X) && TEMP_X_PIN < NUM_ANALOG_INPUTS
588
+  REPORT_NAME_ANALOG(TEMP_X_PIN, __LINE__ )
589
+#endif
590
+#if PIN_EXISTS(THERMO_DO)
591
+  REPORT_NAME_DIGITAL(THERMO_DO_PIN, __LINE__ )
592
+#endif
593
+#if PIN_EXISTS(THERMO_SCK)
594
+  REPORT_NAME_DIGITAL(THERMO_SCK_PIN, __LINE__ )
595
+#endif
596
+#if defined(TLC_BLANK_BIT) && TLC_BLANK_BIT >= 0
597
+  REPORT_NAME_DIGITAL(TLC_BLANK_BIT, __LINE__ )
598
+#endif
599
+#if PIN_EXISTS(TLC_BLANK)
600
+  REPORT_NAME_DIGITAL(TLC_BLANK_PIN, __LINE__ )
601
+#endif
602
+#if defined(TLC_CLOCK_BIT) && TLC_CLOCK_BIT >= 0
603
+  REPORT_NAME_DIGITAL(TLC_CLOCK_BIT, __LINE__ )
604
+#endif
605
+#if PIN_EXISTS(TLC_CLOCK)
606
+  REPORT_NAME_DIGITAL(TLC_CLOCK_PIN, __LINE__ )
607
+#endif
608
+#if defined(TLC_DATA_BIT) && TLC_DATA_BIT >= 0
609
+  REPORT_NAME_DIGITAL(TLC_DATA_BIT, __LINE__ )
610
+#endif
611
+#if PIN_EXISTS(TLC_DATA)
612
+  REPORT_NAME_DIGITAL(TLC_DATA_PIN, __LINE__ )
613
+#endif
614
+#if PIN_EXISTS(TLC_XLAT)
615
+  REPORT_NAME_DIGITAL(TLC_XLAT_PIN, __LINE__ )
616
+#endif
617
+#if PIN_EXISTS(TOOL_0)
618
+  REPORT_NAME_DIGITAL(TOOL_0_PIN, __LINE__ )
619
+#endif
620
+#if PIN_EXISTS(TOOL_0_PWM)
621
+  REPORT_NAME_DIGITAL(TOOL_0_PWM_PIN, __LINE__ )
622
+#endif
623
+#if PIN_EXISTS(TOOL_1)
624
+  REPORT_NAME_DIGITAL(TOOL_1_PIN, __LINE__ )
625
+#endif
626
+#if PIN_EXISTS(TOOL_1_PWM)
627
+  REPORT_NAME_DIGITAL(TOOL_1_PWM_PIN, __LINE__ )
628
+#endif
629
+#if PIN_EXISTS(TOOL_2)
630
+  REPORT_NAME_DIGITAL(TOOL_2_PIN, __LINE__ )
631
+#endif
632
+#if PIN_EXISTS(TOOL_2_PWM)
633
+  REPORT_NAME_DIGITAL(TOOL_2_PWM_PIN, __LINE__ )
634
+#endif
635
+#if PIN_EXISTS(TOOL_3)
636
+  REPORT_NAME_DIGITAL(TOOL_3_PIN, __LINE__ )
637
+#endif
638
+#if PIN_EXISTS(TOOL_3_PWM)
639
+  REPORT_NAME_DIGITAL(TOOL_3_PWM_PIN, __LINE__ )
640
+#endif
641
+#if PIN_EXISTS(TOOL_PWM)
642
+  REPORT_NAME_DIGITAL(TOOL_PWM_PIN, __LINE__ )
643
+#endif
644
+#if PIN_EXISTS(TX_ENABLE)
645
+  REPORT_NAME_DIGITAL(TX_ENABLE_PIN, __LINE__ )
646
+#endif
647
+#if defined(UI1) && UI1 >= 0
648
+  REPORT_NAME_DIGITAL(UI1, __LINE__ )
649
+#endif
650
+#if defined(UI2) && UI2 >= 0
651
+  REPORT_NAME_DIGITAL(UI2, __LINE__ )
652
+#endif
653
+#if defined(UNUSED_PWM) && UNUSED_PWM >= 0
654
+  REPORT_NAME_DIGITAL(UNUSED_PWM, __LINE__ )
655
+#endif
656
+#if PIN_EXISTS(X_ATT)
657
+  REPORT_NAME_DIGITAL(X_ATT_PIN, __LINE__ )
658
+#endif
659
+#if PIN_EXISTS(X_CS)
660
+  REPORT_NAME_DIGITAL(X_CS_PIN, __LINE__ )
661
+#endif
662
+#if PIN_EXISTS(X_DIR)
663
+  REPORT_NAME_DIGITAL(X_DIR_PIN, __LINE__ )
664
+#endif
665
+#if PIN_EXISTS(X_ENABLE)
666
+  REPORT_NAME_DIGITAL(X_ENABLE_PIN, __LINE__ )
667
+#endif
668
+#if PIN_EXISTS(X_MAX)
669
+  REPORT_NAME_DIGITAL(X_MAX_PIN, __LINE__ )
670
+#endif
671
+#if PIN_EXISTS(X_MIN)
672
+  REPORT_NAME_DIGITAL(X_MIN_PIN, __LINE__ )
673
+#endif
674
+#if PIN_EXISTS(X_MS1)
675
+  REPORT_NAME_DIGITAL(X_MS1_PIN, __LINE__ )
676
+#endif
677
+#if PIN_EXISTS(X_MS2)
678
+  REPORT_NAME_DIGITAL(X_MS2_PIN, __LINE__ )
679
+#endif
680
+#if PIN_EXISTS(X_STEP)
681
+  REPORT_NAME_DIGITAL(X_STEP_PIN, __LINE__ )
682
+#endif
683
+#if PIN_EXISTS(X_STOP)
684
+  REPORT_NAME_DIGITAL(X_STOP_PIN, __LINE__ )
685
+#endif
686
+#if PIN_EXISTS(X2_DIR)
687
+  REPORT_NAME_DIGITAL(X2_DIR_PIN, __LINE__ )
688
+#endif
689
+#if PIN_EXISTS(X2_ENABLE)
690
+  REPORT_NAME_DIGITAL(X2_ENABLE_PIN, __LINE__ )
691
+#endif
692
+#if PIN_EXISTS(X2_STEP)
693
+  REPORT_NAME_DIGITAL(X2_STEP_PIN, __LINE__ )
694
+#endif
695
+#if PIN_EXISTS(Y_ATT)
696
+  REPORT_NAME_DIGITAL(Y_ATT_PIN, __LINE__ )
697
+#endif
698
+#if PIN_EXISTS(Y_CS)
699
+  REPORT_NAME_DIGITAL(Y_CS_PIN, __LINE__ )
700
+#endif
701
+#if PIN_EXISTS(Y_DIR)
702
+  REPORT_NAME_DIGITAL(Y_DIR_PIN, __LINE__ )
703
+#endif
704
+#if PIN_EXISTS(Y_ENABLE)
705
+  REPORT_NAME_DIGITAL(Y_ENABLE_PIN, __LINE__ )
706
+#endif
707
+#if PIN_EXISTS(Y_MAX)
708
+  REPORT_NAME_DIGITAL(Y_MAX_PIN, __LINE__ )
709
+#endif
710
+#if PIN_EXISTS(Y_MIN)
711
+  REPORT_NAME_DIGITAL(Y_MIN_PIN, __LINE__ )
712
+#endif
713
+#if PIN_EXISTS(Y_MS1)
714
+  REPORT_NAME_DIGITAL(Y_MS1_PIN, __LINE__ )
715
+#endif
716
+#if PIN_EXISTS(Y_MS2)
717
+  REPORT_NAME_DIGITAL(Y_MS2_PIN, __LINE__ )
718
+#endif
719
+#if PIN_EXISTS(Y_STEP)
720
+  REPORT_NAME_DIGITAL(Y_STEP_PIN, __LINE__ )
721
+#endif
722
+#if PIN_EXISTS(Y_STOP)
723
+  REPORT_NAME_DIGITAL(Y_STOP_PIN, __LINE__ )
724
+#endif
725
+#if PIN_EXISTS(Y2_DIR)
726
+  REPORT_NAME_DIGITAL(Y2_DIR_PIN, __LINE__ )
727
+#endif
728
+#if PIN_EXISTS(Y2_ENABLE)
729
+  REPORT_NAME_DIGITAL(Y2_ENABLE_PIN, __LINE__ )
730
+#endif
731
+#if PIN_EXISTS(Y2_STEP)
732
+  REPORT_NAME_DIGITAL(Y2_STEP_PIN, __LINE__ )
733
+#endif
734
+#if PIN_EXISTS(Z_ATT)
735
+  REPORT_NAME_DIGITAL(Z_ATT_PIN, __LINE__ )
736
+#endif
737
+#if PIN_EXISTS(Z_CS)
738
+  REPORT_NAME_DIGITAL(Z_CS_PIN, __LINE__ )
739
+#endif
740
+#if PIN_EXISTS(Z_DIR)
741
+  REPORT_NAME_DIGITAL(Z_DIR_PIN, __LINE__ )
742
+#endif
743
+#if PIN_EXISTS(Z_ENABLE)
744
+  REPORT_NAME_DIGITAL(Z_ENABLE_PIN, __LINE__ )
745
+#endif
746
+#if PIN_EXISTS(Z_MAX)
747
+  REPORT_NAME_DIGITAL(Z_MAX_PIN, __LINE__ )
748
+#endif
749
+#if PIN_EXISTS(Z_MIN)
750
+  REPORT_NAME_DIGITAL(Z_MIN_PIN, __LINE__ )
751
+#endif
752
+#if PIN_EXISTS(Z_MIN_PROBE)
753
+  REPORT_NAME_DIGITAL(Z_MIN_PROBE_PIN, __LINE__ )
754
+#endif
755
+#if PIN_EXISTS(Z_MS1)
756
+  REPORT_NAME_DIGITAL(Z_MS1_PIN, __LINE__ )
757
+#endif
758
+#if PIN_EXISTS(Z_MS2)
759
+  REPORT_NAME_DIGITAL(Z_MS2_PIN, __LINE__ )
760
+#endif
761
+#if PIN_EXISTS(Z_STEP)
762
+  REPORT_NAME_DIGITAL(Z_STEP_PIN, __LINE__ )
763
+#endif
764
+#if PIN_EXISTS(Z_STOP)
765
+  REPORT_NAME_DIGITAL(Z_STOP_PIN, __LINE__ )
766
+#endif
767
+#if PIN_EXISTS(Z2_DIR)
768
+  REPORT_NAME_DIGITAL(Z2_DIR_PIN, __LINE__ )
769
+#endif
770
+#if PIN_EXISTS(Z2_ENABLE)
771
+  REPORT_NAME_DIGITAL(Z2_ENABLE_PIN, __LINE__ )
772
+#endif
773
+#if PIN_EXISTS(Z2_STEP)
774
+  REPORT_NAME_DIGITAL(Z2_STEP_PIN, __LINE__ )
775
+#endif

Loading…
İptal
Kaydet