פקדים של Hearable
הפקדים של מכשירי Hearable ב-Fast Pair נועדו לספק אמצעי בקרת גישה טובים יותר לתכונות חשובות של מכשירי Hearable ב-Android. כדי לעשות זאת, הוספנו פקדים חדשים לקבוצת הודעות ב-Hearable בתוך Message Stream.
שם קבוצת ההודעות | ערך |
---|---|
שליטה באמצעות Hearable | 0x08 |
בקרת רעש פעילה
בקרת רעש פעילה הופכת לתכונה בולטת באוזניות פרימיום. בצד של מחפש המכשיר, ממשק המשתמש והלוגיקה של התאמה מהירה יאפשרו להגדיר, לאחזר ולשמור את המצב, והמצב יישמר בצד של הספק. הספק חייב לשלוח Session Nonce כשהסטרימינג של האירועים מחובר. כדי לעשות זאת, מוגדרים בהמשך קודי ההודעות הבאים:
שם קוד ההודעה | ערך | השולח | משיב/ה | MAC | ACK |
---|---|---|---|---|---|
אחזור סטטוס ANC | 0x11 | Seeker | ספק | לא | לא |
הגדרת מצב ANC | 0x12 | Seeker | ספק | Y | Y |
דיווח על מצב ANC | 0x13 | ספק | Seeker | לא | לא |
כשמכשיר מחפש מתחבר לספק, או כשספק מקבל את ההודעה 'Get ANC state', הספק יכול לשלוח הודעה על מצב ANC כדי להודיע למכשיר המחפש על יכולת ה-ANC שלו ועל המצב המאוחסן. ההודעה נראית כך:
בייט | סוג הנתונים | תיאור | ערך |
---|---|---|---|
0 | uint8 | שליטה באמצעות Hearable | 0x08 |
1 | uint8 | דיווח על מצב ANC | 0x13 |
2 עד 3 | uint16 | אורך הנתונים הנוספים | 0x04 |
4 עד 7 | נתוני בקרה של ANC | משתנה |
נתוני בקרה של ANC
בייט | סוג הנתונים | תיאור | ערך |
---|---|---|---|
0 | uint8 | קוד גירסה | משתנה,0x02 בגרסה הזו |
1 | דגלים | מתגים בממשק המשתמש כל מצב מופעל (1) או מושבת (0) בהתאם לערך של ביט הדגל שלו, באופן הבא: ביט 0 (MSB): שקוף ביט 1: שמור (הגדרת הביט ל-0) ביט 2: כבוי ביט 3: שמור (הגדרת הביט ל-0) ביט 4: ANC |
משתנה |
2 | דגלים | מתגים שניתן להגדיר אפשר להגדיר כאן גם את כל המתגים של ממשק המשתמש שלמעלה, כדי לציין אילו מהם מופעלים כרגע. |
משתנה |
3 | דגלים | המצב הנוכחי אפשר להגדיר רק ביט אחד, והערך של הבייט הזה צריך להיות שונה מאפס. |
משתנה |
סרגל החיפוש יציג את ממשק המשתמש של המתג בהתאם לנתוני הבקרה של ANC.
דוגמה 1: הספק תומך ב-ANC משולש: שקוף – כבוי – ANC והאוזניות מוצמדות לראש, עכשיו אפשר להגדיר את כל המצבים והמצב הנוכחי הוא כבוי:
בייט | סוג הנתונים | תיאור | ערך |
---|---|---|---|
0 | uint8 | קוד גירסה | 0x01 |
1 | דגלים | לחצנים להחלפת מצב בממשק המשתמש | 0b10101000 |
2 | דגלים | מתגים שניתן להגדיר | 0b10101000 |
3 | דגלים | המצב הנוכחי | 0b00100000 |
דוגמה 2: הספק תומך ב-ANC משולש: שקוף – כבוי – ANC, רק אוזנייה אחת מולבשת כרגע או שאף אוזנייה לא מולבשת, כך שלא ניתן להגדיר מצבים והמצב הנוכחי הוא כבוי:
בייט | סוג הנתונים | תיאור | ערך |
---|---|---|---|
0 | uint8 | קוד גירסה | 0x01 |
1 | דגלים | מתג בממשק המשתמש | 0b10101000 |
2 | דגלים | מתג שניתן להגדרה | 0b00000000 |
3 | דגלים | המצב הנוכחי | 0b00100000 |
אם המשתמש מפעיל את המתג, ה-Seeker מגדיר את המצב הנוכחי לספק באופן הבא:
בייט | סוג הנתונים | תיאור | ערך |
---|---|---|---|
0 | uint8 | שליטה באמצעות Hearable | 0x08 |
1 | uint8 | הגדרת מצב ANC | 0x12 |
2 עד 3 | uint16 | אורך הנתונים הנוספים | משתנה, 0x04 או 0x14 |
4 | uint8 | קוד הגרסה של Seeker | משתנה, 0x01 או 0x02 |
5 | דגלים | מצבים שניתן להגדיר עבור ANC (מצב החלפת מצב בממשק המשתמש) | משתנה |
6 | דגלים | מצבים מופעלים של ANC (מתג שניתן להגדרה) | משתנה |
7 | דגלים | אינדקס מצב ANC חדש (מצב חדש) | משתנה |
8 עד 23 | בוצעה הזמנה | משתנה |
הבייטים 4 עד 7 הם למעשה נתוני בקרה של ANC שנשלחים מצד המכשיר המחפש. אם הערך של האורך הנוסף מוגדר כ-0x14, הבייטים השמורים 8 עד 23 יהיו נוכחים, ועל הספק להתעלם מהם כשהם מתקבלים. אם ערך האורך הנוסף מוגדר כ-0x04, אין בייטים שמורים.
כשספק מקבל הודעה מסוג 'הגדרת מצב ANC', הוא צריך להודיע על אישור ולהודיע על מצב ANC לכל ה-Seekers המחוברים. אם המשתמש ישנה את ההגדרה באמצעות תנועה של אוזניות או אפליקציה נלווית, הספק צריך לשלוח התראה גם לכל המשתמשים המחוברים שמחפשים.