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