Commit Graph

4 Commits

Author SHA1 Message Date
Clément SAILLANT 7da6ea37e7 feat: Enhance BluetoothManager with audio bridge and auto-reconnect features
- 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.
2026-02-23 11:54:09 +01:00
Clément SAILLANT 7c9e6fe189 fix: stabilize web realtime push and espnow envelope flow 2026-02-22 00:48:24 +01:00
Clément SAILLANT 9c10a1c3b0 feat: Enhance WifiManager with status tracking and JSON support
- 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.
2026-02-20 21:04:17 +01:00
Clément SAILLANT b89cda78c2 Add telephony and web server functionality
- 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.
2026-02-18 03:37:02 +01:00