-
Notifications
You must be signed in to change notification settings - Fork 197
/
pins.h
687 lines (560 loc) · 17.6 KB
/
pins.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
#include "Board.h"
#ifdef RAMPS_V14
// For RAMPS 1.4
#define X_STEP_PIN 54
#define X_DIR_PIN 55
#define X_ENABLE_PIN 38
#define X_MIN_PIN 3
#define X_MAX_PIN 2
#define X_ENCDR_A 16
#define X_ENCDR_B 17
#define X_ENCDR_A_Q 31
#define X_ENCDR_B_Q 33
#define E_STEP_PIN 26
#define E_DIR_PIN 28
#define E_ENABLE_PIN 24
#define Y_STEP_PIN 60
#define Y_DIR_PIN 61
#define Y_ENABLE_PIN 56
#define Y_MIN_PIN 14
#define Y_MAX_PIN 15
#define Y_ENCDR_A 23
#define Y_ENCDR_B 25
#define Y_ENCDR_A_Q 35
#define Y_ENCDR_B_Q 37
#define Z_STEP_PIN 46
#define Z_DIR_PIN 48
#define Z_ENABLE_PIN 62
#define Z_MIN_PIN 18
#define Z_MAX_PIN 19
#define Z_ENCDR_A 27
#define Z_ENCDR_B 29
#define Z_ENCDR_A_Q 39
#define Z_ENCDR_B_Q 41
#define UTM_C 63
#define UTM_D 59
#define UTM_E 40
#define UTM_F 64
#define UTM_G 42
#define UTM_H 44
#define UTM_I 65
#define UTM_J 66
#define UTM_K 52
#define UTM_L 53
#define SDPOWER -1
#define SDSS 53
#define LED_PIN 13
#define FAN_PIN 9
#define PS_ON_PIN 12
#define KILL_PIN -1
#define HEATER_0_PIN 10
#define HEATER_1_PIN 8
#define TEMP_0_PIN 13 // ANALOG NUMBERING
#define TEMP_1_PIN 14 // ANALOG NUMBERING
#define SERVO_0_PIN 4
#define SERVO_1_PIN 5
#define SERVO_2_PIN 6
#define SERVO_3_PIN 11
#define AUX1_00 0
#define AUX1_01 1
#define AUX1_57 57
#define AUX1_58 58
#define AUX3_49 49
#define AUX3_50 50
#define AUX3_51 51
#define AUX4_43 43
#define AUX4_45 45
#define AUX4_47 47
#define AUX4_32 32
// Encoder X channel A: pin 16, port H1
#define ENC_X_A_PORT PINH
#define ENC_X_A_BYTE 0x02
// Encoder X channel B: pin 17, port H0
#define ENC_X_B_PORT PINH
#define ENC_X_B_BYTE 0x01
// Encoder X channel A Q: pin 31, port C6
#define ENC_X_A_Q_PORT PINC
#define ENC_X_A_Q_BYTE 0x40
// Encoder X channel B Q: pin 33, port C4
#define ENC_X_B_Q_PORT PINC
#define ENC_X_B_Q_BYTE 0x10
// Encoder Y channel A: pin 23, port A1
#define ENC_Y_A_PORT PINA
#define ENC_Y_A_BYTE 0x02
// Encoder Y channel B: pin 25, port A3
#define ENC_Y_B_PORT PINA
#define ENC_Y_B_BYTE 0x08
// Encoder Y channel A Q: pin 35, port C2
#define ENC_Y_A_Q_PORT PINC
#define ENC_Y_A_Q_BYTE 0x04
// Encoder Y channel B Q: pin 37, port C0
#define ENC_Y_B_Q_PORT PINC
#define ENC_Y_B_Q_BYTE 0x01
// Encoder Z channel A: pin 27, port A5
#define ENC_Z_A_PORT PINA
#define ENC_Z_A_BYTE 0x20
// Encoder Z channel B: pin 29, port A7
#define ENC_Z_B_PORT PINA
#define ENC_Z_B_BYTE 0x80
// Encoder Z channel A Q: pin 39, port G2
#define ENC_Z_A_Q_PORT PING
#define ENC_Z_A_Q_BYTE 0x04
// Encoder Z channel B Q: pin 41, port G0
#define ENC_Z_B_Q_PORT PING
#define ENC_Z_B_Q_BYTE 0x01
#endif
#if defined(FARMDUINO_V10) || defined(FARMDUINO_V14)
// X-AXIS
#define X_STEP_PIN 26 // X1_STEP_PIN
#define X_DIR_PIN 27 // X1_DIR_PIN
#define X_ENABLE_PIN 25 // X1_ENABLE_PIN
#define E_STEP_PIN 15 // X2_STEP_PIN
#define E_DIR_PIN 30 // X2_DIR_PIN
#define E_ENABLE_PIN 14 // X2_ENABLE_PIN
#define X_MIN_PIN 69
#define X_MAX_PIN 68
#define X_ENCDR_A 16
#define X_ENCDR_B 17
#define X2_ENCDR_A 22
#define X2_ENCDR_B 39
#define X_ENCDR_A_Q -1 // N/A
#define X_ENCDR_B_Q -1 // N/A
// Y-AXIS
#define Y_STEP_PIN 32
#define Y_DIR_PIN 33
#define Y_ENABLE_PIN 31
#define Y_MIN_PIN 67
#define Y_MAX_PIN 66
#define Y_ENCDR_A 23
#define Y_ENCDR_B 24
#define Y_ENCDR_A_Q -1 // N/A
#define Y_ENCDR_B_Q -1 // N/A
// Z-AXIS
#define Z_STEP_PIN 35
#define Z_DIR_PIN 36
#define Z_ENABLE_PIN 34
#define Z_MIN_PIN 65
#define Z_MAX_PIN 64
#define Z_ENCDR_A 29
#define Z_ENCDR_B 28
#define Z_ENCDR_A_Q -1 // N/A
#define Z_ENCDR_B_Q -1 // N/A
// UTM
#define UTM_C 63 // TOOL VERIFICATION
#define UTM_D 59 // SOIL SENSOR
#define UTM_E -1
#define UTM_F -1
#define UTM_G -1
#define UTM_H -1
#define UTM_I -1
#define UTM_J -1
#define UTM_K -1
#define UTM_L -1
// Available digital pins: 2,3,18,19,38,42,43,44,45,46,47,48
// Available analog pins: 0,1,2,3,4,6,7,8
#define LED_PIN 13
// Peripherals
#define LIGHTING_PIN 7
#define WATER_PIN 8
#define VACUUM_PIN 9
#define PERIPHERAL_4_PIN 10
#define PERIPHERAL_5_PIN 12
// Auxiliary motors
#define AUX_STEP_PIN 40
#define AUX_DIR_PIN 41
#define AUX_ENABLE_PIN 37
#define SERVO_0_PIN 4
#define SERVO_1_PIN 5
#define SERVO_2_PIN 6
#define SERVO_3_PIN 11
// Encoder X channel A: pin 16, port H1
#define ENC_X_A_PORT PINH
#define ENC_X_A_BYTE 0x02
// Encoder X channel B: pin 17, port H0
#define ENC_X_B_PORT PINH
#define ENC_X_B_BYTE 0x01
// Encoder X channel A Q (disabled, use LED pin): pin 13, port B7
#define ENC_X_A_Q_PORT PINB
#define ENC_X_A_Q_BYTE 0x80
// Encoder X channel B Q (disabled, use LED pin): pin 13, port B7
#define ENC_X_B_Q_PORT PINB
#define ENC_X_B_Q_BYTE 0x80
// Encoder Y channel A: pin 23, port A1
#define ENC_Y_A_PORT PINA
#define ENC_Y_A_BYTE 0x02
// Encoder Y channel B: pin 24, port A2
#define ENC_Y_B_PORT PINA
#define ENC_Y_B_BYTE 0x04
// Encoder Y channel A Q (disabled, use LED pin): pin 13, port B7
#define ENC_Y_A_Q_PORT PINB
#define ENC_Y_A_Q_BYTE 0x80
// Encoder Y channel B Q (disabled, use LED pin): pin 13, port B7
#define ENC_Y_B_Q_PORT PINB
#define ENC_Y_B_Q_BYTE 0x80
// Encoder Z channel A: pin 29, port A7
#define ENC_Z_A_PORT PINA
#define ENC_Z_A_BYTE 0x80
// Encoder Z channel B: pin 28, port A6
#define ENC_Z_B_PORT PINA
#define ENC_Z_B_BYTE 0x40
// Encoder Z channel A Q (disabled, use LED pin): pin 13, port B7
#define ENC_Z_A_Q_PORT PINB
#define ENC_Z_A_Q_BYTE 0x80
// Encoder Z channel B Q (disabled, use LED pin): pin 13, port B7
#define ENC_Z_B_Q_PORT PINB
#define ENC_Z_B_Q_BYTE 0x80
#endif
#if defined(FARMDUINO_V30)
// X1-AXIS
#define X_STEP_PIN 26 // X1_STEP_PIN
#define X_DIR_PIN 27 // X1_DIR_PIN
#define X_ENABLE_PIN 25 // X1_ENABLE_PIN
#define X_CHIP_SELECT 24 // X1_CHIP_SELECT
#define X_MIN_PIN 69
#define X_MAX_PIN 68
#define X_ENCDR_A -1 // N/A
#define X_ENCDR_B -1 // N/A
#define X_ENCDR_A_Q -1 // N/A
#define X_ENCDR_B_Q -1 // N/A
// X2-AXIS
#define E_STEP_PIN 15 // X2_STEP_PIN
#define E_DIR_PIN 30 // X2_DIR_PIN
#define E_ENABLE_PIN 14 // X2_ENABLE_PIN
#define E_CHIP_SELECT 29 // X2_CHIP_SELECT
#define X2_ENCDR_A -1 // N/A
#define X2_ENCDR_B -1 // N/A
// Y-AXIS
#define Y_STEP_PIN 32
#define Y_DIR_PIN 33
#define Y_ENABLE_PIN 31
#define Y_CHIP_SELECT 28 // Y_CHIP_SELECT
#define Y_MIN_PIN 67
#define Y_MAX_PIN 66
#define Y_ENCDR_A -1 // N/A
#define Y_ENCDR_B -1 // N/A
#define Y_ENCDR_A_Q -1 // N/A
#define Y_ENCDR_B_Q -1 // N/A
// Z-AXIS
#define Z_STEP_PIN 35
#define Z_DIR_PIN 36
#define Z_ENABLE_PIN 34
#define Z_CHIP_SELECT 23 // Z_CHIP_SELECT
#define Z_MIN_PIN 65
#define Z_MAX_PIN 64
#define Z_ENCDR_A -1 // N/A
#define Z_ENCDR_B -1 // N/A
#define Z_ENCDR_A_Q -1 // N/A
#define Z_ENCDR_B_Q -1 // N/A
// UTM
#define UTM_C 63 // TOOL VERIFICATION
#define UTM_D 59 // SOIL SENSOR
#define UTM_E -1
#define UTM_F -1
#define UTM_G -1
#define UTM_H -1
#define UTM_I -1
#define UTM_J -1
#define UTM_K -1
#define UTM_L -1
// Available digital pins: 2,3,16,17,18,19,22,38,39,42,43,44,45,46,47,48
// Available analog pins: 6,7,8
#define LED_PIN 13
// Peripherals
#define LIGHTING_PIN 7
#define WATER_PIN 8
#define VACUUM_PIN 9
#define PERIPHERAL_4_PIN 10
#define PERIPHERAL_5_PIN 12
// Peripheral current sensors
#define LIGHTING_CURRENT_PIN 54 // A0
#define WATER_CURRENT_PIN 55 // A1
#define VACUUM_CURRENT_PIN 58 // A4
#define PERIPHERAL_4_CURRENT_PIN 57 // A3
#define PERIPHERAL_5_CURRENT_PIN 56 // A2
// Auxiliary motors
#define AUX_STEP_PIN 40
#define AUX_DIR_PIN 41
#define AUX_ENABLE_PIN 37
#define SERVO_0_PIN 4
#define SERVO_1_PIN 5
#define SERVO_2_PIN 6
#define SERVO_3_PIN 11
// Encoder X channel A (disabled, use LED pin): pin 13, port B7
#define ENC_X_A_PORT PINB
#define ENC_X_A_BYTE 0x80
// Encoder X channel B (disabled, use LED pin): pin 13, port B7
#define ENC_X_B_PORT PINB
#define ENC_X_B_BYTE 0x80
// Encoder X channel A Q (disabled, use LED pin): pin 13, port B7
#define ENC_X_A_Q_PORT PINB
#define ENC_X_A_Q_BYTE 0x80
// Encoder X channel B Q (disabled, use LED pin): pin 13, port B7
#define ENC_X_B_Q_PORT PINB
#define ENC_X_B_Q_BYTE 0x80
// Encoder Y channel A (disabled, use LED pin): pin 13, port B7
#define ENC_Y_A_PORT PINB
#define ENC_Y_A_BYTE 0x80
// Encoder Y channel B (disabled, use LED pin): pin 13, port B7
#define ENC_Y_B_PORT PINB
#define ENC_Y_B_BYTE 0x80
// Encoder Y channel A Q (disabled, use LED pin): pin 13, port B7
#define ENC_Y_A_Q_PORT PINB
#define ENC_Y_A_Q_BYTE 0x80
// Encoder Y channel B Q (disabled, use LED pin): pin 13, port B7
#define ENC_Y_B_Q_PORT PINB
#define ENC_Y_B_Q_BYTE 0x80
// Encoder Z channel A (disabled, use LED pin): pin 13, port B7
#define ENC_Z_A_PORT PINB
#define ENC_Z_A_BYTE 0x80
// Encoder Z channel B (disabled, use LED pin): pin 13, port B7
#define ENC_Z_B_PORT PINB
#define ENC_Z_B_BYTE 0x80
// Encoder Z channel A Q (disabled, use LED pin): pin 13, port B7
#define ENC_Z_A_Q_PORT PINB
#define ENC_Z_A_Q_BYTE 0x80
// Encoder Z channel B Q (disabled, use LED pin): pin 13, port B7
#define ENC_Z_B_Q_PORT PINB
#define ENC_Z_B_Q_BYTE 0x80
#endif
#if defined(FARMDUINO_EXP_V20) || defined(FARMDUINO_EXP_V22)
// X1-AXIS
#define X_STEP_PIN 26 // X1_STEP_PIN
#define X_DIR_PIN 27 // X1_DIR_PIN
#define X_ENABLE_PIN 25 // X1_ENABLE_PIN
#define X_CHIP_SELECT 24 // X1_CHIP_SELECT
#define X_MIN_PIN 69
#define X_MAX_PIN 68
#define X_ENCDR_A -1 // N/A
#define X_ENCDR_B -1 // N/A
#define X_ENCDR_A_Q -1 // N/A
#define X_ENCDR_B_Q -1 // N/A
// X2-AXIS
#define E_STEP_PIN 15 // X2_STEP_PIN
#define E_DIR_PIN 30 // X2_DIR_PIN
#define E_ENABLE_PIN 14 // X2_ENABLE_PIN
#define E_CHIP_SELECT 29 // X2_CHIP_SELECT
#define X2_ENCDR_A -1 // N/A
#define X2_ENCDR_B -1 // N/A
// Y-AXIS
#define Y_STEP_PIN 32
#define Y_DIR_PIN 33
#define Y_ENABLE_PIN 31
#define Y_CHIP_SELECT 28 // Y_CHIP_SELECT
#define Y_MIN_PIN 67
#define Y_MAX_PIN 66
#define Y_ENCDR_A -1 // N/A
#define Y_ENCDR_B -1 // N/A
#define Y_ENCDR_A_Q -1 // N/A
#define Y_ENCDR_B_Q -1 // N/A
// Z-AXIS
#define Z_STEP_PIN 35
#define Z_DIR_PIN 36
#define Z_ENABLE_PIN 34
#define Z_CHIP_SELECT 23 // Z_CHIP_SELECT
#define Z_MIN_PIN 65
#define Z_MAX_PIN 64
#define Z_ENCDR_A -1 // N/A
#define Z_ENCDR_B -1 // N/A
#define Z_ENCDR_A_Q -1 // N/A
#define Z_ENCDR_B_Q -1 // N/A
// UTM
#define UTM_C -1
#define UTM_D -1
#define UTM_E -1
#define UTM_F -1
#define UTM_G -1
#define UTM_H -1
#define UTM_I -1
#define UTM_J -1
#define UTM_K -1
#define UTM_L -1
// Available digital pins: 2,3,10,12,16,17,18,19,22,37,38,39,40,41,42,43,44,45,46,47,48
// Available analog pins: 5,6,7,8,9
#define LED_PIN 13
// Peripherals
#define LIGHTING_PIN 7
#define WATER_PIN 8
#define VACUUM_PIN 9
#define PERIPHERAL_4_PIN -1
#define PERIPHERAL_5_PIN -1
// Peripheral current sensors
#define LIGHTING_CURRENT_PIN 54 // A0
#define WATER_CURRENT_PIN 55 // A1
#define VACUUM_CURRENT_PIN 58 // A4
#define PERIPHERAL_4_CURRENT_PIN -1
#define PERIPHERAL_5_CURRENT_PIN -1
// Auxiliary motors
#define AUX_STEP_PIN -1
#define AUX_DIR_PIN -1
#define AUX_ENABLE_PIN -1
#define SERVO_0_PIN 4
#define SERVO_1_PIN 5
#define SERVO_2_PIN 6
#define SERVO_3_PIN 11
// Encoder X channel A (disabled, use LED pin): pin 13, port B7
#define ENC_X_A_PORT PINB
#define ENC_X_A_BYTE 0x80
// Encoder X channel B (disabled, use LED pin): pin 13, port B7
#define ENC_X_B_PORT PINB
#define ENC_X_B_BYTE 0x80
// Encoder X channel A Q (disabled, use LED pin): pin 13, port B7
#define ENC_X_A_Q_PORT PINB
#define ENC_X_A_Q_BYTE 0x80
// Encoder X channel B Q (disabled, use LED pin): pin 13, port B7
#define ENC_X_B_Q_PORT PINB
#define ENC_X_B_Q_BYTE 0x80
// Encoder Y channel A (disabled, use LED pin): pin 13, port B7
#define ENC_Y_A_PORT PINB
#define ENC_Y_A_BYTE 0x80
// Encoder Y channel B (disabled, use LED pin): pin 13, port B7
#define ENC_Y_B_PORT PINB
#define ENC_Y_B_BYTE 0x80
// Encoder Y channel A Q (disabled, use LED pin): pin 13, port B7
#define ENC_Y_A_Q_PORT PINB
#define ENC_Y_A_Q_BYTE 0x80
// Encoder Y channel B Q (disabled, use LED pin): pin 13, port B7
#define ENC_Y_B_Q_PORT PINB
#define ENC_Y_B_Q_BYTE 0x80
// Encoder Z channel A (disabled, use LED pin): pin 13, port B7
#define ENC_Z_A_PORT PINB
#define ENC_Z_A_BYTE 0x80
// Encoder Z channel B (disabled, use LED pin): pin 13, port B7
#define ENC_Z_B_PORT PINB
#define ENC_Z_B_BYTE 0x80
// Encoder Z channel A Q (disabled, use LED pin): pin 13, port B7
#define ENC_Z_A_Q_PORT PINB
#define ENC_Z_A_Q_BYTE 0x80
// Encoder Z channel B Q (disabled, use LED pin): pin 13, port B7
#define ENC_Z_B_Q_PORT PINB
#define ENC_Z_B_Q_BYTE 0x80
#endif
#if defined(FARMDUINO_V32)
// X1-AXIS
#define X_STEP_PIN 26 // X1_STEP_PIN
#define X_DIR_PIN 27 // X1_DIR_PIN
#define X_ENABLE_PIN 25 // X1_ENABLE_PIN
#define X_CHIP_SELECT 24 // X1_CHIP_SELECT
// #define X1_DIAGNOSTICS 47
#define X_MIN_PIN 69
#define X_MAX_PIN 68
#define X_ENCDR_A -1 // N/A
#define X_ENCDR_B -1 // N/A
#define X_ENCDR_A_Q -1 // N/A
#define X_ENCDR_B_Q -1 // N/A
// X2-AXIS
#define E_STEP_PIN 15 // X2_STEP_PIN
#define E_DIR_PIN 30 // X2_DIR_PIN
#define E_ENABLE_PIN 14 // X2_ENABLE_PIN
#define E_CHIP_SELECT 29 // X2_CHIP_SELECT
// #define X2_DIAGNOSTICS 46
#define X2_ENCDR_A -1 // N/A
#define X2_ENCDR_B -1 // N/A
// Y-AXIS
#define Y_STEP_PIN 32
#define Y_DIR_PIN 33
#define Y_ENABLE_PIN 31
#define Y_CHIP_SELECT 28 // Y_CHIP_SELECT
// #define Y_DIAGNOSTICS 45
#define Y_MIN_PIN 67
#define Y_MAX_PIN 66
#define Y_ENCDR_A -1 // N/A
#define Y_ENCDR_B -1 // N/A
#define Y_ENCDR_A_Q -1 // N/A
#define Y_ENCDR_B_Q -1 // N/A
// Z-AXIS
#define Z_STEP_PIN 35
#define Z_DIR_PIN 36
#define Z_ENABLE_PIN 34
#define Z_CHIP_SELECT 23 // Z_CHIP_SELECT
// #define Z_DIAGNOSTICS 39
#define Z_MIN_PIN 65
#define Z_MAX_PIN 64
#define Z_ENCDR_A -1 // N/A
#define Z_ENCDR_B -1 // N/A
#define Z_ENCDR_A_Q -1 // N/A
#define Z_ENCDR_B_Q -1 // N/A
// UTM
#define UTM_C 63 // TOOL VERIFICATION
#define UTM_D 59 // SOIL SENSOR
#define UTM_E -1 // rotary tool forward
#define UTM_F -1
#define UTM_G -1
#define UTM_H -1 // rotary tool reverse
#define UTM_I -1 // I2C SCL
#define UTM_J -1 // I2C SDA
#define UTM_K -1
#define UTM_L -1 // PE
// Available digital pins: 18, 19, 38, 42 (not exposed on board: 16, 17)
// Available analog pins: 7 (D 61), 8 (D 62)
#define LED_PIN 13
// Peripherals
#define LIGHTING_PIN 7
#define WATER_PIN 8
#define VACUUM_PIN 9
#define PERIPHERAL_4_PIN 10
#define PERIPHERAL_5_PIN 12
#define ROTARY_TOOL_FORWARD 2
#define ROTARY_TOOL_REVERSE 3
// Peripheral current sensors
#define LIGHTING_CURRENT_PIN 54 // A0
#define WATER_CURRENT_PIN 55 // A1
#define VACUUM_CURRENT_PIN 58 // A4
#define PERIPHERAL_4_CURRENT_PIN 57 // A3
#define PERIPHERAL_5_CURRENT_PIN 56 // A2
#define ROTARY_TOOL_CURRENT_PIN 60 // A6
// #define ROTARY_TOOL_FAULT_INDICATOR_PIN 48
// Auxiliary motors
#define AUX_STEP_PIN 40
#define AUX_DIR_PIN 41
#define AUX_ENABLE_PIN 37
// #define AUX_CHIP_SELECT 43
// #define AUX_DIAGNOSTICS 44
// #define I2C_SCL 21
// #define I2C_SDA 20
// #define SPI_MISO 50
// #define SPI_MOSI 51
// #define SPI_SCK 52
// #define SPI_CS 53
// #define NSS_PIN 22 // STM32_CHIP_SELECT (defined in Config.h)
// #define READ_ENA_PIN 49 // STM32_RESET (defined in Config.h)
#define SERVO_0_PIN 4
#define SERVO_1_PIN 5
#define SERVO_2_PIN 6
#define SERVO_3_PIN 11
// Encoder X channel A (disabled, use LED pin): pin 13, port B7
#define ENC_X_A_PORT PINB
#define ENC_X_A_BYTE 0x80
// Encoder X channel B (disabled, use LED pin): pin 13, port B7
#define ENC_X_B_PORT PINB
#define ENC_X_B_BYTE 0x80
// Encoder X channel A Q (disabled, use LED pin): pin 13, port B7
#define ENC_X_A_Q_PORT PINB
#define ENC_X_A_Q_BYTE 0x80
// Encoder X channel B Q (disabled, use LED pin): pin 13, port B7
#define ENC_X_B_Q_PORT PINB
#define ENC_X_B_Q_BYTE 0x80
// Encoder Y channel A (disabled, use LED pin): pin 13, port B7
#define ENC_Y_A_PORT PINB
#define ENC_Y_A_BYTE 0x80
// Encoder Y channel B (disabled, use LED pin): pin 13, port B7
#define ENC_Y_B_PORT PINB
#define ENC_Y_B_BYTE 0x80
// Encoder Y channel A Q (disabled, use LED pin): pin 13, port B7
#define ENC_Y_A_Q_PORT PINB
#define ENC_Y_A_Q_BYTE 0x80
// Encoder Y channel B Q (disabled, use LED pin): pin 13, port B7
#define ENC_Y_B_Q_PORT PINB
#define ENC_Y_B_Q_BYTE 0x80
// Encoder Z channel A (disabled, use LED pin): pin 13, port B7
#define ENC_Z_A_PORT PINB
#define ENC_Z_A_BYTE 0x80
// Encoder Z channel B (disabled, use LED pin): pin 13, port B7
#define ENC_Z_B_PORT PINB
#define ENC_Z_B_BYTE 0x80
// Encoder Z channel A Q (disabled, use LED pin): pin 13, port B7
#define ENC_Z_A_Q_PORT PINB
#define ENC_Z_A_Q_BYTE 0x80
// Encoder Z channel B Q (disabled, use LED pin): pin 13, port B7
#define ENC_Z_B_Q_PORT PINB
#define ENC_Z_B_Q_BYTE 0x80
#endif