From bf40664948e3bdb66bfc6fa079dfb239b362c7d3 Mon Sep 17 00:00:00 2001 From: Jay Date: Wed, 30 Aug 2023 19:42:43 +0100 Subject: [PATCH 01/12] Add Fly-E3-Pro-V3 --- Marlin/src/core/boards.h | 1 + Marlin/src/pins/pins.h | 2 + .../pins/stm32f4/pins_MELLOW_FLY_E3_PRO_V3.h | 556 ++++++++++++++++++ ini/stm32f4.ini | 19 + 4 files changed, 578 insertions(+) create mode 100644 Marlin/src/pins/stm32f4/pins_MELLOW_FLY_E3_PRO_V3.h diff --git a/Marlin/src/core/boards.h b/Marlin/src/core/boards.h index 0c27fbbe25bf..fce457ab6ccc 100644 --- a/Marlin/src/core/boards.h +++ b/Marlin/src/core/boards.h @@ -460,6 +460,7 @@ #define BOARD_BLACKPILL_CUSTOM 5246 // Custom board based on STM32F401CDU6. #define BOARD_I3DBEEZ9_V1 5247 // I3DBEEZ9 V1 (STM32F407ZG) #define BOARD_MELLOW_FLY_E3_V2 5248 // Mellow Fly E3 V2 (STM32F407VG) +#define BOARD_MELLOW_FLY_E3_PRO_V3 5249 // Mellow Fly E3 Pro V3 (STM32F407VG) // // ARM Cortex-M7 diff --git a/Marlin/src/pins/pins.h b/Marlin/src/pins/pins.h index 48405335ef20..ad2e1371b4aa 100644 --- a/Marlin/src/pins/pins.h +++ b/Marlin/src/pins/pins.h @@ -806,6 +806,8 @@ #include "stm32f4/pins_I3DBEEZ9.h" // STM32F4 env:I3DBEEZ9_V1 #elif MB(MELLOW_FLY_E3_V2) #include "stm32f4/pins_MELLOW_FLY_E3_V2.h" // STM32F4 env:FLY_E3_V2 +#elif MB(MELLOW_FLY_E3_PRO_V3) + #include "stm32f4/pins_MELLOW_FLY_E3_PRO_V3.h" // STM32F4 env:FLY_E3_PRO_V3 // // ARM Cortex-M7 diff --git a/Marlin/src/pins/stm32f4/pins_MELLOW_FLY_E3_PRO_V3.h b/Marlin/src/pins/stm32f4/pins_MELLOW_FLY_E3_PRO_V3.h new file mode 100644 index 000000000000..b784557bd820 --- /dev/null +++ b/Marlin/src/pins/stm32f4/pins_MELLOW_FLY_E3_PRO_V3.h @@ -0,0 +1,556 @@ +/** + * Marlin 3D Printer Firmware + * Copyright (c) 2021 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 . + * + */ +#pragma once + +#if NOT_TARGET(STM32F4) + #error "Oops! Select an STM32F4 board in 'Tools > Board.'" +#endif + +#ifndef BOARD_INFO_NAME + #define BOARD_INFO_NAME "Mellow Fly E3 Pro V3" + #define BOARD_WEBSITE_URL "github.com/Mellow-3D/Fly-E3-Pro-v3" +#endif + +// If you have the BigTreeTech driver expansion module, enable BTT_MOTOR_EXPANSION +// https://github.com/bigtreetech/BTT-Expansion-module/tree/master/BTT%20EXP-MOT +//#define BTT_MOTOR_EXPANSION + +#if ALL(HAS_WIRED_LCD, BTT_MOTOR_EXPANSION) + #if ANY(CR10_STOCKDISPLAY, ENDER2_STOCKDISPLAY) + #define EXP_MOT_USE_EXP2_ONLY 1 + #else + #error "You can't use both an LCD and a Motor Expansion Module on EXP1/EXP2 at the same time." + #endif +#endif + +// Use one of these or SDCard-based Emulation will be used +#if NO_EEPROM_SELECTED + //#define SRAM_EEPROM_EMULATION // Use BackSRAM-based EEPROM emulation + #define FLASH_EEPROM_EMULATION // Use Flash-based EEPROM emulation +#endif + +#if ENABLED(FLASH_EEPROM_EMULATION) + // Decrease delays and flash wear by spreading writes across the + // 128 kB sector allocated for EEPROM emulation. + #define FLASH_EEPROM_LEVELING +#endif + +#define HAS_OTG_USB_HOST_SUPPORT // USB Flash Drive support + +// +// Servos +// +#define SERVO0_PIN PB0 // SERVOS + +// +// Trinamic Stallguard pins +// +#define X_DIAG_PIN PA2 // X-STOP +#define Y_DIAG_PIN PB10 // Y-STOP +#define Z_DIAG_PIN PC4 // Z-STOP +#define E0_DIAG_PIN PD0 // E0-STOP +#define E1_DIAG_PIN PD1 // E1-STOP + +// +// Limit Switches +// +#ifdef X_STALL_SENSITIVITY + #define X_STOP_PIN X_DIAG_PIN +#else + #define X_STOP_PIN PA2 // X-STOP +#endif + +#ifdef Y_STALL_SENSITIVITY + #define Y_STOP_PIN Y_DIAG_PIN +#else + #define Y_STOP_PIN PB10 // Y-STOP +#endif + +#ifdef Z_STALL_SENSITIVITY + #define Z_STOP_PIN Z_DIAG_PIN +#else + #ifndef Z_STOP_PIN + #define Z_STOP_PIN PC4 // Z-STOP + #endif +#endif + +// +// Z Probe must be this pin +// +#define Z_MIN_PROBE_PIN PC5 // PROBE + +// +// Probe enable +// +#if ENABLED(PROBE_ENABLE_DISABLE) + #ifndef PROBE_ENABLE_PIN + #define PROBE_ENABLE_PIN SERVO0_PIN + #endif +#endif + +// +// Filament Runout Sensor +// +#define FIL_RUNOUT_PIN PD0 // E0STOP +#define FIL_RUNOUT2_PIN PD1 // E1STOP + +// +// Power Supply Control +// +#ifndef PS_ON_PIN + #define PS_ON_PIN PD11 // PS-ON +#endif + +// +// Power Loss Detection +// +#ifndef POWER_LOSS_PIN + #define POWER_LOSS_PIN PD10 // PWRDET +#endif + +// +// Laser Port +// +#if HAS_CUTTER + #define SPINDLE_LASER_ENA_PIN PB1 +#endif + +// +// Steppers +// +#define X_ENABLE_PIN PE5 +#define X_STEP_PIN PE3 +#define X_DIR_PIN PE2 + +#define Y_ENABLE_PIN PE1 +#define Y_STEP_PIN PB9 +#define Y_DIR_PIN PB8 + +#define Z_ENABLE_PIN PC2 +#define Z_STEP_PIN PA15 +#define Z_DIR_PIN PD7 + +#define E0_ENABLE_PIN PD6 +#define E0_STEP_PIN PD4 +#define E0_DIR_PIN PD3 + +#define E1_ENABLE_PIN PC15 +#define E1_STEP_PIN PC13 +#define E1_DIR_PIN PC0 + + +// +// Temperature Sensors +// +#define TEMP_BED_PIN PA3 // Analog Input "TB" +#define TEMP_0_PIN PA4 // Analog Input "TH0" +#define TEMP_1_PIN PA1 // Analog Input "TH0" +#define TEMP_BOARD_PIN PC1 // Board Temp + +// +// Heaters / Fans +// +#ifndef HEATER_BED_PIN + #define HEATER_BED_PIN PA0 // "HB" +#endif +#ifndef HEATER_0_PIN + #define HEATER_0_PIN PA5 // "HE0" +#endif +#ifndef HEATER_1_PIN + #define HEATER_1_PIN PC6 // "HE0" +#endif + +#ifndef FAN0_PIN + #define FAN0_PIN PA7 // "FAN0" +#endif +#ifndef FAN1_PIN + #define FAN1_PIN PA6 +#endif +#ifndef FAN2_PIN + #define FAN2_PIN PA5 +#endif +#ifndef FAN3_PIN + #define FAN3_PIN PA4 +#endif + +#if HAS_TMC_UART + /** + * TMC2208/TMC2209 stepper drivers + * + * Hardware serial communication ports. + * If undefined software serial is used according to the pins below + */ + //#define X_HARDWARE_SERIAL Serial1 + //#define X2_HARDWARE_SERIAL Serial1 + //#define Y_HARDWARE_SERIAL Serial1 + //#define Y2_HARDWARE_SERIAL Serial1 + //#define Z_HARDWARE_SERIAL Serial1 + //#define Z2_HARDWARE_SERIAL Serial1 + //#define E0_HARDWARE_SERIAL Serial1 + //#define E1_HARDWARE_SERIAL Serial1 + //#define E2_HARDWARE_SERIAL Serial1 + //#define E3_HARDWARE_SERIAL Serial1 + //#define E4_HARDWARE_SERIAL Serial1 + + // + // Software serial + // + #define X_SERIAL_TX_PIN PE4 + #define X_SERIAL_RX_PIN X_SERIAL_TX_PIN + + #define Y_SERIAL_TX_PIN PE0 + #define Y_SERIAL_RX_PIN Y_SERIAL_TX_PIN + + #define Z_SERIAL_TX_PIN PA8 + #define Z_SERIAL_RX_PIN Z_SERIAL_TX_PIN + + #define E0_SERIAL_TX_PIN PD5 + #define E0_SERIAL_RX_PIN E0_SERIAL_TX_PIN + + #define E1_SERIAL_TX_PIN PC14 + #define E1_SERIAL_RX_PIN E1_SERIAL_TX_PIN + + // Reduce baud rate to improve software serial reliability + #ifndef TMC_BAUD_RATE + #define TMC_BAUD_RATE 19200 + #endif + +#endif // HAS_TMC_UART + +#ifndef SDCARD_CONNECTION + #define SDCARD_CONNECTION ONBOARD +#endif + + +/** + * Fly-E3-v2 + * ------ ------ + * (BEEPER) PE11 | 1 2 | PE12 (BTN_ENC) (MISO) PB4 | 1 2 | PB3 (SCK) + * (LCD_EN) PA14 | 3 4 | PE6 (LCD_RS) (BTN_EN1) PA10 | 3 4 | PB2 (SD_SS) + * (LCD_D4) PE9 | 5 6 PE10 (LCD_D5) (BTN_EN2) PA9 | 5 6 | PB5 (MOSI) + * (LCD_D6) PE7 | 7 8 | PE8 (LCD_D7) (SD_DETECT) PA13 | 7 8 | RESET + * GND | 9 10 | 5V GND | 9 10 | -- + * ------ ------ + * EXP1 EXP2 + */ +#define EXP1_01_PIN PE11 +#define EXP1_02_PIN PE12 +#define EXP1_03_PIN PA14 +#define EXP1_04_PIN PE6 +#define EXP1_05_PIN PE9 +#define EXP1_06_PIN PE10 +#define EXP1_07_PIN PE7 +#define EXP1_08_PIN PE8 + +#define EXP2_01_PIN PB4 +#define EXP2_02_PIN PB3 +#define EXP2_03_PIN PA10 +#define EXP2_04_PIN PB2 +#define EXP2_05_PIN PA9 +#define EXP2_06_PIN PB5 +#define EXP2_07_PIN PA13 +#define EXP2_08_PIN -1 + +// +// Onboard SD card +// Must use soft SPI because Marlin's default hardware SPI is tied to LCD's EXP2 +// +#if SD_CONNECTION_IS(LCD) + #define SDSS EXP2_04_PIN + #define SD_SS_PIN SDSS + #define SD_SCK_PIN EXP2_02_PIN + #define SD_MISO_PIN EXP2_01_PIN + #define SD_MOSI_PIN EXP2_06_PIN + #define SD_DETECT_PIN EXP2_07_PIN +#elif SD_CONNECTION_IS(ONBOARD) + #define ONBOARD_SDIO // Use SDIO for onboard SD +#elif SD_CONNECTION_IS(CUSTOM_CABLE) + #error "No custom SD drive cable defined for this board." +#endif + +#if ENABLED(BTT_MOTOR_EXPANSION) + /** ----- ----- + * -- | . . | GND -- | . . | GND + * -- | . . | M1EN M2EN | . . | M3EN + * M1STP | . . M1DIR M1RX | . . M1DIAG + * M2DIR | . . | M2STP M2RX | . . | M2DIAG + * M3DIR | . . | M3STP M3RX | . . | M3DIAG + * ----- ----- + * EXP2 EXP1 + * + * NB In EXP_MOT_USE_EXP2_ONLY mode EXP1 is not used and M2EN and M3EN need to be jumpered to M1EN + */ + + // M1 on Driver Expansion Module + #define E2_STEP_PIN EXP2_06_PIN + #define E2_DIR_PIN EXP2_05_PIN + #define E2_ENABLE_PIN EXP2_07_PIN + #if !EXP_MOT_USE_EXP2_ONLY + #define E2_DIAG_PIN EXP1_05_PIN + #define E2_CS_PIN EXP1_06_PIN + #if HAS_TMC_UART + #define E2_SERIAL_TX_PIN EXP1_06_PIN + #define E2_SERIAL_RX_PIN EXP1_06_PIN + #endif + #endif + + // M2 on Driver Expansion Module + #define E3_STEP_PIN EXP2_03_PIN + #define E3_DIR_PIN EXP2_04_PIN + #if !EXP_MOT_USE_EXP2_ONLY + #define E3_ENABLE_PIN EXP1_08_PIN + #define E3_DIAG_PIN EXP1_03_PIN + #define E3_CS_PIN EXP1_04_PIN + #if HAS_TMC_UART + #define E3_SERIAL_TX_PIN EXP1_04_PIN + #define E3_SERIAL_RX_PIN EXP1_04_PIN + #endif + #else + #define E3_ENABLE_PIN EXP2_07_PIN + #endif + + // M3 on Driver Expansion Module + #define E4_STEP_PIN EXP2_01_PIN + #define E4_DIR_PIN EXP2_02_PIN + #if !EXP_MOT_USE_EXP2_ONLY + #define E4_ENABLE_PIN EXP1_07_PIN + #define E4_DIAG_PIN EXP1_01_PIN + #define E4_CS_PIN EXP1_02_PIN + #if HAS_TMC_UART + #define E4_SERIAL_TX_PIN EXP1_02_PIN + #define E4_SERIAL_RX_PIN EXP1_02_PIN + #endif + #else + #define E4_ENABLE_PIN EXP2_07_PIN + #endif + +#endif // BTT_MOTOR_EXPANSION + +// +// LCDs and Controllers +// +#if IS_TFTGLCD_PANEL + + #if ENABLED(TFTGLCD_PANEL_SPI) + #define TFTGLCD_CS EXP2_03_PIN + #endif + +#elif HAS_WIRED_LCD + + #define BEEPER_PIN EXP1_01_PIN + #define BTN_ENC EXP1_02_PIN + + #if ENABLED(CR10_STOCKDISPLAY) + + #define LCD_PINS_RS EXP1_07_PIN + + #define BTN_EN1 EXP1_03_PIN + #define BTN_EN2 EXP1_05_PIN + + #define LCD_PINS_EN EXP1_08_PIN + #define LCD_PINS_D4 EXP1_06_PIN + + #elif ENABLED(MKS_MINI_12864) + + #define DOGLCD_A0 EXP1_07_PIN + #define DOGLCD_CS EXP1_06_PIN + #define BTN_EN1 EXP2_03_PIN + #define BTN_EN2 EXP2_05_PIN + + #else + + #define LCD_PINS_RS EXP1_04_PIN + + #define BTN_EN1 EXP2_03_PIN + #define BTN_EN2 EXP2_05_PIN + + #define LCD_PINS_EN EXP1_03_PIN + #define LCD_PINS_D4 EXP1_05_PIN + + #if ENABLED(FYSETC_MINI_12864) + #define DOGLCD_CS EXP1_03_PIN + #define DOGLCD_A0 EXP1_04_PIN + //#define LCD_BACKLIGHT_PIN -1 + #define LCD_RESET_PIN EXP1_05_PIN // Must be high or open for LCD to operate normally. + #if ANY(FYSETC_MINI_12864_1_2, FYSETC_MINI_12864_2_0) + #ifndef RGB_LED_R_PIN + #define RGB_LED_R_PIN EXP1_06_PIN + #endif + #ifndef RGB_LED_G_PIN + #define RGB_LED_G_PIN EXP1_07_PIN + #endif + #ifndef RGB_LED_B_PIN + #define RGB_LED_B_PIN EXP1_08_PIN + #endif + #elif ENABLED(FYSETC_MINI_12864_2_1) + #define NEOPIXEL_PIN EXP1_06_PIN + #endif + #endif // !FYSETC_MINI_12864 + + #if IS_ULTIPANEL + #define LCD_PINS_D5 EXP1_06_PIN + #define LCD_PINS_D6 EXP1_07_PIN + #define LCD_PINS_D7 EXP1_08_PIN + + #if ENABLED(REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER) + #define BTN_ENC_EN LCD_PINS_D7 // Detect the presence of the encoder + #endif + + #endif + + #endif + +#endif // HAS_WIRED_LCD + +#if HAS_SPI_TFT + + #define BTN_ENC EXP1_02_PIN + #define BTN_EN1 EXP2_03_PIN + #define BTN_EN2 EXP2_05_PIN + + #if ENABLED(BTT_TFT35_SPI_V1_0) + // 480x320, 3.5", SPI Display with Rotary Encoder. + // Stock Display for the BIQU B1 SE. + #define TFT_CS_PIN EXP2_04_PIN + #define TFT_A0_PIN EXP2_07_PIN + + #define TOUCH_CS_PIN EXP1_04_PIN + #define TOUCH_SCK_PIN EXP1_05_PIN + #define TOUCH_MISO_PIN EXP1_06_PIN + #define TOUCH_MOSI_PIN EXP1_03_PIN + #define TOUCH_INT_PIN EXP1_07_PIN + + #elif ENABLED(MKS_TS35_V2_0) + + /** ------ ------ + * BEEPER | 1 2 | BTN_ENC SPI1_MISO | 1 2 | SPI1_SCK + * TFT_BKL / LCD_EN | 3 4 | TFT_RESET / LCD_RS BTN_EN1 | 3 4 | SPI1_CS + * TOUCH_CS / LCD_D4 | 5 6 TOUCH_INT / LCD_D5 BTN_EN2 | 5 6 SPI1_MOSI + * SPI1_CS / LCD_D6 | 7 8 | SPI1_RS / LCD_D7 SPI1_RS | 7 8 | RESET + * GND | 9 10 | VCC GND | 9 10 | VCC + * ------ ------ + * EXP1 EXP2 + */ + #define TFT_CS_PIN EXP1_07_PIN // SPI1_CS + #define TFT_A0_PIN EXP1_08_PIN // SPI1_RS + #define TFT_DC_PIN TFT_DC_PIN + + #define TFT_RESET_PIN EXP1_04_PIN + + #define LCD_BACKLIGHT_PIN EXP1_03_PIN + #define TFT_BACKLIGHT_PIN LCD_BACKLIGHT_PIN + + #define TOUCH_BUTTONS_HW_SPI + #define TOUCH_BUTTONS_HW_SPI_DEVICE 1 + + #define TOUCH_CS_PIN EXP1_05_PIN // SPI1_NSS + #define TOUCH_SCK_PIN EXP2_02_PIN // SPI1_SCK + #define TOUCH_MISO_PIN EXP2_01_PIN // SPI1_MISO + #define TOUCH_MOSI_PIN EXP2_06_PIN // SPI1_MOSI + + #define LCD_READ_ID 0xD3 + #define LCD_USE_DMA_SPI + + #define TFT_BUFFER_SIZE 14400 + + #endif + +#endif // HAS_SPI_TFT + +// Alter timing for graphical display +#if IS_U8GLIB_ST7920 + #ifndef BOARD_ST7920_DELAY_1 + #define BOARD_ST7920_DELAY_1 120 + #endif + #ifndef BOARD_ST7920_DELAY_2 + #define BOARD_ST7920_DELAY_2 80 + #endif + #ifndef BOARD_ST7920_DELAY_3 + #define BOARD_ST7920_DELAY_3 580 + #endif +#endif + +#if ENABLED(WIFISUPPORT) + // + // WIFI + // + + #define ESP_WIFI_MODULE_COM 3 // Must also set either SERIAL_PORT or SERIAL_PORT_2 to this + #define ESP_WIFI_MODULE_BAUDRATE BAUDRATE // Must use same BAUDRATE as SERIAL_PORT & SERIAL_PORT_2 + #define ESP_WIFI_MODULE_RESET_PIN PE15 + #define ESP_WIFI_MODULE_GPIO0_PIN PE13 + #define ESP_WIFI_MODULE_GPIO4_PIN PE14 +#endif + +// +// NeoPixel LED +// +#ifndef NEOPIXEL_PIN + #define NEOPIXEL_PIN PB11 +#endif + +// +// Temperature Sensors +// +#if TEMP_SENSOR_0 == -5 + #define TEMP_0_CS_PIN PD15 // Max31865 CS + #define TEMP_0_SCK_PIN PD14 + #define TEMP_0_MISO_PIN PD12 + #define TEMP_0_MOSI_PIN PD13 + #define SOFTWARE_SPI // Max31865 use's Software SPI + #define FORCE_SOFT_SPI +#else + #define TEMP_0_PIN PA4 // TH0 +#endif + +#if TEMP_SENSOR_0 == -4 + #define TEMP_0_CS_PIN PC7 // Max31855 CS + #define TEMP_0_SCK_PIN PD14 + #define TEMP_0_MISO_PIN PD12 + #define TEMP_0_MOSI_PIN PD13 + #define SOFTWARE_SPI // Max31855 use's Software SPI + #define FORCE_SOFT_SPI +#else + #define TEMP_0_PIN PA4 // TH0 +#endif + +#if TEMP_SENSOR_1 == -5 + #define TEMP_1_CS_PIN PD15 // Max31865 CS + #define TEMP_1_SCK_PIN PD14 + #define TEMP_1_MISO_PIN PD12 + #define TEMP_1_MOSI_PIN PD13 + #define SOFTWARE_SPI // Max31865 use's Software SPI + #define FORCE_SOFT_SPI +#else + #define TEMP_1_PIN PA1 // TH0 +#endif + +#if TEMP_SENSOR_1 == -4 + #define TEMP_1_CS_PIN PC7 // Max31855 CS + #define TEMP_1_SCK_PIN PD14 + #define TEMP_1_MISO_PIN PD12 + #define TEMP_1_MOSI_PIN PD13 + #define SOFTWARE_SPI // Max31855 use's Software SPI + #define FORCE_SOFT_SPI +#else + #define TEMP_1_PIN PA1 // TH0 +#endif \ No newline at end of file diff --git a/ini/stm32f4.ini b/ini/stm32f4.ini index 454337295d29..d21452272f81 100644 --- a/ini/stm32f4.ini +++ b/ini/stm32f4.ini @@ -825,3 +825,22 @@ build_flags = ${stm32_variant.build_flags} -DUSBD_IRQ_PRIO=5 -DUSBD_IRQ_SUBPRIO=6 -DHSE_VALUE=8000000U upload_protocol = stlink + +# +# Mellow Fly E3 Pro V3 (STM32F407VGT6 ARM Cortex-M4) +# +[env:FLY_E3_PRO_V3] +extends = stm32_variant +board = marlin_STM32F407VGT6_CCM +board_build.variant = MARLIN_F4x7Vx +board_build.offset = 0x8000 +board_upload.offset_address = 0x08008000 +build_flags = ${stm32_variant.build_flags} + -DHAVE_HWSERIAL1 -DHAVE_HWSERIAL3 + -DPIN_SERIAL1_RX=PA_10 -DPIN_SERIAL1_TX=PA_9 + -DPIN_SERIAL3_RX=PD_9 -DPIN_SERIAL3_TX=PD_8 + -DHAL_SD_MODULE_ENABLED + -DUSE_USBHOST_HS -DUSE_USB_HS_IN_FS + -DUSBD_IRQ_PRIO=5 -DUSBD_IRQ_SUBPRIO=6 + -DHSE_VALUE=8000000U +upload_protocol = stlink From f4a6f9b673b7deff263e0e806ecf27dfcf210299 Mon Sep 17 00:00:00 2001 From: Jay Date: Tue, 21 Nov 2023 07:48:58 +0000 Subject: [PATCH 02/12] update boards file for fly-e3-pro-v3 --- Marlin/src/core/boards.h | 1 + 1 file changed, 1 insertion(+) diff --git a/Marlin/src/core/boards.h b/Marlin/src/core/boards.h index 174ec404a796..80ba5493f46b 100644 --- a/Marlin/src/core/boards.h +++ b/Marlin/src/core/boards.h @@ -462,6 +462,7 @@ #define BOARD_I3DBEEZ9_V1 5247 // I3DBEEZ9 V1 (STM32F407ZG) #define BOARD_MELLOW_FLY_E3_V2 5248 // Mellow Fly E3 V2 (STM32F407VG) #define BOARD_FYSETC_CHEETAH_V30 5249 // FYSETC Cheetah V3.0 (STM32F446RC) +#define BOARD_MELLOW_FLY_E3_PRO_V3 5250 // Mellow Fly E3 Pro V3 (STM32F407VG) // // ARM Cortex-M7 From 55a109e7fe78088334f94ef2cf2470281f29a56a Mon Sep 17 00:00:00 2001 From: thisiskeithb <13375512+thisiskeithb@users.noreply.github.com> Date: Mon, 20 Nov 2023 23:53:16 -0800 Subject: [PATCH 03/12] (c) 2023, use env_validate.h, final new line --- Marlin/src/pins/stm32f4/pins_MELLOW_FLY_E3_PRO_V3.h | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/Marlin/src/pins/stm32f4/pins_MELLOW_FLY_E3_PRO_V3.h b/Marlin/src/pins/stm32f4/pins_MELLOW_FLY_E3_PRO_V3.h index b784557bd820..4704cd686887 100644 --- a/Marlin/src/pins/stm32f4/pins_MELLOW_FLY_E3_PRO_V3.h +++ b/Marlin/src/pins/stm32f4/pins_MELLOW_FLY_E3_PRO_V3.h @@ -1,6 +1,6 @@ /** * Marlin 3D Printer Firmware - * Copyright (c) 2021 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * Copyright (c) 2023 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] * * Based on Sprinter and grbl. * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm @@ -21,9 +21,7 @@ */ #pragma once -#if NOT_TARGET(STM32F4) - #error "Oops! Select an STM32F4 board in 'Tools > Board.'" -#endif +#include "env_validate.h" #ifndef BOARD_INFO_NAME #define BOARD_INFO_NAME "Mellow Fly E3 Pro V3" @@ -553,4 +551,4 @@ #define FORCE_SOFT_SPI #else #define TEMP_1_PIN PA1 // TH0 -#endif \ No newline at end of file +#endif From 7b8b52201a062e6ec7f3c48c0169b3dd20264548 Mon Sep 17 00:00:00 2001 From: thisiskeithb <13375512+thisiskeithb@users.noreply.github.com> Date: Tue, 21 Nov 2023 00:05:39 -0800 Subject: [PATCH 04/12] Run pinsformat.js --- .../pins/stm32f4/pins_MELLOW_FLY_E3_PRO_V3.h | 22 +++++++++---------- 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/Marlin/src/pins/stm32f4/pins_MELLOW_FLY_E3_PRO_V3.h b/Marlin/src/pins/stm32f4/pins_MELLOW_FLY_E3_PRO_V3.h index 4704cd686887..48e7284f18f8 100644 --- a/Marlin/src/pins/stm32f4/pins_MELLOW_FLY_E3_PRO_V3.h +++ b/Marlin/src/pins/stm32f4/pins_MELLOW_FLY_E3_PRO_V3.h @@ -80,7 +80,7 @@ #ifdef Y_STALL_SENSITIVITY #define Y_STOP_PIN Y_DIAG_PIN #else - #define Y_STOP_PIN PB10 // Y-STOP + #define Y_STOP_PIN PB10 // Y-STOP #endif #ifdef Z_STALL_SENSITIVITY @@ -115,7 +115,7 @@ // Power Supply Control // #ifndef PS_ON_PIN - #define PS_ON_PIN PD11 // PS-ON + #define PS_ON_PIN PD11 // PS-ON #endif // @@ -155,7 +155,6 @@ #define E1_STEP_PIN PC13 #define E1_DIR_PIN PC0 - // // Temperature Sensors // @@ -168,26 +167,26 @@ // Heaters / Fans // #ifndef HEATER_BED_PIN - #define HEATER_BED_PIN PA0 // "HB" + #define HEATER_BED_PIN PA0 // "HB" #endif #ifndef HEATER_0_PIN - #define HEATER_0_PIN PA5 // "HE0" + #define HEATER_0_PIN PA5 // "HE0" #endif #ifndef HEATER_1_PIN - #define HEATER_1_PIN PC6 // "HE0" + #define HEATER_1_PIN PC6 // "HE0" #endif #ifndef FAN0_PIN - #define FAN0_PIN PA7 // "FAN0" + #define FAN0_PIN PA7 // "FAN0" #endif #ifndef FAN1_PIN - #define FAN1_PIN PA6 + #define FAN1_PIN PA6 #endif #ifndef FAN2_PIN - #define FAN2_PIN PA5 + #define FAN2_PIN PA5 #endif #ifndef FAN3_PIN - #define FAN3_PIN PA4 + #define FAN3_PIN PA4 #endif #if HAS_TMC_UART @@ -238,7 +237,6 @@ #define SDCARD_CONNECTION ONBOARD #endif - /** * Fly-E3-v2 * ------ ------ @@ -458,7 +456,7 @@ #define TFT_BACKLIGHT_PIN LCD_BACKLIGHT_PIN #define TOUCH_BUTTONS_HW_SPI - #define TOUCH_BUTTONS_HW_SPI_DEVICE 1 + #define TOUCH_BUTTONS_HW_SPI_DEVICE 1 #define TOUCH_CS_PIN EXP1_05_PIN // SPI1_NSS #define TOUCH_SCK_PIN EXP2_02_PIN // SPI1_SCK From c3761b28ca37fcab36809b5ebc1f9c3d3ea16318 Mon Sep 17 00:00:00 2001 From: thisiskeithb <13375512+thisiskeithb@users.noreply.github.com> Date: Tue, 21 Nov 2023 00:12:47 -0800 Subject: [PATCH 05/12] Shrink BOARD_INFO_NAME MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Should be ≤ 20 chars to prevent cutoff --- Marlin/src/pins/stm32f4/pins_MELLOW_FLY_E3_PRO_V3.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Marlin/src/pins/stm32f4/pins_MELLOW_FLY_E3_PRO_V3.h b/Marlin/src/pins/stm32f4/pins_MELLOW_FLY_E3_PRO_V3.h index 48e7284f18f8..4b5cf290aa39 100644 --- a/Marlin/src/pins/stm32f4/pins_MELLOW_FLY_E3_PRO_V3.h +++ b/Marlin/src/pins/stm32f4/pins_MELLOW_FLY_E3_PRO_V3.h @@ -24,7 +24,7 @@ #include "env_validate.h" #ifndef BOARD_INFO_NAME - #define BOARD_INFO_NAME "Mellow Fly E3 Pro V3" + #define BOARD_INFO_NAME "Fly E3 Pro V3" #define BOARD_WEBSITE_URL "github.com/Mellow-3D/Fly-E3-Pro-v3" #endif From b04e0166e466ac52c0f4b5c4247beeed81621a37 Mon Sep 17 00:00:00 2001 From: thisiskeithb <13375512+thisiskeithb@users.noreply.github.com> Date: Tue, 21 Nov 2023 12:25:43 -0800 Subject: [PATCH 06/12] Drop duped env, FLY_E3_V2 => STM32F407VG_mellow_fly --- Marlin/src/pins/pins.h | 4 ++-- ini/renamed.ini | 3 +++ ini/stm32f4.ini | 23 ++--------------------- 3 files changed, 7 insertions(+), 23 deletions(-) diff --git a/Marlin/src/pins/pins.h b/Marlin/src/pins/pins.h index c1ed744acef8..d448574721b5 100644 --- a/Marlin/src/pins/pins.h +++ b/Marlin/src/pins/pins.h @@ -809,9 +809,9 @@ #elif MB(I3DBEEZ9_V1) #include "stm32f4/pins_I3DBEEZ9.h" // STM32F4 env:I3DBEEZ9_V1 #elif MB(MELLOW_FLY_E3_V2) - #include "stm32f4/pins_MELLOW_FLY_E3_V2.h" // STM32F4 env:FLY_E3_V2 + #include "stm32f4/pins_MELLOW_FLY_E3_V2.h" // STM32F4 env:STM32F407VG_mellow_fly #elif MB(MELLOW_FLY_E3_PRO_V3) - #include "stm32f4/pins_MELLOW_FLY_E3_PRO_V3.h" // STM32F4 env:FLY_E3_PRO_V3 + #include "stm32f4/pins_MELLOW_FLY_E3_PRO_V3.h" // STM32F4 env:STM32F407VG_mellow_fly // // ARM Cortex-M7 diff --git a/ini/renamed.ini b/ini/renamed.ini index 84f6acd7fab9..c46ce61ef94d 100644 --- a/ini/renamed.ini +++ b/ini/renamed.ini @@ -95,3 +95,6 @@ extends = renamed [env:STM32F407ZE_btt_USB] ;=> STM32F407ZE_btt_usb_flash_drive extends = renamed + +[env:FLY_E3_V2] ;= STM32F407VG_mellow_fly +extends = renamed diff --git a/ini/stm32f4.ini b/ini/stm32f4.ini index 6d0c57d6b4ae..f355268605f9 100644 --- a/ini/stm32f4.ini +++ b/ini/stm32f4.ini @@ -821,28 +821,9 @@ debug_tool = stlink upload_protocol = stlink # -# Mellow Fly E3 V2 (STM32F407VGT6 ARM Cortex-M4) +# Mellow Fly E3 V2 / Pro V3 (STM32F407VGT6 ARM Cortex-M4) # -[env:FLY_E3_V2] -extends = stm32_variant -board = marlin_STM32F407VGT6_CCM -board_build.variant = MARLIN_F4x7Vx -board_build.offset = 0x8000 -board_upload.offset_address = 0x08008000 -build_flags = ${stm32_variant.build_flags} - -DHAVE_HWSERIAL1 -DHAVE_HWSERIAL3 - -DPIN_SERIAL1_RX=PA_10 -DPIN_SERIAL1_TX=PA_9 - -DPIN_SERIAL3_RX=PD_9 -DPIN_SERIAL3_TX=PD_8 - -DHAL_SD_MODULE_ENABLED - -DUSE_USBHOST_HS -DUSE_USB_HS_IN_FS - -DUSBD_IRQ_PRIO=5 -DUSBD_IRQ_SUBPRIO=6 - -DHSE_VALUE=8000000U -upload_protocol = stlink - -# -# Mellow Fly E3 Pro V3 (STM32F407VGT6 ARM Cortex-M4) -# -[env:FLY_E3_PRO_V3] +[env:STM32F407VG_mellow_fly] extends = stm32_variant board = marlin_STM32F407VGT6_CCM board_build.variant = MARLIN_F4x7Vx From b105b10eaa947db1737f5294f9165ecc312fd00e Mon Sep 17 00:00:00 2001 From: thisiskeithb <13375512+thisiskeithb@users.noreply.github.com> Date: Tue, 21 Nov 2023 12:46:30 -0800 Subject: [PATCH 07/12] _e3 --- Marlin/src/pins/pins.h | 4 ++-- ini/renamed.ini | 2 +- ini/stm32f4.ini | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Marlin/src/pins/pins.h b/Marlin/src/pins/pins.h index d448574721b5..0f2a286d6cfe 100644 --- a/Marlin/src/pins/pins.h +++ b/Marlin/src/pins/pins.h @@ -809,9 +809,9 @@ #elif MB(I3DBEEZ9_V1) #include "stm32f4/pins_I3DBEEZ9.h" // STM32F4 env:I3DBEEZ9_V1 #elif MB(MELLOW_FLY_E3_V2) - #include "stm32f4/pins_MELLOW_FLY_E3_V2.h" // STM32F4 env:STM32F407VG_mellow_fly + #include "stm32f4/pins_MELLOW_FLY_E3_V2.h" // STM32F4 env:STM32F407VG_mellow_fly_e3 #elif MB(MELLOW_FLY_E3_PRO_V3) - #include "stm32f4/pins_MELLOW_FLY_E3_PRO_V3.h" // STM32F4 env:STM32F407VG_mellow_fly + #include "stm32f4/pins_MELLOW_FLY_E3_PRO_V3.h" // STM32F4 env:STM32F407VG_mellow_fly_e3 // // ARM Cortex-M7 diff --git a/ini/renamed.ini b/ini/renamed.ini index c46ce61ef94d..4fbb9de7d74d 100644 --- a/ini/renamed.ini +++ b/ini/renamed.ini @@ -96,5 +96,5 @@ extends = renamed [env:STM32F407ZE_btt_USB] ;=> STM32F407ZE_btt_usb_flash_drive extends = renamed -[env:FLY_E3_V2] ;= STM32F407VG_mellow_fly +[env:FLY_E3_V2] ;= STM32F407VG_mellow_fly_e3 extends = renamed diff --git a/ini/stm32f4.ini b/ini/stm32f4.ini index f355268605f9..fc9692747635 100644 --- a/ini/stm32f4.ini +++ b/ini/stm32f4.ini @@ -823,7 +823,7 @@ upload_protocol = stlink # # Mellow Fly E3 V2 / Pro V3 (STM32F407VGT6 ARM Cortex-M4) # -[env:STM32F407VG_mellow_fly] +[env:STM32F407VG_mellow_fly_e3] extends = stm32_variant board = marlin_STM32F407VGT6_CCM board_build.variant = MARLIN_F4x7Vx From 52829c326e72f60004524c5016a2a5e42021c99b Mon Sep 17 00:00:00 2001 From: thisiskeithb <13375512+thisiskeithb@users.noreply.github.com> Date: Thu, 25 Apr 2024 06:52:44 -0700 Subject: [PATCH 08/12] Bring pins up to date --- .../pins/stm32f4/pins_MELLOW_FLY_E3_PRO_V3.h | 103 ++++++++---------- 1 file changed, 44 insertions(+), 59 deletions(-) diff --git a/Marlin/src/pins/stm32f4/pins_MELLOW_FLY_E3_PRO_V3.h b/Marlin/src/pins/stm32f4/pins_MELLOW_FLY_E3_PRO_V3.h index 4b5cf290aa39..0256c75c124a 100644 --- a/Marlin/src/pins/stm32f4/pins_MELLOW_FLY_E3_PRO_V3.h +++ b/Marlin/src/pins/stm32f4/pins_MELLOW_FLY_E3_PRO_V3.h @@ -1,6 +1,6 @@ /** * Marlin 3D Printer Firmware - * Copyright (c) 2023 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] + * Copyright (c) 2024 MarlinFirmware [https://github.com/MarlinFirmware/Marlin] * * Based on Sprinter and grbl. * Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm @@ -99,10 +99,8 @@ // // Probe enable // -#if ENABLED(PROBE_ENABLE_DISABLE) - #ifndef PROBE_ENABLE_PIN - #define PROBE_ENABLE_PIN SERVO0_PIN - #endif +#if ENABLED(PROBE_ENABLE_DISABLE) && !defined(PROBE_ENABLE_PIN) + #define PROBE_ENABLE_PIN SERVO0_PIN #endif // @@ -160,7 +158,41 @@ // #define TEMP_BED_PIN PA3 // Analog Input "TB" #define TEMP_0_PIN PA4 // Analog Input "TH0" + +#if TEMP_SENSOR_0_IS_MAX31865 + #define TEMP_0_CS_PIN PD15 // Max31865 CS + #define TEMP_0_SCK_PIN PD14 + #define TEMP_0_MISO_PIN PD12 + #define TEMP_0_MOSI_PIN PD13 + #define SOFTWARE_SPI // Max31865 use's Software SPI + #define FORCE_SOFT_SPI +#elif TEMP_SENSOR_0_IS_AD8495 + #define TEMP_0_CS_PIN PC7 // Max31855 CS + #define TEMP_0_SCK_PIN PD14 + #define TEMP_0_MISO_PIN PD12 + #define TEMP_0_MOSI_PIN PD13 + #define SOFTWARE_SPI // Max31855 use's Software SPI + #define FORCE_SOFT_SPI +#endif + #define TEMP_1_PIN PA1 // Analog Input "TH0" + +#if TEMP_SENSOR_1_IS_MAX31865 + #define TEMP_1_CS_PIN PD15 // Max31865 CS + #define TEMP_1_SCK_PIN PD14 + #define TEMP_1_MISO_PIN PD12 + #define TEMP_1_MOSI_PIN PD13 + #define SOFTWARE_SPI // Max31865 use's Software SPI + #define FORCE_SOFT_SPI +#elif TEMP_SENSOR_1_IS_AD8495 + #define TEMP_1_CS_PIN PC7 // Max31855 CS + #define TEMP_1_SCK_PIN PD14 + #define TEMP_1_MISO_PIN PD12 + #define TEMP_1_MOSI_PIN PD13 + #define SOFTWARE_SPI // Max31855 use's Software SPI + #define FORCE_SOFT_SPI +#endif + #define TEMP_BOARD_PIN PC1 // Board Temp // @@ -485,6 +517,13 @@ #endif #endif +// +// NeoPixel LED +// +#ifndef BOARD_NEOPIXEL_PIN + #define BOARD_NEOPIXEL_PIN PB11 +#endif + #if ENABLED(WIFISUPPORT) // // WIFI @@ -496,57 +535,3 @@ #define ESP_WIFI_MODULE_GPIO0_PIN PE13 #define ESP_WIFI_MODULE_GPIO4_PIN PE14 #endif - -// -// NeoPixel LED -// -#ifndef NEOPIXEL_PIN - #define NEOPIXEL_PIN PB11 -#endif - -// -// Temperature Sensors -// -#if TEMP_SENSOR_0 == -5 - #define TEMP_0_CS_PIN PD15 // Max31865 CS - #define TEMP_0_SCK_PIN PD14 - #define TEMP_0_MISO_PIN PD12 - #define TEMP_0_MOSI_PIN PD13 - #define SOFTWARE_SPI // Max31865 use's Software SPI - #define FORCE_SOFT_SPI -#else - #define TEMP_0_PIN PA4 // TH0 -#endif - -#if TEMP_SENSOR_0 == -4 - #define TEMP_0_CS_PIN PC7 // Max31855 CS - #define TEMP_0_SCK_PIN PD14 - #define TEMP_0_MISO_PIN PD12 - #define TEMP_0_MOSI_PIN PD13 - #define SOFTWARE_SPI // Max31855 use's Software SPI - #define FORCE_SOFT_SPI -#else - #define TEMP_0_PIN PA4 // TH0 -#endif - -#if TEMP_SENSOR_1 == -5 - #define TEMP_1_CS_PIN PD15 // Max31865 CS - #define TEMP_1_SCK_PIN PD14 - #define TEMP_1_MISO_PIN PD12 - #define TEMP_1_MOSI_PIN PD13 - #define SOFTWARE_SPI // Max31865 use's Software SPI - #define FORCE_SOFT_SPI -#else - #define TEMP_1_PIN PA1 // TH0 -#endif - -#if TEMP_SENSOR_1 == -4 - #define TEMP_1_CS_PIN PC7 // Max31855 CS - #define TEMP_1_SCK_PIN PD14 - #define TEMP_1_MISO_PIN PD12 - #define TEMP_1_MOSI_PIN PD13 - #define SOFTWARE_SPI // Max31855 use's Software SPI - #define FORCE_SOFT_SPI -#else - #define TEMP_1_PIN PA1 // TH0 -#endif From fda99f5a15d80bbc1f133e0982f2ae53ee10b6e7 Mon Sep 17 00:00:00 2001 From: thisiskeithb <13375512+thisiskeithb@users.noreply.github.com> Date: Thu, 25 Apr 2024 08:31:39 -0700 Subject: [PATCH 09/12] More pin updates * Add DIAG jumper flag * Assert TMC2209 defaults * Update SDCARD connection format --- .../pins/stm32f4/pins_MELLOW_FLY_E3_PRO_V3.h | 49 +++++++++++++++++-- 1 file changed, 44 insertions(+), 5 deletions(-) diff --git a/Marlin/src/pins/stm32f4/pins_MELLOW_FLY_E3_PRO_V3.h b/Marlin/src/pins/stm32f4/pins_MELLOW_FLY_E3_PRO_V3.h index 0256c75c124a..0cc02345cf4d 100644 --- a/Marlin/src/pins/stm32f4/pins_MELLOW_FLY_E3_PRO_V3.h +++ b/Marlin/src/pins/stm32f4/pins_MELLOW_FLY_E3_PRO_V3.h @@ -23,10 +23,10 @@ #include "env_validate.h" -#ifndef BOARD_INFO_NAME - #define BOARD_INFO_NAME "Fly E3 Pro V3" - #define BOARD_WEBSITE_URL "github.com/Mellow-3D/Fly-E3-Pro-v3" -#endif +#define BOARD_INFO_NAME "Fly E3 Pro V3" +#define BOARD_WEBSITE_URL "github.com/Mellow-3D/Fly-E3-Pro-v3" + +#define USES_DIAG_JUMPERS // If you have the BigTreeTech driver expansion module, enable BTT_MOTOR_EXPANSION // https://github.com/bigtreetech/BTT-Expansion-module/tree/master/BTT%20EXP-MOT @@ -153,6 +153,38 @@ #define E1_STEP_PIN PC13 #define E1_DIR_PIN PC0 +// +// Integrated TMC2209 driver defaults +// +#if (HAS_X_AXIS && !AXIS_DRIVER_TYPE_X(TMC2209)) \ + || (HAS_Y_AXIS && !AXIS_DRIVER_TYPE_Y(TMC2209)) \ + || (NUM_Z_STEPPERS >= 1 && !AXIS_DRIVER_TYPE_Z(TMC2209)) \ + || (NUM_Z_STEPPERS >= 2 && !AXIS_DRIVER_TYPE_Z2(TMC2209)) \ + || (EXTRUDERS >= 1 && !AXIS_DRIVER_TYPE_E0(TMC2209)) \ + || (EXTRUDERS >= 2 && !AXIS_DRIVER_TYPE_E1(TMC2209)) + #error "All DRIVER TYPEs must be TMC2209 for BOARD_MELLOW_FLY_E3_PRO_V3." +#endif + +// RSENSE defaults +#if HAS_X_AXIS + static_assert(X_RSENSE == 0.11, "X_RSENSE must be 0.11 for BOARD_MELLOW_FLY_E3_PRO_V3."); +#endif +#if HAS_Y_AXIS + static_assert(Y_RSENSE == 0.11, "Y_RSENSE must be 0.11 for BOARD_MELLOW_FLY_E3_PRO_V3."); +#endif +#if NUM_Z_STEPPERS >= 1 + static_assert(Z_RSENSE == 0.11, "Z_RSENSE must be 0.11 for BOARD_MELLOW_FLY_E3_PRO_V3."); +#endif +#if NUM_Z_STEPPERS >= 2 + static_assert(Z2_RSENSE == 0.11, "Z2_RSENSE must be 0.11 for BOARD_MELLOW_FLY_E3_PRO_V3."); +#endif +#if EXTRUDERS >= 1 + static_assert(E0_RSENSE == 0.11, "E0_RSENSE must be 0.11 for BOARD_MELLOW_FLY_E3_PRO_V3."); +#endif +#if EXTRUDERS >= 2 + static_assert(E1_RSENSE == 0.11, "E1_RSENSE must be 0.11 for BOARD_MELLOW_FLY_E3_PRO_V3."); +#endif + // // Temperature Sensors // @@ -265,8 +297,15 @@ #endif // HAS_TMC_UART +// +// SD Support +// #ifndef SDCARD_CONNECTION - #define SDCARD_CONNECTION ONBOARD + #if HAS_WIRED_LCD && DISABLED(NO_LCD_SDCARD) + #define SDCARD_CONNECTION LCD + #else + #define SDCARD_CONNECTION ONBOARD + #endif #endif /** From fa6da8ca8a2109e24f3af40acb655e8ed7d85c45 Mon Sep 17 00:00:00 2001 From: thisiskeithb <13375512+thisiskeithb@users.noreply.github.com> Date: Thu, 25 Apr 2024 21:32:37 -0700 Subject: [PATCH 10/12] Sanity check extruder/hotend count --- Marlin/src/pins/stm32f4/pins_MELLOW_FLY_E3_PRO_V3.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Marlin/src/pins/stm32f4/pins_MELLOW_FLY_E3_PRO_V3.h b/Marlin/src/pins/stm32f4/pins_MELLOW_FLY_E3_PRO_V3.h index 0cc02345cf4d..a96ab9475c61 100644 --- a/Marlin/src/pins/stm32f4/pins_MELLOW_FLY_E3_PRO_V3.h +++ b/Marlin/src/pins/stm32f4/pins_MELLOW_FLY_E3_PRO_V3.h @@ -23,6 +23,12 @@ #include "env_validate.h" +#if EXTRUDERS > 2 || E_STEPPERS > 2 + #error "Fly E3 Pro V3 only supports up to 2 E steppers." +#elif HOTENDS > 2 + #error "Fly E3 Pro V3 only supports up to 2 hotends." +#endif + #define BOARD_INFO_NAME "Fly E3 Pro V3" #define BOARD_WEBSITE_URL "github.com/Mellow-3D/Fly-E3-Pro-v3" From 7cfee6007b33bebe899d9143ec4222cd48fa8a74 Mon Sep 17 00:00:00 2001 From: thisiskeithb <13375512+thisiskeithb@users.noreply.github.com> Date: Thu, 25 Apr 2024 21:35:16 -0700 Subject: [PATCH 11/12] Add pin assignment/schematic comment block --- Marlin/src/pins/stm32f4/pins_MELLOW_FLY_E3_PRO_V3.h | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Marlin/src/pins/stm32f4/pins_MELLOW_FLY_E3_PRO_V3.h b/Marlin/src/pins/stm32f4/pins_MELLOW_FLY_E3_PRO_V3.h index a96ab9475c61..7670d8338326 100644 --- a/Marlin/src/pins/stm32f4/pins_MELLOW_FLY_E3_PRO_V3.h +++ b/Marlin/src/pins/stm32f4/pins_MELLOW_FLY_E3_PRO_V3.h @@ -21,6 +21,12 @@ */ #pragma once +/** + * Mellow Fly E3 Pro V3 pin assignments + * Schematic: https://github.com/Mellow-3D/Fly-E3-Pro-v3/blob/main/Hardware/Schematic_E3-Pro-V3.pdf + * Pins: https://github.com/Mellow-3D/Fly-E3-Pro-v3/blob/main/Hardware/fly_e3_prov3_pins.svg + */ + #include "env_validate.h" #if EXTRUDERS > 2 || E_STEPPERS > 2 From 243944bae4fb71185809c11a839fb2bfc7fffe18 Mon Sep 17 00:00:00 2001 From: thisiskeithb <13375512+thisiskeithb@users.noreply.github.com> Date: Sat, 4 May 2024 08:12:02 -0700 Subject: [PATCH 12/12] No flash drive support --- Marlin/src/pins/stm32f4/pins_MELLOW_FLY_E3_PRO_V3.h | 2 -- 1 file changed, 2 deletions(-) diff --git a/Marlin/src/pins/stm32f4/pins_MELLOW_FLY_E3_PRO_V3.h b/Marlin/src/pins/stm32f4/pins_MELLOW_FLY_E3_PRO_V3.h index 7670d8338326..b34b124c6cc4 100644 --- a/Marlin/src/pins/stm32f4/pins_MELLOW_FLY_E3_PRO_V3.h +++ b/Marlin/src/pins/stm32f4/pins_MELLOW_FLY_E3_PRO_V3.h @@ -64,8 +64,6 @@ #define FLASH_EEPROM_LEVELING #endif -#define HAS_OTG_USB_HOST_SUPPORT // USB Flash Drive support - // // Servos //