diff --git a/Marlin/src/gcode/calibrate/G34_M422.cpp b/Marlin/src/gcode/calibrate/G34_M422.cpp index 8b94dd5392..7a27a61b9d 100644 --- a/Marlin/src/gcode/calibrate/G34_M422.cpp +++ b/Marlin/src/gcode/calibrate/G34_M422.cpp @@ -115,8 +115,8 @@ void GcodeSuite::G34() { } const float z_auto_align_accuracy = parser.floatval('T', Z_STEPPER_ALIGN_ACC); - if (!WITHIN(z_auto_align_accuracy, 0.01f, 1.0f)) { - SERIAL_ECHOLNPGM(GCODE_ERR_MSG("(T)arget accuracy out of bounds (0.01-1.0).")); + if (!WITHIN(z_auto_align_accuracy, 0.001f, 1.0f)) { + SERIAL_ECHOLNPGM(GCODE_ERR_MSG("(T)arget accuracy out of bounds (0.001-1.0).")); break; } diff --git a/Marlin/src/inc/Conditionals_LCD.h b/Marlin/src/inc/Conditionals_LCD.h index 92799b7cd4..a3756217e6 100644 --- a/Marlin/src/inc/Conditionals_LCD.h +++ b/Marlin/src/inc/Conditionals_LCD.h @@ -1852,10 +1852,6 @@ #if NONE(TFT_TOUCH_DEVICE_GT911, TFT_TOUCH_DEVICE_XPT2046) #define TFT_TOUCH_DEVICE_XPT2046 // ADS7843/XPT2046 ADC Touchscreen such as ILI9341 2.8 #endif - #if ENABLED(TFT_TOUCH_DEVICE_GT911) // GT911 Capacitive touch screen such as BIQU_BX_TFT70 - #undef TOUCH_SCREEN_CALIBRATION - #undef TOUCH_CALIBRATION_AUTO_SAVE - #endif #if !HAS_GRAPHICAL_TFT #undef TOUCH_SCREEN #if ENABLED(TFT_CLASSIC_UI) diff --git a/Marlin/src/inc/Conditionals_adv.h b/Marlin/src/inc/Conditionals_adv.h index f210014e04..ada0ce6437 100644 --- a/Marlin/src/inc/Conditionals_adv.h +++ b/Marlin/src/inc/Conditionals_adv.h @@ -1305,7 +1305,7 @@ * currently HAL.h must be included ahead of pins.h. */ #if LCD_IS_SERIAL_HOST && !defined(LCD_SERIAL_PORT) - #if MB(BTT_SKR_MINI_E3_V1_0, BTT_SKR_MINI_E3_V1_2, BTT_SKR_MINI_E3_V2_0, BTT_SKR_MINI_E3_V3_0, BTT_SKR_MINI_E3_V3_0_1, BTT_SKR_E3_TURBO, BTT_OCTOPUS_V1_1, AQUILA_V101) + #if MB(MKS_MONSTER8_V1, BTT_SKR_MINI_E3_V1_0, BTT_SKR_MINI_E3_V1_2, BTT_SKR_MINI_E3_V2_0, BTT_SKR_MINI_E3_V3_0, BTT_SKR_MINI_E3_V3_0_1, BTT_SKR_E3_TURBO, BTT_OCTOPUS_V1_1, AQUILA_V101) #define LCD_SERIAL_PORT 1 #elif MB(CREALITY_V24S1_301, CREALITY_V24S1_301F4, CREALITY_F401RE, CREALITY_V423, CREALITY_CR4NTXXC10, MKS_ROBIN, PANOWIN_CUTLASS, KODAMA_BARDO) #define LCD_SERIAL_PORT 2 diff --git a/Marlin/src/inc/SanityCheck.h b/Marlin/src/inc/SanityCheck.h index fdc78aa3e4..b2f909de08 100644 --- a/Marlin/src/inc/SanityCheck.h +++ b/Marlin/src/inc/SanityCheck.h @@ -3617,6 +3617,7 @@ static_assert(_PLUS_TEST(3), "DEFAULT_MAX_ACCELERATION values must be positive." #error "Z_STEPPER_ALIGN_STEPPER_XY requires 3 or 4 Z steppers." #endif #endif + static_assert(WITHIN(Z_STEPPER_ALIGN_ACC, 0.001, 1.0), "Z_STEPPER_ALIGN_ACC needs to be between 0.001 and 1.0"); #endif #if ENABLED(MECHANICAL_GANTRY_CALIBRATION) @@ -3918,6 +3919,11 @@ static_assert(_PLUS_TEST(3), "DEFAULT_MAX_ACCELERATION values must be positive." #error "TOUCH_CALIBRATION_[XY] and TOUCH_OFFSET_[XY] are required for resistive touch screens with TOUCH_SCREEN_CALIBRATION disabled." #endif +// GT911 Capacitive touch screen such as BIQU_BX_TFT70 +#if ALL(TFT_TOUCH_DEVICE_GT911, TOUCH_SCREEN_CALIBRATION) + #error "TOUCH_SCREEN_CALIBRATION is not supported by the selected LCD controller." +#endif + /** * Sanity check WiFi options */ diff --git a/Marlin/src/lcd/e3v2/proui/dwin.cpp b/Marlin/src/lcd/e3v2/proui/dwin.cpp index bb345e5191..4c5f91e032 100644 --- a/Marlin/src/lcd/e3v2/proui/dwin.cpp +++ b/Marlin/src/lcd/e3v2/proui/dwin.cpp @@ -4014,7 +4014,7 @@ void drawMaxAccelMenu() { BACK_ITEM(drawPrepareMenu); MENU_ITEM(ICON_Homing, MSG_AUTO_HOME, onDrawMenuItem, autoHome); MENU_ITEM(ICON_AxisD, MSG_MOVE_NOZZLE_TO_BED, onDrawMenuItem, setMoveZto0); - EDIT_ITEM(ICON_Zoffset, MSG_XATC_UPDATE_Z_OFFSET, onDrawPFloat2Menu, setZOffset, &BABY_Z_VAR); + EDIT_ITEM(ICON_Zoffset, MSG_ZPROBE_ZOFFSET, onDrawPFloat2Menu, setZOffset, &BABY_Z_VAR); } updateMenu(zOffsetWizMenu); if (!axis_is_trusted(Z_AXIS)) LCD_MESSAGE_F("WARNING: Z position unknown, move Z to home"); diff --git a/Marlin/src/pins/stm32f4/pins_BTT_OCTOPUS_V1_common.h b/Marlin/src/pins/stm32f4/pins_BTT_OCTOPUS_V1_common.h index 169cc9d832..2947820296 100644 --- a/Marlin/src/pins/stm32f4/pins_BTT_OCTOPUS_V1_common.h +++ b/Marlin/src/pins/stm32f4/pins_BTT_OCTOPUS_V1_common.h @@ -21,7 +21,13 @@ */ #pragma once -#include "env_validate.h" +// The Octopus Pro V1 has shipped with both STM32F4 and STM32H7 MCUs. +// Ensure the correct env_validate.h file is included based on the build environment used. +#if NOT_TARGET(STM32H7) + #include "env_validate.h" +#else + #include "../stm32h7/env_validate.h" +#endif #define HAS_OTG_USB_HOST_SUPPORT // USB Flash Drive support #define USES_DIAG_JUMPERS diff --git a/Marlin/src/pins/stm32h7/pins_BTT_SKR_SE_BX_common.h b/Marlin/src/pins/stm32h7/pins_BTT_SKR_SE_BX_common.h index fd9aa53a94..7314ccc825 100644 --- a/Marlin/src/pins/stm32h7/pins_BTT_SKR_SE_BX_common.h +++ b/Marlin/src/pins/stm32h7/pins_BTT_SKR_SE_BX_common.h @@ -23,8 +23,11 @@ #include "env_validate.h" +#define BOARD_WEBSITE_URL "github.com/bigtreetech/BIQU-BX" #define DEFAULT_MACHINE_NAME "BIQU BX" +#define USES_DIAG_JUMPERS + // Onboard I2C EEPROM #define I2C_EEPROM #define MARLIN_EEPROM_SIZE 0x1000 // 4K (24C32) @@ -32,18 +35,27 @@ #define HAS_OTG_USB_HOST_SUPPORT // USB Flash Drive support //#define SWD_DEBUG // Use pins PA13 and PA14 on STM32H7 for the SWD debugger +// +// Trinamic Stallguard pins +// +#define X_DIAG_PIN PB11 // X- +#define Y_DIAG_PIN PB12 // Y- +#define Z_DIAG_PIN PD12 // Z- +#define E0_DIAG_PIN PD13 // X+ +#define E1_DIAG_PIN PB13 // Y+ + // // Limit Switches // -#define X_MIN_PIN PB11 -#define X_MAX_PIN PD13 -#define Y_MIN_PIN PB12 -#define Y_MAX_PIN PB13 -#define Z_MIN_PIN PD12 -#define Z_MAX_PIN PD11 +#define X_MIN_PIN X_DIAG_PIN // X- +#define X_MAX_PIN E0_DIAG_PIN // X+ +#define Y_MIN_PIN Y_DIAG_PIN // Y- +#define Y_MAX_PIN E1_DIAG_PIN // Y+ +#define Z_MIN_PIN Z_DIAG_PIN // Z- +#define Z_MAX_PIN PD11 // Z+ -#define FIL_RUNOUT_PIN PD13 -#define FIL_RUNOUT2_PIN PB13 +#define FIL_RUNOUT_PIN E0_DIAG_PIN // X+ +#define FIL_RUNOUT2_PIN E1_DIAG_PIN // Y+ #ifndef SWD_DEBUG #define LED_PIN PA13 @@ -53,13 +65,13 @@ #define POWER_MONITOR_PIN PB0 #define RPI_POWER_PIN PE5 -#define SERVO0_PIN PA2 +#define SERVO0_PIN PA2 // PROBE // // Z Probe (when not Z_MIN_PIN) // #ifndef Z_MIN_PROBE_PIN - #define Z_MIN_PROBE_PIN PH2 // Probe + #define Z_MIN_PROBE_PIN PH2 // PROBE #endif // @@ -72,30 +84,44 @@ // // Steppers // -#define X_STEP_PIN PG13 +#define X_STEP_PIN PG13 // X #define X_DIR_PIN PG12 #define X_ENABLE_PIN PG14 #define X_CS_PIN PG10 -#define Y_STEP_PIN PB3 +#define Y_STEP_PIN PB3 // Y #define Y_DIR_PIN PD3 #define Y_ENABLE_PIN PB4 #define Y_CS_PIN PD4 -#define Z_STEP_PIN PD7 -#define Z_DIR_PIN PD6 -#define Z_ENABLE_PIN PG9 -#define Z_CS_PIN PD5 +#ifdef BX_SWAP_ZM_E1M + #define Z_STEP_PIN PA8 // E1 + #define Z_DIR_PIN PC9 + #define Z_ENABLE_PIN PD2 + #define Z_CS_PIN PC8 +#else + #define Z_STEP_PIN PD7 // Z1 + #define Z_DIR_PIN PD6 + #define Z_ENABLE_PIN PG9 + #define Z_CS_PIN PD5 +#endif -#define E0_STEP_PIN PC14 +#define E0_STEP_PIN PC14 // E0 #define E0_DIR_PIN PC13 #define E0_ENABLE_PIN PC15 #define E0_CS_PIN PI8 -#define E1_STEP_PIN PA8 -#define E1_DIR_PIN PC9 -#define E1_ENABLE_PIN PD2 -#define E1_CS_PIN PC8 +#ifdef BX_SWAP_ZM_E1M + #define E1_STEP_PIN PD7 // Z1 + #define E1_DIR_PIN PD6 + #define E1_ENABLE_PIN PG9 + #define E1_CS_PIN PD5 +#else + #define E1_STEP_PIN PA8 // E1 + #define E1_DIR_PIN PC9 + #define E1_ENABLE_PIN PD2 + #define E1_CS_PIN PC8 +#endif // // SPI pins for TMC2130 stepper drivers @@ -138,14 +164,24 @@ #define Y_SERIAL_TX_PIN PD4 #define Y_SERIAL_RX_PIN Y_SERIAL_TX_PIN - #define Z_SERIAL_TX_PIN PD5 - #define Z_SERIAL_RX_PIN Z_SERIAL_TX_PIN + #ifdef BX_SWAP_ZM_E1M + #define Z_SERIAL_TX_PIN PC8 + #define Z_SERIAL_RX_PIN Z_SERIAL_TX_PIN + #else + #define Z_SERIAL_TX_PIN PD5 + #define Z_SERIAL_RX_PIN Z_SERIAL_TX_PIN + #endif #define E0_SERIAL_TX_PIN PI8 #define E0_SERIAL_RX_PIN E0_SERIAL_TX_PIN - #define E1_SERIAL_TX_PIN PC8 - #define E1_SERIAL_RX_PIN E1_SERIAL_TX_PIN + #ifdef BX_SWAP_ZM_E1M + #define E1_SERIAL_TX_PIN PD5 + #define E1_SERIAL_RX_PIN E1_SERIAL_TX_PIN + #else + #define E1_SERIAL_TX_PIN PC8 + #define E1_SERIAL_RX_PIN E1_SERIAL_TX_PIN + #endif // Reduce baud rate to improve software serial reliability #ifndef TMC_BAUD_RATE @@ -164,15 +200,15 @@ // // Heaters / Fans // -#define HEATER_0_PIN PC4 -#define HEATER_1_PIN PC5 -#define HEATER_BED_PIN PA4 +#define HEATER_0_PIN PC4 // HE0 +#define HEATER_1_PIN PC5 // HE1 +#define HEATER_BED_PIN PA4 // BED -#define FAN0_PIN PA5 // "FAN0" -#define FAN1_PIN PA6 // "FAN1" -#define FAN2_PIN PA7 // "FAN2" +#define FAN0_PIN PA5 // FAN0 +#define FAN1_PIN PA6 // FAN1 +#define FAN2_PIN PA7 // FAN2 / DCOT -#define BOARD_NEOPIXEL_PIN PH3 +#define BOARD_NEOPIXEL_PIN PH3 // RGB #define NEOPIXEL2_PIN PB1 #if HAS_LTDC_TFT @@ -238,3 +274,25 @@ #define SD_MISO_PIN PC11 #define SD_MOSI_PIN PC12 #define SD_DETECT_PIN PI3 + +#if ENABLED(WIFISUPPORT) + // + // WIFI + // + + /** + * ----- + * (ESP-RX4) PA1 | 1 8 | GND + * (ESP-EN) -- | 2 7 | -- (ESP-IO2) + * (ESP-RST) -- | 3 6 | -- (ESP-IO0) + * 3.3V | 4 5 | PA0 (ESP-TX4) + * ----- + * WIFI-ESP01 + */ + #define ESP_WIFI_MODULE_COM 4 // Must also set either SERIAL_PORT / SERIAL_PORT_2 / SERIAL_PORT_3 to this + #define ESP_WIFI_MODULE_BAUDRATE BAUDRATE // Must use same BAUDRATE as SERIAL_PORT / SERIAL_PORT_2 / SERIAL_PORT_3 + #define ESP_WIFI_MODULE_RESET_PIN -1 + #define ESP_WIFI_MODULE_ENABLE_PIN -1 + #define ESP_WIFI_MODULE_GPIO0_PIN -1 + #define ESP_WIFI_MODULE_GPIO2_PIN -1 +#endif