Skip to content

Commit e48bc01

Browse files
committed
🔨 PlatformIO 6 compatibility
1 parent 88a2ac9 commit e48bc01

20 files changed

+297
-335
lines changed

Marlin/Configuration_adv.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -2138,7 +2138,7 @@
21382138
* TMC26X Stepper Driver options
21392139
*
21402140
* The TMC26XStepper library is required for this stepper driver.
2141-
* https://github.com/trinamic/TMC26XStepper
2141+
* https://github.com/MarlinFirmware/TMC26XStepper
21422142
*/
21432143
#if HAS_DRIVER(TMC26X)
21442144

buildroot/share/PlatformIO/scripts/STM32F103RC_SKR_MINI.py

+2-5
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,13 @@
1-
import os
1+
import os, marlin
22
Import("env")
33

44
STM32_FLASH_SIZE = 256
5-
65
for define in env['CPPDEFINES']:
7-
if define[0] == "VECT_TAB_ADDR":
8-
env['CPPDEFINES'].remove(define)
96
if define[0] == "STM32_FLASH_SIZE":
107
STM32_FLASH_SIZE = define[1]
118

129
# Relocate firmware from 0x08000000 to 0x08007000
13-
env['CPPDEFINES'].append(("VECT_TAB_ADDR", "0x08007000"))
10+
marlin.relocate_firmware("0x08007000")
1411

1512
custom_ld_script = os.path.abspath("buildroot/share/PlatformIO/ldscripts/STM32F103RC_SKR_MINI_" + str(STM32_FLASH_SIZE) + "K.ld")
1613
for i, flag in enumerate(env["LINKFLAGS"]):

buildroot/share/PlatformIO/scripts/STM32F103RC_fysetc.py

+2-4
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,8 @@
44
Import("env")
55

66
# Relocate firmware from 0x08000000 to 0x08008000
7-
#for define in env['CPPDEFINES']:
8-
# if define[0] == "VECT_TAB_ADDR":
9-
# env['CPPDEFINES'].remove(define)
10-
#env['CPPDEFINES'].append(("VECT_TAB_ADDR", "0x08008000"))
7+
#import marlin
8+
#marlin.relocate_firmware("0x08008000")
119

1210
#custom_ld_script = os.path.abspath("buildroot/share/PlatformIO/ldscripts/fysetc_stm32f103rc.ld")
1311
#for i, flag in enumerate(env["LINKFLAGS"]):

buildroot/share/PlatformIO/scripts/STM32F103RE_SKR_E3_DIP.py

+2-6
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,8 @@
1-
import os
1+
import os, marlin
22
Import("env")
33

4-
for define in env['CPPDEFINES']:
5-
if define[0] == "VECT_TAB_ADDR":
6-
env['CPPDEFINES'].remove(define)
7-
84
# Relocate firmware from 0x08000000 to 0x08007000
9-
env['CPPDEFINES'].append(("VECT_TAB_ADDR", "0x08007000"))
5+
marlin.relocate_firmware("0x08007000")
106

117
custom_ld_script = os.path.abspath("buildroot/share/PlatformIO/ldscripts/STM32F103RE_SKR_E3_DIP.ld")
128
for i, flag in enumerate(env["LINKFLAGS"]):

buildroot/share/PlatformIO/scripts/STM32F103VE_longer.py

+2-5
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,8 @@
1-
import os
1+
import os, marlin
22
Import("env")
33

44
# Relocate firmware from 0x08000000 to 0x08010000
5-
for define in env['CPPDEFINES']:
6-
if define[0] == "VECT_TAB_ADDR":
7-
env['CPPDEFINES'].remove(define)
8-
env['CPPDEFINES'].append(("VECT_TAB_ADDR", "0x08010000"))
5+
marlin.relocate_firmware("0x08010000")
96

107
custom_ld_script = os.path.abspath("buildroot/share/PlatformIO/ldscripts/STM32F103VE_longer.ld")
118
for i, flag in enumerate(env["LINKFLAGS"]):

buildroot/share/PlatformIO/scripts/common-dependencies.py

+10-10
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ def add_to_feat_cnf(feature, flines):
5151
parts = dep.split('=')
5252
name = parts.pop(0)
5353
rest = '='.join(parts)
54-
if name in ['extra_scripts', 'src_filter', 'lib_ignore']:
54+
if name in ['extra_scripts', 'build_src_filter', 'lib_ignore']:
5555
feat[name] = rest
5656
else:
5757
feat['lib_deps'] += [dep]
@@ -152,19 +152,19 @@ def apply_features_config():
152152
blab("Running extra_scripts for %s... " % feature)
153153
env.SConscript(feat['extra_scripts'], exports="env")
154154

155-
if 'src_filter' in feat:
156-
blab("Adding src_filter for %s... " % feature)
157-
src_filter = ' '.join(env.GetProjectOption('src_filter'))
155+
if 'build_src_filter' in feat:
156+
blab("Adding build_src_filter for %s... " % feature)
157+
build_src_filter = ' '.join(env.GetProjectOption('build_src_filter'))
158158
# first we need to remove the references to the same folder
159-
my_srcs = re.findall( r'[+-](<.*?>)', feat['src_filter'])
160-
cur_srcs = re.findall( r'[+-](<.*?>)', src_filter)
159+
my_srcs = re.findall( r'[+-](<.*?>)', feat['build_src_filter'])
160+
cur_srcs = re.findall( r'[+-](<.*?>)', build_src_filter)
161161
for d in my_srcs:
162162
if d in cur_srcs:
163-
src_filter = re.sub(r'[+-]' + d, '', src_filter)
163+
build_src_filter = re.sub(r'[+-]' + d, '', build_src_filter)
164164

165-
src_filter = feat['src_filter'] + ' ' + src_filter
166-
set_env_field('src_filter', [src_filter])
167-
env.Replace(SRC_FILTER=src_filter)
165+
build_src_filter = feat['build_src_filter'] + ' ' + build_src_filter
166+
set_env_field('build_src_filter', [build_src_filter])
167+
env.Replace(SRC_FILTER=build_src_filter)
168168

169169
if 'lib_ignore' in feat:
170170
blab("Adding lib_ignore for %s... " % feature)

buildroot/share/PlatformIO/scripts/creality.py

+2-6
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,8 @@
1-
import os
1+
import os, marlin
22
Import("env")
33

44
# Relocate firmware from 0x08000000 to 0x08007000
5-
for define in env['CPPDEFINES']:
6-
if define[0] == "VECT_TAB_ADDR":
7-
env['CPPDEFINES'].remove(define)
8-
9-
env['CPPDEFINES'].append(("VECT_TAB_ADDR", "0x08007000"))
5+
marlin.relocate_firmware("0x08007000")
106

117
custom_ld_script = os.path.abspath("buildroot/share/PlatformIO/ldscripts/creality.ld")
128

buildroot/share/PlatformIO/scripts/fly_mini.py

+2-5
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,8 @@
1-
import os
1+
import os, marlin
22
Import("env")
33

44
# Relocate firmware from 0x08000000 to 0x08005000
5-
for define in env['CPPDEFINES']:
6-
if define[0] == "VECT_TAB_ADDR":
7-
env['CPPDEFINES'].remove(define)
8-
env['CPPDEFINES'].append(("VECT_TAB_ADDR", "0x08005000"))
5+
marlin.relocate_firmware("0x08005000")
96

107
custom_ld_script = os.path.abspath("buildroot/share/PlatformIO/ldscripts/fly_mini.ld")
118
for i, flag in enumerate(env["LINKFLAGS"]):
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
#
2+
# buildroot/share/PlatformIO/scripts/marlin.py
3+
# Helper module with some commonly-used functions
4+
#
5+
from SCons.Script import DefaultEnvironment
6+
env = DefaultEnvironment()
7+
8+
def replace_define(field, value):
9+
envdefs = env['CPPDEFINES'].copy()
10+
for define in envdefs:
11+
if define[0] == field:
12+
env['CPPDEFINES'].remove(define)
13+
env['CPPDEFINES'].append((field, value))
14+
15+
# Relocate the firmware to a new address, such as "0x08005000"
16+
def relocate_firmware(address):
17+
replace_define("VECT_TAB_ADDR", address)

buildroot/share/PlatformIO/scripts/mks_robin.py

+2-5
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,8 @@
1-
import os
1+
import os, marlin
22
Import("env")
33

44
# Relocate firmware from 0x08000000 to 0x08007000
5-
for define in env['CPPDEFINES']:
6-
if define[0] == "VECT_TAB_ADDR":
7-
env['CPPDEFINES'].remove(define)
8-
env['CPPDEFINES'].append(("VECT_TAB_ADDR", "0x08007000"))
5+
marlin.relocate_firmware("0x08007000")
96

107
custom_ld_script = os.path.abspath("buildroot/share/PlatformIO/ldscripts/mks_robin.ld")
118
for i, flag in enumerate(env["LINKFLAGS"]):

buildroot/share/PlatformIO/scripts/mks_robin_e3.py

+2-5
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,8 @@
1-
import os
1+
import os, marlin
22
Import("env")
33

44
# Relocate firmware from 0x08000000 to 0x08005000
5-
for define in env['CPPDEFINES']:
6-
if define[0] == "VECT_TAB_ADDR":
7-
env['CPPDEFINES'].remove(define)
8-
env['CPPDEFINES'].append(("VECT_TAB_ADDR", "0x08005000"))
5+
marlin.relocate_firmware("0x08005000")
96

107
custom_ld_script = os.path.abspath("buildroot/share/PlatformIO/ldscripts/mks_robin_e3.ld")
118
for i, flag in enumerate(env["LINKFLAGS"]):

buildroot/share/PlatformIO/scripts/mks_robin_e3p.py

+2-5
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,8 @@
1-
import os
1+
import os, marlin
22
Import("env")
33

44
# Relocate firmware from 0x08000000 to 0x08007000
5-
for define in env['CPPDEFINES']:
6-
if define[0] == "VECT_TAB_ADDR":
7-
env['CPPDEFINES'].remove(define)
8-
env['CPPDEFINES'].append(("VECT_TAB_ADDR", "0x08007000"))
5+
marlin.relocate_firmware("0x08007000")
96

107
custom_ld_script = os.path.abspath("buildroot/share/PlatformIO/ldscripts/mks_robin_e3p.ld")
118
for i, flag in enumerate(env["LINKFLAGS"]):

buildroot/share/PlatformIO/scripts/mks_robin_lite.py

+2-5
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,8 @@
1-
import os
1+
import os, marlin
22
Import("env")
33

44
# Relocate firmware from 0x08000000 to 0x08005000
5-
for define in env['CPPDEFINES']:
6-
if define[0] == "VECT_TAB_ADDR":
7-
env['CPPDEFINES'].remove(define)
8-
env['CPPDEFINES'].append(("VECT_TAB_ADDR", "0x08005000"))
5+
marlin.relocate_firmware("0x08005000")
96

107
custom_ld_script = os.path.abspath("buildroot/share/PlatformIO/ldscripts/mks_robin_lite.ld")
118
for i, flag in enumerate(env["LINKFLAGS"]):

buildroot/share/PlatformIO/scripts/mks_robin_lite3.py

+2-5
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,8 @@
1-
import os
1+
import os, marlin
22
Import("env")
33

44
# Relocate firmware from 0x08000000 to 0x08005000
5-
for define in env['CPPDEFINES']:
6-
if define[0] == "VECT_TAB_ADDR":
7-
env['CPPDEFINES'].remove(define)
8-
env['CPPDEFINES'].append(("VECT_TAB_ADDR", "0x08005000"))
5+
marlin.relocate_firmware("0x08005000")
96

107
custom_ld_script = os.path.abspath("buildroot/share/PlatformIO/ldscripts/mks_robin_lite.ld")
118
for i, flag in enumerate(env["LINKFLAGS"]):

buildroot/share/PlatformIO/scripts/mks_robin_mini.py

+2-5
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,8 @@
1-
import os
1+
import os, marlin
22
Import("env")
33

44
# Relocate firmware from 0x08000000 to 0x08007000
5-
for define in env['CPPDEFINES']:
6-
if define[0] == "VECT_TAB_ADDR":
7-
env['CPPDEFINES'].remove(define)
8-
env['CPPDEFINES'].append(("VECT_TAB_ADDR", "0x08007000"))
5+
marlin.relocate_firmware("0x08007000")
96

107
custom_ld_script = os.path.abspath("buildroot/share/PlatformIO/ldscripts/mks_robin_mini.ld")
118
for i, flag in enumerate(env["LINKFLAGS"]):

buildroot/share/PlatformIO/scripts/mks_robin_nano.py

+2-5
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,8 @@
1-
import os
1+
import os, marlin
22
Import("env")
33

44
# Relocate firmware from 0x08000000 to 0x08007000
5-
for define in env['CPPDEFINES']:
6-
if define[0] == "VECT_TAB_ADDR":
7-
env['CPPDEFINES'].remove(define)
8-
env['CPPDEFINES'].append(("VECT_TAB_ADDR", "0x08007000"))
5+
marlin.relocate_firmware("0x08007000")
96

107
custom_ld_script = os.path.abspath("buildroot/share/PlatformIO/ldscripts/mks_robin_nano.ld")
118
for i, flag in enumerate(env["LINKFLAGS"]):

buildroot/share/PlatformIO/scripts/mks_robin_nano35.py

+2-5
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,8 @@
1-
import os
1+
import os, marlin
22
Import("env")
33

44
# Relocate firmware from 0x08000000 to 0x08007000
5-
for define in env['CPPDEFINES']:
6-
if define[0] == "VECT_TAB_ADDR":
7-
env['CPPDEFINES'].remove(define)
8-
env['CPPDEFINES'].append(("VECT_TAB_ADDR", "0x08007000"))
5+
marlin.relocate_firmware("0x08007000")
96

107
custom_ld_script = os.path.abspath("buildroot/share/PlatformIO/ldscripts/mks_robin_nano.ld")
118
for i, flag in enumerate(env["LINKFLAGS"]):

buildroot/share/PlatformIO/scripts/mks_robin_pro.py

+2-5
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,8 @@
1-
import os
1+
import os, marlin
22
Import("env")
33

44
# Relocate firmware from 0x08000000 to 0x08007000
5-
for define in env['CPPDEFINES']:
6-
if define[0] == "VECT_TAB_ADDR":
7-
env['CPPDEFINES'].remove(define)
8-
env['CPPDEFINES'].append(("VECT_TAB_ADDR", "0x08007000"))
5+
marlin.relocate_firmware("0x08007000")
96

107
custom_ld_script = os.path.abspath("buildroot/share/PlatformIO/ldscripts/mks_robin_pro.ld")
118
for i, flag in enumerate(env["LINKFLAGS"]):

buildroot/share/PlatformIO/scripts/stm32_bootloader.py

+2-5
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import os,sys,shutil
1+
import os,sys,shutil,marlin
22
Import("env")
33

44
from SCons.Script import DefaultEnvironment
@@ -13,10 +13,7 @@ def noencrypt(source, target, env):
1313
if 'offset' in board.get("build").keys():
1414
LD_FLASH_OFFSET = board.get("build.offset")
1515

16-
for define in env['CPPDEFINES']:
17-
if define[0] == "VECT_TAB_OFFSET":
18-
env['CPPDEFINES'].remove(define)
19-
env['CPPDEFINES'].append(("VECT_TAB_OFFSET", LD_FLASH_OFFSET))
16+
marlin.replace_define("VECT_TAB_OFFSET", LD_FLASH_OFFSET)
2017

2118
maximum_ram_size = board.get("upload.maximum_ram_size")
2219

0 commit comments

Comments
 (0)