שינוי היכולות בזמן ריצה
מכיוון שאפשר להפעיל תכונות חדשות (למשל, שינוי דינמי של גודל המאגר) על ידי שדרוג הקושחה של הספק, אנחנו רוצים לספק דרך לקבל את היכולות של הספק בזמן הריצה. כדי להימנע משליחת שאילתות חוזרות לגבי יכולות, הספק צריך לשלוח את הגרסה של הקושחה למכשיר המחפש דרך מקור הודעות כשהמכשיר מחובר. לכן מוסיפים קוד הודעה חדש לקבוצת ההודעות הקיימת, אירוע פרטי המכשיר.
שם קבוצת ההודעות | ערך |
---|---|
אירוע של פרטי המכשיר | 0x03 |
שם קוד ההודעה | ערך |
---|---|
גרסה של קושחה | 0x09 |
לאחר קבלת קוד הגרסה של הקושחה, ה-Seeker בודק אותו מול הגרסה ששמורה במטמון. אם גרסת הקושחה השתנתה, ה-Seeker יעדכן את גרסת הקושחה של המטמון וישלח שאילתה לגבי היכולות דרך 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 | משתנה |