7da6ea37e7
- 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.
3.0 KiB
3.0 KiB
RTC_BL_PHONE Kanban (Live Execution)
Todo
- Validate hardware gate
incoming GSM -> RTC ring -> BT_ANSWERon/dev/cu.usbserial-0001. - Validate hardware gate
dial len10 (pulse)with queued HFP reconnection then auto dial. - Validate hardware gate
dial len10 (DTMF)with no false pulse digits. - Re-run
ESP-NOW2-board validation when peer card is available.
In Progress
- Track
rtos-coex-wifi-bt:- endurance monitor 10 min sans
abort/assert.
- endurance monitor 10 min sans
- Track
bt-hfp-stability:- validation E2E entrant GSM -> ring RTC -> décroché ->
BT_ANSWER.
- validation E2E entrant GSM -> ring RTC -> décroché ->
- Track
webui-runtime:- valider charge SSE en AP fallback + STA connecté.
Blocked
PBAPcontact sync on Arduino ESP32 Bluedroid stack (BT_PBAP_SYNCremainsunsupported).- Full ESP-NOW E2E protocol proof while second board is unavailable.
- Notion sync automation blocked until MCP Notion OAuth session is reconnected.
Done
- Added HFP auto reconnect runtime control (
BT_AUTO_RECONNECT_ON/OFF) and status flag. - Preserved dial queue logic (
pending_dial_number) with auto dial after SLC. - Added
/api/bluetooth/hfp/autoendpoint (GET status viaBT_STATUS, POST toggle). - Added WebUI controls for BT auto reconnect and status line visibility.
- Re-enabled SSE transport server-side and added browser fallback polling.
- Hardened ESP-NOW init to preserve WiFi mode and apply WiFi/BT modem sleep policy.
- Boot order adjusted to initialize WiFi + ESP-NOW before BT stack bring-up.
- Re-asserted WiFi/BT coex policy periodically in
WifiManager::loop(). - Added coex policy enforcement in BT stack bring-up (
BluetoothManager::ensureBtStackReady()). - Reduced GAP callback logging pressure (guarded by
kVerboseGapLogs=false). - Reduced AsyncTCP memory footprint (
STACK=4096,QUEUE=12) to lower RTOS pressure. - Reordered main loop to run
g_wifi.loop()beforeg_bt.tick(). - Updated GitHub issues
#10and#11with latest CI/HW proof links:https://github.com/electron-rare/RTC_BL_PHONE/issues/10#issuecomment-3941685856https://github.com/electron-rare/RTC_BL_PHONE/issues/11#issuecomment-3941685860
Run Ledger
2026-02-22:- Scope: coex WiFi/BT hardening + HFP autoradio policy + realtime WebUI + docs sync.
- Target port:
/dev/cu.usbserial-0001. - Firmware hash (sha256):
2c345d5ac459e6aa914f47438cc35bbe33dda68e5a65f41eaf3d8f1efb53e833. - Executed:
platformio run -e esp32dev->PASSplatformio run -e esp32dev -t upload --upload-port /dev/cu.usbserial-0001->PASSpython3 scripts/hw_validation.py --port-a252 /dev/cu.usbserial-0001 --report-json artifacts/hw_validation_report.json --report-md artifacts/hw_validation_report.md->PASSbash scripts/test_terminal.sh->PASSpython3 -m unittest scripts/test_check_web_route_parity.py->PASSpython3 scripts/check_web_route_parity.py --report-json artifacts/route_parity_report.json->PASS
- Artifacts:
artifacts/hw_validation_report.jsonartifacts/hw_validation_report.mdartifacts/route_parity_report.json