Commit Graph
10 Commits
Author SHA1 Message Date
jiminxiang 6c9c9979d3 feat(ble_esl): speed up OTS by lengthening ACL events
A 15 ms link with max_ce_len=0 sent one DLE PDU per event and capped
badge frames at ~17 KB/s. Request 7.5–15 ms and a long CE, and refill
the single CoC TX slot instead of treating EBUSY as a hard failure.
2026-09-11 19:58:02 +08:00
jiminxiang b17865bfa4 fix(ble_esl): apply persist review follow-ups
Let the app supply Absolute Time, keep the AP Sync Key global,
roll back a failed restore, and drop the dead SYNC_LOST generation.
2026-09-11 19:42:04 +08:00
jiminxiang 00738e06d3 fix(ble_esl): avoid ABBA deadlock in image snapshot/restore
Do not hold image_lock across OTS copy/set; the write callback
takes that lock while already holding the OTS mutex.
2026-09-10 10:38:47 +08:00
jiminxiang 985ea6cbf9 fix(ble_esl): avoid MAX_ESLS snap arrays on the timer stack
Keep one snap and dispatch after unlock so esp_timer cannot overflow.
2026-09-10 10:38:47 +08:00
jiminxiang e1d9911c3f feat(ble_esl): split PAwR APIs and harden OTS writes
Rename start/stop to PAwR-only calls, type persisted ESL addresses,
report failed image writes, and post L2CAP credits atomically.
2026-09-10 10:38:47 +08:00
jiminxiang 0b286c61f3 feat(ble_esl): speed up OTS bulk transfers
Raise L2CAP CoC MTU to 1024, pre-post receive credits, and request
a 2M PHY, DLE, and short-interval link after encryption.
2026-09-10 10:38:47 +08:00
jiminxiang bd1599b333 feat(ble/nimble): add ESL persist, AP recovery, and image APIs
Enable Tag/AP reboot recovery and image restore, plus OTS DATA_WRITE.
AP start only brings up PAwR; scan is explicit via restart_scan.

Ported onto current master ESL/OTS APIs (ble_esl_state_t,
ble_esl_key_material_t, ble_esl_address_t at the public boundary).
2026-09-10 10:38:47 +08:00
Ji Minxiang 157200447c Merge branch 'feat/ble_ams_dev' into 'master'
feat(examples): add Bluedroid and NimBLE BLE AMS client examples

See merge request espressif/esp-idf!50369
2026-07-16 14:24:56 +08:00
jiminxiang a8bb79b5b9 feat(examples): add Bluedroid and NimBLE BLE AMS client examples
Add Apple Media Service client demos that discover AMS on iOS, subscribe
to media entity updates, and expose remote playback control helpers.
2026-07-14 11:33:41 +08:00
jiminxiang 114fd4a9bc feat(ble): add vibe_indicator device support to OpenCode bridge
Detect and drive the display-only ble_uart_vibe_indicator sample alongside
the interactive MiaoBan companion device, and let multiple OpenCode instances
each bind their own indicator channel.

- plugin: after connect, probe the device over the daemon's generic /request
  path and classify it as vibe_indicator / generic / unknown — a vibe_indicator
  answers the indicator_count capability query, a 502 marks a generic device,
  and a transport failure stays unknown for retry on a later refresh. The daemon
  stays a generic transport and is unchanged; detection is a demo concern.
- plugin: route by device_type. The vibe_indicator mirrors OpenCode activity
  as four lamp states on its bound channel — executing (green blink),
  success (green solid), waiting-for-user (yellow solid, on permission
  prompts, decision left to the TUI), and error (red solid, on session.error
  and the following idle). Other devices keep the existing session.status /
  permission round-trip.
- plugin: add indicator_bind_channel / indicator_unbind_channel /
  indicator_show_binding tools. Each channel has at most one live owner:
  binding a channel owned by another running instance fails (force to take
  over), and stale claims are reclaimed via process-liveness checks. The
  per-directory binding is persisted and re-claimed across restarts
  (OPENCODE_BLE_BINDING_FILE).
- docs: document device detection, lamp effects, and channel binding.
2026-06-18 17:12:36 +08:00