- Added AudioEngine integration to BluetoothManager for audio handling.
- Implemented auto-reconnect functionality with enabling/disabling options.
- Introduced methods for managing audio state and HFP events.
- Updated BluetoothManager's internal state management for better audio handling.
refactor: Update A252ConfigStore to improve pin validation logic
- Renamed critical_pins to required_pins for clarity.
- Added optional legacy line-enable pin validation.
- Improved error handling for pin conflicts and invalid ranges.
fix: Adjust default volume and slic_line configuration in A252ConfigStore
- Set default slic_line to -1 to indicate retirement.
- Increased default audio volume from 80 to 90.
feat: Implement audio amplifier control in main application
- Added commands to enable/disable audio amplifier via GPIO.
- Integrated audio amplifier control into the setup process.
fix: Improve ESP-NOW and WiFi coexistence policies
- Enforced modem sleep for better coexistence between WiFi and Bluetooth.
- Added checks to ensure proper WiFi mode before enforcing coexistence.
feat: Enhance TelephonyService with DTMF and pulse dialing support
- Added DTMF capture and processing capabilities.
- Implemented rotary pulse dialing logic with state management.
- Introduced callbacks for dialing and answering actions.
feat: Add real-time event publishing to WebServerManager
- Enabled real-time status updates via SSE.
- Improved status caching and thread safety with critical sections.
fix: General code cleanup and optimizations across modules
- Refactored various methods for better readability and maintainability.
- Improved error handling and logging for better debugging.
- Implement TelephoneSFPManager to manage telephony service interactions.
- Create TelephonyService class to handle telephony states and actions.
- Develop WebServerManager for handling HTTP requests and managing contacts.
- Add HTML, CSS, and JavaScript files for the web UI to interact with the telephony system.
- Introduce WifiManager for managing WiFi connections.
- Implement unit tests for telephony features and state transitions.
- Ensure proper input validation and error handling in web server routes.