런타임에 기능 변경
제공자에서 펌웨어를 업그레이드하면 새로운 기능 (예: 동적 버퍼 크기 조정)을 사용할 수 있으므로 런타임 시 제공자의 기능을 가져오는 방법을 제공하고자 합니다. 기능을 반복적으로 쿼리하지 않으려면 먼저 제공업체가 연결되었을 때 메시지 스트림을 통해 펌웨어 버전을 Seeker에 전송해야 합니다. 따라서 기존 메시지 그룹에 기기 정보 이벤트라는 새 메시지 코드를 추가합니다.
메시지 그룹 이름 | 값 |
---|---|
기기 정보 이벤트 | 0x03 |
메시지 코드 이름 | 값 |
---|---|
펌웨어 버전 | 0x09 |
탐색자는 펌웨어 버전 코드를 받으면 캐시된 코드와 비교하여 확인해야 합니다. 펌웨어 버전이 변경된 경우 Seeker는 캐시의 펌웨어 버전을 업데이트하고 메시지 스트림을 통해 기능을 쿼리합니다.
또한 앞으로 요청 없이 Seeker에 기능을 직접 푸시할 수 있도록 허용합니다. 향후 더 정교한 기기 (Android 기반일 수 있음)에서 동일한 펌웨어 버전의 플래그를 기반으로 동적 구성을 실행할 것으로 예상되기 때문입니다.
아래에 새 메시지 그룹과 메시지 코드를 추가합니다.
메시지 그룹 이름 | 값 |
---|---|
기기 기능 동기화 이벤트 | 0x06 |
메시지 코드 이름 | 값 |
---|---|
기능 업데이트 요청 (Seeker에서 보냄) | 0x01 |
FMDN 추적 | 0x03 |
0x0601
을(를) 받으면
- 제공업체가 FMDN 추적 지원을 사용 설정한 경우 다음과 같이 응답해야 합니다.
옥텟 | 데이터 유형 | 설명 | 값 |
---|---|---|---|
0 | uint8 | 기기 기능 동기화 이벤트 | 0x06 |
1 | uint8 | FMDN 추적 | 0x03 |
2~3 | uint16 | 추가 데이터 길이 | 0x0007 |
4 | uint8 | FMDN 프로비저닝 상태 | 0x00(프로비저닝되지 않은 경우), 0x01(어떤 계정에서든 프로비저닝한 경우) |
5 - 10 | uint8[] | 기기의 현재 BLE MAC 주소 | 다름 |