Skip to content

Commit b7a1681

Browse files
committed
🔨 Fix some build_flags inheritance
1 parent 3a3c3b8 commit b7a1681

File tree

3 files changed

+40
-18
lines changed

3 files changed

+40
-18
lines changed
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# Marlin Custom Variants
2+
3+
This `buildroot/share/PlatformIO/variants` folder contains Marlin custom variants for both generic and custom boards.
4+
5+
Marlin specifies board variants in PlatformIO INI files in one of two ways:
6+
- The `board_build.variant = VARIANT_MAME` field specifies the variant subfolder name directly.
7+
- The `board = board_name` field names a custom board JSON file that contains a `build.variant` field.
8+
9+
## Variant File Naming
10+
11+
With the latest STM32 platform (17.x) the `variant.h` and `variant.cpp` files are required to have more unique names. If the variant is based on a generic board definition the name `variant_generic.h`/`.cpp` should be used. Otherwise, the capitalized name of the `board` should be used.
12+
13+
### Examples
14+
15+
| board | board file | variant | Variant Files |
16+
|-------|------------|---------|---------------|
17+
|`marlin_STM32F407VGT6_CCM`|`marlin_STM32F407VGT6_CCM.json`|`MARLIN_BTT_E3_RRF`|`variants/MARLIN_BTT_E3_RRF/variant.*`|
18+
|`genericSTM32F103VE`|n/a|`MARLIN_F103Vx`|`variants/MARLIN_F103Vx/variant_generic.*`|
19+
|`marlin_STM32F407ZE`|`marlin_STM32F407ZE.json`|`MARLIN_F407ZE`|`variants/MARLIN_F407ZE/variant_MARLIN_F407ZE.*`|
20+
21+
# Marlin Custom Boards
22+
23+
The `buildroot/share/PlatformIO/boards` folder contains Marlin's custom board definition JSON files. These files provide hardware IDs, board statistics, additional build flags, custom variant name, linker definition filename, remote debug options, upload devices, etc.

ini/stm32-common.ini

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,5 @@ extra_scripts = ${common_stm32.extra_scripts}
4141
[stm_flash_drive]
4242
# Arduino_Core_STM32 uses usb-host-msc-cdc-msc-3 branch
4343
platform_packages = framework-arduinoststm32@https://github.com/rhapsodyv/Arduino_Core_STM32/archive/39f37d6d6a.zip
44-
build_flags = ${common_stm32.build_flags}
45-
-DHAL_PCD_MODULE_ENABLED -DHAL_HCD_MODULE_ENABLED
44+
build_flags = -DHAL_PCD_MODULE_ENABLED -DHAL_HCD_MODULE_ENABLED
4645
-DUSBHOST -DUSBH_IRQ_PRIO=3 -DUSBH_IRQ_SUBPRIO=4

ini/stm32f4.ini

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,7 @@ upload_protocol = stlink
219219
[env:BTT_SKR_PRO_usb_flash_drive]
220220
extends = env:BTT_SKR_PRO
221221
platform_packages = ${stm_flash_drive.platform_packages}
222-
build_flags = ${stm_flash_drive.build_flags} -DSTM32F407_5ZX
222+
build_flags = ${env:BTT_SKR_PRO.build_flags} ${stm_flash_drive.build_flags} -DSTM32F407_5ZX
223223
build_unflags = ${env:BTT_SKR_PRO.build_unflags} -DUSBCON -DUSBD_USE_CDC
224224

225225
#
@@ -266,7 +266,7 @@ build_flags = ${stm32_variant.build_flags} -DSTM32F407IX
266266
[env:BTT_GTR_V1_0_usb_flash_drive]
267267
extends = env:BTT_GTR_V1_0
268268
platform_packages = ${stm_flash_drive.platform_packages}
269-
build_flags = ${stm_flash_drive.build_flags} -DSTM32F407IX
269+
build_flags = ${env:BTT_GTR_V1_0.build_flags} ${stm_flash_drive.build_flags} -DSTM32F407IX
270270
build_unflags = ${env:BTT_GTR_V1_0.build_unflags} -DUSBCON -DUSBD_USE_CDC
271271

272272
#
@@ -304,7 +304,7 @@ board = marlin_STM32F407VGT6_CCM
304304
board_build.variant = MARLIN_F4x7Vx
305305
board_build.offset = 0x8000
306306
board_upload.offset_address = 0x08008000
307-
build_flags = ${stm_flash_drive.build_flags} ${USB_HS_IN_FS.build_flags}
307+
build_flags = ${stm32_variant.build_flags} ${stm_flash_drive.build_flags} ${USB_HS_IN_FS.build_flags}
308308
-DHSE_VALUE=8000000U -DHAL_SD_MODULE_ENABLED
309309
-DPIN_SERIAL3_RX=PD_9 -DPIN_SERIAL3_TX=PD_8
310310
upload_protocol = stlink
@@ -362,7 +362,7 @@ build_flags = ${stm32_variant.build_flags}
362362
extends = env:STM32F446ZE_btt
363363
platform_packages = ${stm_flash_drive.platform_packages}
364364
build_unflags = -DUSBD_USE_CDC
365-
build_flags = ${stm_flash_drive.build_flags} -DSTM32F446_5VX
365+
build_flags = ${env:STM32F446ZE_btt.build_flags} ${stm_flash_drive.build_flags} -DSTM32F446_5VX
366366
${USB_HS_IN_FS.build_flags} -DUSBD_USE_CDC_MSC
367367

368368
#
@@ -385,7 +385,7 @@ build_flags = ${stm32_variant.build_flags}
385385
extends = env:STM32F429ZG_btt
386386
platform_packages = ${stm_flash_drive.platform_packages}
387387
build_unflags = -DUSBD_USE_CDC
388-
build_flags = ${stm_flash_drive.build_flags}
388+
build_flags = ${env:STM32F429ZG_btt.build_flags} ${stm_flash_drive.build_flags}
389389
${USB_HS_IN_FS.build_flags} -DUSBD_USE_CDC_MSC
390390

391391
#
@@ -406,7 +406,7 @@ build_flags = ${stm32_variant.build_flags}
406406
extends = env:STM32F407ZE_btt
407407
platform_packages = ${stm_flash_drive.platform_packages}
408408
build_unflags = -DUSBD_USE_CDC
409-
build_flags = ${stm_flash_drive.build_flags} ${USB_HS_IN_FS.build_flags} -DUSBD_USE_CDC_MSC
409+
build_flags = ${env:STM32F407ZE_btt.build_flags} ${stm_flash_drive.build_flags} ${USB_HS_IN_FS.build_flags} -DUSBD_USE_CDC_MSC
410410

411411
#
412412
# Lerdge base
@@ -438,7 +438,7 @@ board_build.crypt_lerdge = Lerdge_X_firmware_force.bin
438438
[env:LERDGEX_usb_flash_drive]
439439
extends = env:LERDGEX
440440
platform_packages = ${stm_flash_drive.platform_packages}
441-
build_flags = ${stm_flash_drive.build_flags} ${lerdge_common.build_flags}
441+
build_flags = ${env:LERDGEX.build_flags} ${stm_flash_drive.build_flags}
442442

443443
#
444444
# Lerdge S (STM32F407ZG)
@@ -453,7 +453,7 @@ board_build.crypt_lerdge = Lerdge_firmware_force.bin
453453
[env:LERDGES_usb_flash_drive]
454454
extends = env:LERDGES
455455
platform_packages = ${stm_flash_drive.platform_packages}
456-
build_flags = ${stm_flash_drive.build_flags} ${lerdge_common.build_flags}
456+
build_flags = ${env:LERDGES.build_flags} ${stm_flash_drive.build_flags}
457457

458458
#
459459
# Lerdge K (STM32F407ZG)
@@ -469,7 +469,7 @@ build_flags = ${lerdge_common.build_flags} -DLERDGEK
469469
[env:LERDGEK_usb_flash_drive]
470470
extends = env:LERDGEK
471471
platform_packages = ${stm_flash_drive.platform_packages}
472-
build_flags = ${stm_flash_drive.build_flags} ${lerdge_common.build_flags}
472+
build_flags = ${env:LERDGEK.build_flags} ${stm_flash_drive.build_flags}
473473

474474
#
475475
# RUMBA32
@@ -512,7 +512,7 @@ board = genericSTM32F407VET6
512512
board_build.variant = MARLIN_F4x7Vx
513513
board_build.offset = 0x0000
514514
board_upload.offset_address = 0x08000000
515-
build_flags = ${stm_flash_drive.build_flags}
515+
build_flags = ${stm32_variant.build_flags} ${stm_flash_drive.build_flags}
516516
build_unflags = ${stm32_variant.build_unflags} -DUSBCON -DUSBD_USE_CDC
517517
debug_tool = jlink
518518
upload_protocol = jlink
@@ -544,7 +544,7 @@ upload_protocol = jlink
544544
[env:mks_robin_nano_v3_usb_flash_drive]
545545
extends = env:mks_robin_nano_v3
546546
platform_packages = ${stm_flash_drive.platform_packages}
547-
build_flags = ${stm_flash_drive.build_flags} ${stm32f4_I2C1.build_flags} ${USB_HS_IN_FS.build_flags}
547+
build_flags = ${env:mks_robin_nano_v3.build_flags} ${stm_flash_drive.build_flags} ${stm32f4_I2C1.build_flags} ${USB_HS_IN_FS.build_flags}
548548

549549
#
550550
# MKS Robin Nano V3 with USB Flash Drive Support and Shared Media
@@ -600,7 +600,7 @@ upload_protocol = jlink
600600
[env:mks_eagle_usb_flash_drive]
601601
extends = env:mks_eagle
602602
platform_packages = ${stm_flash_drive.platform_packages}
603-
build_flags = ${stm_flash_drive.build_flags} ${stm32f4_I2C1.build_flags} ${USB_HS_IN_FS.build_flags}
603+
build_flags = ${env:mks_eagle.build_flags} ${stm_flash_drive.build_flags} ${stm32f4_I2C1.build_flags} ${USB_HS_IN_FS.build_flags}
604604

605605
#
606606
# MKS Eagle with USB Flash Drive Support and Shared Media
@@ -699,9 +699,9 @@ board_build.offset = 0xC000
699699
board_upload.offset_address = 0x0800C000
700700
board_build.rename = elegoo.bin
701701
platform_packages = ${stm_flash_drive.platform_packages}
702-
build_flags = ${stm32_variant.build_flags} ${stm32f4_I2C1.build_flags}
703-
${stm_flash_drive.build_flags} ${USB_HS_IN_FS.build_flags}
704-
-DHAL_PCD_MODULE_ENABLED -DHAL_SD_MODULE_ENABLED -DHAL_SRAM_MODULE_ENABLED
702+
build_flags = ${stm32_variant.build_flags} ${stm_flash_drive.build_flags}
703+
${stm32f4_I2C1.build_flags} ${USB_HS_IN_FS.build_flags}
704+
-DHAL_SD_MODULE_ENABLED -DHAL_SRAM_MODULE_ENABLED
705705
-DMCU_STM32F407VE -DSS_TIMER=4 -DENABLE_HWSERIAL3
706706
-DSTM32_FLASH_SIZE=512
707707
-DTIMER_TONE=TIM3 -DTIMER_SERVO=TIM2
@@ -997,6 +997,6 @@ board = marlin_STM32F407VGT6_CCM
997997
board_build.variant = MARLIN_F4x7Vx
998998
board_build.offset = 0x8000
999999
board_upload.offset_address = 0x08008000
1000-
build_flags = ${stm_flash_drive.build_flags} ${USB_HS_IN_FS.build_flags}
1000+
build_flags = ${stm32_variant.build_flags} ${stm_flash_drive.build_flags} ${USB_HS_IN_FS.build_flags}
10011001
-DHSE_VALUE=8000000U -DHAL_SD_MODULE_ENABLED
10021002
-DPIN_SERIAL3_RX=PD_9 -DPIN_SERIAL3_TX=PD_8

0 commit comments

Comments
 (0)