-
Notifications
You must be signed in to change notification settings - Fork 2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
cpu/esp32: use ESP-IDF i2c HAL for ESP32 periph/i2c #18279
cpu/esp32: use ESP-IDF i2c HAL for ESP32 periph/i2c #18279
Conversation
6a428a3
to
e064403
Compare
uint8_t module; /**< I2C module identifier */ | ||
i2c_speed_t speed; /**< I2C bus speed */ | ||
gpio_t scl; /**< GPIO used as SCL pin */ | ||
gpio_t sda; /**< GPIO used as SDA pin */ | ||
bool scl_pullup; /**< Pullup enabled for SCL pin */ | ||
bool sda_pullup; /**< Pullup enabled for SDA pin */ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
uint8_t module; /**< I2C module identifier */ | |
i2c_speed_t speed; /**< I2C bus speed */ | |
gpio_t scl; /**< GPIO used as SCL pin */ | |
gpio_t sda; /**< GPIO used as SDA pin */ | |
bool scl_pullup; /**< Pullup enabled for SCL pin */ | |
bool sda_pullup; /**< Pullup enabled for SDA pin */ | |
gpio_t scl; /**< GPIO used as SCL pin */ | |
gpio_t sda; /**< GPIO used as SDA pin */ | |
uint8_t module; /**< I2C module identifier */ | |
i2c_speed_t speed; /**< I2C bus speed */ | |
bool scl_pullup; /**< Pullup enabled for SCL pin */ | |
bool sda_pullup; /**< Pullup enabled for SDA pin */ |
struct packing
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It seems that the reordering does not save any byte. Should I change it anyway?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hm I had hoped this might save a few bytes of ROM, but it's no big deal either way
Please squash |
Fixed delay values are replaced by calculated delays measured in CPU cycles in I2C software implementation. The advantage is that for each ESP SoC only a clock calibration offset has to be specified. The delay measured in CPU cycles are then then derived from current CPU frequency for the given bus speed. The disadvantage is that the calculated delays are not as precise as the predefined fixed delays.
9e757f8
to
06aa8f2
Compare
@benpicco Thanks for reviewing and merging |
@benpicco This was the last PR that had to be merged to continue the work. Many thanks again for the quick review and merge of all these split-offs from PR #17841, I really appreciate it. Thanks to your reviews we were able to merge them all into the release, so we should have a consistent state of the APIs used. The only remaining PR #18260 is completely independent of the other changes in PR #17841 and can be merged later, even after the changes in PR #17842 and in conjunction with PR #17844. |
Contribution description
This PR is a split-off from PR #17841 and provides the following changes:
esp_i2c_hw
).This PR depends on PR #18270.Testing procedure
esp32-ci
).Issues/PRs references
Split-off from PR #17841
Depends on PR #18270