Zmiana funkcji w czasie działania
Ponieważ nowe funkcje (np. dynamiczne dostosowywanie rozmiaru bufora) można włączyć przez uaktualnienie oprogramowania dostawcy, chcemy zapewnić możliwość uzyskiwania informacji o możliwościach dostawcy w czasie wykonywania. Aby uniknąć wielokrotnego wysyłania zapytań o możliwości, dostawca powinien najpierw wysłać poprawkę oprogramowania do szukającego za pomocą strumienia wiadomości po nawiązaniu połączenia. Dodajemy więc nowy kod wiadomości do dotychczasowej grupy wiadomości, czyli zdarzenia z informacjami o urządzeniu.
Nazwa grupy wiadomości | Wartość |
---|---|
Zdarzenie dotyczące informacji o urządzeniu | 0x03 |
Nazwa kodu wiadomości | Wartość |
---|---|
Wersja oprogramowania układowego | 0x09 |
Po otrzymaniu kodu rewizji oprogramowania Seeker powinien sprawdzić go pod kątem wersji z pamięci podręcznej. Jeśli wersja oprogramowania została zmieniona, Seeker zaktualizuje wersję oprogramowania pamięci podręcznej i zapyta o możliwości za pomocą strumienia komunikatów.
Pozwalamy też dostawcy na bezpośrednie przesyłanie funkcji do poszukującego bez potrzeby wysyłania prośby, ponieważ wyobrażamy sobie, że w przyszłości bardziej zaawansowane urządzenia (np. oparte na Androidzie) będą przeprowadzać konfigurację dynamiczną na podstawie flag dla tej samej wersji oprogramowania sprzętowego.
Poniżej dodajemy nową grupę wiadomości i kody wiadomości.
Nazwa grupy wiadomości | Wartość |
---|---|
Zdarzenie synchronizacji funkcjonalności urządzenia | 0x06 |
Nazwa kodu wiadomości | Wartość |
---|---|
Prośba o aktualizację uprawnień (wysłana przez poszukującego) | 0x01 |
Śledzenie FHN | 0x03 |
Po otrzymaniu 0x0601
,
- jeśli dostawca ma włączone śledzenie FHN, powinien odpowiedzieć w ten sposób:
Octet | Typ danych | Opis | Wartość |
---|---|---|---|
0 | uint8 | Zdarzenie synchronizacji funkcjonalności urządzenia | 0x06 |
1 | uint8 | Śledzenie FHN | 0x03 |
2–3 | uint16 | Długość dodatkowych danych | 0x0007 |
4 | uint8 | Stan obsługi administracyjnej FHN | 0x00, jeśli nie jest skonfigurowany; 0x01, jeśli jest skonfigurowany przez dowolne konto |
5–10 | uint8[] | bieżący adres MAC BLE urządzenia. | zmienia się |