Browse Source

Add support for Arm'ed (STM32F4) board (#12147)

Karl Andersson 6 years ago
parent
commit
4eb798dbdc

+ 2027
- 0
Marlin/src/config/examples/ArmEd/Configuration.h
File diff suppressed because it is too large
View File


+ 1809
- 0
Marlin/src/config/examples/ArmEd/Configuration_adv.h
File diff suppressed because it is too large
View File


+ 1
- 0
Marlin/src/core/boards.h View File

@@ -231,6 +231,7 @@
231 231
 #define BOARD_TEENSY35_36       841   // Teensy3.5 and Teensy3.6
232 232
 #define BOARD_BEAST            1802   // STM32FxxxVxT6 Libmaple based stm32f4 controller
233 233
 #define BOARD_STM32F4          1804   // STM32 STM32GENERIC based STM32F4 controller
234
+#define BOARD_ARMED            1807   // Arm'ed STM32F4 based controller
234 235
 
235 236
 //
236 237
 // ARM Cortex M7

+ 2
- 0
Marlin/src/pins/pins.h View File

@@ -397,6 +397,8 @@
397 397
   #include "pins_BEAST.h"             // STM32F4                                    env:STM32F4
398 398
 #elif MB(STM32F4)
399 399
   #include "pins_STM32F4.h"           // STM32F4                                    env:STM32F4
400
+#elif MB(ARMED)
401
+  #include "pins_ARMED.h"             // STM32F4                                    env:ARMED
400 402
 
401 403
 //
402 404
 // ARM Cortex M7

+ 174
- 0
Marlin/src/pins/pins_ARMED.h View File

@@ -0,0 +1,174 @@
1
+/**
2
+ * Marlin 3D Printer Firmware
3
+ * Copyright (C) 2016 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
+
23
+#ifndef STM32F4
24
+  #error "Oops!  Make sure you have an STM32F4 board selected from the 'Tools -> Boards' menu."
25
+#endif
26
+
27
+#ifndef ARMED_V1_0
28
+  #define ARMED_V1_1
29
+#endif
30
+
31
+#define DEFAULT_MACHINE_NAME "Arm'ed"
32
+#define BOARD_NAME "Arm'ed"
33
+
34
+#define I2C_EEPROM
35
+
36
+#define E2END 0xFFF // EEPROM end address (4kB)
37
+
38
+#if HOTENDS > 2 || E_STEPPERS > 2
39
+  #error "Arm'ed supports up to 2 hotends / E-steppers."
40
+#endif
41
+
42
+//
43
+// Limit Switches
44
+//
45
+#define X_MIN_PIN          PE0
46
+#define X_MAX_PIN          -1
47
+#define Y_MIN_PIN          PE1
48
+#define Y_MAX_PIN          -1
49
+#define Z_MIN_PIN          PE14
50
+#define Z_MAX_PIN          -1
51
+
52
+//
53
+// Z Probe (when not Z_MIN_PIN)
54
+//
55
+// #ifndef Z_MIN_PROBE_PIN
56
+//   #define Z_MIN_PROBE_PIN  PA4
57
+// #endif
58
+
59
+//
60
+// Steppers
61
+//
62
+
63
+#ifdef ARMED_SWAP_X_E1
64
+  #define X_STEP_PIN       PE4
65
+  #define X_DIR_PIN        PE2
66
+  #define X_ENABLE_PIN     PE3
67
+  #define X_CS_PIN         PE5
68
+#else
69
+  #define X_STEP_PIN       PD3
70
+  #define X_DIR_PIN        PD2
71
+  #define X_ENABLE_PIN     PD0
72
+  #define X_CS_PIN         PD1
73
+#endif
74
+
75
+#define Y_STEP_PIN         PE11
76
+#define Y_DIR_PIN          PE10
77
+#define Y_ENABLE_PIN       PE13
78
+#define Y_CS_PIN           PE12
79
+
80
+#define Z_STEP_PIN         PD6
81
+#define Z_DIR_PIN          PD7
82
+#define Z_ENABLE_PIN       PD4
83
+#define Z_CS_PIN           PD5
84
+
85
+#define E0_STEP_PIN        PB5
86
+#define E0_DIR_PIN         PB6
87
+#define E0_CS_PIN          PB4
88
+
89
+#ifdef ARMED_V1_0
90
+  #define E0_ENABLE_PIN    PB3
91
+#else
92
+  #define E0_ENABLE_PIN    PC12
93
+#endif
94
+
95
+#ifdef ARMED_SWAP_X_E1
96
+  #define E1_STEP_PIN      PD3
97
+  #define E1_DIR_PIN       PD2
98
+  #define E1_ENABLE_PIN    PD0
99
+  #define E1_CS_PIN        PD1
100
+#else
101
+  #define E1_STEP_PIN      PE4
102
+  #define E1_DIR_PIN       PE2
103
+  #define E1_ENABLE_PIN    PE3
104
+  #define E1_CS_PIN        PE5
105
+#endif
106
+
107
+//
108
+// SPI
109
+//
110
+#define SCK_PIN            PA5
111
+#define MISO_PIN           PA6
112
+#define MOSI_PIN           PA7
113
+
114
+//
115
+// Temperature Sensors
116
+//
117
+#define TEMP_0_PIN         PC0   // Analog Input
118
+#define TEMP_1_PIN         PC1   // Analog Input
119
+#define TEMP_BED_PIN       PC2   // Analog Input
120
+
121
+//
122
+// Heaters / Fans
123
+//
124
+#define HEATER_0_PIN       PA1   // PWM pin
125
+#define HEATER_1_PIN       PA2   // PWM pin
126
+#define HEATER_BED_PIN     PA0   // PWM pin
127
+
128
+#define FAN_PIN            PC6   // PWM pin, Part cooling fan
129
+#define FAN1_PIN           PC7   // PWM pin, Extruder fan
130
+#define FAN2_PIN           PC8   // PWM pin, Controller fan
131
+
132
+//
133
+// Misc functions
134
+//
135
+#define SDSS               PE7
136
+#define SS_PIN             PE7
137
+#define LED_PIN            PB7   // Heart beat
138
+#define PS_ON_PIN          PA10
139
+#define KILL_PIN           PA8
140
+#define PWR_LOSS           PA4   // Power loss / nAC_FAULT
141
+
142
+//
143
+// LCD / Controller
144
+//
145
+#define SD_DETECT_PIN      PA15
146
+#define BEEPER_PIN         PC9
147
+#define LCD_PINS_RS        PE9
148
+#define LCD_PINS_ENABLE    PE8
149
+#define LCD_PINS_D4        PB12
150
+#define LCD_PINS_D5        PB13
151
+#define LCD_PINS_D6        PB14
152
+#define LCD_PINS_D7        PB15
153
+#define BTN_EN1            PC4
154
+#define BTN_EN2            PC5
155
+#define BTN_ENC            PC3
156
+
157
+//
158
+// Filament runout detection
159
+//
160
+#define FIL_RUNOUT_PIN     PA3
161
+
162
+//
163
+// Extension pins
164
+//
165
+#define EXT0_PIN           PB0
166
+#define EXT1_PIN           PB1
167
+#define EXT2_PIN           PB2
168
+#define EXT3_PIN           PD8
169
+#define EXT4_PIN           PD9
170
+#define EXT5_PIN           PD10
171
+#define EXT6_PIN           PD11
172
+#define EXT7_PIN           PD12
173
+#define EXT8_PIN           PB10
174
+#define EXT9_PIN           PB11

+ 13
- 0
platformio.ini View File

@@ -281,6 +281,19 @@ src_filter    = ${common.default_src_filter} +<src/HAL/HAL_STM32F4>
281 281
 monitor_speed = 250000
282 282
 
283 283
 #
284
+# ARMED
285
+#
286
+[env:ARMED]
287
+platform      = ststm32
288
+framework     = arduino
289
+board         = ARMED
290
+build_flags   = ${common.build_flags} -DUSE_STM32GENERIC -DSTM32GENERIC -DMENU_USB_SERIAL -DMENU_SERIAL=SerialUSB -O2 -ffreestanding -fsigned-char -fno-move-loop-invariants -fno-strict-aliasing -std=gnu11 -std=gnu++11
291
+lib_deps      = ${common.lib_deps}
292
+lib_ignore    = Adafruit NeoPixel, c1921b4
293
+src_filter    = ${common.default_src_filter} +<src/HAL/HAL_STM32F4>
294
+monitor_speed = 250000
295
+
296
+#
284 297
 # Teensy 3.5 / 3.6 (ARM Cortex-M4)
285 298
 #
286 299
 [env:teensy35]

Loading…
Cancel
Save