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