Prusa MINI Firmware overview
pins_JGAURORA_A5S_A1.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  * ╦╔═╗╔═╗┬ ┬┬─┐┌─┐┬─┐┌─┐╔═╗┌─┐┬─┐┬ ┬┌┬┐ ┌─┐┌─┐┌┬┐
26  * ║║ ╦╠═╣│ │├┬┘│ │├┬┘├─┤╠╣ │ │├┬┘│ ││││ │ │ ││││
27  * ╚╝╚═╝╩ ╩└─┘┴└─└─┘┴└─┴ ┴╚ └─┘┴└─└─┘┴ ┴o└─┘└─┘┴ ┴
28  * Pin assignments for 32-bit JGAurora A5S & A1
29  */
30 
31 #ifndef __STM32F1__
32  #error "Oops! Select an STM32F1 board in 'Tools > Board.'"
33 #elif HOTENDS > 1 || E_STEPPERS > 1
34  #error "JGAurora 32-bit board only supports 1 hotend / E-stepper. Comment out this line to continue."
35 #endif
36 #define BOARD_INFO_NAME "JGAurora A5S A1 board"
37 
38 #define STM32_XL_DENSITY
39 // #define MCU_STM32F103ZE // not yet required
40 // Enable EEPROM Emulation for this board, so that we don't overwrite factory data
41 
42 //#define I2C_EEPROM // AT24C64
43 //#define E2END 0x7FFF // 64KB
44 //#define FLASH_EEPROM_EMULATION
45 //#define E2END 0xFFF // 4KB
46 //#define E2END uint32(EEPROM_START_ADDRESS + (EEPROM_PAGE_SIZE * 2) - 1)
47 //#define EEPROM_CHITCHAT
48 //#define DEBUG_EEPROM_READWRITE
49 
50 //
51 // Limit Switches
52 //
53 #define X_STOP_PIN PC6
54 #define Y_STOP_PIN PG8
55 #define Z_STOP_PIN PG7
56 //#define X_MAX_PIN PC5
57 //#define Y_MAX_PIN PC4
58 //#define Z_MAX_PIN PB0
59 
60 //
61 // Steppers
62 //
63 #define X_STEP_PIN PD6
64 #define X_DIR_PIN PD3
65 #define X_ENABLE_PIN PG9
66 
67 #define Y_STEP_PIN PG12
68 #define Y_DIR_PIN PG11
69 #define Y_ENABLE_PIN PG13
70 
71 #define Z_STEP_PIN PG15
72 #define Z_DIR_PIN PG14
73 #define Z_ENABLE_PIN PB8
74 
75 #define E0_STEP_PIN PE2
76 #define E0_DIR_PIN PB9
77 #define E0_ENABLE_PIN PE3
78 
79 #define E1_STEP_PIN PE5
80 #define E1_DIR_PIN PE4
81 #define E1_ENABLE_PIN PE6
82 
83 //
84 // Temperature Sensors
85 //
86 #define TEMP_0_PIN PC2
87 #define TEMP_BED_PIN PC1
88 
89 //
90 // Heaters / Fans
91 //
92 #define HEATER_0_PIN PA2
93 #define HEATER_BED_PIN PA3
94 
95 #define FAN_PIN PA1
96 
97 #define FIL_RUNOUT_PIN PC7
98 
99 //
100 // LCD
101 //
102 #define LCD_BACKLIGHT_PIN PF11
103 #define FSMC_CS_PIN PD7
104 #define FSMC_RS_PIN PG0
105 
106 #define LCD_USE_DMA_FSMC // Use DMA transfers to send data to the TFT
107 #define FSMC_DMA_DEV DMA2
108 #define FSMC_DMA_CHANNEL DMA_CH5
109 
110 //
111 // SD Card
112 //
113 #define SD_DETECT_PIN PF10
114 
115 //
116 // Misc.
117 //
118 #define BEEPER_PIN PC3 // use PB7 to shut up if desired
119 #define LED_PIN PC13
120 
121 //
122 // Touch support
123 //
124 #if ENABLED(TOUCH_BUTTONS)
125  #define TOUCH_CS_PIN PA4
126  #define TOUCH_INT_PIN PC4
127 #endif