From fa7241581285fe705ecf168f215f0b69bd20a343 Mon Sep 17 00:00:00 2001 From: InsanityAutomation Date: Sun, 3 Apr 2022 10:57:55 -0400 Subject: [PATCH] Add CR10SmartPro First draft Guess on BLTouch pins as HW not available atm --- Marlin/Configuration.h | 47 +++++++++++--------- Marlin/Configuration_adv.h | 6 +-- Marlin/src/pins/stm32f1/pins_CREALITY_V45x.h | 10 ++++- platformio.ini | 19 ++++++++ 4 files changed, 56 insertions(+), 26 deletions(-) diff --git a/Marlin/Configuration.h b/Marlin/Configuration.h index 31305067d3..20123487fd 100644 --- a/Marlin/Configuration.h +++ b/Marlin/Configuration.h @@ -19,6 +19,7 @@ //#define MachineSermoonD1 //#define MachineEnder7 //#define MachineCR10Smart +//#define MachineCR10SmartPro //#define MachineCR5 /* @@ -359,6 +360,10 @@ #endif #endif +#if ENABLED(MachineCR10SmartPro) + #define ABL_BLTOUCH +#endif + #if ENABLED(SKRMiniE3V2) #define SKR_2209 #define SKR_UART @@ -464,7 +469,7 @@ #define MachineCR10Orig #endif -#if ANY(MachineCR10, MachineCR10S, MachineCR10SV2, MachineCR10Smart) +#if ANY(MachineCR10, MachineCR10S, MachineCR10SV2, MachineCR10Smart, MachineCR10SmartPro) #define MachineCR10Std #endif @@ -505,13 +510,13 @@ #endif #endif -#if ANY(MachineCRX, MachineCRXPro, MachineEnder5Plus, MachineCR10SPro, MachineCR5, MachineCR10Max, MachineEnder6, MachineSermoonD1, MachineEnder7, MachineCR10Smart) +#if ANY(MachineCRX, MachineCRXPro, MachineEnder5Plus, MachineCR10SPro, MachineCR5, MachineCR10Max, MachineEnder6, MachineSermoonD1, MachineEnder7, MachineCR10Smart, MachineCR10SmartPro) #if NONE(GraphicLCD, OrigLCD, FORCE10SPRODISPLAY) #define FORCE10SPRODISPLAY #endif #endif -#if ANY(MachineEnder7, MachineSermoonD1, MachineCR10Smart, MachineCR5) +#if ANY(MachineEnder7, MachineSermoonD1, MachineCR10Smart, MachineCR5, MachineCR10SmartPro) #define DWINOS_4 #endif @@ -628,7 +633,7 @@ #define BedDC #endif -#if ANY(SKR13, SKR14, SKR14Turbo, SKRPRO11, SKRE3Turbo, MachineEnder3V2, MachineEnder3S1, Creality422, Creality427, MachineEnder6, MachineSermoonD1, MachineCR30, MachineCR6, MachineCR6Max, MachineEnder7, MachineCR10Smart) +#if ANY(SKR13, SKR14, SKR14Turbo, SKRPRO11, SKRE3Turbo, MachineEnder3V2, MachineEnder3S1, Creality422, Creality427, MachineEnder6, MachineSermoonD1, MachineCR30, MachineCR6, MachineCR6Max, MachineEnder7, MachineCR10Smart, MachineCR10SmartPro) #define MachineLargeROM #endif @@ -656,7 +661,7 @@ */ #if ANY(SKR13, SKR14, SKR14Turbo, SKRPRO11, SKRMiniE3V2, SKRE3Turbo, SKR_CR6) #define SERIAL_PORT -1 -#elif ENABLED(MachineCR10Smart) +#elif ANY(MachineCR10Smart, MachineCR10SmartPro) #define SERIAL_PORT 1 #elif ANY(MachineEnder3V2, MachineEnder3S1, MachineEnder3Max, MachineEnder3Pro422, MachineEnder3Pro427, Creality422, Creality427, MachineEnder6, MachineCR6, MachineCR6Max, MachineSermoonD1, MachineCR30, MachineEnder7) #define SERIAL_PORT 1 @@ -689,7 +694,7 @@ #define LCD_SERIAL_PORT 3 #define LCD_BAUDRATE 115200 #define SERIAL_CATCHALL 1 -#elif ANY(MachineCR10Smart) +#elif ANY(MachineCR10Smart, MachineCR10SmartPro) #define LCD_SERIAL_PORT 3 #define LCD_BAUDRATE 115200 #define SERIAL_CATCHALL 1 @@ -712,7 +717,7 @@ * * :[2400, 9600, 19200, 38400, 57600, 115200, 250000, 500000, 1000000] */ -#if ANY(MachineEnder3V2, MachineEnder3S1, CrealityViewerKit, MachineCR6, MachineCR6Max, MachineEnder3Touchscreen, MachineCR10Smart, FORCEV2DISPLAY) +#if ANY(MachineEnder3V2, MachineEnder3S1, CrealityViewerKit, MachineCR6, MachineCR6Max, MachineEnder3Touchscreen, MachineCR10Smart, MachineCR10SmartPro, FORCEV2DISPLAY) #define BAUDRATE 115200 #else #define BAUDRATE 250000 @@ -771,7 +776,7 @@ #define MOTHERBOARD BOARD_CREALITY_V452 #elif ENABLED(MachineCR30) #define MOTHERBOARD BOARD_CREALITY_V4210 - #elif ANY(MachineCR6, MachineCR6Max, MachineCR10Smart) + #elif ANY(MachineCR6, MachineCR6Max, MachineCR10Smart, MachineCR10SmartPro) #define MOTHERBOARD BOARD_CREALITY_V453 #else #define MOTHERBOARD BOARD_RAMPS_CREALITY @@ -1005,7 +1010,7 @@ * Enable and connect the power supply to the PS_ON_PIN. * Specify whether the power supply is active HIGH or active LOW. */ -#if ANY(MachineCR2020, PowerShutoffKit, MachineCR10Smart) +#if ANY(MachineCR2020, PowerShutoffKit, MachineCR10Smart, MachineCR10SmartPro) #define PSU_CONTROL #endif //#define PSU_NAME "Power Supply" @@ -1017,7 +1022,7 @@ #if ENABLED(PowerShutoffKit) #define PS_ON_PIN 12 #define PSU_ACTIVE_STATE HIGH - #elif ENABLED(MachineCR10Smart) + #elif ANY(MachineCR10Smart, MachineCR10SmartPro) #define PS_ON_PIN PA0 #define PSU_ACTIVE_STATE HIGH #else @@ -1337,7 +1342,7 @@ #define DEFAULT_Kp 28.72 #define DEFAULT_Ki 2.62 #define DEFAULT_Kd 78.81 - #elif ANY(MachineCR6, MachineCR6Max, MachineCR10Smart) + #elif ANY(MachineCR6, MachineCR6Max, MachineCR10Smart, MachineCR10SmartPro) #define DEFAULT_Kp 14.32 #define DEFAULT_Ki 0.81 #define DEFAULT_Kd 63.12 @@ -1664,7 +1669,7 @@ * :['A4988', 'A5984', 'DRV8825', 'LV8729', 'L6470', 'L6474', 'POWERSTEP01', 'TB6560', 'TB6600', 'TMC2100', 'TMC2130', 'TMC2130_STANDALONE', 'TMC2160', 'TMC2160_STANDALONE', 'TMC2208', 'TMC2208_STANDALONE', 'TMC2209', 'TMC2209_STANDALONE', 'TMC26X', 'TMC26X_STANDALONE', 'TMC2660', 'TMC2660_STANDALONE', 'TMC5130', 'TMC5130_STANDALONE', 'TMC5160', 'TMC5160_STANDALONE'] */ -#if (ANY(SKR13, SKR14, SKR14Turbo, SKRPRO11, CrealitySilentBoard) || ANY(MachineCR10SV2, MachineEnder3S1, MachineCR10SPro, MachineCR10SProV2, MachineCR10Max, MachineCR5, SKRMiniE3V2, MachineCR6, MachineCR6Max, MachineEnder6, MachineEnder7, MachineSermoonD1, MachineCR30, MachineCR10Smart)) && DISABLED(SKR_UART) +#if (ANY(SKR13, SKR14, SKR14Turbo, SKRPRO11, CrealitySilentBoard) || ANY(MachineCR10SV2, MachineEnder3S1, MachineCR10SPro, MachineCR10SProV2, MachineCR10Max, MachineCR5, SKRMiniE3V2, MachineCR6, MachineCR6Max, MachineEnder6, MachineEnder7, MachineSermoonD1, MachineCR30, MachineCR10Smart, MachineCR10SmartPro)) && DISABLED(SKR_UART) #if ENABLED(SKR_2209) #define X_DRIVER_TYPE TMC2209_STANDALONE #define Y_DRIVER_TYPE TMC2209_STANDALONE @@ -1773,7 +1778,7 @@ * * :[2,3,4,5,6,7] */ -#if ANY(MachineEnder5Plus, CableExtensionNoiseFilter, MachineCR6, MachineCR6Max, MachineEnder6, MachineCR10Smart, MachineSermoonD1) +#if ANY(MachineEnder5Plus, CableExtensionNoiseFilter, MachineCR6, MachineCR6Max, MachineEnder6, MachineCR10Smart, MachineCR10SmartPro, MachineSermoonD1) #define ENDSTOP_NOISE_THRESHOLD 2 #endif @@ -1989,7 +1994,7 @@ * * See https://github.com/synthetos/TinyG/wiki/Jerk-Controlled-Motion-Explained */ -#if NONE(MachineCR10Orig, SKRMiniE3V2, MachineCR6, MachineCR6Max, MachineCR10Smart) || ENABLED(MelziHostOnly) +#if NONE(MachineCR10Orig, SKRMiniE3V2, MachineCR6, MachineCR6Max, MachineCR10Smart, MachineCR10SmartPro) || ENABLED(MelziHostOnly) #define S_CURVE_ACCELERATION #endif @@ -2043,7 +2048,7 @@ * Use G29 repeatedly, adjusting the Z height at each point with movement commands * or (with LCD_BED_LEVELING) the LCD controller. */ -#if NONE(ABL_EZABL, ABL_NCSW, ABL_BLTOUCH, ABL_TOUCH_MI, MachineCR6, MachineCR6Max, MachineCR10Smart) +#if NONE(ABL_EZABL, ABL_NCSW, ABL_BLTOUCH, ABL_TOUCH_MI, MachineCR6, MachineCR6Max, MachineCR10Smart, MachineCR10SmartPro) #define PROBE_MANUALLY #define MANUAL_PROBE_START_Z 0.2 #endif @@ -2452,7 +2457,7 @@ #define INVERT_E0_DIR true #define INVERT_E1_DIR false #endif -#elif ANY(MachineCR6, MachineCR6Max, MachineCR10Smart) +#elif ANY(MachineCR6, MachineCR6Max, MachineCR10Smart, MachineCR10SmartPro) #define INVERT_X_DIR true #define INVERT_Y_DIR false #define INVERT_Z_DIR true @@ -2742,7 +2747,7 @@ #elif ENABLED(TOUCH_MI_PROBE) #define X_MIN_POS -4 #define Y_MIN_POS -10 -#elif ENABLED(MachineCR6, MachineCR10Smart, MachineEnder3S1) +#elif ANY(MachineCR6, MachineCR10Smart, MachineEnder3S1, MachineCR10SmartPro) #define X_MIN_POS -5 #define Y_MIN_POS -2 #elif ENABLED(MachineCR6Max) @@ -3109,7 +3114,7 @@ * Add a bed leveling sub-menu for ABL or MBL. * Include a guided procedure if manual probing is enabled. */ -#if NONE(ABL_EZABL, ABL_NCSW, ABL_BLTOUCH, ABL_TOUCH_MI, SKRMiniE3V2, MachineEnder3V2, FORCE10SPRODISPLAY, MachineCR6, MachineCR6Max, MachineSermoonD1, MachineEnder7, MachineCR30, MachineCR10Smart, FORCEV2DISPLAY) && (NONE(MachineCRX, MachineEnder3Touchscreen) || ANY(GraphicLCD, OrigLCD)) +#if NONE(ABL_EZABL, ABL_NCSW, ABL_BLTOUCH, ABL_TOUCH_MI, SKRMiniE3V2, MachineEnder3V2, FORCE10SPRODISPLAY, MachineCR6, MachineCR6Max, MachineSermoonD1, MachineEnder7, MachineCR30, MachineCR10Smart, MachineCR10SmartPro, FORCEV2DISPLAY) && (NONE(MachineCRX, MachineEnder3Touchscreen) || ANY(GraphicLCD, OrigLCD)) #define LCD_BED_LEVELING #endif @@ -3780,7 +3785,7 @@ #define DWIN_MARLINUI_PORTRAIT #elif ANY(OrigLCD, MachineCR10Orig, MachineEnder3Pro422, MachineEnder3Pro427, MachineEnder3Max, SKRMiniE3V2, SKRE3Turbo) && NONE(GraphicLCD, MachineEnder3Touchscreen, FORCE10SPRODISPLAY) #define CR10_STOCKDISPLAY -#elif NONE(MachineCR10SPro, MachineCRX, MachineEnder5Plus, MachineCR10Max, OrigLCD, MachineCR10Orig, SKRMiniE3V2, FORCE10SPRODISPLAY, MachineCR6, MachineCR6Max, MachineCR10Smart, MachineEnder3Touchscreen) || ENABLED(GraphicLCD) +#elif NONE(MachineCR10SPro, MachineCRX, MachineEnder5Plus, MachineCR10Max, OrigLCD, MachineCR10Orig, SKRMiniE3V2, FORCE10SPRODISPLAY, MachineCR6, MachineCR6Max, MachineCR10Smart, MachineCR10SmartPro, MachineEnder3Touchscreen) || ENABLED(GraphicLCD) #define REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER #endif // @@ -4154,7 +4159,7 @@ // Third-party or vendor-customized controller interfaces. // Sources should be installed in 'src/lcd/extui'. // -#if ANY(MachineCR10SPro, MachineCRX, MachineEnder5Plus, MachineCR10Max, MachineEnder6, MachineCR5, MachineEnder7, MachineSermoonD1, MachineCR10Smart) && (NONE(GraphicLCD, SKRMiniE3V2, OrigLCD) || ENABLED(FORCE10SPRODISPLAY)) +#if ANY(MachineCR10SPro, MachineCRX, MachineEnder5Plus, MachineCR10Max, MachineEnder6, MachineCR5, MachineEnder7, MachineSermoonD1, MachineCR10Smart, MachineCR10SmartPro) && (NONE(GraphicLCD, SKRMiniE3V2, OrigLCD) || ENABLED(FORCE10SPRODISPLAY)) #ifndef FORCE10SPRODISPLAY #define FORCE10SPRODISPLAY #endif @@ -4362,7 +4367,7 @@ // Use software PWM to drive the fan, as for the heaters. This uses a very low frequency // which is not as annoying as with the hardware PWM. On the other hand, if this frequency // is too low, you should also increment SOFT_PWM_SCALE. -#if ANY(SKRPRO11, SKRMiniE3V2, MachineEnder6, MachineEnder7, Creality427, Creality422, SKR_CR6, CR6_452, MachineCR30, MachineCR6, MachineCR6Max, MachineCR10Smart, MachineEnder3S1) +#if ANY(SKRPRO11, SKRMiniE3V2, MachineEnder6, MachineEnder7, Creality427, Creality422, SKR_CR6, CR6_452, MachineCR30, MachineCR6, MachineCR6Max, MachineCR10Smart, MachineCR10SmartPro, MachineEnder3S1) #define FAN_SOFT_PWM #endif // Incrementing this by 1 will double the software PWM frequency, diff --git a/Marlin/Configuration_adv.h b/Marlin/Configuration_adv.h index 1ce64489f3..6bcca193f6 100644 --- a/Marlin/Configuration_adv.h +++ b/Marlin/Configuration_adv.h @@ -702,7 +702,7 @@ /** * M355 Case Light on-off / brightness */ -#if ANY(EnclosureLight, MachineCR6, MachineCR6Max, MachineCR10Smart, MachineCR5) +#if ANY(EnclosureLight, MachineCR6, MachineCR6Max, MachineCR10Smart, MachineCR10SmartPro, MachineCR5) #define CASE_LIGHT_ENABLE #endif #if ENABLED(CASE_LIGHT_ENABLE) @@ -710,7 +710,7 @@ #define CASE_LIGHT_PIN 65 // Override the default pin if needed #elif ENABLED(MachineCR5) #define CASE_LIGHT_PIN 7 - #elif NONE(MachineCR6, MachineCR6Max, MachineCR10Smart) + #elif NONE(MachineCR6, MachineCR6Max, MachineCR10Smart, MachineCR10SmartPro) #define CASE_LIGHT_PIN 12 // Override the default pin if needed #endif #define INVERT_CASE_LIGHT false // Set true if Case Light is ON when pin is LOW @@ -941,7 +941,7 @@ * differs, a mode set eeprom write will be completed at initialization. * Use the option below to force an eeprom write to a V3.1 probe regardless. */ - #if NONE(SKR13, SKR14, SKR14Turbo, SKRPRO11, SKRMiniE3V2, MachineEnder3S1, Creality422, Creality427, MachineEnder6, MachineEnder7, MachineSermoonD1, MachineCR30, MachineCR6, MachineCR6Max) + #if NONE(SKR13, SKR14, SKR14Turbo, SKRPRO11, SKRMiniE3V2, MachineEnder3S1, Creality422, Creality427, MachineEnder6, MachineEnder7, MachineSermoonD1, MachineCR30, MachineCR6, MachineCR6Max, MachineCR10SmartPro) #define BLTOUCH_SET_5V_MODE #endif /** diff --git a/Marlin/src/pins/stm32f1/pins_CREALITY_V45x.h b/Marlin/src/pins/stm32f1/pins_CREALITY_V45x.h index f9daf4317a..c2ce3934da 100644 --- a/Marlin/src/pins/stm32f1/pins_CREALITY_V45x.h +++ b/Marlin/src/pins/stm32f1/pins_CREALITY_V45x.h @@ -64,8 +64,14 @@ // // Probe // -#ifndef PROBE_TARE_PIN - #define PROBE_TARE_PIN PA5 +#if ENABLED(NOZZLE_AS_PROBE) + #ifndef PROBE_TARE_PIN + #define PROBE_TARE_PIN PA5 + #endif +#else + #ifndef SERVO0_PIN + #define SERVO0_PIN PA5 + #endif #endif // diff --git a/platformio.ini b/platformio.ini index a4767b47f0..8aaedbc0b5 100644 --- a/platformio.ini +++ b/platformio.ini @@ -392,6 +392,7 @@ default_envs = SermoonD1_BLT SermoonD1_BLT_ZM CR10Smart + CR10SmartPro CR5Pro include_dir = Marlin @@ -3899,6 +3900,24 @@ build_flags = ${stm32_variant.build_flags} -DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED -DSS_TIMER=4 -DTIMER_SERVO=TIM5 -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8 -DMachineCR10Smart + +[env:CR10SmartPro] +extends = stm32_variant +board_build.variant = MARLIN_F103Rx +board_build.offset = 0x7000 +board_upload.offset_address = 0x08007000 +build_unflags = ${stm32_variant.build_unflags} + -DUSBCON -DUSBD_USE_CDC +extra_scripts = ${stm32_variant.extra_scripts} + pre:buildroot/share/PlatformIO/scripts/random-bin.py +monitor_speed = 115200 +debug_tool = jlink +upload_protocol = jlink +board = genericSTM32F103RC +build_flags = ${stm32_variant.build_flags} + -DMCU_STM32F103RE -DHAL_SD_MODULE_ENABLED + -DSS_TIMER=4 -DTIMER_SERVO=TIM5 + -DENABLE_HWSERIAL3 -DTRANSFER_CLOCK_DIV=8 -DMachineCR10SmartPro [env:Ender3S1] extends = stm32_variant board_build.variant = MARLIN_F103Rx