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_V452 4050 // Creality v4.5.2 (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_301 4053 // Creality v2.4.S1_301 (STM32F103RC / STM32F103RE) as found in the Ender 3 S1
#define BOARD_TRIGORILLA_PRO 4054 // Trigorilla Pro (STM32F103ZE)
#define BOARD_FLY_MINI 4055 // FLYmaker FLY MINI (STM32F103RC)
#define BOARD_FLSUN_HISPEED 4056 // FLSUN HiSpeedV1 (STM32F103VE)
#define BOARD_BEAST 4057 // STM32F103RE Libmaple-based controller
#define BOARD_MINGDA_MPX_ARM_MINI 4058 // STM32F103ZE Mingda MD-16
#define BOARD_GTM32_PRO_VD 4059 // STM32F103VE controller
#define BOARD_ZONESTAR_ZM3E2 4060 // Zonestar ZM3E2 (STM32F103RC)
#define BOARD_ZONESTAR_ZM3E4 4061 // Zonestar ZM3E4 V1 (STM32F103VC)
#define BOARD_ZONESTAR_ZM3E4V2 4062 // Zonestar ZM3E4 V2 (STM32F103VC)
#define BOARD_ERYONE_ERY32_MINI 4063 // Eryone Ery32 mini (STM32F103VE)
#define BOARD_PANDA_PI_V29 4064 // Panda Pi V2.9 - Standalone (STM32F103RC)
#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) v301 as found in the Ender-3 S1
#define BOARD_CREALITY_V25S1 4054 // Creality v2.5.S1 (STM32F103RE) as found in the CR-10 Smart Pro
#define BOARD_TRIGORILLA_PRO 4055 // Trigorilla Pro (STM32F103ZE)
#define BOARD_FLY_MINI 4056 // FLYmaker FLY MINI (STM32F103RC)
#define BOARD_FLSUN_HISPEED 4057 // FLSUN HiSpeedV1 (STM32F103VE)
#define BOARD_BEAST 4058 // STM32F103RE Libmaple-based controller
#define BOARD_MINGDA_MPX_ARM_MINI 4059 // STM32F103ZE Mingda MD-16
#define BOARD_GTM32_PRO_VD 4060 // STM32F103VE controller
#define BOARD_ZONESTAR_ZM3E2 4061 // Zonestar ZM3E2 (STM32F103RC)
#define BOARD_ZONESTAR_ZM3E4 4062 // Zonestar ZM3E4 V1 (STM32F103VC)
#define BOARD_ZONESTAR_ZM3E4V2 4063 // Zonestar ZM3E4 V2 (STM32F103VC)
#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

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
#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
#elif MB(CREALITY_V25S1)
#include "stm32f1/pins_CREALITY_V25S1.h" // STM32F1 env:STM32F103RE_creality_smartPro env:STM32F103RE_creality_smartPro_maple
#elif MB(TRIGORILLA_PRO)
#include "stm32f1/pins_TRIGORILLA_PRO.h" // STM32F1 env:trigorilla_pro env:trigorilla_pro_maple
#elif MB(FLY_MINI)

View file

@ -22,7 +22,7 @@
#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"

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
//
// Release PB4 (Y_ENABLE_PIN) from JTAG NRST role
//
#define DISABLE_DEBUG
//
// EEPROM
//
@ -122,11 +127,6 @@
#endif
#define E0_ENABLE_PIN X_ENABLE_PIN
//
// Release PB4 (Y_ENABLE_PIN) from JTAG NRST role
//
#define DISABLE_DEBUG
//
// Temperature Sensors
//

View file

@ -40,15 +40,17 @@
#define BOARD_NO_NATIVE_USB
//
// Release PB4 (Y_ENABLE_PIN) from JTAG NRST role
//
#define DISABLE_DEBUG
//
// EEPROM
//
#if NO_EEPROM_SELECTED
// FLASH
//#define FLASH_EEPROM_EMULATION
// I2C
#define IIC_BL24CXX_EEPROM // EEPROM on I2C-0 used only for display settings
#define IIC_BL24CXX_EEPROM // EEPROM on I2C-0
#endif
#if ENABLED(IIC_BL24CXX_EEPROM)
#define IIC_EEPROM_SDA PA11
#define IIC_EEPROM_SCL PA12
@ -58,18 +60,6 @@
#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
//
// Servos
//
@ -82,7 +72,9 @@
#define Y_STOP_PIN PA7
#define Z_STOP_PIN PA5
#ifndef Z_MIN_PROBE_PIN
#define Z_MIN_PROBE_PIN PA5 // BLTouch IN
#endif
//
// Filament Runout Sensor
@ -94,42 +86,37 @@
//
// Steppers
//
#define X_ENABLE_PIN PC3
#ifndef X_STEP_PIN
#define X_STEP_PIN PC2
#endif
#ifndef X_DIR_PIN
#define X_DIR_PIN PB9
#endif
#define X_ENABLE_PIN PC3
#define Y_ENABLE_PIN PC3
#ifndef Y_STEP_PIN
#define Y_STEP_PIN PB8
#endif
#ifndef Y_DIR_PIN
#define Y_DIR_PIN PB7
#endif
#define Y_ENABLE_PIN X_ENABLE_PIN
#define Z_ENABLE_PIN PC3
#ifndef Z_STEP_PIN
#define Z_STEP_PIN PB6
#endif
#ifndef Z_DIR_PIN
#define Z_DIR_PIN PB5
#endif
#define Z_ENABLE_PIN X_ENABLE_PIN
#define E0_ENABLE_PIN PC3
#ifndef E0_STEP_PIN
#define E0_STEP_PIN PB4
#endif
#ifndef E0_DIR_PIN
#define E0_DIR_PIN PB3
#endif
//
// Release PB4 (Y_ENABLE_PIN) from JTAG NRST role
//
#define DISABLE_DEBUG
#define E0_ENABLE_PIN X_ENABLE_PIN
//
// 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
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)
#

View file

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