Prusa MINI Firmware overview
pins_FYSETC_AIO_II.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 __STM32F1__
25  #error "Oops! Select an STM32F1 board in 'Tools > Board.'"
26 #endif
27 
28 #define BOARD_INFO_NAME "FYSETC AIO II"
29 #define BOARD_WEBSITE_URL "fysetc.com"
30 
31 #define DISABLE_JTAG
32 
33 #define pins_v2_20190128 // geo-f:add for new pins define
34 
35 // Ignore temp readings during development.
36 //#define BOGUS_TEMPERATURE_GRACE_PERIOD 2000
37 
38 //
39 // Flash EEPROM Emulation
40 //
41 #define FLASH_EEPROM_EMULATION
42 #define EEPROM_PAGE_SIZE uint16(0x800) // 2KB
43 #define EEPROM_START_ADDRESS uint32(0x8000000 + 256 * 1024 - 2 * EEPROM_PAGE_SIZE)
44 #undef E2END
45 #define E2END (EEPROM_PAGE_SIZE - 1) // 2KB
46 //
47 // Limit Switches
48 //
49 #define X_STOP_PIN PA1
50 #define Y_STOP_PIN PA0
51 #define Z_STOP_PIN PB14
52 
53 //
54 // Filament runout
55 //
56 #ifdef pins_v2_20190128
57  #define FIL_RUNOUT_PIN PB15
58 #else
59  #define FIL_RUNOUT_PIN PB5
60 #endif
61 
62 //
63 // Steppers
64 //
65 #define X_STEP_PIN PB8
66 #define X_DIR_PIN PB9
67 #define X_ENABLE_PIN PA8
68 
69 #define Y_STEP_PIN PB2
70 #ifdef pins_v2_20190128
71  #define Y_DIR_PIN PB3
72 #else
73  #define Y_DIR_PIN PB0
74 #endif
75 #define Y_ENABLE_PIN PB1
76 
77 #define Z_STEP_PIN PC0
78 #define Z_DIR_PIN PC1
79 #define Z_ENABLE_PIN PC2
80 
81 #define E0_STEP_PIN PC15
82 #define E0_DIR_PIN PC14
83 #define E0_ENABLE_PIN PC13
84 
85 //
86 // Stepper current PWM
87 //
88 
89 // X:PA2 Y:PA3 Z:PB12 E:PB13 // changed for test
90 //#define MOTOR_CURRENT_PWM_XY_PIN PA3
91 //#define MOTOR_CURRENT_PWM_Z_PIN PA2 // PB12
92 //#define MOTOR_CURRENT_PWM_XY_PIN PB6
93 //#define MOTOR_CURRENT_PWM_Z_PIN PB7 // PB12
94 //#define MOTOR_CURRENT_PWM_E_PIN -1 // PB13
95 // Motor current PWM conversion, PWM value = MotorCurrentSetting * 255 / range
96 #ifndef MOTOR_CURRENT_PWM_RANGE
97  #define MOTOR_CURRENT_PWM_RANGE 1500 // geo-f:old 2000
98 #endif
99 #define DEFAULT_PWM_MOTOR_CURRENT {500, 500, 400} // geo-f:old 1300 1300 1250
100 
101 // 采用 SDIO PCB从左到右数
102 // 1:PC10 - SDIO_D2
103 // 2:PC11 - SDIO_D3
104 // 3:PD2 - SDIO_CMD
105 // 4:VCC
106 // 5:PC12 - SDIO_CK
107 // 6:VDD
108 // 7:PC8 - SDIO_D0
109 // 8:PC9 - SDIO_D1
110 // 9:PA15 - SD_DETECT_PIN
111 
112 //
113 // Heaters / Fans
114 //
115 #define HEATER_0_PIN PC7
116 #define HEATER_BED_PIN PC6
117 #ifndef FAN_PIN
118  #define FAN_PIN PC8
119 #endif
120 
121 //
122 // Temperature Sensors
123 //
124 #define TEMP_BED_PIN PC5 // Analog Input
125 #define TEMP_0_PIN PC4 // Analog Input
126 
127 //
128 // Misc. Functions
129 //
130 #define SDSS PA4
131 
132 //
133 // LCD Pins
134 //
135 #if HAS_SPI_LCD
136 
137  #define BEEPER_PIN PC9
138 
139  #if HAS_GRAPHICAL_LCD
140 
141  #define DOGLCD_A0 PA15
142  #ifdef pins_v2_20190128
143  #define DOGLCD_CS PB5
144  #else
145  #define DOGLCD_CS PB7
146  #endif
147 
148  //#define LCD_CONTRAST_INIT 190
149  //#define LCD_SCREEN_ROT_90
150  //#define LCD_SCREEN_ROT_180
151  //#define LCD_SCREEN_ROT_270
152 
153  #endif
154 
155  // not connected to a pin
156  #define SD_DETECT_PIN PC3
157 
158  #if ENABLED(NEWPANEL)
159  // The encoder and click button
160  #define BTN_EN1 PC10
161  #define BTN_EN2 PC11
162  #define BTN_ENC PC12
163  #endif
164 
165  #ifdef pins_v2_20190128
166  #define LCD_RESET_PIN PB4
167  #ifndef RGB_LED_R_PIN
168  #define RGB_LED_R_PIN PB0
169  #endif
170  #ifndef RGB_LED_G_PIN
171  #define RGB_LED_G_PIN PB6
172  #endif
173  #ifndef RGB_LED_B_PIN
174  #define RGB_LED_B_PIN PB7
175  #endif
176  #else
177  #define LCD_RESET_PIN PB6
178  #ifndef RGB_LED_R_PIN
179  #define RGB_LED_R_PIN PB3
180  #endif
181  #ifndef RGB_LED_G_PIN
182  #define RGB_LED_G_PIN PB4
183  #endif
184  #ifndef RGB_LED_B_PIN
185  #define RGB_LED_B_PIN PB5
186  #endif
187  #endif
188 
189 #endif