From b6cb56f396e58b95d7e3f7750f388373bfbd01dd Mon Sep 17 00:00:00 2001 From: ellensp Date: Thu, 15 Jul 2021 14:07:46 +1200 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=A8=20More=20HAL/STM32=20targets=20(#2?= =?UTF-8?q?2358,=20#22369)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Marlin/src/pins/pins.h | 26 +-- Marlin/src/pins/stm32f1/pins_CHITU3D_V5.h | 2 + .../variants/MARLIN_F103Vx/variant.h | 8 +- ini/stm32f1-maple.ini | 26 +-- ini/stm32f1.ini | 152 +++++++++++++++++- 5 files changed, 184 insertions(+), 30 deletions(-) diff --git a/Marlin/src/pins/pins.h b/Marlin/src/pins/pins.h index 20f24f8c21..b5a81c6097 100644 --- a/Marlin/src/pins/pins.h +++ b/Marlin/src/pins/pins.h @@ -486,17 +486,17 @@ #elif MB(MKS_ROBIN) #include "stm32f1/pins_MKS_ROBIN.h" // STM32F1 env:mks_robin env:mks_robin_maple #elif MB(MKS_ROBIN_MINI) - #include "stm32f1/pins_MKS_ROBIN_MINI.h" // STM32F1 env:mks_robin_mini + #include "stm32f1/pins_MKS_ROBIN_MINI.h" // STM32F1 env:mks_robin_mini env:mks_robin_mini_maple #elif MB(MKS_ROBIN_NANO) #include "stm32f1/pins_MKS_ROBIN_NANO.h" // STM32F1 env:mks_robin_nano35 env:mks_robin_nano35_maple #elif MB(MKS_ROBIN_NANO_V2) #include "stm32f1/pins_MKS_ROBIN_NANO_V2.h" // STM32F1 env:mks_robin_nano35 env:mks_robin_nano35_maple #elif MB(MKS_ROBIN_LITE) - #include "stm32f1/pins_MKS_ROBIN_LITE.h" // STM32F1 env:mks_robin_lite + #include "stm32f1/pins_MKS_ROBIN_LITE.h" // STM32F1 env:mks_robin_lite env:mks_robin_lite_maple #elif MB(MKS_ROBIN_LITE3) - #include "stm32f1/pins_MKS_ROBIN_LITE3.h" // STM32F1 env:mks_robin_lite3 + #include "stm32f1/pins_MKS_ROBIN_LITE3.h" // STM32F1 env:mks_robin_lite3 env:mks_robin_lite3_maple #elif MB(MKS_ROBIN_PRO) - #include "stm32f1/pins_MKS_ROBIN_PRO.h" // STM32F1 env:mks_robin_pro + #include "stm32f1/pins_MKS_ROBIN_PRO.h" // STM32F1 env:mks_robin_pro env:mks_robin_pro_maple #elif MB(MKS_ROBIN_E3) #include "stm32f1/pins_MKS_ROBIN_E3.h" // STM32F1 env:mks_robin_e3 env:mks_robin_e3_maple #elif MB(MKS_ROBIN_E3_V1_1) @@ -506,7 +506,7 @@ #elif MB(MKS_ROBIN_E3D_V1_1) #include "stm32f1/pins_MKS_ROBIN_E3D_V1_1.h" // STM32F1 env:mks_robin_e3 #elif MB(MKS_ROBIN_E3P) - #include "stm32f1/pins_MKS_ROBIN_E3P.h" // STM32F1 env:mks_robin_e3p + #include "stm32f1/pins_MKS_ROBIN_E3P.h" // STM32F1 env:mks_robin_e3p env:mks_robin_e3p_maple #elif MB(BTT_SKR_MINI_V1_1) #include "stm32f1/pins_BTT_SKR_MINI_V1_1.h" // STM32F1 env:STM32F103RC_btt env:STM32F103RC_btt_USB env:STM32F103RC_btt_maple env:STM32F103RC_btt_USB_maple #elif MB(BTT_SKR_MINI_E3_V1_0) @@ -522,21 +522,21 @@ #elif MB(BTT_SKR_CR6) #include "stm32f1/pins_BTT_SKR_CR6.h" // STM32F1 env:STM32F103RE_btt env:STM32F103RE_btt_USB env:STM32F103RE_btt_maple env:STM32F103RE_btt_USB_maple #elif MB(JGAURORA_A5S_A1) - #include "stm32f1/pins_JGAURORA_A5S_A1.h" // STM32F1 env:jgaurora_a5s_a1 + #include "stm32f1/pins_JGAURORA_A5S_A1.h" // STM32F1 env:jgaurora_a5s_a1 env:jgaurora_a5s_a1_maple #elif MB(FYSETC_AIO_II) - #include "stm32f1/pins_FYSETC_AIO_II.h" // STM32F1 env:STM32F103RC_fysetc + #include "stm32f1/pins_FYSETC_AIO_II.h" // STM32F1 env:STM32F103RC_fysetc env:STM32F103RC_fysetc_maple #elif MB(FYSETC_CHEETAH) - #include "stm32f1/pins_FYSETC_CHEETAH.h" // STM32F1 env:STM32F103RC_fysetc + #include "stm32f1/pins_FYSETC_CHEETAH.h" // STM32F1 env:STM32F103RC_fysetc env:STM32F103RC_fysetc_maple #elif MB(FYSETC_CHEETAH_V12) - #include "stm32f1/pins_FYSETC_CHEETAH_V12.h" // STM32F1 env:STM32F103RC_fysetc + #include "stm32f1/pins_FYSETC_CHEETAH_V12.h" // STM32F1 env:STM32F103RC_fysetc env:STM32F103RC_fysetc_maple #elif MB(LONGER3D_LK) - #include "stm32f1/pins_LONGER3D_LK.h" // STM32F1 env:STM32F103VE_longer + #include "stm32f1/pins_LONGER3D_LK.h" // STM32F1 env:STM32F103VE_longer env:STM32F103VE_longer_maple #elif MB(CCROBOT_MEEB_3DP) #include "stm32f1/pins_CCROBOT_MEEB_3DP.h" // STM32F1 env:STM32F103RC_meeb #elif MB(CHITU3D_V5) - #include "stm32f1/pins_CHITU3D_V5.h" // STM32F1 env:chitu_f103 env:chitu_v5_gpio_init + #include "stm32f1/pins_CHITU3D_V5.h" // STM32F1 env:chitu_f103 env:chitu_f103_maple env:chitu_v5_gpio_init env:chitu_v5_gpio_init_maple #elif MB(CHITU3D_V6) - #include "stm32f1/pins_CHITU3D_V6.h" // STM32F1 env:chitu_f103 + #include "stm32f1/pins_CHITU3D_V6.h" // STM32F1 env:chitu_f103 env:chitu_f103_maple #elif MB(CREALITY_V4) #include "stm32f1/pins_CREALITY_V4.h" // STM32F1 env:STM32F103RET6_creality env:STM32F103RET6_creality_maple #elif MB(CREALITY_V4210) @@ -550,7 +550,7 @@ #elif MB(CREALITY_V453) #include "stm32f1/pins_CREALITY_V453.h" // STM32F1 env:STM32F103RET6_creality env:STM32F103RET6_creality_maple #elif MB(TRIGORILLA_PRO) - #include "stm32f1/pins_TRIGORILLA_PRO.h" // STM32F1 env:trigorilla_pro + #include "stm32f1/pins_TRIGORILLA_PRO.h" // STM32F1 env:trigorilla_pro env:trigorilla_pro_maple #elif MB(FLY_MINI) #include "stm32f1/pins_FLY_MINI.h" // STM32F1 env:FLY_MINI env:FLY_MINI_maple #elif MB(FLSUN_HISPEED) diff --git a/Marlin/src/pins/stm32f1/pins_CHITU3D_V5.h b/Marlin/src/pins/stm32f1/pins_CHITU3D_V5.h index e892d3e3f8..88dd28a401 100644 --- a/Marlin/src/pins/stm32f1/pins_CHITU3D_V5.h +++ b/Marlin/src/pins/stm32f1/pins_CHITU3D_V5.h @@ -134,6 +134,8 @@ #define FSMC_DMA_DEV DMA2 #define FSMC_DMA_CHANNEL DMA_CH5 + #define TFT_CS_PIN FSMC_CS_PIN + #define TFT_RS_PIN FSMC_RS_PIN #endif #if ENABLED(TFT_LVGL_UI) diff --git a/buildroot/share/PlatformIO/variants/MARLIN_F103Vx/variant.h b/buildroot/share/PlatformIO/variants/MARLIN_F103Vx/variant.h index b622b39376..496d8817a1 100644 --- a/buildroot/share/PlatformIO/variants/MARLIN_F103Vx/variant.h +++ b/buildroot/share/PlatformIO/variants/MARLIN_F103Vx/variant.h @@ -132,8 +132,12 @@ extern "C" { // Timer Definitions (optional) // Use TIM6/TIM7 when possible as servo and tone don't need GPIO output pin -#define TIMER_TONE TIM3 -#define TIMER_SERVO TIM2 +#ifndef TIMER_TONE + #define TIMER_TONE TIM6 +#endif +#ifndef TIMER_SERVO + #define TIMER_SERVO TIM7 +#endif // UART Definitions // Define here Serial instance number to map on Serial generic name diff --git a/ini/stm32f1-maple.ini b/ini/stm32f1-maple.ini index ab1e6c54f4..2a9ba83494 100644 --- a/ini/stm32f1-maple.ini +++ b/ini/stm32f1-maple.ini @@ -74,7 +74,7 @@ upload_protocol = dfu # # FYSETC STM32F103RC # -[env:STM32F103RC_fysetc] +[env:STM32F103RC_fysetc_maple] platform = ${common_stm32f1.platform} extends = common_STM32F103RC_maple extra_scripts = ${common_stm32f1.extra_scripts} @@ -173,7 +173,7 @@ upload_protocol = serial # # Longer 3D board in Alfawise U20 (STM32F103VET6) # -[env:STM32F103VE_longer] +[env:STM32F103VE_longer_maple] platform = ${common_stm32f1.platform} extends = common_stm32f1 board = genericSTM32F103VE @@ -190,7 +190,7 @@ build_unflags = ${common_stm32f1.build_unflags} # # MKS Robin Mini (STM32F103VET6) # -[env:mks_robin_mini] +[env:mks_robin_mini_maple] platform = ${common_stm32f1.platform} extends = common_stm32f1 board = genericSTM32F103VE @@ -228,7 +228,7 @@ build_flags = ${common_stm32f1.build_flags} # # MKS Robin Pro (STM32F103ZET6) # -[env:mks_robin_pro] +[env:mks_robin_pro_maple] platform = ${common_stm32f1.platform} extends = env:mks_robin_maple extra_scripts = ${common_stm32f1.extra_scripts} @@ -237,7 +237,7 @@ extra_scripts = ${common_stm32f1.extra_scripts} # # TRIGORILLA PRO (STM32F103ZET6) # -[env:trigorilla_pro] +[env:trigorilla_pro_maple] platform = ${common_stm32f1.platform} extends = env:mks_robin_maple extra_scripts = ${common_stm32f1.extra_scripts} @@ -259,7 +259,7 @@ build_flags = ${common_stm32f1.build_flags} # MKS Robin E3p (STM32F103VET6) # - LVGL UI # -[env:mks_robin_e3p] +[env:mks_robin_e3p_maple] platform = ${common_stm32f1.platform} extends = common_stm32f1 board = genericSTM32F103VE @@ -273,7 +273,7 @@ upload_protocol = jlink # # MKS Robin Lite/Lite2 (STM32F103RCT6) # -[env:mks_robin_lite] +[env:mks_robin_lite_maple] platform = ${common_stm32f1.platform} extends = common_stm32f1 board = genericSTM32F103RC @@ -283,7 +283,7 @@ extra_scripts = ${common_stm32f1.extra_scripts} # # MKS ROBIN LITE3 (STM32F103RCT6) # -[env:mks_robin_lite3] +[env:mks_robin_lite3_maple] platform = ${common_stm32f1.platform} extends = common_stm32f1 board = genericSTM32F103RC @@ -293,7 +293,7 @@ extra_scripts = ${common_stm32f1.extra_scripts} # # JGAurora A5S A1 (STM32F103ZET6) # -[env:jgaurora_a5s_a1] +[env:jgaurora_a5s_a1_maple] platform = ${common_stm32f1.platform} extends = common_stm32f1 board = genericSTM32F103ZE @@ -321,7 +321,7 @@ lib_ignore = ${common_stm32f1.lib_ignore} # # Chitu boards like Tronxy X5s (STM32F103ZET6) # -[env:chitu_f103] +[env:chitu_f103_maple] platform = ${common_stm32f1.platform} extends = common_stm32f1 board = marlin_CHITU_F103 @@ -338,10 +338,10 @@ build_unflags = ${common_stm32f1.build_unflags} # Some Chitu V5 boards have a problem with GPIO init. # Use this target if G28 or G29 are always failing. # -[env:chitu_v5_gpio_init] +[env:chitu_v5_gpio_init_maple] platform = ${common_stm32f1.platform} -extends = env:chitu_f103 -build_flags = ${env:chitu_f103.build_flags} -DCHITU_V5_Z_MIN_BUGFIX +extends = env:chitu_f103_maple +build_flags = ${env:chitu_f103_maple.build_flags} -DCHITU_V5_Z_MIN_BUGFIX # # FLYmaker FLY Mini (STM32F103RCT6) diff --git a/ini/stm32f1.ini b/ini/stm32f1.ini index e843ee3599..6350afb40b 100644 --- a/ini/stm32f1.ini +++ b/ini/stm32f1.ini @@ -193,7 +193,7 @@ build_flags = ${env:STM32F103RE_btt.build_flags} ${env:stm32_flash_drive.b [env:flsun_hispeedv1] platform = ${common_stm32.platform} extends = common_stm32 -build_flags = ${common_stm32.build_flags} -DMCU_STM32F103VE -DSS_TIMER=4 -DENABLE_HWSERIAL3 +build_flags = ${common_stm32.build_flags} -DMCU_STM32F103VE -DSS_TIMER=4 -DENABLE_HWSERIAL3 -DTIMER_TONE=TIM3 -DTIMER_SERVO=TIM2 board = genericSTM32F103VE board_build.core = stm32 board_build.variant = MARLIN_F103Vx @@ -209,7 +209,7 @@ extra_scripts = ${stm32f1_variant.extra_scripts} [env:mks_robin_nano35] platform = ${common_stm32.platform} extends = common_stm32 -build_flags = ${common_stm32.build_flags} -DMCU_STM32F103VE -DSS_TIMER=4 -DENABLE_HWSERIAL3 +build_flags = ${common_stm32.build_flags} -DMCU_STM32F103VE -DSS_TIMER=4 -DENABLE_HWSERIAL3 -DTIMER_TONE=TIM3 -DTIMER_SERVO=TIM2 board = genericSTM32F103VE board_build.core = stm32 board_build.variant = MARLIN_F103Vx @@ -259,3 +259,151 @@ board_build.variant = MARLIN_F103Rx board_build.offset = 0x5000 board_upload.offset_address = 0x08005000 extra_scripts = ${stm32f1_variant.extra_scripts} + +# +# MKS Robin Mini (STM32F103VET6) +# +[env:mks_robin_mini] +platform = ${common_stm32.platform} +extends = common_stm32 +board = genericSTM32F103VE +board_build.core = stm32 +board_build.variant = MARLIN_F103Vx +board_build.offset = 0x7000 +board_build.encrypt = Robin_mini.bin +build_flags = ${common_stm32.build_flags} -DMCU_STM32F103VE -DTIMER_TONE=TIM3 -DTIMER_SERVO=TIM2 +board_upload.offset_address = 0x08007000 +extra_scripts = ${stm32f1_variant.extra_scripts} + +# +# MKS Robin Lite/Lite2 (STM32F103RCT6) +# +[env:mks_robin_lite] +platform = ${common_stm32.platform} +extends = common_stm32 +board = genericSTM32F103RC +board_build.core = stm32 +board_build.variant = MARLIN_F103Rx +board_build.offset = 0x5000 +board_build.encrypt = mksLite.bin +build_flags = ${common_stm32.build_flags} +board_upload.offset_address = 0x08005000 +extra_scripts = ${stm32f1_variant.extra_scripts} + +# +# MKS ROBIN LITE3 (STM32F103RCT6) +# +[env:mks_robin_lite3] +platform = ${common_stm32.platform} +extends = common_stm32 +board = genericSTM32F103RC +board_build.core = stm32 +board_build.variant = MARLIN_F103Rx +board_build.offset = 0x5000 +board_build.encrypt = mksLite3.bin +build_flags = ${common_stm32.build_flags} +board_upload.offset_address = 0x08005000 +extra_scripts = ${stm32f1_variant.extra_scripts} + +# +# MKS Robin Pro (STM32F103ZET6) +# +[env:mks_robin_pro] +platform = ${common_stm32.platform} +extends = env:mks_robin +board_build.encrypt = Robin_pro.bin + +# +# MKS Robin E3p (STM32F103VET6) +# - LVGL UI +# +[env:mks_robin_e3p] +platform = ${common_stm32.platform} +extends = common_stm32 +board = genericSTM32F103VE +board_build.core = stm32 +board_build.variant = MARLIN_F103Vx +board_build.offset = 0x7000 +board_build.encrypt = Robin_e3p.bin +build_flags = ${common_stm32.build_flags} -DMCU_STM32F103VE -DSS_TIMER=4 -DTIMER_TONE=TIM3 -DTIMER_SERVO=TIM2 +board_upload.offset_address = 0x08007000 +extra_scripts = ${stm32f1_variant.extra_scripts} +debug_tool = jlink +upload_protocol = jlink + +# +# JGAurora A5S A1 (STM32F103ZET6) +# +[env:jgaurora_a5s_a1] +platform = ${common_stm32.platform} +extends = common_stm32 +board = genericSTM32F103ZE +board_build.core = stm32 +board_build.variant = MARLIN_F103Zx +board_build.offset = 0xA000 +board_build.rename = firmware_for_sd_upload.bin +build_flags = ${common_stm32.build_flags} -DSTM32F1xx -DSTM32_XL_DENSITY +board_build.address = 0x0800A000 +extra_scripts = ${stm32f1_variant.extra_scripts} + buildroot/share/PlatformIO/scripts/jgaurora_a5s_a1_with_bootloader.py + +# +# FYSETC STM32F103RC +# +[env:STM32F103RC_fysetc] +platform = ${common_stm32.platform} +extends = common_STM32F103RC +extra_scripts = ${stm32f1_variant.extra_scripts} + buildroot/share/PlatformIO/scripts/STM32F103RC_fysetc.py +build_flags = ${common_stm32.build_flags} -DDEBUG_LEVEL=0 +lib_ldf_mode = chain +debug_tool = stlink +upload_protocol = serial + +# +# Longer 3D board in Alfawise U20 (STM32F103VET6) +# +[env:STM32F103VE_longer] +platform = ${common_stm32.platform} +extends = common_stm32 +board = genericSTM32F103VE +board_build.core = stm32 +board_build.variant = MARLIN_F103Vx +board_build.offset = 0x1000 +board_build.address = 0x08010000 +build_flags = ${common_stm32.build_flags} -DMCU_STM32F103VE -DU20 -DTS_V12 +build_unflags = ${common_stm32.build_unflags} -DUSBCON -DUSBD_USE_CDC +extra_scripts = ${stm32f1_variant.extra_scripts} + buildroot/share/PlatformIO/scripts/STM32F103VE_longer.py + +# +# TRIGORILLA PRO (STM32F103ZET6) +# +[env:trigorilla_pro] +platform = ${common_stm32.platform} +extends = env:mks_robin +extra_scripts = ${common_stm32.extra_scripts} + +# +# Chitu boards like Tronxy X5s (STM32F103ZET6) +# +[env:chitu_f103] +platform = ${common_stm32.platform} +extends = common_stm32 +board = genericSTM32F103ZE +board_build.core = stm32 +board_build.variant = MARLIN_F103Zx +extra_scripts = ${stm32f1_variant.extra_scripts} + buildroot/share/PlatformIO/scripts/chitu_crypt.py +build_flags = ${common_stm32.build_flags} -DSTM32_XL_DENSITY +build_unflags = ${common_stm32.build_unflags} + -DCONFIG_MAPLE_MINI_NO_DISABLE_DEBUG= -DERROR_LED_PORT=GPIOE -DERROR_LED_PIN=6 + +# +# Some Chitu V5 boards have a problem with GPIO init. +# Use this target if G28 or G29 are always failing. +# +[env:chitu_v5_gpio_init] +platform = ${common_stm32.platform} +extends = env:chitu_f103 +build_flags = ${env:chitu_f103.build_flags} -DCHITU_V5_Z_MIN_BUGFIX