Skip to content

Conversation

@quinkq
Copy link
Contributor

@quinkq quinkq commented Dec 28, 2025

Fixes #4
Adds support for sensors that don't acknowledge specific I2C commands.This enables support for devices like SCD4x, which doesn't send an ACK when waking from sleep mode, and was causing wake_up failures. Implemented the handle invalidation function to temporarily disable ACK checking just for this command.

Changes:

  • Add 'disable_ack_check' field to i2c_dev_t structure
  • Implement i2c_dev_invalidate_handle() for dynamic reconfiguration
  • Use device flag in i2c_device_config_t creation
  • Add warning log when ACK checking is disabled
  • Migrate to eil-cmake-utils submodule for CI validation

Tested WITHOUT real hardware - feedback appreciated.
Going to create a PR for SCD4x in a moment for the fix to be effective.

Add support for sensors that don't acknowledge specific I2C commands.
This enables support for devices like SCD4x,
that don't ACK during wake-up from sleep mode:
- Add 'disable_ack_check' field to i2c_dev_t structure
- Implement i2c_dev_invalidate_handle() for dynamic reconfiguration
- Use device flag in i2c_device_config_t creation
- Add warning log when ACK checking is disabled
@quinkq
Copy link
Contributor Author

quinkq commented Dec 28, 2025

@trombik The v5.6 build checks are failing because the docker image doesn't seem to exist?

@trombik
Copy link
Contributor

trombik commented Dec 28, 2025

@quinkq Correct. I'll remove 5.6 from the matrix.

@trombik
Copy link
Contributor

trombik commented Dec 28, 2025

@quinkq Done.

@trombik
Copy link
Contributor

trombik commented Dec 29, 2025

This would also fix esp-idf-lib/scd4x#2

@UncleRus
Copy link
Contributor

Will be merged after testing on actual hardware.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

implement i2c_dev_write_no_ack

3 participants