Prusa MINI Firmware overview
pins_GEN6.h
Go to the documentation of this file.
1 /**
2  * Marlin 3D Printer Firmware
3  * Copyright (c) 2019 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 #pragma once
23 
24 /**
25  * Gen6 pin assignments
26  */
27 
28  /**
29  * Rev B 26 DEC 2016
30  *
31  * 1) added pointer to a current Arduino IDE extension
32  * 2) added support for M3, M4 & M5 spindle control commands
33  * 3) added case light pin definition
34  *
35  */
36 
37 /**
38  * A useable Arduino IDE extension (board manager) can be found at
39  * https://github.com/Lauszus/Sanguino
40  *
41  * This extension has been tested on Arduino 1.6.12 & 1.8.0
42  *
43  * Here's the JSON path:
44  * https://raw.githubusercontent.com/Lauszus/Sanguino/master/package_lauszus_sanguino_index.json
45  *
46  * When installing select 1.0.2
47  *
48  * Installation instructions can be found at https://learn.sparkfun.com/pages/CustomBoardsArduino
49  * Just use the above JSON URL instead of Sparkfun's JSON.
50  *
51  * Once installed select the Sanguino board and then select the CPU.
52  *
53  */
54 
55 #if !defined(__AVR_ATmega644P__) && !defined(__AVR_ATmega1284P__)
56  #error "Oops! Select 'Sanguino' in 'Tools > Boards' and 'ATmega644P' or 'ATmega1284P' in 'Tools > Processor.'"
57 #endif
58 
59 #ifndef BOARD_INFO_NAME
60  #define BOARD_INFO_NAME "Gen6"
61 #endif
62 
63 //
64 // Limit Switches
65 //
66 #define X_STOP_PIN 20
67 #define Y_STOP_PIN 25
68 #define Z_STOP_PIN 30
69 
70 //
71 // Steppers
72 //
73 #define X_STEP_PIN 15
74 #define X_DIR_PIN 18
75 #define X_ENABLE_PIN 19
76 
77 #define Y_STEP_PIN 23
78 #define Y_DIR_PIN 22
79 #define Y_ENABLE_PIN 24
80 
81 #define Z_STEP_PIN 27
82 #define Z_DIR_PIN 28
83 #define Z_ENABLE_PIN 29
84 
85 #define E0_STEP_PIN 4 // Edited @ EJE Electronics 20100715
86 #define E0_DIR_PIN 2 // Edited @ EJE Electronics 20100715
87 #define E0_ENABLE_PIN 3 // Added @ EJE Electronics 20100715
88 
89 //
90 // Temperature Sensor
91 //
92 #define TEMP_0_PIN 5 // Analog Input
93 
94 //
95 // Heaters
96 //
97 #define HEATER_0_PIN 14 // changed @ rkoeppl 20110410
98 
99 #if !MB(GEN6)
100  #define HEATER_BED_PIN 1 // changed @ rkoeppl 20110410
101  #define TEMP_BED_PIN 0 // Analog Input
102 #endif
103 
104 //
105 // Misc. Functions
106 //
107 #define SDSS 17
108 #define DEBUG_PIN 0
109 #define CASE_LIGHT_PIN 16 // Hardware PWM
110 
111 // RS485 pins
112 #define TX_ENABLE_PIN 12
113 #define RX_ENABLE_PIN 13
114 
115 //
116 // M3/M4/M5 - Spindle/Laser Control
117 //
118 #define SPINDLE_LASER_ENA_PIN 5 // Pullup or pulldown!
119 #define SPINDLE_LASER_PWM_PIN 16 // Hardware PWM
120 #define SPINDLE_DIR_PIN 6