- Added WifiStatusSnapshot struct to track connection status, SSID, IP, and RSSI.
- Introduced methods in WifiManager for connecting, reconnecting, and JSON serialization of status and scan results.
- Implemented WifiCredentialsStorage for saving and loading WiFi credentials.
refactor: Consolidate DTMF tests into main test file
- Moved DTMF tests from test_dtmf.cpp to test_main.cpp for better organization.
- Removed redundant setup and loop functions from test_dtmf.cpp.
docs: Create comprehensive documentation structure
- Added README.md for project documentation, detailing agent roles, architecture plans, QA procedures, and reports.
- Established a changelog for tracking major changes.
feat: Implement A252ConfigStore for configuration management
- Created A252ConfigStore class for managing pin, audio, and MQTT configurations.
- Added validation methods for configuration integrity.
feat: Introduce CommandDispatcher for command handling
- Developed CommandDispatcher class to register and dispatch commands with response handling.
- Added normalization and help text generation for commands.
feat: Implement Es8388Driver for audio codec control
- Created Es8388Driver class for managing ES8388 audio codec operations including volume, mute, and routing.
chore: Organize test files and remove obsolete tests
- Moved audio codec tests to a dedicated test file.
- Cleaned up unused test files and consolidated test cases.
style: Improve code formatting and comments across the project
- Enhanced code readability with consistent formatting and added comments for clarity.