Prusa MINI Firmware overview
pins_RUMBA32.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 #ifndef STM32F4
25  #error "Oops! Select an STM32F4 board in 'Tools > Board.'"
26 #elif HOTENDS > 3 || E_STEPPERS > 3
27  #error "RUMBA32 supports up to 3 hotends / E-steppers."
28 #endif
29 
30 #define RUMBA32_V1_0
31 #define BOARD_INFO_NAME "RUMBA32"
32 #define DEFAULT_MACHINE_NAME BOARD_INFO_NAME
33 
34 //#define I2C_EEPROM
35 #define E2END 0xFFF // 4KB
36 
37 //
38 // Limit Switches
39 //
40 #define X_MIN_PIN PB12
41 #define X_MAX_PIN PB13
42 #define Y_MIN_PIN PB15
43 #define Y_MAX_PIN PD8
44 #define Z_MIN_PIN PD9
45 #define Z_MAX_PIN PD10
46 
47 //
48 // Steppers
49 //
50 #define X_STEP_PIN PA0
51 #define X_DIR_PIN PC15
52 #define X_ENABLE_PIN PC11
53 #define X_CS_PIN PC14
54 
55 #define Y_STEP_PIN PE5
56 #define Y_DIR_PIN PE6
57 #define Y_ENABLE_PIN PE3
58 #define Y_CS_PIN PE4
59 
60 #define Z_STEP_PIN PE1
61 #define Z_DIR_PIN PE2
62 #define Z_ENABLE_PIN PB7
63 #define Z_CS_PIN PE0
64 
65 #define E0_STEP_PIN PB5
66 #define E0_DIR_PIN PB6
67 #define E0_ENABLE_PIN PC12
68 #define E0_CS_PIN PC13
69 
70 #define E1_STEP_PIN PD6
71 #define E1_DIR_PIN PD7
72 #define E1_ENABLE_PIN PD4
73 #define E1_CS_PIN PD5
74 
75 #define E2_STEP_PIN PD2
76 #define E2_DIR_PIN PD3
77 #define E2_ENABLE_PIN PD0
78 #define E2_CS_PIN PD1
79 
80 //
81 // Temperature Sensors
82 //
83 #define TEMP_0_PIN PC4
84 #define TEMP_1_PIN PC3
85 #define TEMP_2_PIN PC2
86 #define TEMP_3_PIN PC1
87 #define TEMP_BED_PIN PC0
88 
89 //
90 // Heaters / Fans
91 //
92 #define HEATER_0_PIN PC6
93 #define HEATER_1_PIN PC7
94 #define HEATER_2_PIN PC8
95 #define HEATER_BED_PIN PA1
96 
97 #define FAN_PIN PC9
98 #define FAN1_PIN PA8
99 
100 //
101 // I2C
102 //
103 #define SCK_PIN PA5
104 #define MISO_PIN PA6
105 #define MOSI_PIN PA7
106 
107 //
108 // Misc. Functions
109 //
110 #define LED_PIN PB14
111 #define BTN_PIN PC10
112 #define PS_ON_PIN PE11
113 #define KILL_PIN PC5
114 
115 #define SDSS PA2
116 #define SD_DETECT_PIN PB0
117 #define BEEPER_PIN PE8
118 
119 //
120 // LCD / Controller
121 //
122 #define LCD_PINS_RS PE10
123 #define LCD_PINS_ENABLE PE9
124 #define LCD_PINS_D4 PE12
125 #define LCD_PINS_D5 PE13
126 #define LCD_PINS_D6 PE14
127 #define LCD_PINS_D7 PE15
128 #define BTN_EN1 PB1
129 #define BTN_EN2 PB2
130 #define BTN_ENC PE7