Prusa MINI Firmware overview
pins_FORMBOT_RAPTOR.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  * Formbot Raptor pin assignments
26  */
27 
28 #ifndef __AVR_ATmega2560__
29  #error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
30 #elif HOTENDS > 3 || E_STEPPERS > 3
31  #error "Formbot supports up to 3 hotends / E-steppers. Comment out this line to continue."
32 #endif
33 
34 #ifndef BOARD_INFO_NAME
35  #define BOARD_INFO_NAME "Formbot Raptor"
36 #endif
37 #ifndef DEFAULT_MACHINE_NAME
38  #define DEFAULT_MACHINE_NAME BOARD_INFO_NAME
39 #endif
40 
41 //
42 // Servos
43 //
44 #define SERVO0_PIN 11
45 #define SERVO1_PIN 6
46 #define SERVO2_PIN 5
47 
48 //
49 // Limit Switches
50 //
51 #define X_MIN_PIN 3
52 #ifndef X_MAX_PIN
53  #define X_MAX_PIN 2
54 #endif
55 #define Y_MIN_PIN 14
56 #define Y_MAX_PIN 15
57 #define Z_MIN_PIN 18
58 #define Z_MAX_PIN 19
59 
60 //
61 // Z Probe (when not Z_MIN_PIN)
62 //
63 #ifndef Z_MIN_PROBE_PIN
64  #define Z_MIN_PROBE_PIN 32
65 #endif
66 
67 //
68 // Steppers
69 //
70 #define X_STEP_PIN 54
71 #define X_DIR_PIN 55
72 #define X_ENABLE_PIN 38
73 #ifndef X_CS_PIN
74  #define X_CS_PIN 53
75 #endif
76 
77 #define Y_STEP_PIN 60
78 #define Y_DIR_PIN 61
79 #define Y_ENABLE_PIN 56
80 #ifndef Y_CS_PIN
81  #define Y_CS_PIN 49
82 #endif
83 
84 #define Z_STEP_PIN 46
85 #define Z_DIR_PIN 48
86 #define Z_ENABLE_PIN 62
87 #ifndef Z_CS_PIN
88  #define Z_CS_PIN 40
89 #endif
90 
91 #define E0_STEP_PIN 26
92 #define E0_DIR_PIN 28
93 #define E0_ENABLE_PIN 24
94 #ifndef E0_CS_PIN
95  #define E0_CS_PIN 42
96 #endif
97 
98 #define E1_STEP_PIN 36
99 #define E1_DIR_PIN 34
100 #define E1_ENABLE_PIN 30
101 #ifndef E1_CS_PIN
102  #define E1_CS_PIN 44
103 #endif
104 
105 #define E2_STEP_PIN 42
106 #define E2_DIR_PIN 43
107 #define E2_ENABLE_PIN 44
108 
109 //
110 // Temperature Sensors
111 //
112 #define TEMP_0_PIN 13 // Analog Input
113 #define TEMP_1_PIN 15 // Analog Input
114 #define TEMP_BED_PIN 14 // Analog Input
115 
116 // SPI for Max6675 or Max31855 Thermocouple
117 #if DISABLED(SDSUPPORT)
118  #define MAX6675_SS_PIN 66 // Don't use 53 if there is even the remote possibility of using Display/SD card
119 #else
120  #define MAX6675_SS_PIN 66 // Don't use 49 as this is tied to the switch inside the SD card socket to detect if there is an SD card present
121 #endif
122 
123 //
124 // Augmentation for auto-assigning RAMPS plugs
125 //
126 #if NONE(IS_RAMPS_EEB, IS_RAMPS_EEF, IS_RAMPS_EFB, IS_RAMPS_EFF, IS_RAMPS_SF) && !PIN_EXISTS(MOSFET_D)
127  #if HOTENDS > 1
128  #if TEMP_SENSOR_BED
129  #define IS_RAMPS_EEB
130  #else
131  #define IS_RAMPS_EEF
132  #endif
133  #elif TEMP_SENSOR_BED
134  #define IS_RAMPS_EFB
135  #else
136  #define IS_RAMPS_EFF
137  #endif
138 #endif
139 
140 //
141 // Heaters / Fans
142 //
143 #define HEATER_0_PIN 10
144 #define HEATER_1_PIN 7
145 #define HEATER_BED_PIN 8
146 
147 #ifndef FAN_PIN
148  #define FAN_PIN 9
149 #endif
150 
151 #ifndef FIL_RUNOUT_PIN
152  #define FIL_RUNOUT_PIN 57
153 #endif
154 
155 #if !HAS_FILAMENT_SENSOR
156  #define FAN1_PIN 4
157 #endif
158 
159 //
160 // Misc. Functions
161 //
162 #ifndef SDSS
163  #define SDSS 53
164 #endif
165 #define LED_PIN 13
166 #define LED4_PIN 5
167 
168 // Use the RAMPS 1.4 Analog input 5 on the AUX2 connector
169 #define FILWIDTH_PIN 5 // Analog Input
170 
171 #ifndef PS_ON_PIN
172  #define PS_ON_PIN 12
173 #endif
174 
175 #define CASE_LIGHT_PIN 5
176 
177 //
178 // LCD / Controller
179 //
180 // Formbot only supports REPRAP_DISCOUNT_SMART_CONTROLLER
181 //
182 #if ENABLED(REPRAP_DISCOUNT_SMART_CONTROLLER)
183  #define BEEPER_PIN 37
184  #define BTN_EN1 31
185  #define BTN_EN2 33
186  #define BTN_ENC 35
187  #define SD_DETECT_PIN 49
188  #define KILL_PIN 41
189  #define LCD_PINS_RS 16
190  #define LCD_PINS_ENABLE 17
191  #define LCD_PINS_D4 23
192  #define LCD_PINS_D5 25
193  #define LCD_PINS_D6 27
194  #define LCD_PINS_D7 29
195 #endif