Ç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 |