تغيير الإمكانات أثناء التشغيل

بما أنّه يمكن تفعيل الميزات الجديدة (مثل ضبط حجم المخزن المؤقت الديناميكي) من خلال ترقية برمجية الثابت في "موفِّر الخدمة"، نريد توفير طريقة للحصول على إمكانات "موفِّر الخدمة" أثناء التشغيل. لتجنُّب الاستفسار عن الإمكانات بشكل متكرّر، على "المزوّد" أولاً إرسال تعديل الثابت إلى "المستخدِم" عبر بث الرسائل عند الاتصال. لذلك، نضيف رمز رسالة جديدًا إلى مجموعة الرسائل الحالية، وهو حدث معلومات الجهاز.

اسم مجموعة الرسائل القيمة
حدث معلومات الجهاز 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 للجهاز تختلف