Commit 98c439d
feat: Add TAS5805M DAC settings and 15-band equalizer UI (#183)
This PR adds comprehensive DAC configuration and equalizer support for the TAS5805M chip with a web UI.
Major Features:
- TAS5805M DAC settings page with configurable parameters:
* Bridge mode, modulation mode, switching frequency
* Analog and digital volume control
* Mixer implementation with compensation gains
* Fault monitoring and fault reset
- 15-band parametric equalizer with two modes:
* Manual 15-band EQ control with per-band gains
* HF and LF filter presets for quick bi-amp configuration
* Real-time updates and visualization
- New dedicated settings component (tas5805m_settings) for persistence
- All settings persist to NVS and restore on boot
Architecture Improvements:
- Created dedicated tas5805m_settings component
- DAC UI in the dedicated HTML tab
- Data-driven front-end with settings-ui.js renderer
Bug Fixes:
- Fixed EQ UI showing 0 gains before music starts
- Fixed channel gains not restoring on reboot
- Fixed NULL semaphore crashes during player restart
- Fixed DSP init ordering (semaphore creation before use)
- Fixed NULL pointer checks in mDNS and player
- Fixed WiFi power save interfering with low-latency audio
- Fixed settings persistence and restoration
Technical Details:
- Extended partitions.csv for additional storage
- Settings stored in NVS with proper restoration
- DSP processor coordination with I2S clock requirements
- Delayed settings application after DAC initialization
- Proper semaphore and mutex protection
Co-authored-by: andriy.malyshenko <[email protected]>
Co-authored-by: Andriy Malyshenko <[email protected]>, craigmillard86 <[email protected]>1 parent 950b212 commit 98c439d
File tree
27 files changed
+28823
-192
lines changed- components
- audio_board
- audio_hal
- driver/tas5805m
- custom_board
- tas5805m
- include
- dsp_processor_settings
- dsp_processor
- lightsnapcast
- settings_manager
- tas5805m_settings
- include
- ui_http_server
- html
- main
27 files changed
+28823
-192
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
173 | 173 | | |
174 | 174 | | |
175 | 175 | | |
176 | | - | |
| 176 | + | |
177 | 177 | | |
178 | 178 | | |
179 | 179 | | |
| |||
182 | 182 | | |
183 | 183 | | |
184 | 184 | | |
185 | | - | |
186 | | - | |
187 | | - | |
188 | | - | |
189 | | - | |
190 | | - | |
191 | | - | |
192 | | - | |
193 | | - | |
194 | | - | |
195 | | - | |
| 185 | + | |
| 186 | + | |
196 | 187 | | |
197 | | - | |
198 | | - | |
199 | | - | |
200 | | - | |
201 | | - | |
| 188 | + | |
| 189 | + | |
202 | 190 | | |
203 | | - | |
204 | | - | |
205 | | - | |
206 | | - | |
207 | | - | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
208 | 199 | | |
209 | 200 | | |
210 | 201 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
18 | 18 | | |
19 | 19 | | |
20 | 20 | | |
21 | | - | |
22 | | - | |
| 21 | + | |
| 22 | + | |
23 | 23 | | |
24 | 24 | | |
25 | 25 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
43 | 43 | | |
44 | 44 | | |
45 | 45 | | |
46 | | - | |
47 | | - | |
48 | | - | |
49 | | - | |
50 | 46 | | |
51 | 47 | | |
52 | 48 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | | - | |
3 | | - | |
| 2 | + | |
| 3 | + | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| |||
0 commit comments