런타임 시 기능 변경

제공업체에서 펌웨어를 업그레이드하여 새 기능 (예: 동적 버퍼 크기 조정)을 사용 설정할 수 있으므로 런타임 시 제공업체의 기능을 가져오는 방법을 제공하려고 합니다. 기능을 반복적으로 쿼리하지 않도록 하려면 먼저 제공업체가 연결된 경우 메시지 스트림을 통해 펌웨어 버전을 검색자에게 전송해야 합니다. 따라서 기존 메시지 그룹인 기기 정보 이벤트에 새 메시지 코드를 추가합니다.

메시지 그룹 이름
기기 정보 이벤트 0x03
메시지 코드 이름
펌웨어 버전 0x09

펌웨어 버전 코드를 가져오면 시커는 캐시된 코드와 비교해야 합니다. 펌웨어 버전이 변경되면 시커가 캐시의 펌웨어 버전을 업데이트하고 메시지 스트림을 통해 기능을 쿼리합니다.

또한 향후 더 정교한 기기 (Android 기반일 수 있음)가 동일한 펌웨어 버전의 플래그를 기반으로 동적 구성을 실행할 것으로 예상되므로 제공업체가 먼저 요청하지 않고도 기능을 탐색자에게 직접 푸시할 수 있습니다.

아래에 새 메시지 그룹과 메시지 코드를 추가합니다.

메시지 그룹 이름
기기 기능 동기화 이벤트 0x06
메시지 코드 이름
기능 업데이트 요청 (검색 사용자로부터 전송됨) 0x01
FHN 추적 0x03

0x0601 수신 시

  • 제공업체에서 FHN 추적 지원을 사용 설정한 경우 다음과 같이 응답해야 합니다.
옥텟 데이터 유형 설명
0 uint8 기기 기능 동기화 이벤트 0x06
1 uint8 FHN 추적 0x03
2~3 uint16 추가 데이터 길이 0x0007
4 uint8 FHN 프로비저닝 상태 프로비저닝되지 않은 경우 0x00, 계정에 의해 프로비저닝된 경우 0x01
5 - 10 uint8[] 기기의 현재 BLE MAC 주소 다름