55 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 f20b12e77a fix: avoid bt+wifi modem sleep crash and expose wifi link info 2026-02-22 01:10:21 +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 fcaef73c59 feat: chain wifi webui espnow and bt track execution 2026-02-21 23:58:52 +01:00
Clément SAILLANT 841fabd4bf fix(slic): hardcode hook_active_high=true for SHK on GPIO23 2026-02-21 23:21:32 +01:00
Clément SAILLANT 52c4aba36b feat(bt): add HFP call controls and PBAP capability status 2026-02-21 22:51:25 +01:00
Clément SAILLANT 1f277f8598 Merge pull request #26 from electron-rare/codex/route-parity-v1-closure
[codex] close route parity v1 with ci evidence
2026-02-21 22:11:19 +01:00
Clément SAILLANT 16d0f29f3f close route parity v1 with ci evidence 2026-02-21 22:07:12 +01:00
Clément SAILLANT 373891a7cc Merge branch 'audit/telephony-webserver' 2026-02-21 21:28:01 +01:00
Clément SAILLANT db5c6049be Merge branch 'codex/rtc-zeroclaw-full-loop-evidence' 2026-02-21 21:28:01 +01:00
Clément SAILLANT e83c5af059 Merge branch 'codex/route-parity-parser-fix' 2026-02-21 21:28:01 +01:00
Clément SAILLANT b477a4ea76 Merge branch 'codex/web-route-parity-gate-v2'
# Conflicts:
#	docs/rapport_hw.json
#	docs/rapport_tests_fonctionnels.md
2026-02-21 21:28:00 +01:00
Clément SAILLANT 2dc2a80664 Merge branch 'codex/webui-align-api' 2026-02-21 21:27:58 +01:00
Clément SAILLANT 3438253087 Merge branch 'codex/web-network-controls'
# Conflicts:
#	docs/rapport_hw.json
#	docs/rapport_tests_fonctionnels.md
#	src/main.cpp
2026-02-21 21:27:57 +01:00
Clément SAILLANT 482e993660 Merge branch 'feature/esp32-llm-picotts' 2026-02-21 21:27:50 +01:00
Clément SAILLANT 1acd49939f chore(rtc): add evidence runbook for dual-loop blocker and hw traces (#25) backup/pre-merge-main-20260221 2026-02-21 19:24:07 +01:00
Clément SAILLANT 3d588007da chore(rtc): add evidence runbook for dual-loop blocker and hw traces 2026-02-21 19:22:03 +01:00
Clément SAILLANT 52e2694be4 Merge pull request #22 from electron-rare/codex/repo-state-rtc
[codex] add repo_state outputs and workflow
2026-02-21 03:26:01 +01:00
Clément SAILLANT d77ab32707 [codex] add repo_state generator and workflow 2026-02-21 03:23:39 +01:00
Clément SAILLANT b97794c967 Merge pull request #20 from electron-rare/codex/rtc-zeroclaw-orchestration-issue-18
[codex] fix esp32dev web init crash and restore STATUS payload
2026-02-21 03:09:10 +01:00
Clément SAILLANT 935ce270d9 add esp32 audio dev zeroclaw hardware evidence reports 2026-02-21 03:08:53 +01:00
Clément SAILLANT 506d53efe3 fix esp32dev web init crash and preserve status fields 2026-02-21 03:08:53 +01:00
Clément SAILLANT b47b5689c9 Add telephony and web server functionality (#4)
- 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-21 02:59:33 +01:00
Clément SAILLANT 7f0697b194 add zeroclaw hardware preflight and orchestration docs (#19) 2026-02-21 01:24:35 +01:00
Clément SAILLANT 973bcaa81c [codex] webui coverage for bluetooth and config backend routes
CI workflow green; merged via low-cost workflow-first orchestration.
2026-02-21 00:55:29 +01:00
Clément SAILLANT 6525400436 webui: add bluetooth and config editors for uncovered backend routes 2026-02-21 00:52:49 +01:00
Clément SAILLANT 176eb8272a [codex] add orchestrator spec for webui route parity and coverage
CI green and Codex review received. Merging spec to drive #10/#11 execution.
2026-02-21 00:39:53 +01:00
Clément SAILLANT 4e75899208 add orchestrator spec for webui route parity and coverage 2026-02-21 00:36:36 +01:00
Clément SAILLANT 9b2ae316aa Merge pull request #15 from electron-rare/codex/route-parity-parser-fix
[codex] fix route parity parser for promise-all webui calls
2026-02-21 00:26:23 +01:00
Clément SAILLANT f6a45771fb fix route parity parser for promise-all frontend calls 2026-02-21 00:23:17 +01:00
Clément SAILLANT d2925d2521 Merge pull request #13 from electron-rare/codex/web-route-parity-gate-v2
[codex] add CI gate for webui/backend route parity
2026-02-21 00:20:23 +01:00
Clément SAILLANT 3aa5ee2795 add web route parity gate for webui/backend 2026-02-21 00:17:33 +01:00
Clément SAILLANT f7c816fad0 [codex] harden bt scan mode and refresh hardware validation reports
Validated with Codex review (no major issues) and local PlatformIO checks.
2026-02-21 00:05:04 +01:00
Clément SAILLANT f25bc30fca harden bt scan mode and refresh hardware validation reports 2026-02-21 00:00:13 +01:00
Clément SAILLANT 45d20f32b8 Merge pull request #8 from electron-rare/codex/web-network-controls-latest
[codex] add web controls for wifi reconnect espnow on off and mqtt publish
2026-02-20 23:58:43 +01:00
Clément SAILLANT 4f857b4dd4 fix mqtt web publish payload serialization for firmware api 2026-02-20 23:57:24 +01:00
Clément SAILLANT 0f71cf24b2 add web controls for wifi reconnect espnow on off and mqtt publish 2026-02-20 23:49:49 +01:00
Clément SAILLANT 3f112d75cc Merge pull request #7 from electron-rare/codex/webui-align-api
[codex] fix web ui to match exposed firmware api
2026-02-20 23:27:26 +01:00
Clément SAILLANT 8ef445eac3 fix web ui to match exposed firmware api 2026-02-20 23:26:32 +01:00
Clément SAILLANT c653d18ffd Merge pull request #5 from electron-rare/codex/espnow-zacus-killlife-sync
[codex] align espnow interop and add terminal dtmf tests
2026-02-20 23:05:19 +01:00
Clément SAILLANT 05867cca03 align espnow interop and add terminal dtmf tests 2026-02-20 22:57:07 +01:00
Clément SAILLANT a91734b2db feat: Enhance Bluetooth and WiFi functionality
- Added BLE command handling in BluetoothManager, allowing execution of commands via BLE.
- Implemented fallback AP functionality in WifiManager to maintain connectivity when WiFi is unavailable.
- Improved command parsing to handle quoted arguments correctly in main application logic.
- Updated WebServerManager to quote arguments for WiFi commands to ensure proper handling of special characters.
- Added comprehensive status reporting for WiFi and Bluetooth states, including AP status and connection details.
- Created detailed manual report for Bluetooth terminal operations, documenting test scenarios and results.
2026-02-20 21:48:04 +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 6a7fd2be5a Suppression du test désactivé pour cohérence (audit telephony/web server) 2026-02-18 17:09:10 +01:00
Clément SAILLANT 997e3e6e0a Nettoyage, ajout et intégration des fichiers modifiés et non suivis pour cohérence (audit telephony/web server) 2026-02-18 17:09:02 +01:00
Clément SAILLANT 4d551acc75 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 04:03:30 +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
Clément SAILLANT 449ca3653f Merge pull request #3 from electron-rare/codex/set-up-environment-for-bluetooth-hfp
Harden HFP call controls and add runtime peer MAC configuration
2026-02-13 14:42:46 +01:00
Clément SAILLANT 2bf8c40611 Harden HFP call controls and runtime peer configuration 2026-02-13 14:42:13 +01:00
Clément SAILLANT 826714b823 Merge pull request #2 from electron-rare/codex/find-best-solutions-for-esp32-project-mftfkg
Codex-generated pull request
2026-02-13 14:17:30 +01:00