feat(ble): R100 견고성 3종 · startup 지연 대응 + hang 안내 + 재연결 제한
배경 (2026-08-04 · VBT0607R100 로그 분석): - 연결 직후 첫 msn/mid 명령이 9초간 무응답 → CMDQ timeout 3회 · 사용자 노출 - mpa → mtb 발사 후 GATT status=8 (link supervision timeout) · 기기 hang - 이후 재연결 5회+ 실패 · 기기가 air 상에 안 잡힘 (advertising 죽음) - FW 사이드 문제 · 앱 층에서 UX 완화 가능한 부분 개선 변경: 1. INITIAL_TX_DELAY_MS = 2_000ms — CCCD write 후 첫 명령 2초 지연 R100 boot 늦은 케이스에서 초기 timeout 반복 방지. Watchdog 은 즉시 시작. 2. GATT status 8/19/22 별도 처리 - status=8 GATT_CONN_TIMEOUT (link supervision timeout · FW hang) - status=19 GATT_CONN_TERMINATE_PEER_USER - status=22 GATT_CONN_TERMINATE_LOCAL_HOST → connectionError = "DEVICE_UNRESPONSIVE:\$status" marker → UI 에서 "전원 15초 롱프레스로 재부팅 후 다시 연결하세요" 안내 Bond conflict (status=5) 는 기존대로 별도 처리 유지. 3. MAX_RECONNECT_ATTEMPTS 10 → 5 실패 후 connectionError = "RECONNECT_GAVE_UP" marker + onReconnectionFailed → UI 에서 "기기가 켜져 있는지 확인 후 다시 시도" 안내 무한 시도 로그 스팸 방지. 4. mtb_response_reconnect 문구 개선 "연결을 재시도합니다" → "재부팅이 필요할 수 있습니다 (전원 15초 롱프레스)" 3회 consecutive mtb timeout 시 사용자에게 더 actionable 안내. strings.xml (KR/EN): - ble_error_device_unresponsive (재부팅 안내) - ble_error_reconnect_gave_up (재연결 포기 안내) - mtb_response_reconnect 갱신 FW 팀 조사와 병행. 로그 (2026-08-04_134048) FW 팀 전달 예정.
This commit is contained in:
@@ -323,7 +323,7 @@
|
||||
<string name="placement_in_position">최적의 위치입니다!</string>
|
||||
<string name="placement_position_lost">위치를 놓쳤습니다. 치골 위에서 다시 시작해주세요.</string>
|
||||
<string name="mtb_response_delayed">기기 응답이 지연되고 있습니다. 잠시만 기다려주세요…</string>
|
||||
<string name="mtb_response_reconnect">기기가 응답하지 않습니다. 연결을 재시도합니다.</string>
|
||||
<string name="mtb_response_reconnect">기기 응답 실패 · 재부팅이 필요할 수 있습니다 (전원 15초 롱프레스).</string>
|
||||
<string name="placement_detached_restart">센서가 분리되었습니다. 치골 위에서 다시 시작해주세요.</string>
|
||||
<string name="placement_signal_lost">신호를 놓쳤습니다 — 위로 올려주세요 ↑</string>
|
||||
<string name="placement_sweep_start">배꼽 근처에서 시작해 천천히 아래로 내려주세요 ↓</string>
|
||||
@@ -383,6 +383,10 @@
|
||||
<string name="ble_error_bond_conflict">이 기기는 다른 앱과 이미 페어링되어 있습니다. 기기 전원 버튼을 15초 롱프레스로 본딩 정보를 삭제한 뒤 다시 시도하세요.</string>
|
||||
<string name="ble_action_reset_bond">이 폰의 본딩 정보 초기화</string>
|
||||
<string name="ble_toast_bond_removed">본딩 정보 삭제 완료. 다시 연결을 시도하세요.</string>
|
||||
<!-- Device unresponsive (GATT status 8/19/22 · FW hang) — 2026-08-04 -->
|
||||
<string name="ble_error_device_unresponsive">기기가 응답하지 않습니다. 전원 버튼을 15초 롱프레스로 재부팅한 뒤 다시 연결하세요.</string>
|
||||
<!-- Reconnect give-up (MAX_RECONNECT_ATTEMPTS reached) -->
|
||||
<string name="ble_error_reconnect_gave_up">기기 재연결에 여러 번 실패했습니다. 기기가 켜져 있는지 확인 후 다시 시도하세요.</string>
|
||||
<string name="device_scan_back_desc">뒤로</string>
|
||||
<string name="device_scan_warning_desc">경고</string>
|
||||
<string name="device_scan_error_desc">오류</string>
|
||||
|
||||
Reference in New Issue
Block a user