Çalışma Zamanındaki Özellikleri Değiştirme

Yeni özellikler (ör. dinamik arabellek boyutlandırma) Sağlayıcı'daki donanım yazılımının yeni sürüme geçirilmesiyle etkinleştirilebildiği için, Sağlayıcı'nın özelliklerini çalışma zamanında elde etmenin bir yolunu sunmak istiyoruz. Özelliklerin tekrar tekrar sorgulanmasını önlemek için Sağlayıcı, öncelikle bağlandığında donanım yazılımı düzeltmesini mesaj akışı üzerinden Arayan'a göndermelidir. Bu nedenle, mevcut mesaj grubuna, cihaz bilgileri etkinliğine yeni bir mesaj kodu ekliyoruz.

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

Arayan, donanım yazılımı düzeltme kodunu aldıktan sonra bu kodu önbelleğe alınan kodla karşılaştırarak kontrol eder. Donanım yazılımı düzeltmesi değiştirildiyse Arayan, önbelleğin donanım yazılımı düzeltmesini günceller ve İleti Akışı aracılığıyla özellikleri sorgular.

Ayrıca, Sağlayıcı'nın önceden istek gerekmeden özellikleri doğrudan Arayan'a aktarmasına da izin veriyoruz. Çünkü gelecekte daha gelişmiş cihazların (belki Android tabanlı) aynı donanım yazılımı düzeltmesinin işaretlerine dayalı dinamik yapılandırmalar yapacağını düşünüyoruz.

Aşağıya yeni bir ileti grubu ve ileti kodları ekliyoruz.

Mesaj Grubu Adı Değer
Cihaz özelliği senkronizasyon etkinliği 0x06
Mesaj Kodu Adı Değer
Özellik güncellemesi isteme (Seeker'dan gönderilir) 0x01
FMDN izleme 0x03

0x0601 aldıktan sonra

  • Sağlayıcı, FMDN izleme desteğini etkinleştirdiyse aşağıdaki şekilde yanıt vermelidir:
Sekizli Veri Türü Açıklama Değer
0 uint8 Cihaz özelliği senkronizasyon etkinliği 0x06
1 uint8 FMDN izleme 0x03
2 - 3 uint16 Ek veri uzunluğu 0x0007
4 uint8 FMDN temel hazırlık durumu Temel hazırlığı yapılmamışsa 0x00; herhangi bir hesap tarafından sağlanıyorsa 0x01
5 - 10 uint8[] Cihazın geçerli BLE MAC adresi değişiklik gösterir