fuel_gauge: composite: more flexible data sourcing and channel querying #88397
+145
−54
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
To ensure that data is consistent across multiple sequential calls to
fuel_gauge_get_prop
, sensor_fetch is only called if a certain time period has passed since the previous sampling. This emulates the tick-based sampling of most dedicated fuel-gauge devices.Instead of explicitly specifying the source for the voltage and current channels, specify primary and secondary data sources. If the requested sensor channel does not exist on the primary source, the secondary source will be tried.
Choose whether the data sources should be queried by the generic sensor channels (
SENSOR_CHAN_VOLTAGE
, etc), or the fuel gauge specific channels (SENSOR_CHAN_GAUGE_*
).Add support for the
FUEL_GAUGE_TEMPERATURE
property.More flexible alternative to #83859.
The motivation for this PR is the desire to access core functionality of the existing in-tree nPM1300 driver (which implements the sensor API using
SENSOR_CHAN_GAUGE_*
channels) through the fuel gauge API, together with extending it to support SoC lookup.