Skip to content

Commit

Permalink
✨ MKS Monster8 V2 (MarlinFirmware#24483)
Browse files Browse the repository at this point in the history
  • Loading branch information
thisiskeithb authored and LCh-77 committed Jul 19, 2022
1 parent 6c1156d commit 31b7fd4
Show file tree
Hide file tree
Showing 6 changed files with 159 additions and 66 deletions.
23 changes: 12 additions & 11 deletions Marlin/src/core/boards.h
Original file line number Diff line number Diff line change
Expand Up @@ -408,17 +408,18 @@
#define BOARD_MKS_ROBIN_PRO_V2 4227 // MKS Robin Pro V2 (STM32F407VE)
#define BOARD_MKS_ROBIN_NANO_V3 4228 // MKS Robin Nano V3 (STM32F407VG)
#define BOARD_MKS_ROBIN_NANO_V3_1 4229 // MKS Robin Nano V3.1 (STM32F407VE)
#define BOARD_MKS_MONSTER8 4230 // MKS Monster8 (STM32F407VG)
#define BOARD_ANET_ET4 4231 // ANET ET4 V1.x (STM32F407VG)
#define BOARD_ANET_ET4P 4232 // ANET ET4P V1.x (STM32F407VG)
#define BOARD_FYSETC_CHEETAH_V20 4233 // FYSETC Cheetah V2.0
#define BOARD_TH3D_EZBOARD_V2 4234 // TH3D EZBoard v2.0
#define BOARD_OPULO_LUMEN_REV3 4235 // Opulo Lumen PnP Controller REV3 (STM32F407VE/VG)
#define BOARD_MKS_ROBIN_NANO_V1_3_F4 4236 // MKS Robin Nano V1.3 and MKS Robin Nano-S V1.3 (STM32F407VE)
#define BOARD_MKS_EAGLE 4237 // MKS Eagle (STM32F407VE)
#define BOARD_ARTILLERY_RUBY 4238 // Artillery Ruby (STM32F401RC)
#define BOARD_FYSETC_SPIDER_V2_2 4239 // FYSETC Spider V2.2 (STM32F446VE)
#define BOARD_CREALITY_V24S1_301F4 4240 // Creality v2.4.S1_301F4 (STM32F401RC) as found in the Ender-3 S1 F4
#define BOARD_MKS_MONSTER8_V1 4230 // MKS Monster8 V1 (STM32F407VG)
#define BOARD_MKS_MONSTER8_V2 4231 // MKS Monster8 V2 (STM32F407VG)
#define BOARD_ANET_ET4 4232 // ANET ET4 V1.x (STM32F407VG)
#define BOARD_ANET_ET4P 4233 // ANET ET4P V1.x (STM32F407VG)
#define BOARD_FYSETC_CHEETAH_V20 4234 // FYSETC Cheetah V2.0
#define BOARD_TH3D_EZBOARD_V2 4235 // TH3D EZBoard v2.0
#define BOARD_OPULO_LUMEN_REV3 4236 // Opulo Lumen PnP Controller REV3 (STM32F407VE/VG)
#define BOARD_MKS_ROBIN_NANO_V1_3_F4 4237 // MKS Robin Nano V1.3 and MKS Robin Nano-S V1.3 (STM32F407VE)
#define BOARD_MKS_EAGLE 4238 // MKS Eagle (STM32F407VE)
#define BOARD_ARTILLERY_RUBY 4239 // Artillery Ruby (STM32F401RC)
#define BOARD_FYSETC_SPIDER_V2_2 4240 // FYSETC Spider V2.2 (STM32F446VE)
#define BOARD_CREALITY_V24S1_301F4 4241 // Creality v2.4.S1_301F4 (STM32F401RC) as found in the Ender-3 S1 F4

//
// ARM Cortex M7
Expand Down
10 changes: 8 additions & 2 deletions Marlin/src/pins/pins.h
Original file line number Diff line number Diff line change
Expand Up @@ -683,8 +683,10 @@
#include "stm32f4/pins_ANET_ET4P.h" // STM32F4 env:Anet_ET4_no_bootloader env:Anet_ET4_OpenBLT
#elif MB(FYSETC_CHEETAH_V20)
#include "stm32f4/pins_FYSETC_CHEETAH_V20.h" // STM32F4 env:FYSETC_CHEETAH_V20
#elif MB(MKS_MONSTER8)
#include "stm32f4/pins_MKS_MONSTER8.h" // STM32F4 env:mks_monster8 env:mks_monster8_usb_flash_drive env:mks_monster8_usb_flash_drive_msc
#elif MB(MKS_MONSTER8_V1)
#include "stm32f4/pins_MKS_MONSTER8_V1.h" // STM32F4 env:mks_monster8 env:mks_monster8_usb_flash_drive env:mks_monster8_usb_flash_drive_msc
#elif MB(MKS_MONSTER8_V2)
#include "stm32f4/pins_MKS_MONSTER8_V2.h" // STM32F4 env:mks_monster8 env:mks_monster8_usb_flash_drive env:mks_monster8_usb_flash_drive_msc
#elif MB(TH3D_EZBOARD_V2)
#include "stm32f4/pins_TH3D_EZBOARD_V2.h" // STM32F4 env:TH3D_EZBoard_V2_no_bootloader env:TH3D_EZBoard_V2_OpenBLT
#elif MB(OPULO_LUMEN_REV3)
Expand Down Expand Up @@ -800,6 +802,7 @@
#define BOARD_BTT_SKR_V2_0 99922
#define BOARD_TH3D_EZBOARD_LITE_V2 99923
#define BOARD_BTT_SKR_SE_BX 99924
#define BOARD_MKS_MONSTER8 99925

#if MB(MKS_13)
#error "BOARD_MKS_13 has been renamed BOARD_MKS_GEN_13. Please update your configuration."
Expand Down Expand Up @@ -853,6 +856,8 @@
#error "BOARD_TH3D_EZBOARD_LITE_V2 is now BOARD_TH3D_EZBOARD_V2. Please update your configuration."
#elif MB(BTT_SKR_SE_BX)
#error "BOARD_BTT_SKR_SE_BX is now BOARD_BTT_SKR_SE_BX_V2 or BOARD_BTT_SKR_SE_BX_V3. Please update your configuration."
#elif MB(MKS_MONSTER8)
#error "BOARD_MKS_MONSTER8 is now BOARD_MKS_MONSTER8_V1 or BOARD_MKS_MONSTER8_V2. Please update your configuration."
#elif defined(MOTHERBOARD)
#error "Unknown MOTHERBOARD value set in Configuration.h."
#else
Expand Down Expand Up @@ -884,6 +889,7 @@
#undef BOARD_BTT_SKR_V2_0
#undef BOARD_TH3D_EZBOARD_LITE_V2
#undef BOARD_BTT_SKR_SE_BX
#undef BOARD_MKS_MONSTER8

#endif

Expand Down
51 changes: 51 additions & 0 deletions Marlin/src/pins/stm32f4/pins_MKS_MONSTER8_V1.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2022 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
*/
#pragma once

#define BOARD_INFO_NAME "MKS Monster8 V1"

//
// Limit Switches
//
#define X_MAX_PIN PA13
#define Y_MAX_PIN PC5

//
// Steppers
//
#define E4_ENABLE_PIN PD14 // Driver7

//
// Misc. Functions
//
#define PW_DET PC5 // Y+
#define PW_OFF PB12 // Z+
#define MT_DET_1_PIN PW_DET
#define MT_DET_2_PIN PW_OFF
#ifndef FIL_RUNOUT_PIN
#define FIL_RUNOUT_PIN MT_DET_1_PIN
#endif
#ifndef FIL_RUNOUT2_PIN
#define FIL_RUNOUT2_PIN MT_DET_2_PIN
#endif

#include "pins_MKS_MONSTER8_common.h"
57 changes: 57 additions & 0 deletions Marlin/src/pins/stm32f4/pins_MKS_MONSTER8_V2.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
/**
* Marlin 3D Printer Firmware
* Copyright (c) 2022 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
*
* Based on Sprinter and grbl.
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*
*/
#pragma once

#define BOARD_INFO_NAME "MKS Monster8 V2"

//
// Steppers
//
#define E4_ENABLE_PIN PB6 // Driver7

//
// Misc. Functions
//
#define PW_DET PA13 // MT_DET
#define PW_OFF PB12 // Z+
#define MT_DET_1_PIN PW_DET
#define MT_DET_2_PIN PW_OFF
#ifndef FIL_RUNOUT_PIN
#define FIL_RUNOUT_PIN MT_DET_1_PIN
#endif
#ifndef FIL_RUNOUT2_PIN
#define FIL_RUNOUT2_PIN MT_DET_2_PIN
#endif

//
// MKS WIFI MODULE
//
//#define WIFI_SERIAL 1// USART1
#if ENABLED(MKS_WIFI_MODULE)
#define WIFI_IO0_PIN PB14 // MKS ESP WIFI IO0 PIN
#define WIFI_IO1_PIN PB15 // MKS ESP WIFI IO1 PIN
#define WIFI_RESET_PIN PD14 // MKS ESP WIFI RESET PIN
#endif

#define NEOPIXEL_PIN PC5

#include "pins_MKS_MONSTER8_common.h"
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,6 @@
#error "MKS Monster doesn't support FSMC-based TFT displays."
#endif

#define BOARD_INFO_NAME "MKS Monster8 V1.x"

#define HAS_OTG_USB_HOST_SUPPORT // USB Flash Drive support
#define USES_DIAG_JUMPERS

Expand All @@ -54,82 +52,76 @@
#define SERVO0_PIN PA8 // Enable BLTOUCH

//
// Limit Switches for diag signal
// Limit Switches for diag signals
//
#define X_DIAG_PIN PA14 // Driver0 diag signal is connect to X-
#define Y_DIAG_PIN PA15 // Driver1 diag signal is connect to Y-
#define Z_DIAG_PIN PB13 // Driver2 diag signal is connect to Z-
#define E0_DIAG_PIN PA13 // Driver3 diag signal is connect to X+
#define E1_DIAG_PIN PC5 // Driver4 diag signal is connect to Y+
#define E2_DIAG_PIN PB12 // Driver5 diag signal is connect to Z+
#define E3_DIAG_PIN -1 // Driver6 diag signal is not connect
#define E4_DIAG_PIN -1 // Driver7 diag signal is not connect

// Limit Switches for endstop
#define X_DIAG_PIN PA14 // Driver0 diag signal is connected to X-
#define Y_DIAG_PIN PA15 // Driver1 diag signal is connected to Y-
#define Z_DIAG_PIN PB13 // Driver2 diag signal is connected to Z-
#define E0_DIAG_PIN PA13 // Driver3 diag signal is connected to X+
#define E1_DIAG_PIN PC5 // Driver4 diag signal is connected to Y+
#define E2_DIAG_PIN PB12 // Driver5 diag signal is connected to Z+
#define E3_DIAG_PIN -1 // Driver6 diag signal is not connected
#define E4_DIAG_PIN -1 // Driver7 diag signal is not connected

// Limit Switches for endstops
#define X_MIN_PIN PA14
#define X_MAX_PIN PA13
#define Y_MIN_PIN PA15
#define Y_MAX_PIN PC5
#define Z_MIN_PIN PB13
#define Z_MAX_PIN PB12

//
// Steppers
// Driver 0 1 2 3 4 5 6 7
// For X Y Z E0 E1 E2 E3 E4(default pin settings)
//
//Driver0
#define X_ENABLE_PIN PC15
#define X_ENABLE_PIN PC15 // Driver0
#define X_STEP_PIN PC14
#define X_DIR_PIN PC13
#ifndef X_CS_PIN
#define X_CS_PIN PE6
#endif
//Driver1
#define Y_ENABLE_PIN PC15

#define Y_ENABLE_PIN PC15 // Driver1
#define Y_STEP_PIN PE5
#define Y_DIR_PIN PE4
#ifndef Y_CS_PIN
#define Y_CS_PIN PE3
#endif
//Driver2
#define Z_ENABLE_PIN PE2

#define Z_ENABLE_PIN PE2 // Driver2
#define Z_STEP_PIN PE1
#define Z_DIR_PIN PE0
#ifndef Z_CS_PIN
#define Z_CS_PIN PB7
#endif
//Driver3
#define E0_ENABLE_PIN PB6

#define E0_ENABLE_PIN PB6 // Driver3
#define E0_STEP_PIN PB5
#define E0_DIR_PIN PB4
#ifndef E0_CS_PIN
#define E0_CS_PIN PB3
#endif
//Driver4
#define E1_ENABLE_PIN PD7

#define E1_ENABLE_PIN PD7 // Driver4
#define E1_STEP_PIN PD6
#define E1_DIR_PIN PD5
#ifndef E1_CS_PIN
#define E1_CS_PIN PD4
#endif
//Driver5
#define E2_ENABLE_PIN PD3

#define E2_ENABLE_PIN PD3 // Driver5
#define E2_STEP_PIN PD2
#define E2_DIR_PIN PD1
#ifndef E2_CS_PIN
#define E2_CS_PIN PD0
#endif
//Driver6
#define E3_ENABLE_PIN PC8

#define E3_ENABLE_PIN PC8 // Driver6
#define E3_STEP_PIN PC7
#define E3_DIR_PIN PC6
#ifndef E3_CS_PIN
#define E3_CS_PIN PD15
#endif
//Driver7
#define E4_ENABLE_PIN PD14
#define E4_STEP_PIN PD13

#define E4_STEP_PIN PD13 // Driver7
#define E4_DIR_PIN PD12
#ifndef E4_CS_PIN
#define E4_CS_PIN PD11
Expand Down Expand Up @@ -207,20 +199,6 @@
#define FAN1_PIN PA1 // FAN1
#define FAN2_PIN PA0 // FAN2

//
// Misc. Functions
//
#define PW_DET PC5 // Y+
#define PW_OFF PB12 // Z+
#define MT_DET_1_PIN PW_DET
#define MT_DET_2_PIN PW_OFF
#ifndef FIL_RUNOUT_PIN
#define FIL_RUNOUT_PIN MT_DET_1_PIN
#endif
#ifndef FIL_RUNOUT2_PIN
#define FIL_RUNOUT2_PIN MT_DET_2_PIN
#endif

//
// Power Supply Control
//
Expand Down Expand Up @@ -347,8 +325,8 @@
#define DOGLCD_CS EXP1_05_PIN
#define DOGLCD_SCK EXP2_09_PIN
#define DOGLCD_MOSI EXP2_05_PIN
//#define LCD_BACKLIGHT_PIN -1
//#define LCD_RESET_PIN -1
//#define LCD_BACKLIGHT_PIN -1
//#define LCD_RESET_PIN -1

#elif ENABLED(FYSETC_MINI_12864_2_1)

Expand Down
6 changes: 3 additions & 3 deletions ini/stm32f4.ini
Original file line number Diff line number Diff line change
Expand Up @@ -515,7 +515,7 @@ build_unflags = -DUSBD_USE_CDC
build_flags = -DPIN_WIRE_SCL=PB8 -DPIN_WIRE_SDA=PB9

#
# MKS Monster8
# MKS Monster8 V1 / V2 (STM32F407VET6 ARM Cortex-M4)
#
[env:mks_monster8]
extends = stm32_variant
Expand All @@ -531,7 +531,7 @@ debug_tool = jlink
upload_protocol = jlink

#
# MKS Monster8 with USB Flash Drive Support
# MKS Monster8 V1 / V2 (STM32F407VET6 ARM Cortex-M4) with USB Flash Drive Support
# Currently, using a STM32duino fork, until USB Host get merged
#
[env:mks_monster8_usb_flash_drive]
Expand All @@ -544,7 +544,7 @@ build_flags = ${stm_flash_drive.build_flags} ${stm32f4_I2C1_CAN.build_flag
-DUSE_USB_HS_IN_FS

#
# MKS Monster8 with USB Flash Drive Support and Shared Media
# MKS Monster8 V1 / V2 (STM32F407VET6 ARM Cortex-M4) with USB Flash Drive Support and Shared Media
# Currently, using a STM32duino fork, until USB Host and USB Device MSC get merged
#
[env:mks_monster8_usb_flash_drive_msc]
Expand Down

0 comments on commit 31b7fd4

Please sign in to comment.