Files
kidsbox/device/main/BluetoothInterface.cpp
Claude bf9852c345 Implement full NFC-URL streaming architecture
- rc522: add NDEF URL reading via WUPA+cascade anticoll+SELECT+TLV parse
- AudioPlayer: route http:// URIs to esp_player_http_music_play()
- CacheManager: download URLs async to /sdcard/cache/{hash}.{ext}
- TagPlayerControl: NDEF URL → cache-or-stream; fallback to UID local mapping
- RFIDInterface: wire ndef_callback, expose combined uid+url callback
- WebInterface: add /api/info, /api/storage, /api/playback, /api/bluetooth
- BluetoothInterface: stub for A2DP speaker mode
- Networking: WiFi connect with 30s timeout instead of blocking forever
- main.cpp: re-enable WiFi + web server, fix init order, add CacheManager
- www/: full SPA — playback controls, device info, storage, BT pairing
- .gitmodules: switch rc522 submodule URL to HTTPS

https://claude.ai/code/session_01MhAnh68DPNnTjcKqjNYDmk
2026-06-12 19:44:54 +00:00

26 lines
781 B
C++

#include "BluetoothInterface.hpp"
#include <esp_log.h>
static const char* TAG = "Bluetooth";
BluetoothInterface::BluetoothInterface() {
ESP_LOGI(TAG, "BT interface created (stub — not yet enabled)");
}
bool BluetoothInterface::setEnabled(bool on) {
if(on == enabled) return enabled;
if(on) {
/* TODO: initialize Bluedroid stack, register A2DP sink callbacks,
* switch audio pipeline output from I2S codec to BT stream.
* Requires CONFIG_BT_ENABLED=y and esp_bt / esp_a2dp components. */
ESP_LOGW(TAG, "BT enable requested — not yet implemented");
enabled = false; /* keep false until implemented */
} else {
ESP_LOGI(TAG, "BT disable requested");
enabled = false;
}
return enabled;
}