Creality CR-10 SmartPro (#24151)

Co-authored-by: Scott Lahteine <github@thinkyhead.com>
This commit is contained in:
InsanityAutomation 2022-05-12 06:38:05 -04:00 committed by Scott Lahteine
parent cb4ad020af
commit 7ed339cfa0
9 changed files with 222 additions and 53 deletions

View file

@ -352,19 +352,20 @@
#define BOARD_CREALITY_V431_D 4049 // Creality v4.3.1d (STM32F103RC / STM32F103RE) #define BOARD_CREALITY_V431_D 4049 // Creality v4.3.1d (STM32F103RC / STM32F103RE)
#define BOARD_CREALITY_V452 4050 // Creality v4.5.2 (STM32F103RC / STM32F103RE) #define BOARD_CREALITY_V452 4050 // Creality v4.5.2 (STM32F103RC / STM32F103RE)
#define BOARD_CREALITY_V453 4051 // Creality v4.5.3 (STM32F103RC / STM32F103RE) #define BOARD_CREALITY_V453 4051 // Creality v4.5.3 (STM32F103RC / STM32F103RE)
#define BOARD_CREALITY_V24S1 4052 // Creality v2.4.S1 (STM32F103RC / STM32F103RE) v101 as found in the Ender 7 #define BOARD_CREALITY_V24S1 4052 // Creality v2.4.S1 (STM32F103RC / STM32F103RE) v101 as found in the Ender-7
#define BOARD_CREALITY_V24S1_301 4053 // Creality v2.4.S1_301 (STM32F103RC / STM32F103RE) as found in the Ender 3 S1 #define BOARD_CREALITY_V24S1_301 4053 // Creality v2.4.S1_301 (STM32F103RC / STM32F103RE) v301 as found in the Ender-3 S1
#define BOARD_TRIGORILLA_PRO 4054 // Trigorilla Pro (STM32F103ZE) #define BOARD_CREALITY_V25S1 4054 // Creality v2.5.S1 (STM32F103RE) as found in the CR-10 Smart Pro
#define BOARD_FLY_MINI 4055 // FLYmaker FLY MINI (STM32F103RC) #define BOARD_TRIGORILLA_PRO 4055 // Trigorilla Pro (STM32F103ZE)
#define BOARD_FLSUN_HISPEED 4056 // FLSUN HiSpeedV1 (STM32F103VE) #define BOARD_FLY_MINI 4056 // FLYmaker FLY MINI (STM32F103RC)
#define BOARD_BEAST 4057 // STM32F103RE Libmaple-based controller #define BOARD_FLSUN_HISPEED 4057 // FLSUN HiSpeedV1 (STM32F103VE)
#define BOARD_MINGDA_MPX_ARM_MINI 4058 // STM32F103ZE Mingda MD-16 #define BOARD_BEAST 4058 // STM32F103RE Libmaple-based controller
#define BOARD_GTM32_PRO_VD 4059 // STM32F103VE controller #define BOARD_MINGDA_MPX_ARM_MINI 4059 // STM32F103ZE Mingda MD-16
#define BOARD_ZONESTAR_ZM3E2 4060 // Zonestar ZM3E2 (STM32F103RC) #define BOARD_GTM32_PRO_VD 4060 // STM32F103VE controller
#define BOARD_ZONESTAR_ZM3E4 4061 // Zonestar ZM3E4 V1 (STM32F103VC) #define BOARD_ZONESTAR_ZM3E2 4061 // Zonestar ZM3E2 (STM32F103RC)
#define BOARD_ZONESTAR_ZM3E4V2 4062 // Zonestar ZM3E4 V2 (STM32F103VC) #define BOARD_ZONESTAR_ZM3E4 4062 // Zonestar ZM3E4 V1 (STM32F103VC)
#define BOARD_ERYONE_ERY32_MINI 4063 // Eryone Ery32 mini (STM32F103VE) #define BOARD_ZONESTAR_ZM3E4V2 4063 // Zonestar ZM3E4 V2 (STM32F103VC)
#define BOARD_PANDA_PI_V29 4064 // Panda Pi V2.9 - Standalone (STM32F103RC) #define BOARD_ERYONE_ERY32_MINI 4064 // Eryone Ery32 mini (STM32F103VE)
#define BOARD_PANDA_PI_V29 4065 // Panda Pi V2.9 - Standalone (STM32F103RC)
// //
// ARM Cortex-M4F // ARM Cortex-M4F

View file

@ -583,6 +583,8 @@
#include "stm32f1/pins_CREALITY_V24S1.h" // STM32F1 env:STM32F103RE_creality env:STM32F103RE_creality_xfer env:STM32F103RC_creality env:STM32F103RC_creality_xfer env:STM32F103RE_creality_maple #include "stm32f1/pins_CREALITY_V24S1.h" // STM32F1 env:STM32F103RE_creality env:STM32F103RE_creality_xfer env:STM32F103RC_creality env:STM32F103RC_creality_xfer env:STM32F103RE_creality_maple
#elif MB(CREALITY_V24S1_301) #elif MB(CREALITY_V24S1_301)
#include "stm32f1/pins_CREALITY_V24S1_301.h" // STM32F1 env:STM32F103RE_creality env:STM32F103RE_creality_xfer env:STM32F103RC_creality env:STM32F103RC_creality_xfer env:STM32F103RE_creality_maple #include "stm32f1/pins_CREALITY_V24S1_301.h" // STM32F1 env:STM32F103RE_creality env:STM32F103RE_creality_xfer env:STM32F103RC_creality env:STM32F103RC_creality_xfer env:STM32F103RE_creality_maple
#elif MB(CREALITY_V25S1)
#include "stm32f1/pins_CREALITY_V25S1.h" // STM32F1 env:STM32F103RE_creality_smartPro env:STM32F103RE_creality_smartPro_maple
#elif MB(TRIGORILLA_PRO) #elif MB(TRIGORILLA_PRO)
#include "stm32f1/pins_TRIGORILLA_PRO.h" // STM32F1 env:trigorilla_pro env:trigorilla_pro_maple #include "stm32f1/pins_TRIGORILLA_PRO.h" // STM32F1 env:trigorilla_pro env:trigorilla_pro_maple
#elif MB(FLY_MINI) #elif MB(FLY_MINI)

View file

@ -22,7 +22,7 @@
#pragma once #pragma once
/** /**
* Creality v2.4.S1 (STM32F103RE / STM32F103RC) v101 as found in the Ender 7 board pin assignments * Creality v2.4.S1 (STM32F103RE / STM32F103RC) v101 as found in the Ender 7
*/ */
#define BOARD_INFO_NAME "Creality v2.4.S1 V101" #define BOARD_INFO_NAME "Creality v2.4.S1 V101"

View file

@ -0,0 +1,152 @@
/**
* 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
/**
* Creality v2.5.S1 (STM32F103RE / STM32F103RC) as found in the CR-10 Smart Pro
*/
#include "env_validate.h"
#if HAS_MULTI_HOTEND || E_STEPPERS > 1
#error "Creality V2.5.S1 only supports one hotend / E-stepper. Comment out this line to continue."
#endif
#define BOARD_INFO_NAME "Creality v2.5.S1"
#define DEFAULT_MACHINE_NAME "Creality3D"
//
// Release PB4 (Y_ENABLE_PIN) from JTAG NRST role
//
#define DISABLE_DEBUG
//
// EEPROM
//
#if NO_EEPROM_SELECTED
#define IIC_BL24CXX_EEPROM // EEPROM on I2C-0
//#define SDCARD_EEPROM_EMULATION
//#define FLASH_EEPROM_EMULATION
#endif
#if ENABLED(IIC_BL24CXX_EEPROM)
#define IIC_EEPROM_SDA PA11
#define IIC_EEPROM_SCL PA12
#define MARLIN_EEPROM_SIZE 0x800 // 2K (24C16)
#elif EITHER(SDCARD_EEPROM_EMULATION, FLASH_EEPROM_EMULATION)
#define MARLIN_EEPROM_SIZE 0x800 // 2K
#endif
//
// Limit Switches
//
#define X_STOP_PIN PC4
#define Y_STOP_PIN PC5
#if ENABLED(BLTOUCH)
#define Z_STOP_PIN -1
#define SERVO0_PIN PC14 // BLTouch OUT PIN
#ifndef Z_MIN_PROBE_PIN
#define Z_MIN_PROBE_PIN PC15 // BLTouch IN PIN
#endif
#else
#define Z_STOP_PIN PC15
#if ENABLED(PROBE_ACTIVATION_SWITCH)
#define PROBE_TARE_PIN PC14
#define PROBE_ACTIVATION_SWITCH_PIN PB2
#endif
#endif
//
// Filament Runout Sensor
//
#if ENABLED(FILAMENT_RUNOUT_SENSOR)
#define FIL_RUNOUT_PIN PA15 // "Pulled-high"
#endif
//
// Steppers
//
#define X_STEP_PIN PB8
#define X_DIR_PIN PB7
#define X_ENABLE_PIN PC3
#define Y_STEP_PIN PB6
#define Y_DIR_PIN PB5
#define Y_ENABLE_PIN X_ENABLE_PIN
#define Z_STEP_PIN PB4
#define Z_DIR_PIN PB3
#define Z_ENABLE_PIN X_ENABLE_PIN
#define E0_STEP_PIN PC2
#define E0_DIR_PIN PB9
#define E0_ENABLE_PIN X_ENABLE_PIN
//
// Temperature Sensors
//
#define TEMP_0_PIN PB1 // TH1
#define TEMP_BED_PIN PB0 // TB1
//
// Heaters / Fans
//
#define HEATER_0_PIN PB14 // HEATER1
#define HEATER_BED_PIN PB13 // HOT BED
#define FAN_PIN PB15 // FAN
#ifndef E0_AUTO_FAN_PIN
#define E0_AUTO_FAN_PIN PC13 // FAN
#endif
#define FAN_SOFT_PWM_REQUIRED
//
// SD Card
//
#define SD_DETECT_PIN PC7
#define SDCARD_CONNECTION ONBOARD
#define ON_BOARD_SPI_DEVICE 1
#define ONBOARD_SD_CS_PIN PC12 // SDSS
#define SDIO_SUPPORT
#define NO_SD_HOST_DRIVE // This board's SD is only seen by the printer
//
// Misc. Functions
//
#define CASE_LIGHT_PIN PA7
//
// Suicide Power
//
#define PS_ON_PIN PA0
#define MOTOR_CIRCUIT_PIN PA1
//
// Motor Protect
//
#define MOTOR_PROTECT_PIN PC0
//
// WiFi Reset
//
#define RESET_WIFI_PIN PB12

View file

@ -40,6 +40,11 @@
#define BOARD_NO_NATIVE_USB #define BOARD_NO_NATIVE_USB
//
// Release PB4 (Y_ENABLE_PIN) from JTAG NRST role
//
#define DISABLE_DEBUG
// //
// EEPROM // EEPROM
// //
@ -122,11 +127,6 @@
#endif #endif
#define E0_ENABLE_PIN X_ENABLE_PIN #define E0_ENABLE_PIN X_ENABLE_PIN
//
// Release PB4 (Y_ENABLE_PIN) from JTAG NRST role
//
#define DISABLE_DEBUG
// //
// Temperature Sensors // Temperature Sensors
// //

View file

@ -40,34 +40,24 @@
#define BOARD_NO_NATIVE_USB #define BOARD_NO_NATIVE_USB
//
// Release PB4 (Y_ENABLE_PIN) from JTAG NRST role
//
#define DISABLE_DEBUG
// //
// EEPROM // EEPROM
// //
#if NO_EEPROM_SELECTED #if NO_EEPROM_SELECTED
// FLASH #define IIC_BL24CXX_EEPROM // EEPROM on I2C-0
//#define FLASH_EEPROM_EMULATION #endif
#if ENABLED(IIC_BL24CXX_EEPROM)
// I2C
#define IIC_BL24CXX_EEPROM // EEPROM on I2C-0 used only for display settings
#if ENABLED(IIC_BL24CXX_EEPROM)
#define IIC_EEPROM_SDA PA11 #define IIC_EEPROM_SDA PA11
#define IIC_EEPROM_SCL PA12 #define IIC_EEPROM_SCL PA12
#define MARLIN_EEPROM_SIZE 0x800 // 2K (24C16) #define MARLIN_EEPROM_SIZE 0x800 // 2K (24C16)
#else #else
#define SDCARD_EEPROM_EMULATION // SD EEPROM until all EEPROM is BL24CXX #define SDCARD_EEPROM_EMULATION // SD EEPROM until all EEPROM is BL24CXX
#define MARLIN_EEPROM_SIZE 0x800 // 2K #define MARLIN_EEPROM_SIZE 0x800 // 2K
#endif
// SPI
//#define SPI_EEPROM // EEPROM on SPI-0
//#define SPI_CHAN_EEPROM1 ?
//#define SPI_EEPROM1_CS_PIN ?
// 2K EEPROM
//#define SPI_EEPROM2_CS_PIN ?
// 32Mb FLASH
//#define SPI_FLASH_CS_PIN ?
#endif #endif
// //
@ -82,7 +72,9 @@
#define Y_STOP_PIN PA7 #define Y_STOP_PIN PA7
#define Z_STOP_PIN PA5 #define Z_STOP_PIN PA5
#define Z_MIN_PROBE_PIN PA5 // BLTouch IN #ifndef Z_MIN_PROBE_PIN
#define Z_MIN_PROBE_PIN PA5 // BLTouch IN
#endif
// //
// Filament Runout Sensor // Filament Runout Sensor
@ -94,42 +86,37 @@
// //
// Steppers // Steppers
// //
#define X_ENABLE_PIN PC3
#ifndef X_STEP_PIN #ifndef X_STEP_PIN
#define X_STEP_PIN PC2 #define X_STEP_PIN PC2
#endif #endif
#ifndef X_DIR_PIN #ifndef X_DIR_PIN
#define X_DIR_PIN PB9 #define X_DIR_PIN PB9
#endif #endif
#define X_ENABLE_PIN PC3
#define Y_ENABLE_PIN PC3
#ifndef Y_STEP_PIN #ifndef Y_STEP_PIN
#define Y_STEP_PIN PB8 #define Y_STEP_PIN PB8
#endif #endif
#ifndef Y_DIR_PIN #ifndef Y_DIR_PIN
#define Y_DIR_PIN PB7 #define Y_DIR_PIN PB7
#endif #endif
#define Y_ENABLE_PIN X_ENABLE_PIN
#define Z_ENABLE_PIN PC3
#ifndef Z_STEP_PIN #ifndef Z_STEP_PIN
#define Z_STEP_PIN PB6 #define Z_STEP_PIN PB6
#endif #endif
#ifndef Z_DIR_PIN #ifndef Z_DIR_PIN
#define Z_DIR_PIN PB5 #define Z_DIR_PIN PB5
#endif #endif
#define Z_ENABLE_PIN X_ENABLE_PIN
#define E0_ENABLE_PIN PC3
#ifndef E0_STEP_PIN #ifndef E0_STEP_PIN
#define E0_STEP_PIN PB4 #define E0_STEP_PIN PB4
#endif #endif
#ifndef E0_DIR_PIN #ifndef E0_DIR_PIN
#define E0_DIR_PIN PB3 #define E0_DIR_PIN PB3
#endif #endif
#define E0_ENABLE_PIN X_ENABLE_PIN
//
// Release PB4 (Y_ENABLE_PIN) from JTAG NRST role
//
#define DISABLE_DEBUG
// //
// Temperature Sensors // Temperature Sensors

View file

@ -0,0 +1,14 @@
MEMORY
{
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 64K - 40
rom (rx) : ORIGIN = 0x08010000, LENGTH = 512K - 64K
}
/* Provide memory region aliases for common.inc */
REGION_ALIAS("REGION_TEXT", rom);
REGION_ALIAS("REGION_DATA", ram);
REGION_ALIAS("REGION_BSS", ram);
REGION_ALIAS("REGION_RODATA", rom);
/* Let common.inc handle the real work. */
INCLUDE common.inc

View file

@ -147,6 +147,14 @@ extra_scripts = ${common_stm32f1.extra_scripts}
debug_tool = jlink debug_tool = jlink
upload_protocol = jlink upload_protocol = jlink
#
# Creality (STM32F103RET6)
#
[env:STM32F103RE_creality_smartPro_maple]
extends = env:STM32F103RE_creality_maple
board_build.address = 0x08010000
board_build.ldscript = crealityPro.ld
# #
# BigTree SKR Mini E3 V2.0 & DIP / SKR CR6 (STM32F103RET6 ARM Cortex-M3) # BigTree SKR Mini E3 V2.0 & DIP / SKR CR6 (STM32F103RET6 ARM Cortex-M3)
# #

View file

@ -153,6 +153,11 @@ board = genericSTM32F103RE
extends = STM32F103Rx_creality_xfer extends = STM32F103Rx_creality_xfer
board = genericSTM32F103RE board = genericSTM32F103RE
[env:STM32F103RE_creality_smartPro]
extends = STM32F103Rx_creality
board_build.offset = 0x10000
board_upload.offset_address = 0x08010000
# #
# Creality 256K (STM32F103RC) # Creality 256K (STM32F103RC)
# #