Çalışma zamanında özellikleri değiştirme

Yeni özellikler (ör. dinamik arabellek boyutlandırması), sağlayıcıdaki donanım yazılımı yükseltilerek etkinleştirilebildiğinden, sağlayıcının çalışma zamanındaki özelliklerini almamızı sağlayacak bir yöntem sunmak istiyoruz. Sağlayıcı, tekrar tekrar sorgu yapılmasını önlemek için ilk olarak, bağlıyken mesaj akışı aracılığıyla arayana donanım yazılımı revizyonunu göndermelidir. Bu nedenle, mevcut mesaj grubuna yeni bir mesaj kodu (cihaz bilgileri etkinliği) ekleriz.

Mesaj Grubu Adı Değer
Cihaz bilgileri etkinliği 0x03
Mesaj Kodu Adı Değer
Donanım yazılımı revizyonu 0x09

Arayıcı, donanım yazılımı düzeltme kodunu aldıktan sonra bunu önbelleğe alınmış kodla karşılaştırır. Donanım yazılımı revizyonu değiştirildiyse Arayıcı, önbelleğin donanım yazılımı revizyonunu günceller ve Mesaj Akışıyla özellikleri sorgulanır.

Gelecekte daha gelişmiş cihazların (Android tabanlı olabilir) aynı donanım yazılımı revizyonunun işaretlerine göre dinamik yapılandırma yapacağını öngördüğümüz için Sağlayıcı'nın, önce istek göndermeden doğrudan Arayan'a özellik göndermesine de izin veriyoruz.

Bu nedenle, yeni bir mesaj grubu ve mesaj kodları ekliyoruz.

Mesaj Grubu Adı Değer
Cihaz işlevi senkronizasyon etkinliği 0x06
Mesaj Kodu Adı Değer
Özellik güncellemesi isteğinde bulunma (Arama yapan kullanıcı tarafından gönderilir) 0x01
FHN izleme 0x03

0x0601 aldıktan sonra,

  • Sağlayıcı, FHN takibi için desteği etkinleştirdiyse aşağıdaki şekilde yanıt vermelidir:
Sekizlik Veri Türü Açıklama Değer
0 uint8 Cihaz işlevi senkronizasyon etkinliği 0x06
1 uint8 FHN izleme 0x03
2 - 3 uint16 Ek veri uzunluğu 0x0007
4 uint8 FHN temel hazırlık durumu Hazırlanmadıysa 0x00, herhangi bir hesap tarafından hazırlandıysa 0x01
5 - 10 uint8[] Cihazın mevcut BLE MAC adresi değişir