Why was i2c_cmd_link removed in v5.3 esp_device_i2c?
Posted: Fri Aug 23, 2024 10:27 pm
It looks like most of the basic i2c commands like i2c_master_transmit are implemented using s_i2c_synchronous_transaction but neither that function nor any of the other s_* functions that could have been used to implement a i2c_cmd_link capability are public. Not only that, the migration guide for 5.3 just says that the driver component was split into individual components with no mention that the new i2c component doesn't implement all of the old component's functionality. Not only THAT... If you continue to use the old component, you're treated to a warning every time the device boots...
That's nice but it's hard to adapt from old to new when something that exists in the old doesn't exist in the new.
This actually ripples down to the esp-idf-cxx component as well since it has a c++ I2CCommandLink wrapper.
So what's the plan?
Code: Select all
W (1041) i2c: This driver is an old driver, please migrate your application code to adapt `driver/i2c_master.h`
That's nice but it's hard to adapt from old to new when something that exists in the old doesn't exist in the new.
This actually ripples down to the esp-idf-cxx component as well since it has a c++ I2CCommandLink wrapper.
So what's the plan?