7777config = env .GetProjectConfig ()
7878board = env .BoardConfig ()
7979mcu = board .get ("build.mcu" , "esp32" )
80+ chip_variant = board .get ("build.chip_variant" , "" ).lower ()
81+ chip_variant = chip_variant if chip_variant else mcu
8082flash_speed = board .get ("build.f_flash" , "40000000L" )
8183flash_frequency = str (flash_speed .replace ("000000L" , "" ))
8284flash_mode = board .get ("build.flash_mode" , "dio" )
@@ -180,16 +182,16 @@ def create_silent_action(action_func):
180182 ARDUINO_FRMWRK_LIB_DIR = str (ARDUINO_FRMWRK_LIB_DIR_PATH )
181183
182184 if mcu == "esp32c2" :
183- ARDUINO_FRMWRK_C2_LIB_DIR = str (ARDUINO_FRMWRK_LIB_DIR_PATH / mcu )
185+ ARDUINO_FRMWRK_C2_LIB_DIR = str (ARDUINO_FRMWRK_LIB_DIR_PATH / chip_variant )
184186 if not os .path .exists (ARDUINO_FRMWRK_C2_LIB_DIR ):
185187 _arduino_c2_dir = platform .get_package_dir ("framework-arduino-c2-skeleton-lib" )
186188 if not _arduino_c2_dir :
187189 sys .stderr .write ("Error: Missing framework-arduino-c2-skeleton-lib package\n " )
188190 env .Exit (1 )
189191 arduino_c2_dir = Path (_arduino_c2_dir )
190- ARDUINO_C2_DIR = str (arduino_c2_dir / mcu )
192+ ARDUINO_C2_DIR = str (arduino_c2_dir / chip_variant )
191193 shutil .copytree (ARDUINO_C2_DIR , ARDUINO_FRMWRK_C2_LIB_DIR , dirs_exist_ok = True )
192- arduino_libs_mcu = str (ARDUINO_FRMWRK_LIB_DIR_PATH / mcu )
194+ arduino_libs_mcu = str (ARDUINO_FRMWRK_LIB_DIR_PATH / chip_variant )
193195
194196BUILD_DIR = env .subst ("$BUILD_DIR" )
195197PROJECT_DIR = env .subst ("$PROJECT_DIR" )
@@ -337,7 +339,7 @@ def generate_board_specific_config():
337339 flash_memory_type , psram_memory_type = parts
338340 else :
339341 flash_memory_type = memory_type
340-
342+
341343 # Add flash mode to sdkconfig
342344 if flash_mode :
343345 flash_mode_lower = flash_mode .lower ()
@@ -348,7 +350,7 @@ def generate_board_specific_config():
348350 for mode in flash_modes :
349351 if mode != flash_mode_lower :
350352 board_config_flags .append (f"# CONFIG_ESPTOOLPY_FLASHMODE_{ mode .upper ()} is not set" )
351-
353+
352354 # Override flash_memory_type if boot mode indicates OPI
353355 if boot_mode == "opi" or flash_mode in ["dout" , "opi" ]:
354356 if not flash_memory_type or flash_memory_type .lower () != "opi" :
@@ -2600,9 +2602,9 @@ def _replace_move(src, dst):
26002602 sdkconfig_h_path = str (Path (env_build ) / "config" / "sdkconfig.h" )
26012603 arduino_libs = str (Path (ARDUINO_FRMWRK_LIB_DIR ))
26022604 lib_src = str (Path (env_build ) / "esp-idf" )
2603- lib_dst = str (Path (arduino_libs ) / mcu / "lib" )
2604- ld_dst = str (Path (arduino_libs ) / mcu / "ld" )
2605- mem_var = str (Path (arduino_libs ) / mcu / board .get ("build.arduino.memory_type" , (board .get ("build.flash_mode" , "dio" ) + "_qspi" )))
2605+ lib_dst = str (Path (arduino_libs ) / chip_variant / "lib" )
2606+ ld_dst = str (Path (arduino_libs ) / chip_variant / "ld" )
2607+ mem_var = str (Path (arduino_libs ) / chip_variant / board .get ("build.arduino.memory_type" , (board .get ("build.flash_mode" , "dio" ) + "_qspi" )))
26062608 # Ensure destinations exist
26072609 for d in (lib_dst , ld_dst , mem_var , str (Path (mem_var ) / "include" )):
26082610 Path (d ).mkdir (parents = True , exist_ok = True )
@@ -2625,9 +2627,9 @@ def _replace_move(src, dst):
26252627 _replace_move (str (Path (lib_dst ) / "libesp_lcd.a" ), str (Path (mem_var ) / "libesp_lcd.a" ))
26262628
26272629 shutil .copyfile (sdkconfig_h_path , str (Path (mem_var ) / "include" / "sdkconfig.h" ))
2628- if not bool (os .path .isfile (str (Path (arduino_libs ) / mcu / "sdkconfig.orig" ))):
2629- shutil .move (str (Path (arduino_libs ) / mcu / "sdkconfig" ), str (Path (arduino_libs ) / mcu / "sdkconfig.orig" ))
2630- shutil .copyfile (str (Path (env .subst ("$PROJECT_DIR" )) / ("sdkconfig." + env ["PIOENV" ])), str (Path (arduino_libs ) / mcu / "sdkconfig" ))
2630+ if not bool (os .path .isfile (str (Path (arduino_libs ) / chip_variant / "sdkconfig.orig" ))):
2631+ shutil .move (str (Path (arduino_libs ) / chip_variant / "sdkconfig" ), str (Path (arduino_libs ) / chip_variant / "sdkconfig.orig" ))
2632+ shutil .copyfile (str (Path (env .subst ("$PROJECT_DIR" )) / ("sdkconfig." + env ["PIOENV" ])), str (Path (arduino_libs ) / chip_variant / "sdkconfig" ))
26312633 shutil .copyfile (str (Path (env .subst ("$PROJECT_DIR" )) / ("sdkconfig." + env ["PIOENV" ])), str (Path (arduino_libs ) / "sdkconfig" ))
26322634 try :
26332635 os .remove (str (Path (env .subst ("$PROJECT_DIR" )) / "dependencies.lock" ))
0 commit comments