# [004] `BLE_CONNECT (0x06)` 응답 프레임 시퀀스 확정

- **Status:** Open
- **Priority:** Low
- **Raised:** 2026-04-08
- **Raised by:** 앱 팀 (Bruce)
- **앱 측 영향 코드:**
  - `packages/roomfit_protocol/lib/src/constants/command_codes.dart` — `bleConnect = 0x06` (이전 `getSystemInfo` 별칭 유지)
  - `packages/roomfit_protocol/lib/src/responses/response_registry.dart` — 어떤 응답 코드를 등록할지 결정 필요

---

## 배경

앱이 `0x06`을 보내면 (`BleConnectCommand`), MCU 측에서 단일 응답이 아니라
**여러 개의 별도 프레임**을 push하는 것으로 보입니다. 이전 작업에서 다음과
같이 추정/관찰했습니다:

- `0x67` — system info 1
- `0x05` — voltage
- `0x65` — system info 2
- `0x68` — firmware version 또는 build info?

앱 코드 주석 (`packages/roomfit_protocol/lib/src/constants/command_codes.dart`)에는
"BLE_CONNECT response pattern"으로 표기되어 있고, `CLAUDE.md`와
`docs/reference/rep-detection-research.md` §8.7에도 같은 내용이 있습니다.

다만 이것이:
- 정말 4개 프레임이 맞는지
- 어떤 순서로 오는지
- 어떤 조건에서 emit되는지 (BLE 연결 직후에만? 매 0x06 호출마다?)
- 코드/payload 구성이 정확히 무엇인지

이 모든 부분이 펌웨어 소스 직접 확인 없이 추정에 머물러 있습니다.
`docs/reference/mcu-source/Core/Src/protocol.c`의 0x06 처리부를 봐도 여러
`Return_*` 호출이 있는데 정확한 매핑을 확정 짓지 못했습니다.

## 요청

다음 표를 채워주시면 앱이 ResponseRegistry에 정확한 파서를 등록할 수 있습니다:

| 순서 | cmd 코드 | payload 구조 | 의미 | emit 조건 |
|---|---|---|---|---|
| 1 | `0x?` | `[…]` | (예: SystemInfo: weightL/R + modeL/R) | (예: 0x06 수신 직후) |
| 2 | `0x?` | `[…]` | | |
| 3 | `0x?` | `[…]` | | |
| 4 | `0x?` | `[…]` | | |

빈 칸은 펌웨어 소스 라인 번호로 대체해주셔도 됩니다 (예: `protocol.c:NNN`).

추가로 답이 필요한 부분:

- **단일 호출에 대한 응답인가, BLE 연결 자체에 대한 응답인가?** 즉
  앱이 0x06을 보내지 않아도 BLE 연결 시점에 자동으로 push되는지.
- **순서가 보장되는가?** 4개 프레임이 항상 같은 순서로 오는지, 아니면 race
  가능성이 있는지.
- **각 프레임이 독립적으로 유실 가능한가?** (BLE notification은 일반적으로
  손실 없지만 만에 하나)

## 참고 (References)

- 앱 측 핸들링: `packages/roomfit_protocol/lib/src/device_link.dart` `_parseResponse`
- 명령 코드 정의: `packages/roomfit_protocol/lib/src/constants/command_codes.dart`
- 이전 분석 메모: `docs/reference/rep-detection-research.md` §8.7

---

## MCU 측 응답

<!-- 펌웨어 팀이 작성. 자유 형식. 작성자/날짜/펌웨어 버전 함께 부탁드립니다. -->

_(미응답)_

---

## 결과 (Outcome)

<!-- 응답 받은 후 앱 팀이 정리. 적용된 펌웨어 버전, 앱 측 후속 PR 번호, 검증 결과 등. -->

_(N/A)_
