mirror of
				https://github.com/esphome/esphome.git
				synced 2025-10-31 07:03:55 +00:00 
			
		
		
		
	[i2c] Fix i2c issue on idf 5.3 (#8283)
This commit is contained in:
		| @@ -8,6 +8,10 @@ | |||||||
| #include "esphome/core/helpers.h" | #include "esphome/core/helpers.h" | ||||||
| #include "esphome/core/log.h" | #include "esphome/core/log.h" | ||||||
|  |  | ||||||
|  | #if ESP_IDF_VERSION < ESP_IDF_VERSION_VAL(5, 3, 0) | ||||||
|  | #define SOC_HP_I2C_NUM SOC_I2C_NUM | ||||||
|  | #endif | ||||||
|  |  | ||||||
| namespace esphome { | namespace esphome { | ||||||
| namespace i2c { | namespace i2c { | ||||||
|  |  | ||||||
| @@ -17,14 +21,14 @@ void IDFI2CBus::setup() { | |||||||
|   ESP_LOGCONFIG(TAG, "Setting up I2C bus..."); |   ESP_LOGCONFIG(TAG, "Setting up I2C bus..."); | ||||||
|   static i2c_port_t next_port = I2C_NUM_0; |   static i2c_port_t next_port = I2C_NUM_0; | ||||||
|   port_ = next_port; |   port_ = next_port; | ||||||
| #if SOC_I2C_NUM > 1 | #if SOC_HP_I2C_NUM > 1 | ||||||
|   next_port = (next_port == I2C_NUM_0) ? I2C_NUM_1 : I2C_NUM_MAX; |   next_port = (next_port == I2C_NUM_0) ? I2C_NUM_1 : I2C_NUM_MAX; | ||||||
| #else | #else | ||||||
|   next_port = I2C_NUM_MAX; |   next_port = I2C_NUM_MAX; | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
|   if (port_ == I2C_NUM_MAX) { |   if (port_ == I2C_NUM_MAX) { | ||||||
|     ESP_LOGE(TAG, "Too many I2C buses configured. Max %u supported.", SOC_I2C_NUM); |     ESP_LOGE(TAG, "Too many I2C buses configured. Max %u supported.", SOC_HP_I2C_NUM); | ||||||
|     this->mark_failed(); |     this->mark_failed(); | ||||||
|     return; |     return; | ||||||
|   } |   } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user