453 board support

This commit is contained in:
InsanityAutomation
2020-12-27 13:08:16 -05:00
parent e082d40d32
commit 6305bda964
28 changed files with 668 additions and 163 deletions
+2 -2
View File
@@ -128,7 +128,7 @@
// Choose the name from boards.h that matches your setup
#ifndef MOTHERBOARD
#define MOTHERBOARD BOARD_CREALITY_V452
#define MOTHERBOARD BOARD_CREALITY_V453
#endif
// Name displayed in the LCD "Ready" message and Info menu
@@ -1000,7 +1000,7 @@
#define PROBE_ACTIVE_INPUT
#if ENABLED(PROBE_ACTIVE_INPUT)
#define PROBE_ACTIVE_INPUT_STATE LOW // State indicating probe is active
//#define PROBE_ACTIVE_INPUT_PIN PC6 // Override default pin
//#define PROBE_ENABLE_PIN PC6 // Override default pin
#endif
// Probe should be tared prior to each probe
+6 -4
View File
@@ -330,10 +330,11 @@
#define BOARD_CREALITY_V4 4037 // Creality v4.x (STM32F103RE)
#define BOARD_CREALITY_V427 4038 // Creality v4.2.7 (STM32F103RE)
#define BOARD_CREALITY_V452 4039 // Creality v4.5.2 (STM32F103RE)
#define BOARD_TRIGORILLA_PRO 4040 // Trigorilla Pro (STM32F103ZET6)
#define BOARD_FLY_MINI 4041 // FLY MINI (STM32F103RCT6)
#define BOARD_FLSUN_HISPEED 4042 // FLSUN HiSpeedV1 (STM32F103VET6)
#define BOARD_BEAST 4043 // STM32F103RET6 Libmaple-based controller
#define BOARD_CREALITY_V453 4040 // Creality v4.5.3 (STM32F103RE)
#define BOARD_TRIGORILLA_PRO 4041 // Trigorilla Pro (STM32F103ZET6)
#define BOARD_FLY_MINI 4042 // FLY MINI (STM32F103RCT6)
#define BOARD_FLSUN_HISPEED 4043 // FLSUN HiSpeedV1 (STM32F103VET6)
#define BOARD_BEAST 4044 // STM32F103RET6 Libmaple-based controller
//
// ARM Cortex-M4F
@@ -366,6 +367,7 @@
#define BOARD_FLYF407ZG 4217 // FLYF407ZG board (STM32F407ZG)
#define BOARD_MKS_ROBIN2 4218 // MKS_ROBIN2 (STM32F407ZE)
#define BOARD_MKS_ROBIN_PRO_V2 4219 // MKS Robin Pro V2 (STM32F407VE)
#define BOARD_MKS_ROBIN_NANO_V3 4220 // MKS Robin Nano V3 (STM32F407VG)
//
// ARM Cortex M7
+4 -4
View File
@@ -280,8 +280,8 @@ void Endstops::init() {
#endif
#endif
#if PIN_EXISTS(PROBE_ACTIVE_INPUT)
SET_INPUT(PROBE_ACTIVE_INPUT_PIN);
#if PIN_EXISTS(PROBE_ENABLE_PIN)
SET_INPUT(PROBE_ENABLE_PIN);
#endif
#if ENABLED(PROBE_TARE)
@@ -467,7 +467,7 @@ void _O2 Endstops::report_states() {
ES_REPORT(Z4_MAX);
#endif
#if ENABLED(PROBE_ACTIVE_INPUT)
print_es_state(READ(PROBE_ACTIVE_INPUT_PIN) == PROBE_ACTIVE_INPUT_STATE, PSTR("Probe Enable Pin"));
print_es_state(READ(PROBE_ENABLE_PIN) == PROBE_ACTIVE_INPUT_STATE, PSTR("Probe Enable Pin"));
#endif
#if HAS_CUSTOM_PROBE_PIN
print_es_state(PROBE_TRIGGERED(), PSTR(STR_Z_PROBE));
@@ -619,7 +619,7 @@ void Endstops::update() {
#endif
#if ENABLED(PROBE_ACTIVE_INPUT)
if (READ(PROBE_ACTIVE_INPUT_PIN) == PROBE_ACTIVE_INPUT_STATE)
if (READ(PROBE_ENABLE_PIN) == PROBE_ACTIVE_INPUT_STATE)
#endif
{
UPDATE_ENDSTOP_BIT(Z, TERN(HAS_CUSTOM_PROBE_PIN, MIN_PROBE, MIN));
+1 -1
View File
@@ -512,7 +512,7 @@ bool Probe::probe_down_to_z(const float z, const feedRate_t fr_mm_s) {
*/
bool Probe::tare_z_probe() {
#if ENABLED(PROBE_TARE_ONLY_WHILE_INACTIVE)
if ((READ(PROBE_ACTIVE_INPUT_PIN) == PROBE_ACTIVE_INPUT_STATE)) {
if ((READ(PROBE_ENABLE_PIN) == PROBE_ACTIVE_INPUT_STATE)) {
SERIAL_ECHOLN("Cannot tare probe, already active");
return true;
}
@@ -21,7 +21,7 @@
*/
#pragma once
#ifdef SKR_HAS_LPC1769
#if ENABLED(SKR_HAS_LPC1769)
#if NOT_TARGET(MCU_LPC1769)
#error "Oops! Make sure you have the LPC1769 environment selected in your IDE."
#endif
@@ -35,9 +35,9 @@
#if BOTH(HAS_WIRED_LCD, HAS_BTT_EXP_MOT)
#if EITHER(CR10_STOCKDISPLAY, ENDER2_STOCKDISPLAY)
#define EXP_MOT_USE_EXP2_ONLY
#define EXP_MOT_USE_EXP2_ONLY 1
#else
#error "Having a LCD that uses both EXP1/EXP2 and a expanion motor module on EXP1/EXP2 is not possible."
#error "You can't use both an LCD and a Motor Expansion Module on EXP1/EXP2 at the same time."
#endif
#endif
@@ -146,7 +146,7 @@
#define E2_STEP_PIN EXPA2_05_PIN
#define E2_DIR_PIN EXPA2_06_PIN
#define E2_ENABLE_PIN EXPA2_04_PIN
#ifndef EXP_MOT_USE_EXP2_ONLY
#if !EXP_MOT_USE_EXP2_ONLY
#define E2_DIAG_PIN EXPA1_06_PIN
#define E2_CS_PIN EXPA1_05_PIN
#if HAS_TMC_UART
@@ -158,7 +158,7 @@
// M2 on Driver Expansion Module
#define E3_STEP_PIN EXPA2_08_PIN
#define E3_DIR_PIN EXPA2_07_PIN
#ifndef EXP_MOT_USE_EXP2_ONLY
#if !EXP_MOT_USE_EXP2_ONLY
#define E3_ENABLE_PIN EXPA1_03_PIN
#define E3_DIAG_PIN EXPA1_08_PIN
#define E3_CS_PIN EXPA1_07_PIN
@@ -173,7 +173,7 @@
// M3 on Driver Expansion Module
#define E4_STEP_PIN EXPA2_10_PIN
#define E4_DIR_PIN EXPA2_09_PIN
#ifndef EXP_MOT_USE_EXP2_ONLY
#if !EXP_MOT_USE_EXP2_ONLY
#define E4_ENABLE_PIN EXPA1_04_PIN
#define E4_DIAG_PIN EXPA1_10_PIN
#define E4_CS_PIN EXPA1_09_PIN
@@ -118,6 +118,7 @@
#ifndef DIGIPOT_I2C_ADDRESS_A
#define DIGIPOT_I2C_ADDRESS_A 0x2F // unshifted slave address (5E <- 2F << 1)
#endif
#define DIGIPOT_ENABLE_I2C_PULLUPS // MightyBoard doesn't have hardware I2C pin pull-ups.
//
// Temperature Sensors
+4
View File
@@ -532,6 +532,8 @@
#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(CREALITY_V453)
#include "stm32f1/pins_CREALITY_V453.h" // STM32F1 env:STM32F103RET6_creality
#elif MB(TRIGORILLA_PRO)
#include "stm32f1/pins_TRIGORILLA_PRO.h" // STM32F1 env:trigorilla_pro
#elif MB(FLY_MINI)
@@ -590,6 +592,8 @@
#include "stm32f4/pins_MKS_ROBIN2.h" // STM32F4 env:MKS_ROBIN2
#elif MB(MKS_ROBIN_PRO_V2)
#include "stm32f4/pins_MKS_ROBIN_PRO_V2.h" // STM32F4 env:mks_robin_pro2
#elif MB(MKS_ROBIN_NANO_V3)
#include "stm32f4/pins_MKS_ROBIN_NANO_V3.h" // STM32F4 env:mks_robin_nano_v3
//
// ARM Cortex M7
+1 -2
View File
@@ -226,7 +226,7 @@
#define DOGLCD_SCK 17
#define DOGLCD_A0 LCD_PINS_DC
#define KILL_PIN -1 // NC
#undef KILL_PIN
#define NEOPIXEL_PIN 27
#else
@@ -243,7 +243,6 @@
#define LCD_BACKLIGHT_PIN 27
#endif
#define KILL_PIN 41
#define LCD_RESET_PIN 23 // Must be high or open for LCD to operate normally.
// Seems to work best if left open.
@@ -28,7 +28,7 @@
#if NOT_TARGET(__AVR_ATmega2560__)
#error "Oops! Select 'Arduino/Genuino Mega or Mega 2560' in 'Tools > Board.'"
#elif HOTENDS > 1 || E_STEPPERS > 1
#error "Longer3D LGT KIT V1.0 board only supports 1 hotend / E-stepper. Comment out this line to continue."
#error "Longer3D LGT KIT V1.0 board only supports one hotend / E-stepper. Comment out this line to continue."
#endif
#if SERIAL_PORT == 1 || SERIAL_PORT_2 == 1
+1 -1
View File
@@ -22,7 +22,7 @@
#pragma once
#if HOTENDS > 1 || E_STEPPERS > 1
#error "Ender-4 supports only 1 hotend / E-stepper. Comment out this line to continue."
#error "Ender-4 only supports one hotend / E-stepper. Comment out this line to continue."
#endif
#define BOARD_INFO_NAME "Ender-4"
@@ -34,4 +34,18 @@
#define Y_HARDWARE_SERIAL MSerial4
#define Z_HARDWARE_SERIAL MSerial4
#define E0_HARDWARE_SERIAL MSerial4
// Default TMC slave addresses
#ifndef X_SLAVE_ADDRESS
#define X_SLAVE_ADDRESS 0
#endif
#ifndef Y_SLAVE_ADDRESS
#define Y_SLAVE_ADDRESS 2
#endif
#ifndef Z_SLAVE_ADDRESS
#define Z_SLAVE_ADDRESS 1
#endif
#ifndef E0_SLAVE_ADDRESS
#define E0_SLAVE_ADDRESS 3
#endif
#endif
@@ -49,13 +49,27 @@
#define CONTROLLER_FAN_PIN FAN1_PIN
#endif
/**
* TMC220x stepper drivers
* Hardware serial communication ports.
*/
#if HAS_TMC_UART
/**
* TMC220x stepper drivers
* Hardware serial communication ports
*/
#define X_HARDWARE_SERIAL MSerial4
#define Y_HARDWARE_SERIAL MSerial4
#define Z_HARDWARE_SERIAL MSerial4
#define E0_HARDWARE_SERIAL MSerial4
// Default TMC slave addresses
#ifndef X_SLAVE_ADDRESS
#define X_SLAVE_ADDRESS 0
#endif
#ifndef Y_SLAVE_ADDRESS
#define Y_SLAVE_ADDRESS 2
#endif
#ifndef Z_SLAVE_ADDRESS
#define Z_SLAVE_ADDRESS 1
#endif
#ifndef E0_SLAVE_ADDRESS
#define E0_SLAVE_ADDRESS 3
#endif
#endif
@@ -24,7 +24,7 @@
#if NOT_TARGET(TARGET_STM32F1)
#error "Oops! Select an STM32F1 board in 'Tools > Board.'"
#elif HOTENDS > 1 || E_STEPPERS > 1
#error "CCROBOT-ONLINE MEEB_3DP only supports 1 hotend / E-stepper. Comment out this line to continue."
#error "CCROBOT-ONLINE MEEB_3DP only supports one hotend / E-stepper. Comment out this line to continue."
#endif
// https://github.com/ccrobot-online/MEEB_3DP
+12 -6
View File
@@ -48,17 +48,21 @@
#endif
#if ENABLED(IIC_BL24CXX_EEPROM)
#define IIC_EEPROM_SDA PA11
#define IIC_EEPROM_SCL PA12
#define MARLIN_EEPROM_SIZE 0x800 // 2Kb (24C16)
#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
#define MARLIN_EEPROM_SIZE 0x800 // 2Kb
#endif
//
// Servos
//
#define SERVO0_PIN PB0 // BLTouch OUT
#ifndef HAS_PIN_27_BOARD
#define SERVO0_PIN PB0 // BLTouch OUT
#else
#define SERVO0_PIN PC6
#endif
//
// Limit Switches
@@ -156,7 +160,9 @@
#define BTN_EN1 PB10
#define BTN_EN2 PB14
#define BEEPER_PIN PC6
#ifndef HAS_PIN_27_BOARD
#define BEEPER_PIN PC6
#endif
#elif ENABLED(VET6_12864_LCD)
+4 -86
View File
@@ -24,97 +24,15 @@
* 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."
#if HOTENDS > 1 || E_STEPPERS > 1
#error "Creality v4.5.2 only supports one hotend / E-stepper. Comment out this line to continue."
#endif
#define BOARD_NAME "Creality v4.5.2"
#define DEFAULT_MACHINE_NAME "Creality3D"
//
// Release PB4 (Z_STEP_PIN) from JTAG NRST role
//
#define DISABLE_DEBUG
#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_STOP_PIN PC4
#define Y_STOP_PIN PC5
#define Z_STOP_PIN PA4
#define FIL_RUNOUT_PIN PA7
//
// Probe
//
#define PROBE_TARE_PIN PA5
#define PROBE_ACTIVE_INPUT_PIN PC6 // Optoswitch to indicate probe is near bed (active)
//
// 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
//
// 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
#define PROBE_ENABLE_PIN PC6 // Optoswitch to Enable Z Probe
//
// SD Card
//
#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
//
// Misc. Functions
//
#define CASE_LIGHT_PIN PA6
#include "pins_CREALITY_V45x.h"
@@ -0,0 +1,38 @@
/**
* 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 <https://www.gnu.org/licenses/>.
*
*/
/**
* Creality v4.5.3 (STM32F103RET6) board pin assignments
*/
#if HOTENDS > 1 || E_STEPPERS > 1
#error "Creality v4.5.3 only supports one hotend / E-stepper. Comment out this line to continue."
#endif
#define BOARD_NAME "Creality v4.5.3"
#define HEATER_0_PIN PB14 // HEATER1
#define HEATER_BED_PIN PB13 // HOT BED
#define FAN_PIN PB15 // FAN
#define PROBE_ENABLE_PIN PB2 // Optoswitch to Enable Z Probe
#include "pins_CREALITY_V45x.h"
@@ -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 <https://www.gnu.org/licenses/>.
*
*/
/**
* Creality v4.5.2 and v4.5.3 (STM32F103RET6) board pin assignments
*/
#if NOT_TARGET(__STM32F1__)
#error "Oops! Select an STM32F1 board in 'Tools > Board.'"
#endif
#define DEFAULT_MACHINE_NAME "Creality3D"
//
// Release PB4 (Z_STEP_PIN) from JTAG NRST role
//
#define DISABLE_DEBUG
#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_STOP_PIN PC4
#define Y_STOP_PIN PC5
#define Z_STOP_PIN PA4
#define FIL_RUNOUT_PIN PA7
//
// Probe
//
#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
//
// Temperature Sensors
//
#define TEMP_0_PIN PB1 // TH1
#define TEMP_BED_PIN PB0 // TB1
//
// Heaters / Fans
//
#define FAN_SOFT_PWM
//
// SD Card
//
#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
//
// Misc. Functions
//
#define CASE_LIGHT_PIN PA6
+32 -29
View File
@@ -32,7 +32,7 @@
#if NOT_TARGET(__STM32F1__, STM32F1xx)
#error "Oops! Select an STM32F1 board in 'Tools > Board.'"
#elif HOTENDS > 1 || E_STEPPERS > 1
#error "FLSUN HiSpeedV1 supports 1 hotend / E-stepper. Comment out this line to continue."
#error "FLSUN HiSpeedV1 only supports one hotend / E-stepper. Comment out this line to continue."
#endif
#define BOARD_INFO_NAME "FLSun HiSpeedV1"
@@ -60,6 +60,9 @@
// Note: FLSun Hispeed (clone MKS_Robin_miniV2) board is using SPI2 interface.
//
#define SPI_DEVICE 2
#define SCK_PIN PB13 // SPI2
#define MISO_PIN PB14 // SPI2
#define MOSI_PIN PB15 // SPI2
// SPI Flash
#define HAS_SPI_FLASH 1
@@ -269,43 +272,42 @@
#error "FLSun HiSpeed default BEEPER_PIN is not a SPEAKER."
#endif
/**
* Note: MKS Robin TFT screens use various TFT controllers
* Supported screens are based on the ILI9341, ST7789V and ILI9328 (320x240)
* ILI9488 is not supported
* Define init sequences for other screens in u8g_dev_tft_320x240_upscale_from_128x64.cpp
*
* If the screen stays white, disable 'LCD_RESET_PIN'
* to let the bootloader init the screen.
*
* Setting an 'LCD_RESET_PIN' may cause a flicker when entering the LCD menu
* because Marlin uses the reset as a failsafe to revive a glitchy LCD.
*/
#if HAS_FSMC_TFT || HAS_GRAPHICAL_TFT
#define TFT_CS_PIN PD7 // NE4
#define TFT_RS_PIN PD11 // A0
#endif
// QQS-Pro uses MKS Robin TFT v2.0 320x240
// Shared FSMC Configs
#if HAS_FSMC_TFT
#define DOGLCD_MOSI -1 // Prevent auto-define by Conditionals_post.h
#define DOGLCD_SCK -1
#define FSMC_CS_PIN PD7 // NE4
#define FSMC_RS_PIN PD11 // A0
#define TFT_RESET_PIN PC6 // FSMC_RST
/**
* Note: MKS Robin TFT screens use various TFT controllers
* Supported screens are based on the ILI9341, ST7789V and ILI9328 (320x240)
* ILI9488 is not supported
* Define init sequences for other screens in u8g_dev_tft_320x240_upscale_from_128x64.cpp
*
* If the screen stays white, disable 'LCD_RESET_PIN'
* to let the bootloader init the screen.
*
* Setting an 'LCD_RESET_PIN' may cause a flicker when entering the LCD menu
* because Marlin uses the reset as a failsafe to revive a glitchy LCD.
*/
//#define TFT_RESET_PIN PC6 // FSMC_RST
#define TFT_BACKLIGHT_PIN PD13
#define FSMC_CS_PIN TFT_CS_PIN // NE4
#define FSMC_RS_PIN TFT_RS_PIN // A0
#define LCD_USE_DMA_FSMC // Use DMA transfers to send data to the TFT
#define FSMC_DMA_DEV DMA2
#define FSMC_DMA_CHANNEL DMA_CH5
#define TFT_BUFFER_SIZE 14400
#if ENABLED(TFT_CLASSIC_UI)
#define TFT_MARLINBG_COLOR 0x3186 // White
#define TFT_MARLINUI_COLOR 0xC7B6 // green
#ifdef TFT_CLASSIC_UI
#define TFT_MARLINBG_COLOR 0x3186 // Grey
#define TFT_MARLINUI_COLOR 0xC7B6 // Green
#define TFT_BTARROWS_COLOR 0xDEE6 // Yellow
#define TFT_BTOKMENU_COLOR 0x145F // Cyan
#endif
#endif
#define TFT_BUFFER_SIZE 14400
#elif HAS_GRAPHICAL_TFT
#define TFT_RESET_PIN PC6
#define TFT_BACKLIGHT_PIN PD13
#endif
#if NEED_TOUCH_PINS
@@ -313,4 +315,5 @@
#define TOUCH_SCK_PIN PB13 // SPI2_SCK
#define TOUCH_MISO_PIN PB14 // SPI2_MISO
#define TOUCH_MOSI_PIN PB15 // SPI2_MOSI
#define TOUCH_INT_PIN -1
#endif
+14 -4
View File
@@ -87,19 +87,30 @@
#define E0_ENABLE_PIN PC13
#if HAS_TMC_UART
/**
* TMC2208/TMC2209 stepper drivers
*/
//
// Hardware serial with switch
//
#define X_HARDWARE_SERIAL MSerial2
#define Y_HARDWARE_SERIAL MSerial2
#define Z_HARDWARE_SERIAL MSerial2
#define E0_HARDWARE_SERIAL MSerial2
// Default TMC slave addresses
#ifndef X_SLAVE_ADDRESS
#define X_SLAVE_ADDRESS 0
#endif
#ifndef Y_SLAVE_ADDRESS
#define Y_SLAVE_ADDRESS 1
#endif
#ifndef Z_SLAVE_ADDRESS
#define Z_SLAVE_ADDRESS 2
#endif
#ifndef E0_SLAVE_ADDRESS
#define E0_SLAVE_ADDRESS 3
#endif
// The 4xTMC2209 module doesn't have a serial multiplexer and
// needs to set *_SLAVE_ADDRESS in Configuration_adv.h for X,Y,Z,E0
#if HAS_DRIVER(TMC2208)
@@ -110,7 +121,6 @@
// Reduce baud rate to improve software serial reliability
#define TMC_BAUD_RATE 19200
#endif
//
+20 -4
View File
@@ -80,10 +80,26 @@
#define E0_DIR_PIN PC14
#define E0_ENABLE_PIN PC13
#define X_HARDWARE_SERIAL MSerial2
#define Y_HARDWARE_SERIAL MSerial2
#define Z_HARDWARE_SERIAL MSerial2
#define E0_HARDWARE_SERIAL MSerial2
#if HAS_TMC_UART
#define X_HARDWARE_SERIAL MSerial2
#define Y_HARDWARE_SERIAL MSerial2
#define Z_HARDWARE_SERIAL MSerial2
#define E0_HARDWARE_SERIAL MSerial2
// Default TMC slave addresses
#ifndef X_SLAVE_ADDRESS
#define X_SLAVE_ADDRESS 0
#endif
#ifndef Y_SLAVE_ADDRESS
#define Y_SLAVE_ADDRESS 1
#endif
#ifndef Z_SLAVE_ADDRESS
#define Z_SLAVE_ADDRESS 2
#endif
#ifndef E0_SLAVE_ADDRESS
#define E0_SLAVE_ADDRESS 3
#endif
#endif
//
// Heaters / Fans
@@ -31,10 +31,10 @@
#if NOT_TARGET(__STM32F1__)
#error "Oops! Select an STM32F1 board in 'Tools > Board.'"
#elif HOTENDS > 1 || E_STEPPERS > 1
#error "JGAurora 32-bit board only supports 1 hotend / E-stepper. Comment out this line to continue."
#error "JGAurora A5S A1 only supports one hotend / E-stepper. Comment out this line to continue."
#endif
#define BOARD_INFO_NAME "JGAurora A5S A1 board"
#define BOARD_INFO_NAME "JGAurora A5S A1"
#define BOARD_NO_NATIVE_USB
+1 -1
View File
@@ -25,7 +25,7 @@
#if NOT_TARGET(__STM32F1__, STM32F1xx)
#error "Oops! Select a STM32F1 board in 'Tools > Board.'"
#elif HOTENDS > 1 || E_STEPPERS > 1
#error "Longer3D board only supports 1 hotend / E-stepper. Comment out this line to continue."
#error "Longer3D only supports one hotend / E-stepper. Comment out this line to continue."
#endif
#define BOARD_INFO_NAME "Longer3D"
@@ -24,7 +24,7 @@
#if NOT_TARGET(__STM32F1__)
#error "Oops! Select an STM32F1 board in 'Tools > Board.'"
#elif HOTENDS > 1 || E_STEPPERS > 1
#error "MKS Robin Lite supports only 1 hotend / E-stepper. Comment out this line to continue."
#error "MKS Robin Lite only supports one hotend / E-stepper. Comment out this line to continue."
#endif
#ifndef BOARD_INFO_NAME
@@ -28,7 +28,7 @@
#if NOT_TARGET(__STM32F1__)
#error "Oops! Select an STM32F1 board in 'Tools > Board.'"
#elif HOTENDS > 1 || E_STEPPERS > 1
#error "MKS Robin mini only supports 1 hotend / E-stepper. Comment out this line to continue."
#error "MKS Robin mini only supports one hotend / E-stepper. Comment out this line to continue."
#endif
#define BOARD_INFO_NAME "MKS Robin Mini"
@@ -24,7 +24,7 @@
#if NOT_TARGET(STM32F4)
#error "Oops! Select an STM32F4 board in 'Tools > Board.'"
#elif HOTENDS > 1 || E_STEPPERS > 1
#error "BIGTREE BTT002 V1.0 only supports one hotend / E-stepper."
#error "BIGTREE BTT002 V1.0 only supports one hotend / E-stepper. Comment out this line to continue."
#endif
#define BOARD_INFO_NAME "BTT BTT002 V1.0"
+1 -1
View File
@@ -21,7 +21,7 @@
#if NOT_TARGET(STM32F4, STM32F4xx)
#error "Oops! Select an STM32F4 board in 'Tools > Board.'"
#elif HOTENDS > 1 || E_STEPPERS > 1
#error "LERDGE X only supports one hotend / E-steppers"
#error "LERDGE X only supports one hotend / E-stepper. Comment out this line to continue."
#endif
#define BOARD_INFO_NAME "Lerdge X"
@@ -0,0 +1,367 @@
/**
* 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/>.
*
*/
#pragma once
#if NOT_TARGET(STM32F4, STM32F4xx)
#error "Oops! Select an STM32F4 board in 'Tools > Board.'"
#elif HOTENDS > 2 || E_STEPPERS > 2
#error "MKS Robin Nano V3 supports up to 2 hotends / E-steppers."
#elif HAS_FSMC_TFT
#error "MKS Robin Nano V3 doesn't support FSMC-based TFT displays."
#endif
#define BOARD_INFO_NAME "MKS Robin Nano V3"
// Use one of these or SDCard-based Emulation will be used
//#define SRAM_EEPROM_EMULATION // Use BackSRAM-based EEPROM emulation
//#define FLASH_EEPROM_EMULATION // Use Flash-based EEPROM emulation
#define I2C_EEPROM
//
// Release PB4 (Z_DIR_PIN) from JTAG NRST role
//
//
// Limit Switches
//
#define X_DIAG_PIN PD15
#define Y_DIAG_PIN PD2
#define Z_DIAG_PIN PC8
#define E0_DIAG_PIN PC4
#define E1_DIAG_PIN PE7
//
#define X_STOP_PIN PA15
#define Y_STOP_PIN PD2
#define Z_MIN_PIN PC8
#define Z_MAX_PIN PC4
//
// Steppers
//
#define X_ENABLE_PIN PE4
#define X_STEP_PIN PE3
#define X_DIR_PIN PE2
#ifndef X_CS_PIN
#define X_CS_PIN PD5
#endif
#define Y_ENABLE_PIN PE1
#define Y_STEP_PIN PE0
#define Y_DIR_PIN PB9
#ifndef Y_CS_PIN
#define Y_CS_PIN PD7
#endif
#define Z_ENABLE_PIN PB8
#define Z_STEP_PIN PB5
#define Z_DIR_PIN PB4
#ifndef Z_CS_PIN
#define Z_CS_PIN PD4
#endif
#define E0_ENABLE_PIN PB3
#define E0_STEP_PIN PD6
#define E0_DIR_PIN PD3
#ifndef E0_CS_PIN
#define E0_CS_PIN PD9
#endif
#define E1_ENABLE_PIN PA3
#define E1_STEP_PIN PD15
#define E1_DIR_PIN PA1
#ifndef E1_CS_PIN
#define E1_CS_PIN PD8
#endif
//
// Software SPI pins for TMC2130 stepper drivers
//
// This board only support SW SPI for stepper drivers
#if HAS_TMC_SPI
#define TMC_USE_SW_SPI
#endif
#if ENABLED(TMC_USE_SW_SPI)
#if !defined(TMC_SW_MOSI) || TMC_SW_MOSI == -1
#define TMC_SW_MOSI PD14
#endif
#if !defined(TMC_SW_MISO) || TMC_SW_MISO == -1
#define TMC_SW_MISO PD1
#endif
#if !defined(TMC_SW_SCK) || TMC_SW_SCK == -1
#define TMC_SW_SCK PD0
#endif
#endif
#if HAS_TMC_UART
//
// Software serial
// No Hardware serial for steppers
//
#define X_SERIAL_TX_PIN PD5
#define X_SERIAL_RX_PIN PD5
#define Y_SERIAL_TX_PIN PD7
#define Y_SERIAL_RX_PIN PD7
#define Z_SERIAL_TX_PIN PD4
#define Z_SERIAL_RX_PIN PD4
#define E0_SERIAL_TX_PIN PD9
#define E0_SERIAL_RX_PIN PD9
#define E1_SERIAL_TX_PIN PD8
#define E1_SERIAL_RX_PIN PD8
// Reduce baud rate to improve software serial reliability
#define TMC_BAUD_RATE 19200
#endif
//
// Temperature Sensors
//
#define TEMP_0_PIN PC1 // TH1
#define TEMP_1_PIN PA2 // TH2
#define TEMP_BED_PIN PC0 // TB1
//
// Heaters / Fans
//
#define HEATER_0_PIN PE5 // HEATER1
#define HEATER_1_PIN PB0 // HEATER2
#define HEATER_BED_PIN PA0 // HOT BED
#define FAN_PIN PB1 // FAN
#define FAN1_PIN PC14 // FAN1
//
// Thermocouples
//
//#define MAX6675_SS_PIN HEATER_0_PIN // TC1 - CS1
//#define MAX6675_SS_PIN HEATER_1_PIN // TC2 - CS2
//
// Misc. Functions
//
#define MT_DET_1 PA4
#define MT_DET_2 PE6
#define PW_DET PA13
#define PW_OFF PB2
#ifndef FIL_RUNOUT_PIN
#define FIL_RUNOUT_PIN MT_DET_1
#endif
#ifndef FIL_RUNOUT2_PIN
#define FIL_RUNOUT2_PIN MT_DET_2
#endif
#define POWER_LOSS_PIN PW_DET
#define PS_ON_PIN PW_OFF
//
// Enable MKSPWC support
//
//#define SUICIDE_PIN PB2
//#define KILL_PIN PA2
//#define KILL_PIN_INVERTING true
#define SERVO0_PIN PA8 // Enable BLTOUCH support
//#define LED_PIN PB2
// Random Info
#define USB_SERIAL -1 //Usb Serial
#define WIFI_SERIAL 3 //USART3
#define MKS_WIFI_MODULE_SERIAL 1 //USART1
#define MKS_WIFI_MODULE_SPI 2 //SPI2
#ifndef SDCARD_CONNECTION
#define SDCARD_CONNECTION ONBOARD
#endif
//
// Onboard SD card
//
// detect pin dont work when ONBOARD and NO_SD_HOST_DRIVE disabled
#if SD_CONNECTION_IS(ONBOARD)
#define CUSTOM_SPI_PINS // TODO: needed because is the only way to set SPI3 for SD on STM32 (by now)
#if ENABLED(CUSTOM_SPI_PINS)
#define ENABLE_SPI3
#define SS_PIN -1
#define SDSS PC9
#define SCK_PIN PC10
#define MISO_PIN PC11
#define MOSI_PIN PC12
#define SD_DETECT_PIN PD12
#endif
#endif
//
// LCD SD
//
#if SD_CONNECTION_IS(LCD)
#define CUSTOM_SPI_PINS
#if ENABLED(CUSTOM_SPI_PINS)
#define ENABLE_SPI1
#define SDSS PE10
#define SCK_PIN PA5
#define MISO_PIN PA6
#define MOSI_PIN PA7
#define SD_DETECT_PIN PE12
#endif
#endif
//
// LCD / Controller
#define SPI_FLASH
#define HAS_SPI_FLASH 1
#define SPI_DEVICE 2
#define SPI_FLASH_SIZE 0x1000000
#if ENABLED(SPI_FLASH)
#define W25QXX_CS_PIN PB12
#define W25QXX_MOSI_PIN PC3
#define W25QXX_MISO_PIN PC2
#define W25QXX_SCK_PIN PB13
#endif
/**
* _____ _____
* (BEEPER)PC5 | · · | PE13(BTN_ENC) (SPI1 MISO) PA6 | · · | PA5 (SPI1 SCK)
* (LCD_EN)PD13 | · · | PC6(LCD_RS) (BTN_EN1) PE8 | · · | PE10 (SPI1 CS)
* (LCD_D4)PE14 | · · PE15(LCD_D5) (BTN_EN2) PE11 | · · PA7 (SPI1 MOSI)
* (LCD_D6)PD11 | · · | PD10(LCD_D7) (SPI1_RS) PE12 | · · | RESET
* GND | · · | 5V GND | · · | 3.3V
*  ̄ ̄ ̄  ̄ ̄ ̄
* EXP1 EXP2
*/
#if EITHER(TFT_480x320_SPI, TFT_LVGL_UI_SPI)
#ifndef TOUCH_CALIBRATION_X
#define TOUCH_CALIBRATION_X -17253
#endif
#ifndef TOUCH_CALIBRATION_Y
#define TOUCH_CALIBRATION_Y 11579
#endif
#ifndef TOUCH_OFFSET_X
#define TOUCH_OFFSET_X 514
#endif
#ifndef TOUCH_OFFSET_Y
#define TOUCH_OFFSET_Y -24
#endif
#ifndef TOUCH_ORIENTATION
#define TOUCH_ORIENTATION TOUCH_LANDSCAPE
#endif
#define TFT_CS_PIN PD11
#define TFT_SCK_PIN PA5
#define TFT_MISO_PIN PA6
#define TFT_MOSI_PIN PA7
#define TFT_DC_PIN PD10
#define TFT_RST_PIN PC6
#define TFT_A0_PIN TFT_DC_PIN
#define TFT_RESET_PIN PC6
#define TFT_BACKLIGHT_PIN PD13
#define TOUCH_BUTTONS_HW_SPI
#define TOUCH_BUTTONS_HW_SPI_DEVICE 1
#define LCD_BACKLIGHT_PIN PD13
#ifndef TFT_WIDTH
#define TFT_WIDTH 480
#endif
#ifndef TFT_HEIGHT
#define TFT_HEIGHT 320
#endif
#define TOUCH_CS_PIN PE14 // SPI1_NSS
#define TOUCH_SCK_PIN PA5 // SPI1_SCK
#define TOUCH_MISO_PIN PA6 // SPI1_MISO
#define TOUCH_MOSI_PIN PA7 // SPI1_MOSI
#define BTN_EN1 PE8
#define BTN_EN2 PE11
#define BEEPER_PIN PC5
#define BTN_ENC PE13
#define LCD_READ_ID 0xD3
#define LCD_USE_DMA_SPI
#define TFT_BUFFER_SIZE 14400
#elif HAS_SPI_LCD
#define BEEPER_PIN PC5
#define BTN_ENC PE13
#define LCD_PINS_ENABLE PD13
#define LCD_PINS_RS PC6
#define BTN_EN1 PE8
#define BTN_EN2 PE11
#define LCD_BACKLIGHT_PIN -1
// MKS MINI12864 and MKS LCD12864B; If using MKS LCD12864A (Need to remove RPK2 resistor)
#if ENABLED(MKS_MINI_12864)
//#define LCD_BACKLIGHT_PIN -1
//#define LCD_RESET_PIN -1
#define DOGLCD_A0 PD11
#define DOGLCD_CS PE15
//#define DOGLCD_SCK PA5
//#define DOGLCD_MOSI PA7
// Required for MKS_MINI_12864 with this board
//#define MKS_LCD12864B
//#undef SHOW_BOOTSCREEN
#else // !MKS_MINI_12864
#define LCD_PINS_D4 PE14
#if ENABLED(ULTIPANEL)
#define LCD_PINS_D5 PE15
#define LCD_PINS_D6 PD11
#define LCD_PINS_D7 PD10
#endif
#define BOARD_ST7920_DELAY_1 DELAY_NS(96)
#define BOARD_ST7920_DELAY_2 DELAY_NS(48)
#define BOARD_ST7920_DELAY_3 DELAY_NS(600)
#endif // !MKS_MINI_12864
#elif ENABLED(SPI_GRAPHICAL_TFT)
#define SPI_TFT_CS_PIN PD11
#define SPI_TFT_SCK_PIN PA5
#define SPI_TFT_MISO_PIN PA6
#define SPI_TFT_MOSI_PIN PA7
#define SPI_TFT_DC_PIN PD10
#define SPI_TFT_RST_PIN PC6
#define LCD_BACKLIGHT_PIN PD13
#define TOUCH_CS_PIN PE14 // SPI1_NSS
#define TOUCH_SCK_PIN PA5 // SPI1_SCK
#define TOUCH_MISO_PIN PA6 // SPI1_MISO
#define TOUCH_MOSI_PIN PA7 // SPI1_MOSI
#define BTN_EN1 PE8
#define BTN_EN2 PE11
#define BEEPER_PIN PC5
#define BTN_ENC PE13
#endif // HAS_SPI_LCD
#define HAS_OTG_USB_HOST_SUPPORT
+1 -1
View File
@@ -33,7 +33,7 @@
#endif
#if HOTENDS > 1 || E_STEPPERS > 1
#error "RemRam only supports one hotend / E-stepper."
#error "RemRam only supports one hotend / E-stepper. Comment out this line to continue."
#endif
//