Browse Source
- New STM32 env for Creality V4 boards. - Separate Libmaple targets into their own `ini` file. - Temporarily remove unusable targets from `pins.h`. Co-authored-by: ellensp <ellensp@hotmsil.com> Co-authored-by: Scott Lahteine <github@thinkyhead.com>vanilla_fb_2.0.x
ellensp
4 years ago
committed by
Scott Lahteine
19 changed files with 692 additions and 505 deletions
@ -0,0 +1,82 @@ |
|||
/**
|
|||
* 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/>.
|
|||
* |
|||
*/ |
|||
#ifdef STM32F1 |
|||
|
|||
/**
|
|||
* PersistentStore for Arduino-style EEPROM interface |
|||
* with simple implementations supplied by Marlin. |
|||
*/ |
|||
|
|||
#include "../../inc/MarlinConfig.h" |
|||
|
|||
#if ENABLED(IIC_BL24CXX_EEPROM) |
|||
|
|||
#include "../shared/eeprom_if.h" |
|||
#include "../shared/eeprom_api.h" |
|||
|
|||
//
|
|||
// PersistentStore
|
|||
//
|
|||
|
|||
#ifndef MARLIN_EEPROM_SIZE |
|||
#error "MARLIN_EEPROM_SIZE is required for IIC_BL24CXX_EEPROM." |
|||
#endif |
|||
|
|||
size_t PersistentStore::capacity() { return MARLIN_EEPROM_SIZE; } |
|||
|
|||
bool PersistentStore::access_start() { eeprom_init(); return true; } |
|||
bool PersistentStore::access_finish() { return true; } |
|||
|
|||
bool PersistentStore::write_data(int &pos, const uint8_t *value, size_t size, uint16_t *crc) { |
|||
uint16_t written = 0; |
|||
while (size--) { |
|||
uint8_t v = *value; |
|||
uint8_t * const p = (uint8_t * const)pos; |
|||
if (v != eeprom_read_byte(p)) { // EEPROM has only ~100,000 write cycles, so only write bytes that have changed!
|
|||
eeprom_write_byte(p, v); |
|||
if (++written & 0x7F) delay(2); else safe_delay(2); // Avoid triggering watchdog during long EEPROM writes
|
|||
if (eeprom_read_byte(p) != v) { |
|||
SERIAL_ECHO_MSG(STR_ERR_EEPROM_WRITE); |
|||
return true; |
|||
} |
|||
} |
|||
crc16(crc, &v, 1); |
|||
pos++; |
|||
value++; |
|||
} |
|||
return false; |
|||
} |
|||
|
|||
bool PersistentStore::read_data(int &pos, uint8_t *value, size_t size, uint16_t *crc, const bool writing/*=true*/) { |
|||
do { |
|||
uint8_t * const p = (uint8_t * const)pos; |
|||
uint8_t c = eeprom_read_byte(p); |
|||
if (writing) *value = c; |
|||
crc16(crc, &c, 1); |
|||
pos++; |
|||
value++; |
|||
} while (--size); |
|||
return false; |
|||
} |
|||
|
|||
#endif // IIC_BL24CXX_EEPROM
|
|||
#endif // STM32F1
|
@ -0,0 +1,54 @@ |
|||
/**
|
|||
* 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/>.
|
|||
* |
|||
*/ |
|||
|
|||
/**
|
|||
* Platform-independent Arduino functions for I2C EEPROM. |
|||
* Enable USE_SHARED_EEPROM if not supplied by the framework. |
|||
*/ |
|||
|
|||
#ifdef STM32F1 |
|||
|
|||
#include "../../inc/MarlinConfig.h" |
|||
|
|||
#if ENABLED(IIC_BL24CXX_EEPROM) |
|||
|
|||
#include "../../libs/BL24CXX.h" |
|||
#include "../shared/eeprom_if.h" |
|||
|
|||
void eeprom_init() { BL24CXX::init(); } |
|||
|
|||
// ------------------------
|
|||
// Public functions
|
|||
// ------------------------
|
|||
|
|||
void eeprom_write_byte(uint8_t *pos, uint8_t value) { |
|||
const unsigned eeprom_address = (unsigned)pos; |
|||
return BL24CXX::writeOneByte(eeprom_address, value); |
|||
} |
|||
|
|||
uint8_t eeprom_read_byte(uint8_t *pos) { |
|||
const unsigned eeprom_address = (unsigned)pos; |
|||
return BL24CXX::readOneByte(eeprom_address); |
|||
} |
|||
|
|||
#endif // IIC_BL24CXX_EEPROM
|
|||
#endif // STM32F1
|
@ -1,6 +1,6 @@ |
|||
#!/usr/bin/env bash |
|||
# |
|||
# Build tests for STM32F103RC BigTreeTech (SKR Mini E3) |
|||
# Build tests for STM32F103RC BigTreeTech (SKR Mini E3) with LibMaple STM32F1 HAL |
|||
# |
|||
|
|||
# exit on first failure |
@ -1,22 +1,13 @@ |
|||
#!/usr/bin/env bash |
|||
# |
|||
# Build tests for MKS Robin |
|||
# (STM32F1 genericSTM32F103ZE) |
|||
# Build tests for MKS Robin (HAL/STM32) |
|||
# |
|||
|
|||
# exit on first failure |
|||
set -e |
|||
|
|||
use_example_configs Mks/Robin |
|||
exec_test $1 $2 "MKS Robin config (FSMC Color UI)" "$3" |
|||
|
|||
# |
|||
# MKS Robin LVGL FSMC |
|||
# |
|||
use_example_configs Mks/Robin |
|||
opt_disable TFT_CLASSIC_UI TFT_COLOR_UI TOUCH_SCREEN TFT_RES_320x240 |
|||
opt_enable TFT_LVGL_UI TFT_RES_480x320 |
|||
exec_test $1 $2 "MKS Robin nano v1.2 LVGL FSMC" "$3" |
|||
exec_test $1 $2 "MKS Robin base configuration" "$3" |
|||
|
|||
# cleanup |
|||
restore_configs |
|||
|
@ -0,0 +1,22 @@ |
|||
#!/usr/bin/env bash |
|||
# |
|||
# Build tests for MKS Robin with LibMaple STM32F1 HAL |
|||
# (STM32F1 genericSTM32F103ZE) |
|||
# |
|||
|
|||
# exit on first failure |
|||
set -e |
|||
|
|||
use_example_configs Mks/Robin |
|||
exec_test $1 $2 "MKS Robin config (FSMC Color UI)" "$3" |
|||
|
|||
# |
|||
# MKS Robin LVGL FSMC |
|||
# |
|||
use_example_configs Mks/Robin |
|||
opt_disable TFT_CLASSIC_UI TFT_COLOR_UI TOUCH_SCREEN TFT_RES_320x240 |
|||
opt_enable TFT_LVGL_UI TFT_RES_480x320 |
|||
exec_test $1 $2 "MKS Robin nano v1.2 LVGL FSMC" "$3" |
|||
|
|||
# cleanup |
|||
restore_configs |
@ -0,0 +1,68 @@ |
|||
#!/usr/bin/env bash |
|||
# |
|||
# Build tests for MKS Robin nano with LibMaple STM32F1 HAL |
|||
# (STM32F1 genericSTM32F103VE) |
|||
# |
|||
|
|||
# exit on first failure |
|||
set -e |
|||
|
|||
# |
|||
# MKS Robin nano v1.2 Emulated DOGM FSMC |
|||
# |
|||
use_example_configs Mks/Robin |
|||
opt_set MOTHERBOARD BOARD_MKS_ROBIN_NANO |
|||
exec_test $1 $2 "MKS Robin nano v1.2 Emulated DOGM FSMC" "$3" |
|||
|
|||
# |
|||
# MKS Robin v2 nano Emulated DOGM SPI |
|||
# (Robin v2 nano has no FSMC interface) |
|||
# |
|||
use_example_configs Mks/Robin |
|||
opt_set MOTHERBOARD BOARD_MKS_ROBIN_NANO_V2 |
|||
opt_disable TFT_INTERFACE_FSMC |
|||
opt_enable TFT_INTERFACE_SPI |
|||
exec_test $1 $2 "MKS Robin v2 nano Emulated DOGM SPI" "$3" |
|||
|
|||
# |
|||
# MKS Robin v2 nano LVGL SPI |
|||
# (Robin v2 nano has no FSMC interface) |
|||
# |
|||
use_example_configs Mks/Robin |
|||
opt_set MOTHERBOARD BOARD_MKS_ROBIN_NANO_V2 |
|||
opt_disable TFT_INTERFACE_FSMC TFT_COLOR_UI TOUCH_SCREEN TFT_RES_320x240 SERIAL_PORT_2 |
|||
opt_enable TFT_INTERFACE_SPI TFT_LVGL_UI TFT_RES_480x320 MKS_WIFI_MODULE |
|||
exec_test $1 $2 "MKS Robin v2 nano LVGL SPI w/ WiFi" "$3" |
|||
|
|||
# |
|||
# MKS Robin v2 nano New Color UI 480x320 SPI |
|||
# (Robin v2 nano has no FSMC interface) |
|||
# |
|||
use_example_configs Mks/Robin |
|||
opt_set MOTHERBOARD BOARD_MKS_ROBIN_NANO_V2 |
|||
opt_disable TFT_INTERFACE_FSMC TFT_RES_320x240 |
|||
opt_enable TFT_INTERFACE_SPI TFT_RES_480x320 |
|||
opt_enable BINARY_FILE_TRANSFER |
|||
exec_test $1 $2 "MKS Robin v2 nano New Color UI 480x320 SPI + BINARY_FILE_TRANSFER" "$3" |
|||
|
|||
# |
|||
# MKS Robin v2 nano LVGL SPI + TMC |
|||
# (Robin v2 nano has no FSMC interface) |
|||
# |
|||
use_example_configs Mks/Robin |
|||
opt_set MOTHERBOARD BOARD_MKS_ROBIN_NANO_V2 X_DRIVER_TYPE TMC2209 Y_DRIVER_TYPE TMC2209 |
|||
opt_disable TFT_INTERFACE_FSMC TFT_COLOR_UI TOUCH_SCREEN TFT_RES_320x240 |
|||
opt_enable TFT_INTERFACE_SPI TFT_LVGL_UI TFT_RES_480x320 |
|||
exec_test $1 $2 "MKS Robin v2 nano LVGL SPI + TMC" "$3" |
|||
|
|||
# |
|||
# MKS Robin v2 nano New Color UI 480x320 SPI Without Touch Screen |
|||
# |
|||
use_example_configs Mks/Robin |
|||
opt_set MOTHERBOARD BOARD_MKS_ROBIN_NANO_V2 |
|||
opt_disable TFT_INTERFACE_FSMC TFT_RES_320x240 TOUCH_SCREEN |
|||
opt_enable TFT_INTERFACE_SPI TFT_RES_480x320 TFT_COLOR_UI |
|||
exec_test $1 $2 "MKS Robin v2 nano New Color UI 480x320 SPI without TOUCH_SCREEN" "$3" |
|||
|
|||
# cleanup |
|||
restore_configs |
@ -1,67 +0,0 @@ |
|||
#!/usr/bin/env bash |
|||
# |
|||
# Build tests for MKS Robin nano |
|||
# (STM32F1 genericSTM32F103VE) |
|||
# |
|||
|
|||
# exit on first failure |
|||
set -e |
|||
|
|||
# |
|||
# MKS Robin nano v1.2 Emulated DOGM FSMC |
|||
# |
|||
use_example_configs Mks/Robin |
|||
opt_set MOTHERBOARD BOARD_MKS_ROBIN_NANO |
|||
exec_test $1 $2 "MKS Robin nano v1.2 Emulated DOGM FSMC" "$3" |
|||
|
|||
# |
|||
# MKS Robin v2 nano Emulated DOGM SPI |
|||
# (Robin v2 nano has no FSMC interface) |
|||
# |
|||
use_example_configs Mks/Robin |
|||
opt_set MOTHERBOARD BOARD_MKS_ROBIN_NANO_V2 |
|||
opt_disable TFT_INTERFACE_FSMC |
|||
opt_enable TFT_INTERFACE_SPI |
|||
exec_test $1 $2 "MKS Robin v2 nano Emulated DOGM SPI" "$3" |
|||
|
|||
# |
|||
# MKS Robin nano v1.2 LVGL FSMC |
|||
# |
|||
# use_example_configs Mks/Robin |
|||
# opt_set MOTHERBOARD BOARD_MKS_ROBIN_NANO |
|||
# opt_disable TFT_CLASSIC_UI TFT_COLOR_UI TOUCH_SCREEN TFT_RES_320x240 |
|||
# opt_enable TFT_LVGL_UI TFT_RES_480x320 |
|||
# exec_test $1 $2 "MKS Robin nano v1.2 LVGL FSMC" "$3" |
|||
|
|||
# |
|||
# MKS Robin v2 nano LVGL SPI |
|||
# (Robin v2 nano has no FSMC interface) |
|||
# |
|||
# use_example_configs Mks/Robin |
|||
# opt_set MOTHERBOARD BOARD_MKS_ROBIN_NANO_V2 |
|||
# opt_disable TFT_INTERFACE_FSMC TFT_COLOR_UI TOUCH_SCREEN TFT_RES_320x240 |
|||
# opt_enable TFT_INTERFACE_SPI TFT_LVGL_UI TFT_RES_480x320 |
|||
# exec_test $1 $2 "MKS Robin v2 nano LVGL SPI" "$3" |
|||
|
|||
# |
|||
# MKS Robin v2 nano New Color UI 480x320 SPI |
|||
# (Robin v2 nano has no FSMC interface) |
|||
# |
|||
use_example_configs Mks/Robin |
|||
opt_set MOTHERBOARD BOARD_MKS_ROBIN_NANO_V2 |
|||
opt_disable TFT_INTERFACE_FSMC TFT_RES_320x240 |
|||
opt_enable TFT_INTERFACE_SPI TFT_RES_480x320 |
|||
exec_test $1 $2 "MKS Robin v2 nano New Color UI 480x320 SPI" "$3" |
|||
|
|||
# |
|||
# MKS Robin v2 nano LVGL SPI + TMC |
|||
# (Robin v2 nano has no FSMC interface) |
|||
# |
|||
# use_example_configs Mks/Robin |
|||
# opt_set MOTHERBOARD BOARD_MKS_ROBIN_NANO_V2 X_DRIVER_TYPE TMC2209 Y_DRIVER_TYPE TMC2209 |
|||
# opt_disable TFT_INTERFACE_FSMC TFT_COLOR_UI TOUCH_SCREEN TFT_RES_320x240 |
|||
# opt_enable TFT_INTERFACE_SPI TFT_LVGL_UI TFT_RES_480x320 |
|||
# exec_test $1 $2 "MKS Robin v2 nano LVGL SPI + TMC" "$3" |
|||
|
|||
# cleanup |
|||
restore_configs |
@ -1,13 +0,0 @@ |
|||
#!/usr/bin/env bash |
|||
# |
|||
# Build tests for MKS Robin (HAL/STM32) |
|||
# |
|||
|
|||
# exit on first failure |
|||
set -e |
|||
|
|||
use_example_configs Mks/Robin |
|||
exec_test $1 $2 "MKS Robin base configuration" "$3" |
|||
|
|||
# cleanup |
|||
restore_configs |
@ -0,0 +1,363 @@ |
|||
# |
|||
# Marlin Firmware |
|||
# PlatformIO Configuration File |
|||
# |
|||
|
|||
################################# |
|||
# |
|||
# STM32F1 Architecture with LibMaple STM32F1 HAL |
|||
# |
|||
# Naming Example: STM32F103RCT6 |
|||
# |
|||
# F : Foundation (sometimes High Performance F2/F4) |
|||
# 1 : Cortex M1 core |
|||
# 03 : Line/Features |
|||
# R : 64 or 66 pins (V:100, Z:144, I:176) |
|||
# C : 256KB Flash-memory (D:384KB, E:512KB, G:1024KB) |
|||
# T : LQFP package |
|||
# 6 : -40...85°C (7: ...105°C) |
|||
# |
|||
################################# |
|||
|
|||
# |
|||
# HAL/STM32F1 Common Environment values |
|||
# |
|||
[common_stm32f1] |
|||
platform = ststm32@~12.1 |
|||
board_build.core = maple |
|||
build_flags = !python Marlin/src/HAL/STM32F1/build_flags.py |
|||
${common.build_flags} |
|||
-DARDUINO_ARCH_STM32 |
|||
build_unflags = -std=gnu11 -std=gnu++11 |
|||
src_filter = ${common.default_src_filter} +<src/HAL/STM32F1> |
|||
lib_ignore = SPI, FreeRTOS701, FreeRTOS821 |
|||
lib_deps = ${common.lib_deps} |
|||
SoftwareSerialM |
|||
platform_packages = tool-stm32duino |
|||
extra_scripts = ${common.extra_scripts} |
|||
pre:buildroot/share/PlatformIO/scripts/fix_framework_weakness.py |
|||
|
|||
# |
|||
# STM32F103RC |
|||
# |
|||
[common_STM32F103RC_maple] |
|||
platform = ${common_stm32f1.platform} |
|||
extends = common_stm32f1 |
|||
board = genericSTM32F103RC |
|||
monitor_speed = 115200 |
|||
|
|||
# |
|||
# MEEB_3DP (STM32F103RCT6 with 512K) |
|||
# |
|||
[env:STM32F103RC_meeb] |
|||
platform = ${common_stm32f1.platform} |
|||
extends = common_STM32F103RC_maple |
|||
board = marlin_MEEB_3DP |
|||
build_flags = ${common_stm32f1.build_flags} |
|||
-DDEBUG_LEVEL=0 |
|||
-DSS_TIMER=4 |
|||
-DSTM32_FLASH_SIZE=512 |
|||
-DHSE_VALUE=12000000U |
|||
-DUSE_USB_COMPOSITE |
|||
-DVECT_TAB_OFFSET=0x2000 |
|||
-DGENERIC_BOOTLOADER |
|||
extra_scripts = ${common_stm32f1.extra_scripts} |
|||
pre:buildroot/share/PlatformIO/scripts/STM32F1_create_variant.py |
|||
buildroot/share/PlatformIO/scripts/STM32F103RC_MEEB_3DP.py |
|||
lib_deps = ${common.lib_deps} |
|||
SoftwareSerialM |
|||
USBComposite for STM32F1@0.91 |
|||
custom_marlin.NEOPIXEL_LED = Adafruit NeoPixel=https://github.com/ccccmagicboy/Adafruit_NeoPixel#meeb_3dp_use |
|||
debug_tool = stlink |
|||
upload_protocol = dfu |
|||
|
|||
# |
|||
# FYSETC STM32F103RC |
|||
# |
|||
[env:STM32F103RC_fysetc] |
|||
platform = ${common_stm32f1.platform} |
|||
extends = common_STM32F103RC_maple |
|||
extra_scripts = ${common_stm32f1.extra_scripts} |
|||
buildroot/share/PlatformIO/scripts/STM32F103RC_fysetc.py |
|||
build_flags = ${common_stm32f1.build_flags} -DDEBUG_LEVEL=0 |
|||
lib_ldf_mode = chain |
|||
debug_tool = stlink |
|||
upload_protocol = serial |
|||
|
|||
# |
|||
# BigTree SKR Mini V1.1 / SKR mini E3 / SKR E3 DIP (STM32F103RCT6 ARM Cortex-M3) |
|||
# |
|||
# STM32F103RC_btt_maple ............. RCT6 with 256K |
|||
# STM32F103RC_btt_USB_maple ......... RCT6 with 256K (USB mass storage) |
|||
# STM32F103RC_btt_512K_maple ........ RCT6 with 512K |
|||
# STM32F103RC_btt_512K_USB_maple .... RCT6 with 512K (USB mass storage) |
|||
# |
|||
# WARNING! If you have an SKR Mini v1.1 or an SKR Mini E3 1.0 / 1.2 / 2.0 / DIP |
|||
# and experience a printer freeze, re-flash Marlin using the regular (non-512K) |
|||
# build option. 256K chips may be re-branded 512K chips, but this means the |
|||
# upper 256K is sketchy, and failure is very likely. |
|||
# |
|||
|
|||
[env:STM32F103RC_btt_maple] |
|||
platform = ${common_stm32f1.platform} |
|||
extends = common_STM32F103RC_maple |
|||
board_build.address = 0x08007000 |
|||
board_build.ldscript = STM32F103RC_SKR_MINI_256K.ld |
|||
extra_scripts = ${common_stm32f1.extra_scripts} |
|||
buildroot/share/PlatformIO/scripts/custom_board.py |
|||
build_flags = ${common_stm32f1.build_flags} |
|||
-DDEBUG_LEVEL=0 -DSS_TIMER=4 |
|||
monitor_speed = 115200 |
|||
|
|||
[env:STM32F103RC_btt_USB_maple] |
|||
platform = ${common_stm32f1.platform} |
|||
extends = env:STM32F103RC_btt_maple |
|||
build_flags = ${env:STM32F103RC_btt_maple.build_flags} -DUSE_USB_COMPOSITE |
|||
lib_deps = ${env:STM32F103RC_btt_maple.lib_deps} |
|||
USBComposite for STM32F1@0.91 |
|||
|
|||
[env:STM32F103RC_btt_512K_maple] |
|||
platform = ${common_stm32f1.platform} |
|||
extends = env:STM32F103RC_btt_maple |
|||
board_build.ldscript = STM32F103RC_SKR_MINI_512K.ld |
|||
board_upload.maximum_size = 524288 |
|||
build_flags = ${env:STM32F103RC_btt_maple.build_flags} -DSTM32_FLASH_SIZE=512 |
|||
|
|||
[env:STM32F103RC_btt_512K_USB_maple] |
|||
platform = ${common_stm32f1.platform} |
|||
extends = env:STM32F103RC_btt_512K_maple |
|||
build_flags = ${env:STM32F103RC_btt_512K_maple.build_flags} -DUSE_USB_COMPOSITE |
|||
lib_deps = ${env:STM32F103RC_btt_512K_maple.lib_deps} |
|||
USBComposite for STM32F1@0.91 |
|||
|
|||
# |
|||
# STM32F103RE with Unified STM32F1 HAL |
|||
# |
|||
[common_STM32F103RE] |
|||
platform = ${common_stm32f1.platform} |
|||
extends = common_stm32f1 |
|||
board = genericSTM32F103RE |
|||
monitor_speed = 115200 |
|||
|
|||
# |
|||
# Creality (STM32F103RET6) |
|||
# |
|||
[env:STM32F103RET6_creality_maple] |
|||
platform = ${common_stm32f1.platform} |
|||
extends = common_STM32F103RE |
|||
build_flags = ${common_stm32f1.build_flags} -DTEMP_TIMER_CHAN=4 |
|||
board_build.address = 0x08007000 |
|||
board_build.ldscript = creality.ld |
|||
extra_scripts = ${common_stm32f1.extra_scripts} |
|||
pre:buildroot/share/PlatformIO/scripts/random-bin.py |
|||
buildroot/share/PlatformIO/scripts/custom_board.py |
|||
debug_tool = jlink |
|||
upload_protocol = jlink |
|||
|
|||
# |
|||
# STM32F103RE_btt ............. RET6 |
|||
# STM32F103RE_btt_USB ......... RET6 (USB mass storage) |
|||
# |
|||
[env:STM32F103RE_btt] |
|||
platform = ${common_stm32f1.platform} |
|||
extends = common_STM32F103RE |
|||
board_build.address = 0x08007000 |
|||
board_build.ldscript = STM32F103RE_SKR_E3_DIP.ld |
|||
extra_scripts = ${common_stm32f1.extra_scripts} |
|||
buildroot/share/PlatformIO/scripts/custom_board.py |
|||
build_flags = ${common_stm32f1.build_flags} -DDEBUG_LEVEL=0 -DSS_TIMER=4 |
|||
debug_tool = stlink |
|||
upload_protocol = stlink |
|||
|
|||
[env:STM32F103RE_btt_USB] |
|||
platform = ${common_stm32f1.platform} |
|||
extends = env:STM32F103RE_btt |
|||
build_flags = ${env:STM32F103RE_btt.build_flags} -DUSE_USB_COMPOSITE |
|||
lib_deps = ${common_stm32f1.lib_deps} |
|||
USBComposite for STM32F1@0.91 |
|||
|
|||
# |
|||
# Geeetech GTM32 (STM32F103VET6) |
|||
# |
|||
[env:STM32F103VE_GTM32] |
|||
platform = ${common_stm32f1.platform} |
|||
extends = common_stm32f1 |
|||
board = genericSTM32F103VE |
|||
build_flags = ${common_stm32f1.build_flags} |
|||
-ffunction-sections -fdata-sections -nostdlib -MMD |
|||
-DMCU_STM32F103VE -DARDUINO_GENERIC_STM32F103V -DARDUINO_ARCH_STM32F1 -DBOARD_generic_stm32f103v |
|||
-DDEBUG_LEVEL=DEBUG_NONE -DCONFIG_MAPLE_MINI_NO_DISABLE_DEBUG=1 -DVECT_TAB_ADDR=0x8000000 |
|||
-DERROR_LED_PORT=GPIOE -DERROR_LED_PIN=6 |
|||
upload_protocol = serial |
|||
|
|||
# |
|||
# Longer 3D board in Alfawise U20 (STM32F103VET6) |
|||
# |
|||
[env:STM32F103VE_longer] |
|||
platform = ${common_stm32f1.platform} |
|||
extends = common_stm32f1 |
|||
board = genericSTM32F103VE |
|||
board_build.address = 0x08010000 |
|||
board_build.ldscript = STM32F103VE_longer.ld |
|||
extra_scripts = ${common_stm32f1.extra_scripts} |
|||
buildroot/share/PlatformIO/scripts/custom_board.py |
|||
buildroot/share/PlatformIO/scripts/STM32F103VE_longer.py |
|||
build_flags = ${common_stm32f1.build_flags} |
|||
-DMCU_STM32F103VE -DSTM32F1xx -USERIAL_USB -DU20 -DTS_V12 |
|||
build_unflags = ${common_stm32f1.build_unflags} |
|||
-DCONFIG_MAPLE_MINI_NO_DISABLE_DEBUG=1 -DERROR_LED_PORT=GPIOE -DERROR_LED_PIN=6 |
|||
|
|||
# |
|||
# MKS Robin Mini (STM32F103VET6) |
|||
# |
|||
[env:mks_robin_mini] |
|||
platform = ${common_stm32f1.platform} |
|||
extends = common_stm32f1 |
|||
board = genericSTM32F103VE |
|||
extra_scripts = ${common_stm32f1.extra_scripts} |
|||
buildroot/share/PlatformIO/scripts/mks_robin_mini.py |
|||
build_flags = ${common_stm32f1.build_flags} |
|||
-DMCU_STM32F103VE |
|||
|
|||
# |
|||
# MKS Robin Nano (STM32F103VET6) |
|||
# |
|||
[env:mks_robin_nano35_maple] |
|||
platform = ${common_stm32f1.platform} |
|||
extends = common_stm32f1 |
|||
board = genericSTM32F103VE |
|||
extra_scripts = ${common_stm32f1.extra_scripts} |
|||
buildroot/share/PlatformIO/scripts/mks_robin_nano35.py |
|||
build_flags = ${common_stm32f1.build_flags} |
|||
-DMCU_STM32F103VE -DSS_TIMER=4 |
|||
debug_tool = jlink |
|||
upload_protocol = jlink |
|||
|
|||
# |
|||
# MKS Robin (STM32F103ZET6) |
|||
# |
|||
[env:mks_robin_maple] |
|||
platform = ${common_stm32f1.platform} |
|||
extends = common_stm32f1 |
|||
board = genericSTM32F103ZE |
|||
extra_scripts = ${common_stm32f1.extra_scripts} |
|||
buildroot/share/PlatformIO/scripts/mks_robin.py |
|||
build_flags = ${common_stm32f1.build_flags} |
|||
-DSS_TIMER=4 -DSTM32_XL_DENSITY |
|||
|
|||
# |
|||
# MKS Robin Pro (STM32F103ZET6) |
|||
# |
|||
[env:mks_robin_pro] |
|||
platform = ${common_stm32f1.platform} |
|||
extends = env:mks_robin_maple |
|||
extra_scripts = ${common_stm32f1.extra_scripts} |
|||
buildroot/share/PlatformIO/scripts/mks_robin_pro.py |
|||
|
|||
# |
|||
# TRIGORILLA PRO (STM32F103ZET6) |
|||
# |
|||
[env:trigorilla_pro] |
|||
platform = ${common_stm32f1.platform} |
|||
extends = env:mks_robin_maple |
|||
extra_scripts = ${common_stm32f1.extra_scripts} |
|||
|
|||
# |
|||
# MKS Robin E3D (STM32F103RCT6) and |
|||
# MKS Robin E3 with TMC2209 |
|||
# |
|||
[env:mks_robin_e3] |
|||
platform = ${common_stm32f1.platform} |
|||
extends = common_stm32f1 |
|||
board = genericSTM32F103RC |
|||
extra_scripts = ${common_stm32f1.extra_scripts} |
|||
buildroot/share/PlatformIO/scripts/mks_robin_e3.py |
|||
build_flags = ${common_stm32f1.build_flags} |
|||
-DDEBUG_LEVEL=0 -DSS_TIMER=4 |
|||
|
|||
# |
|||
# MKS Robin E3p (STM32F103VET6) |
|||
# - LVGL UI |
|||
# |
|||
[env:mks_robin_e3p] |
|||
platform = ${common_stm32f1.platform} |
|||
extends = common_stm32f1 |
|||
board = genericSTM32F103VE |
|||
extra_scripts = ${common_stm32f1.extra_scripts} |
|||
buildroot/share/PlatformIO/scripts/mks_robin_e3p.py |
|||
build_flags = ${common_stm32f1.build_flags} |
|||
-DMCU_STM32F103VE -DSS_TIMER=4 |
|||
debug_tool = jlink |
|||
upload_protocol = jlink |
|||
|
|||
# |
|||
# MKS Robin Lite/Lite2 (STM32F103RCT6) |
|||
# |
|||
[env:mks_robin_lite] |
|||
platform = ${common_stm32f1.platform} |
|||
extends = common_stm32f1 |
|||
board = genericSTM32F103RC |
|||
extra_scripts = ${common_stm32f1.extra_scripts} |
|||
buildroot/share/PlatformIO/scripts/mks_robin_lite.py |
|||
|
|||
# |
|||
# MKS ROBIN LITE3 (STM32F103RCT6) |
|||
# |
|||
[env:mks_robin_lite3] |
|||
platform = ${common_stm32f1.platform} |
|||
extends = common_stm32f1 |
|||
board = genericSTM32F103RC |
|||
extra_scripts = ${common_stm32f1.extra_scripts} |
|||
buildroot/share/PlatformIO/scripts/mks_robin_lite3.py |
|||
|
|||
# |
|||
# JGAurora A5S A1 (STM32F103ZET6) |
|||
# |
|||
[env:jgaurora_a5s_a1] |
|||
platform = ${common_stm32f1.platform} |
|||
extends = common_stm32f1 |
|||
board = genericSTM32F103ZE |
|||
board_build.address = 0x0800A000 |
|||
board_build.ldscript = jgaurora_a5s_a1.ld |
|||
extra_scripts = ${common_stm32f1.extra_scripts} |
|||
buildroot/share/PlatformIO/scripts/custom_board.py |
|||
buildroot/share/PlatformIO/scripts/jgaurora_a5s_a1_with_bootloader.py |
|||
build_flags = ${common_stm32f1.build_flags} |
|||
-DSTM32F1xx -DSTM32_XL_DENSITY |
|||
|
|||
# |
|||
# Malyan M200 (STM32F103CB) |
|||
# |
|||
[env:STM32F103CB_malyan] |
|||
platform = ${common_stm32f1.platform} |
|||
extends = common_stm32f1 |
|||
board = marlin_malyanM200 |
|||
build_flags = ${common_stm32f1.build_flags} |
|||
-DMCU_STM32F103CB -D__STM32F1__=1 -std=c++1y -DSERIAL_USB -ffunction-sections -fdata-sections |
|||
-Wl,--gc-sections -DDEBUG_LEVEL=0 -D__MARLIN_FIRMWARE__ |
|||
lib_ignore = ${common_stm32f1.lib_ignore} |
|||
SoftwareSerialM |
|||
|
|||
# |
|||
# Chitu boards like Tronxy X5s (STM32F103ZET6) |
|||
# |
|||
[env:chitu_f103] |
|||
platform = ${common_stm32f1.platform} |
|||
extends = common_stm32f1 |
|||
board = marlin_CHITU_F103 |
|||
extra_scripts = pre:buildroot/share/PlatformIO/scripts/common-dependencies.py |
|||
pre:buildroot/share/PlatformIO/scripts/STM32F1_create_variant.py |
|||
buildroot/share/PlatformIO/scripts/chitu_crypt.py |
|||
build_flags = ${common_stm32f1.build_flags} |
|||
-DSTM32F1xx -DSTM32_XL_DENSITY |
|||
build_unflags = ${common_stm32f1.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_stm32f1.platform} |
|||
extends = env:chitu_f103 |
|||
build_flags = ${env:chitu_f103.build_flags} -DCHITU_V5_Z_MIN_BUGFIX |
Loading…
Reference in new issue