Inherit from another Environment

[env:RELEASE_RP2040_REV2_16S_SP_LIFE]
platform = 


board = rpipico
board_build.core = earlephilhower
board_build.filesystem_size = 0.5m

lib_ignore = ${cfg_rp2040_alt.lib_ignore}
build_flags = ${dev_config.build_flags} ${cfg_rp2040_alt.build_flags}
-D ‘DEVICE_NAME_CHAR=“jBMS_RP2040_Rev2_16S_SP_LiFe”’
-D ENABLE_MULTITASK
-D BOARD_RP2040_BMS_2_REV2

-D BMS_CFG_DEFINED
	-D BMS_CFG_16S_SINGLEPACK_LIFE
	-D CFG_DESIGN_CAPACITY=105000
	-D CELLBOARD_CFG_HAS_MEMORY
	-D CELLBOARD_CFG_HAS_CURRENT
	-D CELLBOARD_CFG_HAS_TEMPERATURE
	-D CELLBOARD_CFG_HAS_TEMPERATURE2
	

-D BOARD_DEFINED
	-D ENABLE_DEVICE_SSD1306_128X64
	-D ENABLE_DEVICE_LTC6811
	-D ENABLE_DEVICE_FM24CL04B
	-D ENABLE_DEVICE_MCP2515
		-D MCP2515_DEFAULT_CLOCK_FREQUENCY=12e6 ;12Mhz Clock

[env:RELEASE_RP2040_REV2_16S_SP_LIFE_STATIONARY] ;
platform = 


board = rpipico
board_build.core = earlephilhower
board_build.filesystem_size = 0.5m

lib_ignore = ${cfg_rp2040_alt.lib_ignore}
build_flags = ${env:RELEASE_RP2040_REV2_16S_SP_LIFE_STATIONARY.build_flags}
-D ‘DEVICE_NAME_CHAR=“jBMS_RP2040_Rev2_22S_SP_STATIONARY”’
-D ENABLE_DISPLAY_VARIANT_STATIONARY

im trying to inherit from another environment config like that. but the env:XXX syntax in the build_flags part breaks syntax
how do i get the build flags of another environment?

You can use the extends = syntax and carefully re-arrange common variables like build flags into another environment and include them via interpolation syntax.

that was the plan but if i do something like

[env:RELEASE_RP2040_REV2_16S_SP_LIFE_STATIONARY]

extends = env:RELEASE_RP2040_REV2_16S_SP_LIFE



build_flags =

    ${env.RELEASE_RP2040_REV2_16S_SP_LIFE.build_flags}

    -D 'DEVICE_NAME_CHAR="jBMS_RP2040_Rev2_22S_SP_STATIONARY"'

    -D ENABLE_DISPLAY_VARIANT_STATIONARY

i get a synatax error. is it even possible to reference other environments?

Nevermind. this works:




[env:RELEASE_RP2040_REV2_16S_SP_LIFE_STATIONARY]

extends = env:RELEASE_RP2040_REV2_16S_SP_LIFE




build_flags =

    ${env:RELEASE_RP2040_REV2_16S_SP_LIFE.build_flags}

    -D 'DEVICE_NAME_CHAR="jBMS_RP2040_Rev2_22S_SP_STATIONARY"'

    -D ENABLE_DISPLAY_VARIANT_STATIONARY



1 Like