Skip to content

Commit

Permalink
Add Creality 4.5.2 board (MarlinFirmware#20378)
Browse files Browse the repository at this point in the history
Co-authored-by: Jason Smith <[email protected]>
  • Loading branch information
2 people authored and zillarob committed Feb 25, 2021
1 parent 5a115aa commit 7d24b8b
Show file tree
Hide file tree
Showing 3 changed files with 117 additions and 0 deletions.
2 changes: 2 additions & 0 deletions Marlin/src/HAL/STM32F1/HAL.h
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,8 @@
#else
#error "LCD_SERIAL_PORT must be -1 or from 1 to 3. Please update your configuration."
#endif

#define SERIAL_GET_TX_BUFFER_FREE LCD_SERIAL.availableForWrite
#endif

// Set interrupt grouping for this MCU
Expand Down
2 changes: 2 additions & 0 deletions Marlin/src/pins/pins.h
Original file line number Diff line number Diff line change
Expand Up @@ -576,6 +576,8 @@
#include "stm32f1/pins_CREALITY_V4.h" // STM32F1 env:STM32F103RET6_creality
#elif MB(CREALITY_V427)
#include "stm32f1/pins_CREALITY_V427.h" // STM32F1 env:STM32F103RET6_creality
#elif MB(CREALITY_V452)
#include "stm32f1/pins_CREALITY_V452.h" // STM32F1 env:STM32F103RET6_creality
#elif MB(TRIGORILLA_PRO)
#include "stm32f1/pins_TRIGORILLA_PRO.h" // STM32F1 env:trigorilla_pro
#elif MB(FLY_MINI)
Expand Down
113 changes: 113 additions & 0 deletions Marlin/src/pins/stm32f1/pins_CREALITY_V452.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
/**
* Marlin 3D Printer Firmware
* Copyright (C) 2020 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 <http://www.gnu.org/licenses/>.
*
*/

/**
* Creality v4.5.2 (STM32F103RET6) board pin assignments
*/

#if NOT_TARGET(__STM32F1__)
#error "Oops! Select an STM32F1 board in 'Tools > Board.'"
#elif HOTENDS > 1 || E_STEPPERS > 1
#error "CREALITY_V452 supports up to 1 hotends / E-steppers. Comment out this line to continue."
#endif

#define BOARD_NAME "Creality v4.5.2"
#define DEFAULT_MACHINE_NAME "Creality3D"

#define BOARD_NO_NATIVE_USB

//
// EEPROM
//
#if NO_EEPROM_SELECTED
#define IIC_BL24CXX_EEPROM // EEPROM on I2C-0
//#define SDCARD_EEPROM_EMULATION
#endif

#if ENABLED(IIC_BL24CXX_EEPROM)
#define IIC_EEPROM_SDA PA11
#define IIC_EEPROM_SCL PA12
#define MARLIN_EEPROM_SIZE 0x800 // 2Kb (24C16)
#elif ENABLED(SDCARD_EEPROM_EMULATION)
#define MARLIN_EEPROM_SIZE 0x800 // 2Kb
#endif

//
// Limit Switches
//
#define X_MIN_PIN PC4
// #define X_MAX_PIN PA7
#define Y_MIN_PIN PC5
#define Z_MIN_PIN PA4
#define PROBE_TARE_PIN PA5

//
// Steppers
//
#define X_ENABLE_PIN PC3
#define X_STEP_PIN PB8
#define X_DIR_PIN PB7

#define Y_ENABLE_PIN PC3
#define Y_STEP_PIN PB6
#define Y_DIR_PIN PB5

#define Z_ENABLE_PIN PC3
#define Z_STEP_PIN PB4
#define Z_DIR_PIN PB3

#define E0_ENABLE_PIN PC3
#define E0_STEP_PIN PC2
#define E0_DIR_PIN PB9


//
// Release PB4 (Z_STEP_PIN) from JTAG NRST role
//
#define DISABLE_DEBUG

//
// Temperature Sensors
//
#define TEMP_0_PIN PB1 // TH1
#define TEMP_BED_PIN PB0 // TB1

//
// Heaters / Fans

#define HEATER_0_PIN PA1 // HEATER1
#define HEATER_BED_PIN PA2 // HOT BED

#define FAN_PIN PA0 // FAN
#define FAN_SOFT_PWM

/* SD card detect */
#define SD_DETECT_PIN PC7
#define NO_SD_HOST_DRIVE // SD is only seen by the printer

#define SDIO_SUPPORT // Extra added by Creality
#define SDIO_CLOCK 6000000 // In original source code overridden by Creality in sdio.h

#define CASE_LIGHT_PIN PA6

#define FIL_RUNOUT_PIN PA7
#define PROBE_ENABLE_PIN PC6 // Optoswitch to Enable Z Probe

0 comments on commit 7d24b8b

Please sign in to comment.