تغيير الإمكانات أثناء التشغيل
بما أنّه يمكن تفعيل الميزات الجديدة (مثل ضبط حجم المخزن المؤقت الديناميكي) من خلال ترقية برمجية الثابت في "موفِّر الخدمة"، نريد توفير طريقة للحصول على إمكانات "موفِّر الخدمة" أثناء التشغيل. لتجنُّب الاستفسار عن الإمكانات بشكل متكرّر، على "المزوّد" أولاً إرسال تعديل الثابت إلى "المستخدِم" عبر بث الرسائل عند الاتصال. لذلك، نضيف رمز رسالة جديدًا إلى مجموعة الرسائل الحالية، وهو حدث معلومات الجهاز.
اسم مجموعة الرسائل | القيمة |
---|---|
حدث معلومات الجهاز | 0x03 |
اسم رمز الرسالة | القيمة |
---|---|
نسخة البرامج الثابتة | 0x09 |
عند الحصول على رمز تحديث البرامج الثابتة، على "المستخدِم" التحقّق منه مقارنةً بالرمز المُخزَّن مؤقتًا. إذا تم تغيير إصدار البرامج الثابتة، سيعدّل "المستكشف" إصدار البرامج الثابتة في ذاكرة التخزين المؤقت وسيستعلم عن الإمكانات من خلال Message Stream.
نسمح أيضًا للموفّر بطرح الإمكانات مباشرةً إلى الباحث بدون تقديم طلب أولاً، لأنّنا نتوقّع أن تُجري في المستقبل الأجهزة الأكثر تعقيدًا (ربما المستندة إلى Android) عملية ضبط ديناميكية استنادًا إلى العلامات لمراجعة البرامج الثابتة نفسها.
لذلك نضيف أدناه مجموعة رسائل ورموز رسائل جديدة.
اسم مجموعة الرسائل | القيمة |
---|---|
حدث مزامنة إمكانات الجهاز | 0x06 |
اسم رمز الرسالة | القيمة |
---|---|
طلب تعديل الإمكانات (تم إرساله من Seeker) | 0x01 |
تتبُّع FHN | 0x03 |
عند استلام 0x0601
،
- إذا فعّل مقدّم الخدمة ميزة تتبُّع FHN، من المفترض أن يستجيب على النحو التالي:
وحدة ثمانيّة البت | نوع البيانات | الوصف | القيمة |
---|---|---|---|
0 | uint8 | حدث مزامنة إمكانات الجهاز | 0x06 |
1 | uint8 | تتبُّع FHN | 0x03 |
من 2 إلى 3 | uint16 | طول البيانات الإضافية | 0x0007 |
4 | uint8 | حالة توفير FHN | 0x00 في حال عدم توفيرها، و0x01 في حال توفيرها من خلال أي حساب |
5 - 10 | uint8[] | عنوان MAC الحالي لتقنية BLE للجهاز | تختلف |