런타임에 기능 변경

제공자에서 펌웨어를 업그레이드하면 새로운 기능 (예: 동적 버퍼 크기 조정)을 사용할 수 있으므로 런타임 시 제공자의 기능을 가져오는 방법을 제공하고자 합니다. 기능을 반복적으로 쿼리하지 않으려면 먼저 제공업체가 연결되었을 때 메시지 스트림을 통해 펌웨어 버전을 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 주소 다름