For UAC devices, the correct way to configure the volume is first to obtain the maximum, minimum (a subset ranging from +127.9961 dB (0x7FFF) to -127.9961 dB (0x8001)), and step values. Then SET_CUR with the 16-bit db value (Please check UAC1.0 Spec Page.77 for details). v1.2.0 provides the standard implementation.
Breaking Changes:
Changed the parameter type of uac_host_device_set_volume_db from uint32_t to int16_t
Improvements:
Support get current volume and mute status
Bugfixes:
Fixed incorrect volume conversion. Using actual device volume range.
Fixed concurrency issues when suspend/stop during read/write
Related
Testing
Unitest Pass in both ESP32-S3 and ESP32-P4
Checklist
Before submitting a Pull Request, please ensure the following:
[ ] 🚨 This PR does not introduce breaking changes.
[x] All CI checks (GH Actions) pass.
[ ] Documentation is updated as needed.
[x] Tests are updated or added as necessary.
[x] Code is well-commented, especially in complex areas.
[x] Git history is clean — commits are squashed to the minimum necessary.
Description
Release UAC Class Driver v1.2.0
Background
Breaking Changes:
uac_host_device_set_volume_db
from uint32_t to int16_tImprovements:
Bugfixes:
Related
Testing
Unitest Pass in both ESP32-S3 and ESP32-P4
Checklist
Before submitting a Pull Request, please ensure the following: