mirror of
				https://github.com/esphome/esphome.git
				synced 2025-10-31 15:12:06 +00:00 
			
		
		
		
	[esp32] Fix threading model for single-core variants (S2, C3, C6, H2) (#9851)
This commit is contained in:
		| @@ -98,6 +98,16 @@ ARDUINO_ALLOWED_VARIANTS = [ | |||||||
|     VARIANT_ESP32S3, |     VARIANT_ESP32S3, | ||||||
| ] | ] | ||||||
|  |  | ||||||
|  | # Single-core ESP32 variants | ||||||
|  | SINGLE_CORE_VARIANTS = frozenset( | ||||||
|  |     [ | ||||||
|  |         VARIANT_ESP32S2, | ||||||
|  |         VARIANT_ESP32C3, | ||||||
|  |         VARIANT_ESP32C6, | ||||||
|  |         VARIANT_ESP32H2, | ||||||
|  |     ] | ||||||
|  | ) | ||||||
|  |  | ||||||
|  |  | ||||||
| def get_cpu_frequencies(*frequencies): | def get_cpu_frequencies(*frequencies): | ||||||
|     return [str(x) + "MHZ" for x in frequencies] |     return [str(x) + "MHZ" for x in frequencies] | ||||||
| @@ -714,6 +724,10 @@ async def to_code(config): | |||||||
|     cg.add_define("ESPHOME_BOARD", config[CONF_BOARD]) |     cg.add_define("ESPHOME_BOARD", config[CONF_BOARD]) | ||||||
|     cg.add_build_flag(f"-DUSE_ESP32_VARIANT_{config[CONF_VARIANT]}") |     cg.add_build_flag(f"-DUSE_ESP32_VARIANT_{config[CONF_VARIANT]}") | ||||||
|     cg.add_define("ESPHOME_VARIANT", VARIANT_FRIENDLY[config[CONF_VARIANT]]) |     cg.add_define("ESPHOME_VARIANT", VARIANT_FRIENDLY[config[CONF_VARIANT]]) | ||||||
|  |     # Set threading model based on core count | ||||||
|  |     if config[CONF_VARIANT] in SINGLE_CORE_VARIANTS: | ||||||
|  |         cg.add_define(CoreModel.SINGLE) | ||||||
|  |     else: | ||||||
|         cg.add_define(CoreModel.MULTI_ATOMICS) |         cg.add_define(CoreModel.MULTI_ATOMICS) | ||||||
|  |  | ||||||
|     cg.add_platformio_option("lib_ldf_mode", "off") |     cg.add_platformio_option("lib_ldf_mode", "off") | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user