ממשק הבקר המארח (HCI) משמש לאינטראקציה עם בקר Bluetooth.
במסמך הזה מפורטות הדרישות של ממשק HCI ל-Bluetooth (BT) ול-Bluetooth עם צריכת אנרגיה נמוכה (BLE). המטרה היא שספקי סטאק BT למארח וספקי בקרי BT יעמדו בדרישות הפלטפורמה האלה כדי להשתמש בקבוצת התכונות שמתוארת בהמשך.
במסמך הזה, מפרט Bluetooth Core 5.2 נקרא "מפרט". המפרט של Bluetooth Core 5.2 זמין ב אתר של Bluetooth SIG, יחד עם מסמכים מאושרים אחרים.
סקירה כללית על העיצוב
יכולות ותצורה של צ'יפ
Android היא פלטפורמה פתוחה עם מטריצה של גרסאות תוכנה, יצרני ציוד מקורי (OEM), ספקים ויכולות של פלטפורמות ושבבים.
כדי לנהל את הסביבה המשתנה ולנהל את ההעברות, במסמך הזה מתוארת פילוסופיית תכנון שמאפשרת לבקרים של BT לחשוף את היכולות שלהם (מעבר למפרט הסטנדרטי של Bluetooth Core 5.2). לאחר מכן, סטאק ה-BT המארח יכול להשתמש ביכולות האלה כדי לקבוע אילו תכונות להפעיל.
תמיכה בסטנדרטים פתוחים
אחת המטרות של Android היא לתמוך בתקנים פתוחים אחרי אישור במפרט Bluetooth. אם אחת מהתכונות שמתוארות בהמשך תהיה זמינה בשיטות HCI רגילות במפרט Bluetooth עתידי, נשתדל להפוך את הגישה הזו לברירת המחדל.
יכולות ספציפיות לספק
פקודה ספציפית לספק: LE_Get_Vendor_Capabilities_Command
שדה הפקודה של קוד הפעולה (OCF): 0x153
פרמטר של פקודה | גודל | מטרה |
---|---|---|
לא רלוונטי | רשימת פרמטרים ריקה של פקודה |
ייווצר אירוע Command Complete עבור הפקודה הזו.
פרמטר להחזרה | גודל | מטרה |
---|---|---|
Status |
8 תווים | סטטוס Command Complete |
max_advt_instances (הוצאה משימוש) |
8 תווים |
מספר המופעים של המודעות שנתמכים. השדה הזה שמור לגרסה 0.98 ואילך. הפרמטר הזה הוצא משימוש במפרט התכונות של Google בגרסה 0.98 ואילך, לטובת LE Extended Advertising שזמין במפרט BT בגרסה 5.0 ואילך. |
offloaded_resolution_of_private-address (הוצאה משימוש) |
8 תווים |
יכולת הצ'יפ של BT ב-RPA. אם יש תמיכה בצ'יפ, צריך להפעיל אותו במארח. 0 = לא מסוגל 1 = מסוגל שמורה אחרי גרסה 0.98. הפרמטר הזה הוצא משימוש במפרט התכונות של Google בגרסה 0.98 ואילך, לטובת תכונה לשמירה על הפרטיות שזמינה במפרט BT בגרסה 4.2 ואילך. |
total_scan_results_storage |
2 אוקטטים | נפח האחסון של תוצאות הסריקה, בבייט |
max_irk_list_sz |
8 תווים | מספר הרשומות של IRK שנתמכות בקושחה |
filtering_support |
8 תווים |
תמיכה בסינון בבקרה 0 = לא נתמך 1 = נתמך |
max_filter |
8 תווים | מספר המסננים הנתמכים |
activity_energy_info_support |
8 תווים |
תמיכה בדיווח על נתוני פעילות ואנרגיה 0 = אין יכולת 1 = יש יכולת |
version_supported |
2 אוקטטים |
מציין את הגרסה של מפרט התכונות של Google שנתמכת byte[0] = מספר ראשי byte[1] = מספר משני v1.05 byte[0] = 0x01 byte[1] = 0x05 |
total_num_of_advt_tracked |
2 אוקטטים |
המספר הכולל של המפרסמים שנערכת עליהם מעקב למטרות OnLost /OnFound
|
extended_scan_support |
8 תווים | תמיכה בחלון ובמרווח זמן מורחבים לסריקה |
debug_logging_supported |
8 תווים | תמיכה ברישום ביומן של פרטי ניפוי באגים בינאריים מהבקר |
LE_address_generation_offloading_support (הוצאה משימוש) |
8 תווים |
0 = לא נתמך 1 = נתמך שמור אחרי גרסה 0.98. הפרמטר הזה הוצא משימוש במפרט התכונות של Google בגרסה 0.98 ואילך, לטובת תכונה לשמירה על הפרטיות שזמינה במפרט BT בגרסה 4.2 ואילך. |
A2DP_source_offload_capability_mask |
4 אוקטטים |
מסיכות ביטים של סוגי הקודקים הנתמכים ביט 0 – SBC ביט 1 – AAC ביט 2 – APTX ביט 3 – APTX HD ביט 4 – LDAC ביטים 5-31 שמורים |
bluetooth_quality_report_support |
8 תווים |
תמיכה בדיווח על אירועי איכות של Bluetooth 0 = לא מסוגל 1 = מסוגל |
dynamic_audio_buffer_support |
4 אוקטטים |
תמיכה במאגר אודיו דינמי ב-Bluetooth Controller מסיכות ביט לסוגי הקודקים הנתמכים ביט 0 – SBC ביט 1 – AAC ביט 2 – APTX ביט 3 – APTX HD ביט 4 – LDAC ביטים 5-31 שמורים |
a2dp_offload_v2_support |
8 תווים |
תמיכה בפקודות A2DP offload v2 ב-Bluetooth controller (ראו Start A2DP offload, Stop A2DP offload) 0 = לא נתמך 1 = נתמך |
iso_link_feedback_support |
8 תווים |
תמיכה באירוע ISO Link Feedback 0 = לא נתמך 1 = נתמך |
תוצאות של סריקה בכמות גדולה
מטרת התכנון היא לשפר את האופן שבו התראות על אירועי תגובה לסריקה של Bluetooth LE מועברות למארח, כדי לחסוך באנרגיה במארח.
הפחתת התדירות שבה הבקר מודיע למעבד של אפליקציית המארח לסרוק תוצאות מאפשרת למעבד של אפליקציית המארח להישאר במצב חוסר פעילות או שינה למשך זמן ארוך יותר. כך מפחיתים את צריכת החשמל במארח. הפרמטר המוחזר total_scan_results_storage
של LE_Get_Vendor_Capabilities_Command
מציין את יכולת השמירה של התוצאות בזיכרון הצ'יפ.
התכונה הזו מתמקדת בניהול ובהגדרה של מאגר התוצאות של סריקת LE ב-Bluetooth Controller. האחסון משמש לאיסוף זמני של נתוני מודעות ולסריקה של נתונים ומטא-נתונים שמתקבלים על ידי הבקר, לצורך העברה מאוחר יותר למארח.
הקושחה תומכת בשני סוגים של קיבוץ, שאפשר להפעיל בו-זמנית:
- חתוך. מכיל את רכיבי המידע הבאים: {MAC, TX Power, RSSI, Timestamp}
- מלא. מכיל את רכיבי המידע הבאים: {MAC, TX Power, RSSI, Timestamp, Adv Data, Scan Response}
LE_Batch_Scan_Command
OCF: 0x156
פרמטר של פקודה | גודל | מטרה |
---|---|---|
Batch_Scan_opcode |
8 תווים |
0x1 – הפעלת תכונה ספציפית ללקוח 0x2 – הגדרת פרמטרים של אחסון של סריקת אצווה 0x3 – הגדרת פרמטרים של סריקת אצווה 0x4 – קריאת פרמטרים של תוצאות סריקת אצווה |
ייווצר אירוע Command Complete עבור הפקודה הזו. הפעלת התכונה הספציפית ללקוח לא מתחילה את הסריקה.
פרמטר להחזרה | גודל | מטרה |
---|---|---|
Status |
8 תווים | סטטוס Command Complete |
Batch_Scan_opcode |
8 תווים |
0x1 – הפעלת תכונה ספציפית ללקוח 0x2 – הגדרת פרמטרים של אחסון של סריקת אצווה 0x3 – הגדרת פרמטרים של סריקת אצווה 0x4 – קריאת פרמטרים של תוצאות סריקת אצווה |
LE_Batch_Scan_Command: הפעלת תכונה ספציפית ללקוח
Sub OCF: 0x01
פרמטר של פקודת משנה | גודל | מטרה |
---|---|---|
enable_customer_specific_feature_set |
8 תווים |
0x01 – הפעלת התכונה 'סריקה בכמות גדולה' 0x00 – השבתת התכונה 'סריקה בכמות גדולה' |
ייווצר אירוע Command Complete עבור הפקודה הזו.
פרמטר להחזרה | גודל | מטרה |
---|---|---|
Status |
8 תווים | סטטוס Command Complete |
Batch_Scan_opcode |
8 תווים |
0x1 – הפעלת תכונה ספציפית ללקוח 0x2 – הגדרת פרמטרים של אחסון של סריקת אצווה 0x3 – הגדרת פרמטרים של סריקת אצווה 0x4 – קריאת פרמטרים של תוצאות סריקת אצווה |
LE_Batch_Scan_Command: פקודה משנית להגדרת פרמטר האחסון של סריקת באצ'ט
OCF משני: 0x02
פרמטר של פקודת משנה | גודל | מטרה |
---|---|---|
Batch_Scan_Full_Max |
8 תווים |
נפח האחסון המקסימלי (באחוזים) שהוקצה לסגנון מלא [טווח: 0-100] |
Batch_Scan_Truncated_Max |
8 תווים |
נפח האחסון המקסימלי (באחוזים) שהוקצה לסגנון המקוצר [טווח: 0-100] |
Batch_Scan_Notify_Threshold |
8 תווים |
הגדרת רמת ההתראות (באחוזים) למאגר אחסון ספציפי
[טווח: 0-100] הגדרה של 0 תשבית את ההתראות. נוצר אירוע HCI ספציפי לספק (אירוע משנה של הפרת סף אחסון) |
ייווצר אירוע Command Complete עבור הפקודה הזו.
פרמטר להחזרה | גודל | מטרה |
---|---|---|
Status |
8 תווים | סטטוס Command Complete |
Batch_scan_opcode |
8 תווים | 0x02 [הגדרת פרמטרים של סריקה בכמות גדולה] |
LE_Batch_Scan_Command: פקודה משנית להגדרת פרמטר של סריקה בכמות גדולה
Sub OCF: 0x03
פרמטר של פקודת משנה | גודל | מטרה |
---|---|---|
Batch_Scan_Mode |
8 תווים |
0x00 – הסריקה בכמות גדולה מושבתת 0x01 – מצב קטועה מופעל 0x02 – מצב מלא מופעל 0x03 – מצב קטועה ומצב מלא מופעלים |
Duty_cycle_scan_window |
4 אוקטטים | זמן הסריקה של Batch Scan (# of slot) |
Duty_cyle_scan_interval |
4 אוקטטים | פרק הזמן של מרווח הזמן לסריקה בכמות גדולה (מספר המשבצות) |
own_address_type |
8 תווים |
0x00 – כתובת מכשיר ציבורית 0x01 – כתובת מכשיר אקראית |
Batch_scan_Discard_Rule |
8 תווים |
0 – ביטול המודעה הישנה ביותר 1 – ביטול המודעה עם ערך ה-RSSI החלש ביותר |
הפקודה המשנית הזו תתחיל סריקה באצווה, אם היא מופעלת. בסריקה עם קיצוץ, התוצאות מאוחסנות בצורה מקוצרת, כאשר המפתח הייחודי לסגנון המקוצר הוא {BD_ADDR,
scan_interval}. כלומר, רק BD_ADDR will
אחד יירשם לכל מרווח סריקה. הרשומה שצריך לשמור במצב Truncated היא: {BD_ADDR
, Tx Power, RSSI, Timestamp}
כשמפעילים את המצב המלא, נעשה שימוש בסריקה פעילה והתגובות לסריקה מתועדות. המפתח הייחודי בסגנון מלא = {MAC, Ad packet}, ללא קשר למרווח הסריקה. הרשומה שצריך לשמור במצב מלא היא
{BD_ADDR
, Tx Power, RSSI, Timestamp, Ad packet, Scan
Response}. בסגנון מלא, אותה חבילה של מודעות, אם היא מופיעה כמה פעמים במרווחי סריקה שונים, מתועדת רק פעם אחת. עם זאת, במצב Truncated, העניין הוא בחשיפה של BA_ADDR
במרווחי סריקה שונים (פעם לכל מרווח סריקה). הערך של RSSI הוא הערך הממוצע של כל העותקים הכפולים של מודעה ייחודית במהלך מרווח הסריקה.
ייווצר אירוע Command Complete עבור הפקודה הזו.
פרמטר להחזרה | גודל | מטרה |
---|---|---|
Status |
8 תווים | סטטוס Command Complete |
Batch_scan_opcode |
8 תווים | 0x03 [הגדרת פרמטרים של סריקה בכמות גדולה] |
LE_Batch_Scan_Command: פקודת משנה לקריאת תוצאות של סריקה בכמות גדולה
Sub OCF: 0x04
פרמטר של פקודת משנה | גודל | מטרה |
---|---|---|
Batch_Scan_Data_read |
8 תווים |
0x01 – נתונים במצב קטועים 0x02 – נתונים במצב מלא |
ייווצר אירוע Command Complete עבור הפקודה הזו. כשהמארח נותן את הפקודה הזו, יכול להיות שכל התוצאות בבקרה לא ייכנסו לאירוע אחד של Command Complete. המארח ימשיך להוציא את הפקודה הזו עד שהתוצאות התואמות באירוע Command Complete יצביעו על 0 במספר הרשומות, מה שמציין שלבקר אין יותר רשומות להעביר למארח. כל אירוע Command Complete יכול להכיל כמה רשומות של סוג נתונים אחד בלבד (מלא או חתוך).
ההפניות לזמן של הבקר והמארח לא מסונכרנות. יחידת חותמת הזמן היא 50 אלפיות השנייה. הערך של חותמת הזמן מבוסס על המועד שבו המארח הגדיר את הערך של Read_Batch_Scan_Results_Sub_cmd
. אם זמן ההגעה של הפקודה הוא T_c
בקושחה, הזמן בפועל שבו חותמת הזמן נלקחה בקושחה הוא T_fw
. זמן הדיווח יהיה:
(T_c
- T_fw
). הערכים T_c
ו-T_fw
נמצאים במרחב הזמן של הקושחה. כך המארח יכול לחשב כמה זמן עבר מאז האירוע.
פרמטר להחזרה | גודל | מטרה |
---|---|---|
Status |
8 תווים | סטטוס Command Complete |
Batch_scan_opcode |
8 תווים | 0x03 [Set Batch Scan parameters] |
Batch_Scan_data_read |
8 תווים | מזהה את הפורמט (קטועה או מלאה) |
num_of_records |
8 תווים | מספר הרשומות של Batch_Scan_data_read |
format_of_data |
משתנה |
מצב קטועה: Address[0]: 6 octets Address_Type[0]: 1 octet Tx_Pwr[0]: 1 octet RSSI[0] : 1 octet Timestamp[0]: 2 octets [multiple records ( num_of_records ) with above format]מצב מלא: Address[0]: 6 octets Address_Type[0]: 1 octet Tx_Pwr[0]: 1 octet RSSI[0]: 1 octet Timestamp[0]: 2 octets Adv packet_len[0]: 1 octet Adv_packet[0]: Adv_packet_len octets Scan_data_resp_len[0]: 1 octet Scan_data_resp[0]: Scan_data_resp octets[multiple records with above format ( num_of_records )]
|
מסנן תוכן של חבילות פרסום
אפשר להשתמש בהגדרה הזו כדי להפעיל, להשבית או להגדיר את מסנן התוכן של חבילות הפרסום (APCF) בבקרים. APCF מסנן דוחות פרסום במסוף, אבל לא מסנן פרסום תקופתי.
LE_APCF_Command
OCF: 0x157
פרמטר של פקודה | גודל | מטרה |
---|---|---|
APCF_opcode |
8 תווים |
0x00 – הפעלת APCF 0x01 – הגדרת הפרמטרים של סינון ב-APCF 0x02 – כתובת של APCF לשידור 0x03 – APCF Service UUID 0x04 – APCF Service Solicitation UUID 0x05 – APCF Local Name 0x06 – APCF Manufacturer Data 0x07 – APCF Service Data 0x08 – APCF Transport Discovery Service 0x09 – APCF AD Type Filter 0x10 עד 0xAF – שמורות לשימוש עתידי 0xB0 עד 0xDF – שמורות לספק 0xE0 עד 0xFE – שמורות לשימוש עתידי 0xFF – קריאת תכונות מורחבות של APCF |
ייווצר אירוע Command Complete עבור הפקודה הזו.
פרמטר להחזרה | גודל | מטרה |
---|---|---|
Status |
8 תווים | סטטוס ההחזרה |
APCF_opcode |
8 תווים |
0x00 – הפעלת APCF 0x01 – הגדרת הפרמטרים של סינון ב-APCF 0x02 – כתובת של APCF לשידור 0x03 – APCF Service UUID 0x04 – APCF Service Solicitation UUID 0x05 – APCF Local Name 0x06 – APCF Manufacturer Data 0x07 – APCF Service Data 0x08 – APCF Transport Discovery Service 0x09 – APCF AD Type Filter 0x10 עד 0xAF – שמורות לשימוש עתידי 0xB0 עד 0xDF – שמורות לספק 0xE0 עד 0xFE – שמורות לשימוש עתידי 0xFF – קריאת תכונות מורחבות של APCF |
LE_APCF_Command: Enable_sub_cmd
Sub OCF: 0x00
פרמטר של פקודת משנה | גודל | מטרה |
---|---|---|
APCF_enable |
8 תווים |
0x01 – הפעלת התכונה APCF 0x00 – השבתת התכונה APCF |
ייווצר אירוע Command Complete עבור הפקודה הזו.
פרמטר להחזרה | גודל | מטרה |
---|---|---|
Status |
8 תווים | סטטוס Command Complete |
APCF_opcode |
8 תווים | 0x0 – הפעלת APCF |
APCF_Enable |
8 תווים | ההפעלה או ההשבתה מוגדרות דרך APCF_enable |
LE_APCF_Command: set_filtering_parameters_sub_cmd
פקודת המשנה הזו משמשת להוספה או למחיקה של מפרט מסנן, או לניקוי רשימת המסננים לסינון בשבב.
Sub OCF: 0x01
פרמטר של פקודת משנה | גודל | מטרה |
---|---|---|
APCF_Action |
8 תווים |
0x00 – הוספה 0x01 – מחיקה 0x02 – ניקוי המחיקה תמחק את המסנן הספציפי ואת הרשומות של המאפיינים המשויכים בטבלאות אחרות. לחיצה על סמל הניקוי תמחק את כל המסננים והרשומות המשויכות בטבלאות אחרות. |
APCF_Filter_Index |
8 תווים | מסנן אינדקס (0, max_filter-1 ) |
APCF_Feature_Selection |
2 אוקטטים |
מסיכות ביט לתכונות שנבחרו: ביט 0: מוגדר להפעלת מסנן כתובת השידור ביט 1: מוגדר להפעלת מסנן לשינוי נתוני השירות ביט 2: מוגדר להפעלת בדיקה של מזהה UUID של השירות ביט 3: מוגדר להפעלת בדיקה של מזהה UUID של בקשת השירות ביט 4: מוגדר להפעלת בדיקה של השם המקומי ביט 5: מוגדר להפעלת בדיקה של נתוני היצרן ביט 6: מוגדר להפעלת בדיקה של נתוני השירות ביט 7: מוגדר להפעלת בדיקה של שירות גילוי התעבורה ביט 8: מוגדר להפעלת בדיקה של סוג ה-AD |
APCF_List_Logic_Type |
2 אוקטטים |
הפעולה הלוגית לכל בחירת תכונה (לכל עמדת ביט) שצוינה ב-APCF_Feature_Selection .
תקף רק כשתכונה מופעלת. הערך של מיקום הבייט: 0: OR 1: AND אם בוחרים בלוגיקת AND, חבילה של ADV תעבור את המסנן רק אם היא מכילה את כל הרשומות ברשימה. אם בוחרים בלוגיקה 'OR', חבילה של ADV תעבור את המסנן אם היא מכילה אחת מהרשומות ברשימה. |
APCF_Filter_Logic_Type |
8 תווים |
0x00: OR 0x01: AND הערה: סוג הלוגיקה הוא N/A בשלושת השדות הראשונים של APCF_Feature_Selection , שהוא תמיד לוגיקה מסוג 'AND'. הן רלוונטיות רק לארבעה שדות של APCF_Feature_Selection (ביט 3 עד ביט 6).
|
rssi_high_thresh |
8 תווים |
[ב-dBm] המפרסם נחשב כגלוי רק אם האות גבוה מהסף הגבוה של RSSI. אחרת, הקושחה צריכה לפעול כאילו היא אף פעם לא ראתה אותו. |
delivery_mode |
8 תווים |
0x00 – immediate 0x01 – on_found 0x02 – batched
|
onfound_timeout |
2 אוקטטים |
תקף רק אם הערך של delivery_mode הוא on_found .[במיליסקונדים] הזמן שחלף עד שהתוכנה הקבועה (firmware) התעכבה ואספה מודעות נוספות לפני הדיווח. |
onfound_timeout_cnt |
8 תווים |
תקף רק אם הערך של delivery_mode הוא on_found .[count] אם מודעה ב- onFound נשארת בקושחה למשך onfound_timeout , היא תאסוף כמה מודעות והספירה תבדק. אם המספר חורג מ-onfound_timeout_cnt , הוא מדווח OnFound מיד לאחר מכן.
|
rssi_low_thresh |
8 תווים |
תקף רק אם הערך של delivery_mode הוא on_found .[ב-dBm] החבילה של המפרסם נחשבת כחבילה שלא נצפתה אם ערך ה-RSSI של החבילה המקבלת לא גבוה מהסף הנמוך של ה-RSSI. |
onlost_timeout |
2 אוקטטים |
תקף רק אם הערך של delivery_mode הוא on_found .[במיליסקונדים] אם מודעה, אחרי שהיא זוהתה, לא מוצגת ברציפות במשך התקופה lost_timeout , היא תדווח מיד כמודעה שאבדה.
|
num_of_tracking_entries |
2 אוקטטים |
תקף רק אם הערך של delivery_mode הוא on_found .[count] המספר הכולל של המפרסמים שרוצים לעקוב אחריהם לכל מסנן. |
כדי לייצג ערכים שליליים, צריך להשתמש בערכים של RSSI עם משלימים של 2.
המארח יוכל להגדיר כמה מסננים עם הערך APCF_Application_Address_type
שמוגדר כ-0x02 (לכל כתובות השידור) כדי לנהל שילובים שונים של מסננים.
הסינון, הקיבוץ והדיווח הם מושגים קשורים. כל מודעה ותגובה לסריקה קשורה יצטרכו לעבור את כל המסננים, אחד אחרי השני. לכן, הפעולות שמתקבלות (delivery_mode
) קשורות מאוד לסינון. מצבי המסירה הם: report_immediately
, batch
ו-onFound
. הערך של OnLost
קשור ל-OnFound
במובן שהוא מופיע אחרי OnFound
כשהיא אבודה.
תהליך העיבוד הזה מתאר את המודל המושגי:

כשמתקבל מסגרת של מודעה (או תגובה לסריקה), היא חלה על כל המסננים בסדר סידורי. יכול להיות שמודעה מסוימת תגרום לדיווח מיידי על סמך מסנן אחד, וגם לצבירה של אותה מודעה בגלל פעולת סינון אחרת.
ערכי הסף של רמת ה-RSSI (גבוה ונמוך) מאפשרים לקבוע מתי המסגרת גלויה לעיבוד המסנן, גם אם הבקשה תקינה מתקבלת במסוף. אם מצב המסירה מוגדר כ'מיידי' או כ'אוסף', ה-RSSI של המסגרת נלקח בחשבון לצורך עיבוד נוסף על ידי הבקר. לאפליקציות שונות יש צורך בהתנהגות שונה של דיווח ושל צבירה. כך אפשר לדווח ישירות על תוצאות של כמה אפליקציות או לקבץ אותן בבת אחת בקושחת. דוגמה לכך היא מקרה שבו סריקת אצווה פעילה מאפליקציה אחת, ולאחר מכן מתבצעת סריקת LE רגילה מאפליקציה אחרת. לפני שמתבצעת סריקת אצווה, המסגרת או האפליקציה מגדירות מסננים מתאימים. מאוחר יותר, כשהאפליקציה השנייה תבצע סריקת עם זאת, בגלל הסריקה הרגילה, זה דומה להוספת מסנן null (יחד עם כל המסננים הקיימים) יחד עם פקודת הסריקה של LE. הפרמטרים של פקודת הסריקה של LE מקבלים עדיפות כשהם פעילים. כשהסריקה הרגילה של LE מושבתת, הבקר יחזור לסריקה קודמת של קבוצה, אם היא הייתה קיימת.
אופן המסירה OnFound
מבוסס על מסננים מוגדרים. שילוב שמפעיל את הפעולה של המסנן כדי להצליח נחשב לישות שצריך לעקוב אחריה עבור onLost
. האירוע התואם הוא אירוע המשנה של מעקב אחר מודעות LE.
המעבר OnFound/OnLost
למסנן (אם הוא מופעל) ייראה כך:

ייווצר אירוע Command Complete עבור הפקודה הזו.
פרמטר להחזרה | גודל | מטרה |
---|---|---|
Status |
8 תווים | סטטוס Command Complete |
APCF_opcode |
8 תווים | 0x01 – APCF Set Filtering Parameters |
APCF_Action |
8 תווים | הדהוד של APCF_Action בפקודה |
APCF_AvailableSpaces |
8 תווים | מספר הרשומות הזמינות בטבלת המסננים |
LE_APCF_Command: broadcast_address_sub_cmd
הפקודה המשנית הזו משמשת להוספה או למחיקה של כתובת של מפרסם, או לניקוי רשימת הכתובות של המפרסמים לצורך סינון בשבב.
OCF משני: 0x02
פרמטר של פקודת משנה | גודל | מטרה |
---|---|---|
APCF_Action |
8 תווים |
0x00 – הוספה 0x01 – מחיקה 0x02 – ניקוי המחיקה תמחק את כתובת השידור המצוינת במסנן שצוין. הלחצן Clear ינקה את כל כתובות השידור במסנן שצוין. |
APCF_Filter_Index |
8 תווים | מסנן אינדקס (0, max_filter-1 ) |
APCF_Broadcaster_Address |
6 אוקטטים | כתובת מכשיר בת 6 בייטים שרוצים להוסיף לרשימת הכתובות של המפרסם או למחוק ממנה |
APCF_Application_Address_type |
8 תווים |
0x00: ציבורי 0x01: אקראי 0x02: לא רלוונטי (המערכת מתעלמת מסוג הכתובת) כדי לסנן דוחות פרסום עם סוגי כתובות של זהויות (0x02, 0x03). כדי לקבל דוחות פרסום עם סוגי כתובות 0x02 ו-0x03, מגדירים את השדה הזה לערך 0x02: NA (מתעלמים מסוג הכתובת). |
ייווצר אירוע Command Complete עבור הפקודה הזו.
פרמטר להחזרה | גודל | מטרה |
---|---|---|
Status |
8 תווים | סטטוס Command Complete |
APCF_opcode |
8 תווים | 0x02 – כתובת של משדר APCF |
APCF_Action |
8 תווים | הדהוד של APCF_Action בפקודה |
APCF_AvailableSpaces |
אוקטט אחד | מספר הרשומות בחינם שעדיין זמינות בטבלה Broadcast Address |
LE_APCF_Command: service_uuid_sub_cmd
פקודת המשנה הזו משמשת להוספה או למחיקה של UUID של שירות, או לניקוי רשימת UUID של שירות לצורך סינון בשבב.
Sub OCF: 0x03
פרמטר של פקודת משנה | גודל | מטרה |
---|---|---|
APCF_Action |
8 תווים |
0x00 – הוספה 0x01 – מחיקה 0x02 – ניקוי המחיקה תמחק את כתובת ה-UUID של השירות שצוינה במסנן שצוין. הלחצן Clear (ניקוי) ינקה את כל מזהי ה-UUID של השירותים במסנן שצוין. |
APCF_Filter_Index |
8 תווים | אינדקס המסנן (0, max_filter -1) |
APCF_UUID |
2,4,16 octet | מזהה ה-UUID של השירות (16 ביט, 32 ביט או 128 ביט) להוספה לרשימה או למחיקה ממנה. |
APCF_UUID_MASK |
2,4,16 octet |
המסכה של UUID השירות (16 ביט, 32 ביט או 128 ביט) שרוצים להוסיף לרשימה.
האורך שלו צריך להיות זהה לאורך של APCF_UUID.
|
ייווצר אירוע Command Complete עבור הפקודה הזו.
פרמטר להחזרה | גודל | מטרה |
---|---|---|
Status |
8 תווים | סטטוס Command Complete |
APCF_opcode |
8 תווים | 0x03 – מזהה UUID של שירות APCF |
APCF_Action |
8 תווים | הדהוד של APCF_Action בפקודה |
APCF_AvailableSpaces |
8 תווים | מספר הרשומות הפנויות שעדיין זמינות בטבלה Service UUID |
LE_APCF_Command: solicitation_uuid_sub_cmd
פקודת המשנה הזו משמשת להוספה או למחיקה של UUID של בקשה, או לניקוי רשימת UUID של בקשה לצורך סינון בשבב.
Sub OCF: 0x04
פרמטר של פקודת משנה | גודל | מטרה |
---|---|---|
APCF_Action |
8 תווים |
0x00 – הוספה 0x01 – מחיקה 0x02 – ניקוי המחיקה תמחק את כתובת ה-UUID של הבקשה במסנן שצוין. האפשרות Clear (ניקוי) תמחק את כל מזהי ה-UUID של הבקשות במסנן שצוין. |
APCF_Filter_Index |
8 תווים | אינדקס המסנן (0, max_filter -1) |
APCF_UUID |
2,4,16 octet | מזהה ה-UUID של הבקשה (16 ביט, 32 ביט או 128 ביט) שרוצים להוסיף לרשימה או למחוק ממנה. |
APCF_UUID_MASK |
2,4,16 octet |
המסכה של UUID של הבקשה (16 ביט, 32 ביט או 128 ביט) להוספה לרשימת הבקשות. האורך שלו צריך להיות זהה לאורך של APCF_UUID .
|
ייווצר אירוע Command Complete עבור הפקודה הזו.
פרמטר להחזרה | גודל | מטרה |
---|---|---|
Status |
8 תווים | סטטוס Command Complete |
APCF_opcode |
8 תווים | 0x04 – UUID של בקשה ל-APCF |
APCF_Action |
8 תווים | הדהוד של APCF_Action בפקודה |
APCF_AvailableSpaces |
8 תווים | מספר הרשומות בחינם שעדיין זמינות בטבלה Solicitation UUID |
LE_APCF_Command: local_name_sub_cmd
הפקודה המשנית הזו משמשת להוספה או למחיקה של מחרוזת שם מקומית, או לניקוי רשימת מחרוזות השמות המקומיות לצורך סינון בשבב.
Sub OCF: 0x05
פרמטר של פקודת משנה | גודל | מטרה |
---|---|---|
APCF_Action |
8 תווים |
0x00 – הוספה 0x01 – מחיקה 0x02 – ניקוי המחיקה תמחק את מחרוזת השם המקומי שצוינה במסנן שצוין. הפקודה Clear תמחק את כל מחרוזות השמות המקומיים במסנן שצוין. |
APCF_Filter_Index |
8 תווים | אינדקס המסנן (0, max_filter -1) |
APCF_LocName_Mandata_or_SerData |
גודל משתנה |
מחרוזת תווים לשם המקומי. הערות:
|
ייווצר אירוע Command Complete עבור הפקודה הזו.
פרמטר להחזרה | גודל | מטרה |
---|---|---|
Status |
8 תווים | סטטוס Command Complete |
APCF_opcode |
8 תווים | 0x05 – שם מקומי של APCF |
APCF_Action |
8 תווים | הדהוד של APCF_Action בפקודה |
APCF_AvailableSpaces |
8 תווים | מספר הרשומות בחינם שעדיין זמינות בטבלת השמות המקומיים |
LE_APCF_Command: manf_data_sub_cmd
הפקודה המשנית הזו משמשת להוספה או למחיקה של מחרוזת של נתוני יצרן, או לניקוי הרשימה של מחרוזות של נתוני יצרן לצורך סינון בשבב.
OCF משני: 0x06
פרמטר של פקודת משנה | גודל | מטרה |
---|---|---|
APCF_Action |
8 תווים |
0x00 – הוספה 0x01 – מחיקה 0x02 – ניקוי המחיקה תמחק את מחרוזת נתוני היצרן שצוינה במסנן שצוין. הלחצן Clear (ניקוי) ינקה את כל מחרוזות נתוני היצרן במסנן שצוין. |
APCF_Filter_Index |
8 תווים | אינדקס המסנן (0, max_filter -1) |
APCF_LocName_Mandata_or_SerData |
גודל משתנה |
מחרוזת תווים לנתוני היצרן. הערות:
|
APCF_ManData_Mask |
גודל משתנה |
המסכה של נתוני היצרן שרוצים להוסיף לרשימה. האורך שלו צריך להיות זהה לאורך של APCF_LocName_or_ManData_or_SerData .
|
ייווצר אירוע Command Complete עבור הפקודה הזו.
פרמטר להחזרה | גודל | מטרה |
---|---|---|
Status |
8 תווים | סטטוס Command Complete |
APCF_opcode |
8 תווים | 0x06 – נתוני יצרן של APCF |
APCF_Action |
8 תווים | הדהוד של APCF_Action בפקודה |
APCF_AvailableSpaces |
8 תווים | מספר הרשומות בחינם שעדיין זמינות בטבלה 'נתוני היצרן' |
LE_APCF_Command: service_data_sub_cmd
הפקודה המשנית הזו משמשת להוספה או למחיקה של מחרוזת של נתוני שירות, או לניקוי רשימת המחרוזות של נתוני השירות לצורך סינון בשבב.
Sub OCF: 0x07
פרמטר של פקודת משנה | גודל | מטרה |
---|---|---|
APCF_Action |
8 תווים |
0x00 – הוספה 0x01 – מחיקה 0x02 – ניקוי המחיקה תמחק את מחרוזת נתוני השירות שצוינה במסנן שצוין. הפקודה Clear תמחק את כל מחרוזות נתוני השירות במסנן שצוין. |
APCF_Filter_Index |
8 תווים | אינדקס המסנן (0, max_filter -1) |
APCF_LocName_Mandata_or_SerData |
גודל משתנה |
מחרוזת תווים לנתוני השירות. הערות:
|
APCF_LocName_Mandata_or_SerData_Mask |
גודל משתנה |
המסכה של נתוני השירות שרוצים להוסיף לרשימה. האורך שלו צריך להיות זהה לאורכו של APCF_LocName_or_ManData_or_SerData.
|
ייווצר אירוע Command Complete עבור הפקודה הזו.
פרמטר להחזרה | גודל | מטרה |
---|---|---|
Status |
8 תווים | סטטוס Command Complete |
APCF_opcode |
8 תווים | 0x07 – נתוני שירות של APCF |
APCF_Action |
8 תווים | הדהוד של APCF_Action בפקודה |
APCF_AvailableSpaces |
8 תווים | מספר הרשומות בחינם שעדיין זמינות בטבלה Service Data |
LE_APCF_Command: ad_type_sub_cmd
הפקודה המשנית הזו משמשת להוספה או למחיקה של סוג מודעה, או לניקוי רשימת סוגי המודעות לצורך סינון בשבב. משתמשים בפקודה read_extended_features_sub_cmd
כדי לבדוק אם הפקודה הזו נתמכת.
כשהערך של APCF_AD_DATA_Length
הוא 0, מתבצע סינון של APCF_AD_TYPE
בלי
להשוות בין נתוני AD לבין 'מסכת נתוני AD'.
אם אורך הנתונים של חבילת ה-ADV שהתקבלה חורג מ-AD_DATA_LENGTH
, צריך להשוות רק את AD_DATA_LENGTH
הבייטים הראשונים של נתוני ה-AD ולהתעלם מהנתונים הנותרים.
Sub OCF: 0x09
פרמטר של פקודת משנה | גודל | מטרה |
---|---|---|
APCF_Action |
8 תווים |
0x00 – הוספה 0x01 – מחיקה 0x02 – ניקוי המחיקה תמחק את סוג ה-AD שצוין במסנן שצוין. הלחצן Clear (ניקוי) מנקה את כל סוגי המודעות לרשת המדיה במסנן שצוין. |
APCF_Filter_Index |
8 תווים | אינדקס המסנן (0, max_filter -1) |
APCF_AD_TYPE |
8 תווים | סוג המודעה שרוצים להוסיף לרשימה או למחוק ממנה. התעלמות כאשר APCF_Action הוא 0x02 (Clear) |
APCF_AD_DATA_Length |
8 תווים |
0x00 – לא לסנן את תוכן הנתונים התעלמות כשהערך של APCF_Action הוא 0x02 (ניקוי)
|
APCF_AD_DATA |
גודל משתנה |
בגודל משתנה, על סמך APCF_AD_DATA_Length התעלמות כאשר APCF_Action הוא 0x02 (ריק) |
APCF_AD_DATA_MASK |
גודל משתנה |
גודל משתנה, על סמך APCF_AD_DATA_Length התעלמות כאשר APCF_Action הוא 0x02 (ריק)האורך שלו צריך להיות זהה לאורך של APCF_AD_DATA .
|
ייווצר אירוע Command Complete עבור הפקודה הזו.
פרמטר להחזרה | גודל | מטרה |
---|---|---|
Status |
8 תווים | סטטוס Command Complete |
APCF_opcode |
8 תווים | 0x09 – סוג מודעה של APCF |
APCF_Action |
8 תווים | הדהוד של APCF_Action בפקודה |
APCF_AvailableSpaces |
8 תווים | מספר הרשומות בחינם שעדיין זמינות בטבלה 'סוג מודעה' |
LE_APCF_Command: read_extended_features_sub_cmd
הפקודה המשנית הזו משמשת לקריאת תכונות APCF מורחבות.
OCF משני: 0xFF
פרמטר של פקודת משנה | גודל | מטרה |
---|---|---|
לא רלוונטי | פרמטר פקודה ריק. |
ייווצר אירוע Command Complete עבור הפקודה הזו.
פרמטר להחזרה | גודל | מטרה |
---|---|---|
Status |
8 תווים | סטטוס Command Complete |
APCF_opcode |
8 תווים | 0xFF – APCF_Read_Extended_Features |
APCF_extended_features |
2 אוקטטים |
מסכות ביט לתכונות מורחבות נתמכות:
הערך של הבייט
|
הפקודה 'מידע על פעילות ונתוני אנרגיה של הבקר'
המטרה של המידע הזה היא לאפשר לפונקציות ברמה גבוהה יותר במערכת המארח לנתח את הפעילויות הכוללות של כל הרכיבים, כולל הבקר של BT ומצב המאקרו שלו, בשילוב עם מה שקורה באפליקציות ובמסגרת. כדי לעשות זאת, נדרשים הפרטים הבאים מהמארז של BT ומהבקר:
- BT stack: דיווח על המצב המבצעי המאקרו-מבצעי הנוכחי של הבקר
- קושחת: דיווח על נתוני פעילות ואנרגיה מצטברים
מצבי המאקרו של סטאק המארחים של BT, כפי שנקבע ברמת המשתמש:
- במצב חוסר פעילות: [סריקת דף, מודעה של LE, סריקה של פנייה, סריקה של LE]
- סריקה: [העברת הודעות/בירור/ניסיון להתחבר]
- פעיל: [קישור ACL מופעל, קישור SCO מתמשך, מצב ניטור]
הפעילויות שהבקר עוקב אחריהן במהלך חייו הן זמן ההעברה, זמן הקבלה, זמן ההמתנה והאנרגיה הכוללת שנצרכה. הם נמחקים כשהם נקראים מהמארח.
LE_Get_Controller_Activity_Energy_Info
זוהי פקודה ספציפית לספק.
OCF: 0x159
פרמטר של פקודת משנה | גודל | מטרה |
---|---|---|
לא רלוונטי | פרמטרים ריקים של פקודות |
ייווצר אירוע Command Complete עבור הפקודה הזו.
פרמטר להחזרה | גודל | מטרה |
---|---|---|
Status |
8 תווים | סטטוס Command Complete |
total_tx_time_ms |
4 אוקטטים | הזמן הכולל לביצוע העברה (Tx) |
total_rx_time_ms |
4 אוקטטים | הזמן הכולל לביצוע Rx |
total_idle_time_ms |
4 אוקטטים | משך הזמן הכולל במצב ללא פעילות (לא במצבי חיסכון בסוללה שאינם מצב שינה) |
total_energy_used |
4 אוקטטים | סך האנרגיה שנעשה בה שימוש [המוצר של הזרם (mA), המתח (V) והזמן (ms)] |
הפקודה LE extended set scan parameters
אפשר להשתמש בפקודה הזו כדי להפעיל חלון סריקת מרווח גדול יותר בבקר. בהתאם למפרט BT Core 5.2, לחלון הסריקה ולמרווח הזמן יש גבול עליון של 10.24 שניות, מה שמקשה על מרווחים של סריקות באפליקציות מעבר ל-10.24 שניות.
מקור מידע בסיסי: מפרט BT Core 5.2, דף 2493 (פקודה להגדרת הפרמטרים של הסריקה ב-LE)
OCF: 0x15A
פרמטר של פקודה | גודל | מטרה |
---|---|---|
LE_Ex_Scan_Type |
8 תווים |
0x00 – סריקה פסיבית. לא יישלחו חבילות SCAN_REQ (ברירת המחדל).0x01 – סריקה פעילה. ייתכן שיישלחו חבילות SCAN_REQ .
|
LE_Ex_Scan_Interval |
4 אוקטטים |
מוגדר כמרווח הזמן מהרגע שבו הבקר התחיל את הסריקה האחרונה של LE ועד שהתחיל את הסריקה הבאה של LE. טווח: 0x0004 עד 0x00FFFFFF ברירת מחדל: 0x0010 (10 אלפיות שנייה) זמן = N * 0.625 אלפיות שנייה טווח זמן: 2.5 אלפיות שנייה עד 10,442.25 שניות |
LE_Ex_Scan_Window |
4 אוקטטים |
משך הסריקה של LE. הערך של LE_Scan_Window חייב להיות קטן מ-LE_Scan_Interval או שווה לו.
טווח: 0x0004 עד 0xFFFF ברירת מחדל: 0x0010 (10 אלפיות השנייה) זמן = N * 0.625 אלפיות השנייה טווח הזמן: 2.5 אלפיות השנייה עד 40.95 שניות |
Own_Address_Type |
8 תווים |
0x00 – כתובת מכשיר ציבורית (ברירת המחדל) 0x01 – כתובת מכשיר אקראית |
LE_Ex_Scan_Filter_Policy |
0x00 – אישור כל חבילות הפרסום (ברירת המחדל). חבילות של פרסום מותאם אישית שלא מיועדות למכשיר הזה יידחו. 0x01 – התעלמות מחבילות מודעות ממכשירים שלא נמצאים ברשימת ההיתרים בלבד. חבילות של פרסום מותאם אישית שלא מיועדות למכשיר הזה יידחו. |
ייווצר אירוע Command Complete עבור הפקודה הזו.
פרמטר להחזרה | גודל | מטרה |
---|---|---|
Status |
8 תווים | סטטוס Command Complete |
הפקודה לקבלת מידע על תוצאות ניפוי הבאגים של הבקר
מטרת אלמנט המידע הזה היא לאפשר למארח לקבל מידע על ניפוי באגים של הבקר, בפורמט בינארי, לצורך עיבוד ופענוח לאחר מכן. כך אפשר לנפות באגים בשטח ולספק למהנדסים ערכת כלים לתיעוד מידע לצורך ניתוח. אמצעי הבקרה יכול לספק את המידע כאשר המארח מבקש זאת באמצעות האירוע (אירוע המשנה Controller Debug Info) או באופן עצמאי לפי הצורך של אמצעי הבקרה. לדוגמה, אפשר להשתמש בהם כדי לדווח על מידע לגבי מצב הקושחה, מידע על גרסת דמפ של קריסה, מידע ביומן וכו'.
OCF: 0x15B
פרמטר של פקודה | גודל | מטרה |
---|---|---|
לא רלוונטי | רשימת פרמטרים ריקה של פקודה |
ייווצר אירוע Command Complete עבור הפקודה הזו.
פרמטר להחזרה | גודל | מטרה |
---|---|---|
Status |
8 תווים | סטטוס Command Complete |
תמיכה בהעברת עומס מהחומרה (offload) של A2DP
התכונה A2DP offload תומכת בהעברת תהליך קידוד האודיו של A2DP למעבד אודיו שמחובר לבקר ה-BT. מקור הנתונים המקודד של האודיו עובר ישירות ממעבדת האודיו למתאם ה-BT, בלי מעורבות של מארח ה-BT. מארח ה-BT עדיין אחראי על ההגדרה והשליטה בסשן ה-A2DP. יש שתי גרסאות של הפקודות. הפקודות הקודמות עם Sub OCF 0x01-0x02 תומכות רק בקודקים בקוד פתוח. הגרסאות עם Sub-OCF 0x03-0x04 לא תלויות בקודק שהוגדר.
OCF: 0x15D
הפעלת הורדת עומס של A2DP (מדור קודם)
Sub OCF: 0x01
משתמשים בפקודה הזו גם כדי להגדיר את תהליך העברת הנתונים של A2DP וגם כדי להפעיל את הסטרימינג של A2DP.
פרמטר של פקודה | גודל | מטרה |
---|---|---|
Codec |
4 אוקטטים |
מציין את סוג הקודק 0x01 – SBC 0x02 – AAC 0x04 – APTX 0x08 – APTX HD 0x10 – LDAC |
Max_Latency |
2 אוקטטים | זמן האחזור המקסימלי המותר (באלפיות שנייה). ערך אפס משבית את השטיפה. |
SCMS-T_Enable |
2 אוקטטים |
אוקטט 0: דגל שמאפשר הוספה של כותרת SCMS-T.
אוקטט 1: הערך של הכותרת SCMS-T, כשהיא מופעלת. |
Sampling_Frequency |
4 אוקטטים |
0x01 – 44,100Hz 0x02 – 48,000Hz 0x04 – 88,200Hz 0x08 – 96,000Hz |
Bits_Per_Sample |
8 תווים |
0x01 – 16 ביטים לדגימה 0x02 – 24 ביטים לדגימה 0x04 – 32 ביטים לדגימה |
Channel_Mode |
8 תווים |
0x01 – מונו 0x02 – סטריאו |
Encoded_Audio_Bitrate |
4 אוקטטים |
קצב העברת הנתונים של האודיו המקודד, בסיביות לשנייה. 0x00000000 – קצב הנתונים של האודיו לא צוין / לא בשימוש. 0x00000001 – 0x00FFFFFF – קצב העברת הנתונים של האודיו המקודד בסיביות לשנייה. 0x01000000 – 0xFFFFFFFF – שמור. |
Connection_Handle |
2 אוקטטים | ה-Connection Handle של חיבור A2DP שמוגדר |
L2CAP_Channel_ID |
2 אוקטטים | מזהה הערוץ של L2CAP שישמש לחיבור A2DP הזה |
L2CAP_MTU_Size |
2 אוקטטים | הגודל המקסימלי של MTU ב-L2CAP שמכיל חבילות אודיו מקודדות |
Codec_Information |
32 אוקטטים |
מידע ספציפי לקודק.
קודק SBC:
אפשר לעיין ברכיבי המידע הספציפיים של SBC Codec ב-A2DP v1.3. קודק AAC:
ראו רכיבי מידע ספציפיים לקודק AAC ב-A2DP v1.3 קודק LDAC:
אוקטט 0-3: מזהה הספק
אוקטט 4-5: מזהה הקודק
אוקטט 6: מדד קצב העברת הנתונים:
אוקטט 7: מצב הערוץ של LDAC אוקטט 8-31: שמורות כל שאר הקודקים: אוקטט 0-31: שמורות |
ייווצר אירוע Command Complete עבור הפקודה הזו.
פרמטר להחזרה | גודל | מטרה |
---|---|---|
Status |
8 תווים | סטטוס Command Complete |
Sub_Opcode |
8 תווים | 0x01 – התחלת העברה לחומרת A2DP |
הפעלת הורדת עומס של A2DP
Sub OCF: 0x03
משתמשים בפקודה הזו גם כדי להגדיר את תהליך העברת הנתונים של A2DP וגם כדי להפעיל את הסטרימינג של A2DP.
פרמטר של פקודה | גודל | מטרה |
---|---|---|
Connection Handle |
2 אוקטטים | הידית של חיבור ה-HCI הפעיל |
L2CAP_Channel_ID |
2 אוקטטים | המזהה של ערוץ ה-L2CAP שנפתח לסטרימינג של A2DP |
Data_Path_Direction |
8 תווים |
0x00 – פלט (AVDTP Source/Merge) 0x01 – קלט (AVDTP Sink/Split) |
Peer_MTU |
2 אוקטטים | הגודל המקסימלי של חבילות L2CAP, שמוסכם עם השותף. |
CP_Enable_SCMS_T |
8 תווים |
0x00 – השבתת כותרת ההגנה על תוכן של SCMS-T 0x01 – הפעלת כותרת ההגנה על תוכן של SCMS-T |
CP_Header_SCMS_T |
8 תווים |
כשהכותרת של הגנה על תוכן מסוג SCMS-T מופעלת (CP_SCMS_T_Enable מוגדר ל-0x01), היא מגדירה את ערך הכותרת שקודם לתוכן האודיו (ראו A2DP, חלקים 3.2.1-2) כפי שמוגדר במספרים שהוקצו ל-Bluetooth, חלק 6.3.2.התכונה מתעלמת מהערך הזה אם ההגנה על התוכן של SCMS-T לא מופעלת. |
Vendor_Specific_Parameters_Length |
8 תווים |
האורך של הפרמטרים הספציפיים לספק, בטווח שבין 0 ל-128. המערכת משתמשת בערך 0 כשלא מציינים פרמטרים נוספים. |
Vendor_Specific_Parameters |
0 עד 128 אוקטטים |
פרמטרים ספציפיים לספק שסופקו על ידי Bluetooth Audio HAL, CodecParameters.vendorSpecificParameters[] .
|
ייווצר אירוע Command Complete עבור הפקודה הזו.
פרמטר להחזרה | גודל | מטרה |
---|---|---|
Status |
8 תווים | סטטוס Command Complete |
Sub_Opcode |
8 תווים | 0x03 – התחלת העברה של A2DP |
הפסקת הורדת העומס של A2DP (מדור קודם)
OCF משני: 0x02
הפקודה הזו משמשת כדי לעצור את ההעברה של מקור הנתונים של A2DP.
פרמטר של פקודה | גודל | מטרה |
---|---|---|
לא רלוונטי | רשימת פרמטרים ריקה של פקודה. |
לא מוגדרים פרמטרים לפקודה הזו.
ייווצר אירוע Command Complete עבור הפקודה הזו.
פרמטר להחזרה | גודל | מטרה |
---|---|---|
Status |
8 תווים | סטטוס Command Complete |
Sub_Opcode |
8 תווים | 0x02 – הפסקת העברת הנתונים של A2DP |
הפסקת הורדת העומס של A2DP
Sub OCF: 0x04
הפקודה הזו משמשת כדי לעצור את ההעברה של מקור הנתונים של A2DP.
פרמטר של פקודה | גודל | מטרה |
---|---|---|
Connection Handle |
2 אוקטטים | הידית של חיבור ה-HCI הפעיל |
L2CAP_Channel_ID |
2 אוקטטים | המזהה של ערוץ ה-L2CAP שנפתח לסטרימינג של A2DP |
Data_Path_Direction |
8 תווים |
0x00 – פלט (AVDTP Source/Merge) 0x01 – קלט (AVDTP Sink/Split) |
ייווצר אירוע Command Complete עבור הפקודה הזו.
פרמטר להחזרה | גודל | מטרה |
---|---|---|
Status |
8 תווים | סטטוס Command Complete |
Sub_Opcode |
8 תווים | 0x04 – עצירת הורדת העומס של A2DP |
הפקודה 'דוח איכות Bluetooth'
תכונת הפקודה BT Quality Report מפעילה את המנגנון במתג ה-Bluetooth כדי לדווח למארח על אירועי איכות Bluetooth. אפשר להפעיל ארבע אפשרויות:
- מצב ניטור איכות: המאגר שולח למארח מדי פעם אירוע משנה של BQR שקשור לאיכות הקישור.
- Approaching LSTO: אם לא מתקבלות מנות ממכשיר ה-BT המחובר במשך יותר ממחצית ערך זמן הקצאת הזמן לניטור הקישור (LSTO), הבקר מדווח למארח על אירוע Approaching LSTO.
- אודיו קטועה ב-A2DP: כשבבקר מזוהים גורמים שגורמים לאודיו קטועה, הבקר מדווח למארח על אירוע אודיו קטועה ב-A2DP.
- (e)SCO Voice Choppy: כשבקר מזהה גורמים שגורמים לקול קטועה, הבקר מדווח למארח על אירוע (e)SCO Voice Choppy.
- Root Inflammation: האירוע הזה נשלח על ידי הבקר לסטאק כש-HAL או הבקר נתקלים בשגיאה קטלנית וצריך להפעיל מחדש את Bluetooth.
- מעקב אחר הודעות LMP/LL: הבקר שולח למארח את לחיצת היד של ההודעה LMP/LL עם המכשיר המרוחק.
- מעקב תזמון של מספר פרופילים ב-Bluetooth/Coex: הבקר שולח למארח את פרטי התזמון שלו לטיפול במספר פרופילים של Bluetooth ובקיום משותף של רשתות אלחוטיות בתדר 2.4GHz.
- מנגנון של מידע על ניפוי באגים של בקר: כשהמנגנון מופעל, הבקר יכול לדווח באופן עצמאי למארח על מידע מהיומן של ניפוי הבאגים באמצעות אירוע המשנה של מידע על ניפוי באגים של הבקר.
- אודיו קטועה ב-LE Audio: כשהבקר מזהה גורמים שגורמים לאודיו קטועה, הוא מדווח למארח על אירוע של אודיו קטועה ב-LE Audio.
-
מצב נתונים סטטיסטיים מתקדמים של RF: הבקר מדווח למארח על המידע הקשור לנתונים הסטטיסטיים של ה-RF, ותומך בשני תרחישים לדוגמה לדיווח:
- דוחות תקופתיים
- טריגרים של אירועים (התחלה/עצירה של שידור וטריגר של אירוע איכות קישור).
- BQR_Report_Action של פקודת דוח האיכות של Bluetooth: המארח יכול להשתמש בפקודת ה-HCI הזו כדי לקבל שאילתה חד-פעמית למצב מעקב איכות, למצב מעקב אנרגיה או למצב סטטיסטי RF מתקדם.
OCF: 0x15E
פרמטר של פקודה | גודל | מטרה |
---|---|---|
BQR_Report_Action |
8 תווים |
פעולה להוספה או למחיקה של דיווח על אירועי איכות שהוגדרו בפרמטר BQR_Quality_Event_Mask, או לניקוי הכול.
0x00 – הוספה
מחיקת האירועים תגרום למחיקת הדיווח על אירועי איכות ספציפיים. |
BQR_Quality_Event_Mask |
4 אוקטטים |
מסיכות ביט לדיווח על אירועי איכות שנבחרו.
ביט 0: מוגדר להפעלת מצב מעקב אחר איכות. |
BQR_Minimum_Report_Interval |
2 אוקטטים |
הגדרת מרווח הזמן המינימלי לדיווח על אירועי איכות באירועי האיכות שנבחרו. קושחת הבקר לא אמורה לדווח על האירוע הבא במהלך מרווח הזמן המוגדר. הגדרת המרווח צריכה להיות תואמת ומתאימה לאירוע האיכות שנוסף.
יחידה: ms |
BQR_Vendor_Specific_Quality_Event_Mask |
4 אוקטטים |
מסיכות ביט לדיווח על אירועי איכות ספציפיים לספק שנבחרו. הפרמטר הזה תקף רק כשביט 15 של BQR_Quality_Event_Mask מוגדר.
ביט 0 עד 31: שמור. |
BQR_Vendor_Specific_Trace_Mask |
4 אוקטטים |
מסיכות ביט לדיווח על נתוני מעקב ספציפיים לספק שנבחרו. הפרמטר הזה תקף רק כשביט 31 של BQR_Quality_Event_Mask מוגדר.
ביט 0 עד 31: שמור. |
Report_interval_multiple |
4 אוקטטים |
המכפיל של BQR_Minimum_Report_Interval . כשהערך הזה גדול או שווה ל-1, מרווח הדיווח של BQR עוקב אחרי הפורמט BQR Report Interval = BQR_Minimum_Report_Interval x Report_interval_multiple. קושחת הבקר לא חייבת לדווח על האירוע הבא במרווח הזמן המוגדר. הגדרת המרווח מוקדשת במיוחד לאירועי האיכות שנוספו.
יחידה: ms BQR_Report_Interval גדולה מהיכולת של הבקר, הבקר צריך להחזיר את הזמן המקסימלי של BQR_Report_Interval בסיום הפקודה.
|
ייווצר אירוע Command Complete עבור הפקודה הזו.
פרמטר להחזרה | גודל | מטרה |
---|---|---|
Status |
8 תווים | סטטוס Command Complete |
Current_Quality_Event_Mask |
4 אוקטטים |
מציין את ההגדרה הנוכחית של מסכת הביטים. ביט 0: מצב מעקב האיכות מופעל. ביט 1: הדיווח על אירועי LSTO מתקרב מופעל. ביט 2: הדיווח על אירועי אודיו קטועים ב-A2DP מופעל. ביט 3: הדיווח על אירועים של קול קטועה ב-(e)SCO מופעל. ביט 4: הדיווח על אירועי דלקת ברמה הבסיסית מופעל. ביט 5: מצב מעקב האנרגיה מופעל. ביט 6: הדיווח על אירועים של אודיו LE קטועים מופעל. ביט 7: אירוע של כשל התחברות. ביט 8: מוגדר כדי להפעיל את הטריגר של אירוע במצב 'נתונים מתקדמים של תדרי רדיו'. ביט 9: מוגדר כדי לאפשר דיווח תקופתי על נתונים סטטיסטיים מתקדמים של תדרי רדיו. ביטים 10 עד 14: שמורים. ביט 15: הדיווח על אירועי איכות ספציפיים לספק מופעל. ביט 16: מעקב אחר הודעות LMP/LL מופעל. ביט 17: מעקב תזמון של Bluetooth Multi-link/Coex מופעל. ביט 18: מנגנון המידע על תוצאות ניפוי הבאגים של הבקר מופעל. ביטים 19 עד 30: שמורים. ביט 31: מעקב ספציפי לספק מופעל. |
Current_Vendor_Specific_Quality_Event_Mask |
4 אוקטטים | מציין את ההגדרה הנוכחית של מסכת הביטים. |
Current_Vendor_Specific_Trace_Mask |
4 אוקטטים | מציין את ההגדרה הנוכחית של מסכת הביטים. |
BQR_Report_interval |
4 אוקטטים | מציין את ההגדרה הנוכחית של מסכת הביטים. |
Current_Vendor_Specific_Trace_Mask |
4 אוקטטים |
ההגדרה של BQR_Report_interval . הערך צריך להיות הערך המינימלי בין BQR_Minimum_Report_Interval * Report_interval_multiple לבין מרווח התמיכה המקסימלי של הבקר. |
פקודה דינמית למאגר נתונים זמני של אודיו
מאגר האודיו הדינמי מפחית את הבעיות באודיו על ידי שינוי גודל מאגר האודיו ב-Bluetooth Controller בהתאם לתרחישים שונים.
OCF: 0x15F
אחזור היכולת של מאגר הנתונים הזמני של האודיו
Sub OCF: 0x01
משתמשים בפקודה הזו כדי לקבל את היכולת של זמן מאגר האודיו מהבקר של ה-Bluetooth.
פרמטר של פקודה | גודל | מטרה |
---|---|---|
לא רלוונטי | רשימת פרמטרים ריקה של פקודה |
ייווצר אירוע Command Complete עבור הפקודה הזו.
פרמטר להחזרה | גודל | מטרה |
---|---|---|
Status |
8 תווים | סטטוס Command Complete |
Dynamic_Audio_Buffer_opcode |
8 תווים | 0x01 – אחזור של הזמן של מאגר הנתונים הזמני של האודיו |
Audio_Codec_Type_Supported |
4 אוקטטים |
מסיכות ביט לסוגים הנתמכים של קודקים ביט 0 – SBC ביט 1 – AAC ביט 2 – APTX ביט 3 – APTX HD ביט 4 – LDAC ביטים 5-31 שמורים |
Audio_Codec_Buffer_Default_Time_For_Bit_0 |
2 אוקטטים |
זמן האחסון הזמני שמוגדר כברירת מחדל לסוג הקודק של Bit 0 שצוין ב-Audio_Codec_Type_Supported. הערך הזה יהיה 0 אם סוג הקודק של ביט 0 לא נתמך. יחידה: אלפיות השנייה |
Audio_Codec_Buffer_Maximum_Time_For_Bit_0 |
2 אוקטטים |
זמן האחסון הזמני המקסימלי של סוג ה-codec של Bit 0 שצוין ב-Audio_Codec_Type_Supported. הערך הזה יהיה 0 אם סוג הקודק של ביט 0 לא נתמך. יחידה: אלפיות השנייה |
Audio_Codec_Buffer_Minimum_Time_For_Bit_0 |
2 אוקטטים |
זמן האחסון הזמני המינימלי של סוג הקודק של ביט 0 שצוין ב-Audio_Codec_Type_Supported. הערך הזה יהיה 0 אם סוג הקודק של ביט 0 לא נתמך. יחידה: אלפיות השנייה |
Audio_Codec_Buffer_Default_Time_For_Bit_1 |
2 אוקטטים |
זמן ברירת המחדל של מאגר הנתונים הזמני של סוג הקודק Bit 1 שצוין ב-Audio_Codec_Type_Supported. הערך הזה יהיה 0 אם סוג הקודק של ביט 1 לא נתמך. יחידה: אלפיות השנייה |
Audio_Codec_Buffer_Maximum_Time_For_Bit_1 |
2 אוקטטים |
זמן האחסון המקסימלי של סוג ה-Codec של ביט 1 שצוין ב-Audio_Codec_Type_Supported. הערך הזה יהיה 0 אם סוג הקודק של ביט 1 לא נתמך. יחידה: אלפיות השנייה |
Audio_Codec_Buffer_Minimum_Time_For_Bit_1 |
2 אוקטטים |
זמן האחסון הזמני המינימלי של סוג הקודק של ביט 1 שצוין ב-Audio_Codec_Type_Supported. הערך הזה יהיה 0 אם סוג הקודק של ביט 1 לא נתמך. יחידה: אלפיות השנייה |
...... | ...... | ...... |
Audio_Codec_Buffer_Default_Time_For_Bit_31 |
2 אוקטטים |
זמן האחסון הזמני שמוגדר כברירת מחדל לסוג הקודק של ביט 31 שצוין ב-Audio_Codec_Type_Supported. הערך הזה יהיה 0 אם סוג הקודק של ביט 31 לא נתמך. יחידה: אלפיות השנייה |
Audio_Codec_Buffer_Maximum_Time_For_Bit_31 |
2 אוקטטים |
זמן האחסון המקסימלי של סוג ה-Codec בביט 31 שצוין ב-Audio_Codec_Type_Supported. הערך הזה יהיה 0 אם סוג הקודק של ביט 31 לא נתמך. יחידה: אלפיות השנייה |
Audio_Codec_Buffer_Minimum_Time_For_Bit_31 |
2 אוקטטים |
זמן האחסון הזמני המינימלי של סוג הקודק בביט 31 שצוין ב-Audio_Codec_Type_Supported. הערך הזה יהיה 0 אם סוג הקודק של ביט 31 לא נתמך. יחידה: אלפיות השנייה |
הגדרת זמן למאגר הנתונים הזמני של האודיו
OCF משני: 0x02
משתמשים בפקודה הזו כדי להגדיר את זמן מאגר האודיו ב-Bluetooth.
פרמטר של פקודה | גודל | מטרה |
---|---|---|
Audio_Codec_Buffer_Time |
2 אוקטטים |
משך זמן האחסון במטמון של האודיו המבוקש לקודק הנוכחי בשימוש. יחידה: אלפיות שנייה |
ייווצר אירוע Command Complete עבור הפקודה הזו.
פרמטר להחזרה | גודל | מטרה |
---|---|---|
Status |
8 תווים | סטטוס Command Complete |
Dynamic_Audio_Buffer_opcode |
8 תווים | 0x02 – הגדרת הזמן של מאגר הנתונים הזמני של האודיו |
Audio_Codec_Buffer_Time |
2 אוקטטים |
משך המאגר הזמני הנוכחי של האודיו בבקר ה-Bluetooth. יחידה: אלפיות השנייה |
אירוע HCI (ספציפי לספק)
במקרים מסוימים נדרשים אירועי HCI ספציפיים לספק. אפשר לעיין באיור 5.4 בדף 1897 במפרט BT Core 5.2. פרמטר האירוע 0 תמיד יכיל את קוד האירוע המשני הראשון, על סמך קוד זה מתבצע פענוח של שאר נתוני האירוע של HCI.
פרמטר אירוע | גודל | מטרה |
---|---|---|
HCI_vendor_specific_event_code |
8 תווים | 0xFF |
sub_event_code |
8 תווים | קוד אירוע משני יהיה באורך אוקטט אחד, הבית שמופיע מיד אחרי אורך הפרמטר בחבילת האירוע של HCI. |
אירוע משנה של הפרת סף אחסון
האירוע הזה מציין שחרגו מהסף של נפח האחסון.
קוד האירוע המשני = 0x54
פרמטר של אירוע משנה | גודל | מטרה |
---|---|---|
ללא |
אירוע משנה של שינוי מצב של פרסום בכמה רשתות ב-LE
האירוע הזה מציין שמצב של מופע פרסום השתנה. בשלב זה, האירוע הזה משמש רק כדי לציין איזה מופע פרסום הופסק כתוצאה מחיבור.
קוד האירוע המשני = 0x55
פרמטר של אירוע משנה | גודל | מטרה |
---|---|---|
Advertising_instance |
8 תווים |
מזהה את מופע הפרסום הספציפי ערכים חוקיים: 0 עד max_advt_instances -1
|
State_Change_Reason |
8 תווים | 0x00: התקבל חיבור |
Connection_handle |
2 אוקטטים |
מזהה את החיבור שגרם להשבתת המכונה של advt (0xFFFF אם לא תקין)
|
אירוע משנה של מעקב אחר מודעות LE
האירוע הזה מציין מתי מפרסם נמצא או אבד.
קוד האירוע המשני = 0x56
פרמטר של אירוע משנה | גודל | מטרה |
---|---|---|
APCF_Filter_Index |
8 תווים | אינדקס המסנן (0, max_filter -1) |
Advertiser_State |
8 תווים |
0x00: המפרסם נמצא 0x01: המפרסם לא נמצא |
Advt_Info_Present |
8 תווים |
0x00: פרטי המפרסם (Advt_Info ) נמצאים0x01: פרטי המפרסם ( Advt_Info ) לא נמצאים
|
Advertiser_Address |
6 אוקטטים | כתובת ציבורית או אקראית |
Advertiser_Address_Type |
8 תווים |
0x00: כתובת ציבורית 0x01: כתובת אקראית |
Advt_Info |
Tx_Pwr[0] : אוקטט אחדRSSI[0] : אוקטט אחדTimestamp[0] : 2 אוקטטיםAdv packet_len[0] : אוקטט אחדAdv_packet[0] : Adv_packet_len אוקטטיםScan_data_resp_len[0] : אוקטט אחדScan_data_resp[0] : Scan_data_resp אוקטטים
|
אירוע משנה של מידע על תוצאות ניפוי הבאגים של הבקר
האירוע הזה משמש את הבקר כדי לספק למארח מידע על ניפוי באגים של נתונים בינאריים.
קוד האירוע המשני = 0x57
פרמטר של אירוע משנה | גודל | מטרה |
---|---|---|
debug_block_byte_offset_start |
2 אוקטטים | ניפוי באגים של היסט בייטים בבלוק מההתחלה |
last_block |
8 תווים |
0x00: יש עוד נתוני ניפוי באגים 0x01: הבלוק הבינארי האחרון; אין עוד נתוני ניפוי באגים |
cur_pay_load_sz |
2 אוקטטים | גודל הבלוק הבינארי באירוע הנוכחי |
Debug_Data |
משתנה | נתוני ניפוי באגים של cur_payload_sz |
אירוע משנה של דוח איכות Bluetooth
האירוע הזה מציין אחד מהמצבים הבאים: אירוע איכות של Bluetooth התרחש, הבקר העלאה את המעקב אחר ההודעות של LMP/LL ואת המעקב אחר תזמון של Bluetooth Multi-link/Coex, או שהבקר שפך נתוני מידע של ניפוי באגים.
קוד אירוע משני = 0x58 [Quality_Report_Id = 0x01 עד 0x04, אירוע שקשור לאיכות הקישור]
פרמטר של אירוע משנה | גודל | מטרה |
---|---|---|
Quality_Report_Id |
8 תווים |
0x01: דיווח על איכות במצב המעקב. 0x02: מתקרב ל-LSTO. 0x03: אודיו A2DP קטוע. 0x04: (e)SCO Voice Choppy. 0x05 עד 0x06: שמורים. 0x07: אודיו LE קטועה. 0x08: התחברות נכשלה. 0x09 עד 0xFF: שמורים. |
Packet_Types |
8 תווים |
0x01: ID 0x02: NULL 0x03: POLL 0x04: FHS 0x05: HV1 0x06: HV2 0x07: HV3 0x08: DV 0x09: EV3 0x0A: EV4 0x0B: EV5 0x0C: 2-EV3 0x0D: 2-EV5 0x0E: 3-EV3 0x0F: 3-EV5 0x11: DH1 0x12: DM3 0x13: DH3 0x14: DM5 0x15: DH5 0x16: AUX1 0x17: 2-DH1 0x18: 2-DH3 0x19: 2-DH5 0x1A: 3-DH1 0x1B: 3-DH3 0x1C: 3-DH5 0x1D ~ 0x50: שמורים 0x51: חבילה מסוג ISO 0x52 ~ 0xFF: שמורים |
Connection_Handle |
2 אוקטטים | הידית החיבור של ACL/(e)SCO/ISO. |
Connection_Role |
8 תווים |
התפקיד שמבצע את החיבור. 0x00: מרכזי 0x01: היקפי 0x02 עד 0xFF: שמור. |
TX_Power_Level |
8 תווים |
רמת ההספק הנוכחית של השידור עבור Connection_Handle שצוין.
הערך הזה צריך להיות זהה לתגובה של הבקר לפקודת HCI HCI_Read_Transmit_Power_Level. |
RSSI |
8 תווים |
[ב-dBm]
הערך של אינדיקטור עוצמת האות המתקבל (RSSI) עבור Connection_Handle שצוין. |
SNR |
8 תווים |
[בדציבלים]
הערך של יחס אות לרעש (SNR) עבור Connection_Handle שצוין. |
Unused_AFH_Channel_Count |
8 תווים |
מציין את מספר הערוצים שלא בשימוש ב-AFH_channel_map. 0x4F עד 0xFF: שמורים. |
AFH_Select_Unideal_Channel_Count |
8 תווים |
מספר הערוצים שנמצאים באיכות נמוכה ומושפעים מהפרעה, אבל עדיין נבחרו ל-AFH. מספר הערוצים המינימלי שמוגדר במפרט Bluetooth הוא 20, כך שגם אם כל 79 הערוצים מושפעים מהפרעות ואיכות האות שלהם נמוכה, הבקר עדיין צריך לבחור לפחות 20 ערוצים ל-AFH. |
LSTO |
2 אוקטטים |
ההגדרה הנוכחית של זמן הקצאת הקישור בפיקוח. זמן = N * 0.625 אלפיות השנייה טווח זמן: 0.625 אלפיות השנייה עד 40.9 שניות |
Connection_Piconet_Clock |
4 אוקטטים |
שעון Piconet של Connection_Handle שצוין. הערך הזה צריך להיות זהה לתגובה של הבקר לפקודת HCI HCI_Read_Clock עם הפרמטר 'Which_Clock' של 0x01 (שעון Piconet). יחידה: N * 0.3125 אלפיות השנייה (שעון Bluetooth אחד) |
Retransmission_Count |
4 אוקטטים |
מספר ההעברות החוזרות מאז האירוע האחרון. הספירה הזו תתאפס אחרי הדיווח למארח. |
No_RX_Count |
4 אוקטטים |
אין ספירת RX מאז האירוע האחרון. המספר גדל כשלא מתקבלת חבילה בחלון הזמן המתוזמן או כשהחבילה שהתקבלה פגומה. הספירה הזו תתאפס אחרי הדיווח למארח. |
NAK_Count |
4 אוקטטים |
מספר ה-NAK (הודעה שלילית על אישור) מאז האירוע האחרון. הספירה הזו תתאפס אחרי הדיווח למארח. |
Last_TX_ACK_Timestamp |
4 אוקטטים |
חותמת הזמן של אישור ה-TX האחרון. הוא מבוסס על שעון ה-Bluetooth של ה-piconet central (CLK). יחידה: N * 0.3125 אלפיות השנייה (שעון Bluetooth אחד) |
Flow_Off_Count |
4 אוקטטים |
מספר הפעמים שבהן הבקר מקבל אירוע Flow-off (STOP) מאז האירוע האחרון. הספירה הזו תתאפס אחרי הדיווח למארח. |
Last_Flow_On_Timestamp |
4 אוקטטים |
חותמת הזמן של ה-Flow-on (GO) האחרון. הוא מבוסס על שעון ה-Bluetooth של ה-piconet central (CLK). יחידה: N * 0.3125 אלפיות השנייה (שעון Bluetooth אחד) |
Buffer_Overflow_Bytes |
4 אוקטטים |
[בבייט]
מספר האירועים של זליגת נתונים מאז האירוע האחרון. |
Buffer_Underflow_Bytes |
4 אוקטטים |
[בבייט]
מספר אירועי מצב 'חסר ב-buffer' מאז האירוע האחרון. |
bdaddr |
6 אוקטטים | כתובת המכשיר המרוחק |
cal_failed_item_count |
8 תווים | מספר הפריטים שנכשלו בכיול |
TX_Total_Packets |
4 אוקטטים | מספר החבילות שנשלחות. |
TX_UnAcked_Packets |
4 אוקטטים |
מספר החבילות שלא מקבלות אישור. המספר הזה מתאפס אחרי שמדווחים למארח. |
TX_Flushed_Packets |
4 אוקטטים |
מספר החבילות שלא נשלחות עד לנקודת השטיפה. המספר הזה מתאפס אחרי שמדווחים למארח. |
TX_Last_Subevent_Packets |
4 אוקטטים |
מספר החבילות ששכבת הקישור משדרת PDU של נתוני CIS באירוע המשנה האחרון של אירוע CIS. המספר הזה מתאפס אחרי שמדווחים למארח. הערך הוא אפס אם אין ערך חוקי לקישור. |
CRC_Error_Packets |
4 אוקטטים |
מספר החבילות שהתקבלו עם שגיאת CRC מאז האירוע האחרון. המספר הזה מתאפס אחרי שמדווחים למארח. |
RX_Duplicate_Packets |
4 אוקטטים |
מספר החבילות הכפולות (ששודרו מחדש) שהתקבלו מאז האירוע האחרון. המספר הזה מתאפס אחרי שמדווחים למארח. |
RX_Unreceived_Packets |
4 אוקטטים |
מספר החבילות שלא התקבלו זהה לפרמטר של הפקודה LE READ ISO Link Quality (ראו Bluetooth core Specification Version 5.4). מקורות הנתונים המשויכים הם CIS ו-BIS. כשהערך הזה עולה, שכבת הקישור לא מקבלת עומס שימושי ספציפי עד לנקודת ה-flush (ב-CIS) או בסוף האירוע שאליו הוא משויך (ב-BIS. אפשר לעיין במפרט הליבה של Bluetooth, גרסה 5.4, כרך 6, חלק ב', סעיף 4.4.6.6). |
Coex_Info_Mask |
2 אוקטטים |
ביט 0 – CoexInvolvement: מוגדר כדי לציין שיש חשד שפעילויות של שיתוף תדרים מעורבות ביצירת הדוח הזה (לדוגמה, קטעי קול קטועים ב-A2DP והתקרבות ל-LSTO). ביט 1 – WL 2G Radio Active: מוגדר כדי לציין ש-WLAN 2G Radio פעיל. ביט 2 – WL 2G Connected: מוגדר כדי לציין שהרדיו של WLAN 2G פעיל ומחובר. ביט 3 – WL 5G/6G Radio Active: מוגדר כדי לציין ש-WLAN 5G/6G Radio פעיל. ביט 4-15 – שמור |
פרמטר ספציפי לספק | (אורך הפרמטר הכולל – TBD) * אוקטטים | כדי שספק הבקר יוכל לקבל פרמטרים נוספים שספציפיים לספק. |
קוד אירוע משני = 0x58 [Quality_Report_Id = 0x05, אירוע Root Inflammation]
האירוע הזה מציין ש-HAL של Bluetooth או הבקר נתקלו בשגיאה קטלנית, ושצריך את סטאק Bluetooth כדי לתעד את המצב הזה ולהפעיל מחדש. בכל מקרה, הבקר חייב לשלוח את האירוע Root_Inflammation_Event למחסנית Bluetooth לפני שליחת החלק הראשון של אירועי פרטי ניפוי הבאגים.
הפרמטר Error_Code מכיל קוד שגיאה שדווח מ-HAL/Controller, או 0 אם מדובר בשגיאה ספציפית לספק הצ'יפסט. השדה Vendor_Specific_Error_Code מכיל קוד שגיאה ספציפי לספק של ערכת השבבים מ-HAL/Controller. צריך להגדיר אותו כ-0 אם הערך של הפרמטר Error_Code הוא לא 0. הערכים של הפרמטרים Error_Code ו-Vendor_Specific_Error_Code לא יכולים להיות 0.
פרמטר של אירוע משנה | גודל | מטרה |
---|---|---|
Quality_Report_Id |
8 תווים |
0x00 עד 0x04: שמורים. 0x05: דלקת בשורש. 0x06 עד 0xFF: שמורים. |
Error_Code |
8 תווים |
0x00: קוד שגיאה ספציפי לספק של ערכת השבבים כלול. 0x01 עד 0xFF: אירעה תקלה בבקר. לרשימת קודי השגיאה והתיאורים שלהם, אפשר לעיין במפרט Bluetooth [כרך 2] חלק D, קודי שגיאה. |
Vendor_Specific_Error_Code |
8 תווים |
0x00: לא כלול קוד שגיאה ספציפי לספק הצ'יפסט. 0x01 עד 0xFF: קוד שגיאה ספציפי לספק של ערכת השבבים. |
פרמטר ספציפי לספק | (אורך הפרמטר הכולל - 4) * אוקטטים | כדי שספק הבקר יוכל לקבל פרמטרים נוספים שספציפיים לספק. |
קוד אירוע משנה = 0x58 [Quality_Report_Id = 0x11 ~ 0x13, אירוע שקשור ל-Log Dump]
פרמטר של אירוע משנה | גודל | מטרה |
---|---|---|
Quality_Report_Id |
8 תווים |
0x00 עד 0x10: שמורים. 0x11: מעקב אחרי הודעות LMP/LL. 0x12: מעקב תזמון של Bluetooth Multi-link/Coex. 0x13: העתקת נתונים של מידע על תוצאות ניפוי הבאגים של הבקר. 0x14 עד 0xFF: שמורים. |
Connection_Handle |
2 אוקטטים | Connection Handle. |
פרמטר ספציפי לספק | (אורך הפרמטר הכולל - 4) * אוקטטים | פורמט ספציפי לספק של מעקב אחר הודעות LMP, מעקב אחר תזמון של Bluetooth Multi-link/Coex ו-dump של נתוני מידע לניפוי באגים של בקר. |
אירוע משנה בנושא משוב על קישורים ב-ISO
קוד האירוע המשני = 0x5C
כשהאירוע מופעל, חובה ליצור אותו בכל מרווח זמן ISO.
Activation (הפעלה)
כדי להפעיל את הקוד, בוחרים את קוד הספקData_Path_ID
0x19
בפקודה הרגילה HCI_LE_Setup_ISO_Data_Path
.
צריך לקבל את הפקודה HCI_Configure_Data_Path
עם הערך Data_Path_ID
שמוגדר ל-0x19
והערך Vendor_Specific_Config_Length
שמוגדר ל-0
, גם אם לא צפויה פעולה מהבקר עם קבלת הפקודה הזו.
נקודת הזמן של שליחת ההזמנה
האירוע נשלח מתחילת מרווח זמן ISO (נקודת עיגון של CIG או BIG) ועד למרווח הזמן הבא של ISO. הבקר מציין את העיכוב בהתחלה בפועל של מרווח הזמן לפי תקן ISO באמצעותAnchor_Point_Delay
.
סנכרון של בקר
בתחילת מרווח זמן ISO, הבקר מחשב את SN של מקור הנתונים על ידי הוספת הערך הנוכחי לערךISO_Interval ÷ SDU_Interval
שהוגדר. במרווח הזמן הראשון, הערך מאופשר ל-0.לאחר מכן, לכל חבילה ב-ISO FIFO חלים הכללים הבאים:
-
הבקר מחשב את ההפרש SNdiff בין שני מספרי הרצף:
SNdiff = (SDUSN - StreamSN + 0x10000) mod 0x10000
- כאשר
(SNdiff + (FT-1) × ISO_Interval ÷ SDU_Interval) mod 0x10000 <= (FT-1) × ISO_Interval ÷ SDU_Interval
:
החבילה נמצאת בחלון ההעברה החוזרת. היא אמורה הייתה להיות מתוזמנת לשידור במרווחי זמן קודמים, ועכשיו היא זמינה לשידור חוזר. אם זה לא המקרה (היא לא תוזמנה להעברה), היא תתקבל באיחור. צריך להעביר את האות הזה למארח באמצעותIn_Status
. אפשר להשליך חבילות כאלה או לתזמן אותן לשידור. הבחירה תלויה בהטמעה. - או כאשר
SNdiff < ISO_Interval ÷ SDU_Interval
:
החבילה מתוזמנת לשליחה מהאירוע הזה עד לסיום הזמן הקצוב לתפוגה של ה-flush. - או כאשר
SNdiff >= ISO_Interval ÷ SDU_Interval
ו-SNdiff <= Max_Forward_Buffers
:
החבילה תישלח באירוע מאוחר יותר. מאחר שהחבילות נשלחות לפי הסדר, התנאי הזה מסיים את החיפוש אחר חבילות במרווח הזמן הזה.
מאגרי הנתונים שבהם המארח משתמש לא מועברים לבקר, אבל הם מוגבלים ל-Max_Forward_Buffers = 16
. - או אם אף אחד מהתנאים שלמעלה לא מתקיים:
החבילה נזרקת, מגיעים למגבלת הזמן הקצוב לניקוי או מתקבלת חבילה בפורמט שגוי.
פרמטר של אירוע משנה | גודל | מטרה |
---|---|---|
Connection_Handle |
2 אוקטטים |
ידית החיבור של CIS או BIS טווח: 0x0000 עד 0x0EFF |
Sequence_Number |
2 אוקטטים |
מספר הרצף של הסטרימינג, שמנוהל על ידי הבקר. מוגדר ל-0 כשיוצרים את ה-CIS או ה-BIS, ומשופר במספר ה-SDUs לפי מרווח זמן איזוכרוני של ISO, שמוגדר כ- ISO_interval ÷ SDU_Interval , בכל מרווח זמן ISO.
|
Anchor_Point_Delay |
2 אוקטטים |
עיכוב במיקרו-שניות בין יצירת האירוע לנקודת העיגון בפועל של BIG או CIG, או לתחילת מרווח הזמן של ISO.
חותמת הזמן של נקודת העוגן בפועל מוגדרת לפי:Event generation time - Anchor_Point_Delay
טווח: 0 עד מרווח ISO במיליוניות השנייה |
In_Status |
2 אוקטטים |
סטטוס מאגר ה-ISO של הבקר בתחילת מרווח זמן ISO, כל ביט bi מוגדר כש-SDU (Sequence_Number + i) mod 0x10000 זמין. אם הוא לא זמין, הערך של SDU הוא Not received from the host .הערך i נע בין 0 ל- ISO_Interval ÷ SDU_Interval - 1 .
בערכים אחרים של i, הביטים מוגדרים ל-0.
|
Tx_Status |
2 אוקטטים |
סטטוס ההעברה, ביחס ל-SDUs עם מספרי הסדר:(Sequence_Number - Flush_Timeout × ISO_Interval ÷ SDU_Interval + i + 0x10000)
mod 0x10000
כל ביט bi מוגדר כשכל ה-PDUs של ה-SDU המזוהה, לפי מספר הסדר שלו, הועברו בהצלחה ונענו. הערך i נע בין 0 ל- ISO_Interval ÷ SDU_Interval - 1 .
בערכים אחרים של i, הביטים מוגדרים ל-0.בקבוצת שידור, תמיד צריכה להתקבל הודעה על אישור ההעברה. |
תמיכה במספר מפרסמים
מטרות התמיכה במספר מפרסמים הן:
-
יכולת לתמוך בכמה מודעות
(
max_advt_instances
) - עוצמות שידור שונות שמאפשרות טווח משתנה
- תוכן פרסום שונה
- תגובה מותאמת אישית לכל מפרסם
- פרטיות (לא ניתן לעקוב) לכל מפרסם
- ניתן להתחבר
כדי שהמפרט הזה יהיה קרוב לסטנדרטים הקיימים, מוצגות בהמשך הפקודות הספציפיות לכל ספק. הם נגזרים מהמפרט של Bluetooth Core 4.1.
LE_Multi_Advt_Command
OCF: 0x154
פרמטר של פקודה | גודל | מטרה |
---|---|---|
Multi_advt_opcode |
8 תווים |
0x01 – Set_Advt_Param_Multi_Sub_Cmd 0x02 – Set_Advt_Data_Multi_Sub_Cmd 0x03 – Set_Scan_Resp_Data_Multi_Sub_Cmd 0x04 – Set_Random_Addr_Multi_Sub_Cmd 0x05 – Set_Advt_Enable_Multi_Sub_Cmd
|
ייווצר אירוע Command Complete עבור הפקודה הזו.
פרמטר להחזרה | גודל | מטרה |
---|---|---|
Status |
8 תווים | סטטוס Command Complete |
Multi_advt_opcode |
8 תווים |
0x01 – Set_Advt_Param_Multi_Command 0x02 – Set_Advt_Data_Multi_Command 0x03 – Set_Scan_Resp_Data_Multi_Command 0x04 – Set_Random_Addr_Multi_Command 0x05 – Set_Advt_Enable_Multi_Command
|
LE_Multi_Advt_Command: Set_Advt_Param_Multi_Sub_Cmd
מקור מידע בסיסי: מפרט Bluetooth Core 4.1, דף 964 (פקודה להגדרת פרמטר של פרסום ב-LE)
Sub OCF: 0x01
פרמטר של פקודת משנה | גודל | מטרה |
---|---|---|
Advertising_Interval_Min |
לפי מפרט | לפי מפרט |
Advertising_Interval_Max |
לפי מפרט | לפי מפרט |
Advertising_Type |
לפי מפרט | לפי מפרט |
Own_Address_Type |
לפי מפרט | לפי מפרט |
Own_Address |
לפי מפרט | לפי מפרט |
Direct_Address_Type |
לפי מפרט | לפי מפרט |
Direct_Address |
לפי מפרט | לפי מפרט |
Advertising_Channel_Map |
לפי מפרט | לפי מפרט |
Adverstising_Filter_Policy |
לפי מפרט | לפי מפרט |
Advertising_Instance |
8 תווים | מציין את ההתאמה של הפרמטרים שלמעלה למכונה |
Tx_power |
8 תווים |
Transmit_Power יחידה – ב-dBm (מספר שלם עם סימן) טווח (-70 עד +20) |
הפרמטר Own_Address
יכול להיות כתובת שמוגדרת על ידי המארח בזמן הגדרת המכונה עם כמה מודעות. כך אפשר לקבל כתובת פרטית שניתן לפתור בזמן השידור של האות הראשון. הפרסום במכונה ימשיך ללא קשר לחיבור. סטאק BT המארח יכול להנפיק פקודה להפעלת פרסום במכונה אחרי החיבור.
אירוע Command Complete (השלמת פקודה) ייווצר עבור הפקודה הזו, כפי שמפורט במפרט של Bluetooth Core 4.1, בהתאם לפקודה שלמעלה. אם מופעלת התקלה 'מופע פרסום לא תקין' או אם הפרמטרים Tx_Power
לא תקינים, הבקר יגיב עם קוד שאיננו קוד הצלחה (פרמטר לא תקין).
פרמטר להחזרה | גודל | מטרה |
---|---|---|
Status |
8 תווים | סטטוס Command Complete |
Multi_advt_opcode |
8 תווים | 0x01 [Set_Advt_Param_Multi_Sub_Cmd] |
LE_Multi_Advt_Command: Set_Advt_Data_Multi_Sub_Cmd
מקור מידע בסיסי: מפרט Bluetooth Core 4.1, דף 969 (פקודה להגדרת נתוני פרסום ב-LE)
OCF משני: 0x02
פרמטר של פקודת משנה | גודל | מטרה |
---|---|---|
Advertising_Data_Length |
לפי מפרט | לפי מפרט |
Advertising_Data |
לפי מפרט | לפי מפרט |
Advertising_Instance |
8 תווים | מציין את ההתאמה של הפרמטרים שלמעלה למכונה |
אירוע Command Complete (השלמת פקודה) ייווצר עבור הפקודה הזו, כפי שמפורט במפרט של Bluetooth Core 4.1, בהתאם לפקודה שלמעלה. אם מופעלת שגיאה במכונה הפרסום או בפרמטרים Tx_Power
, הבקר יגיב עם קוד שאיננו קוד הצלחה.
פרמטר להחזרה | גודל | מטרה |
---|---|---|
Status |
8 תווים | סטטוס Command Complete |
Multi_advt_opcode |
8 תווים | 0x02 [Set_Advt_Data_Multi_Sub_Cmd] |
LE_Multi_Advt_Command: Set_Scan_Resp_Data_Multi_Sub_Cmd
מקור מידע בסיסי: מפרט Bluetooth Core 4.1, דף 970 (פקודת נתוני תגובה של LE Set Scan)
Sub OCF: 0x03
פרמטר של פקודת משנה | גודל | מטרה |
---|---|---|
Scan_Response_Data_Length |
לפי מפרט | לפי מפרט |
Scan_Response_Data |
לפי מפרט | לפי מפרט |
Advertising_Instance |
8 תווים | מציין את ההתאמה של הפרמטרים שלמעלה למכונה |
אירוע Command Complete (השלמת פקודה) ייווצר עבור הפקודה הזו, כפי שמפורט במפרט של Bluetooth Core 4.1, בהתאם לפקודה שלמעלה. אם מופע הפרסום או הפרמטרים Tx_Power
לא תקינים, המערכת תגיב עם קוד שאיננו קוד הצלחה (פרמטר לא תקין).
פרמטר להחזרה | גודל | מטרה |
---|---|---|
Status |
8 תווים | סטטוס Command Complete |
Multi_advt_opcode |
אוקטט אחד | 0x03 [Set_Scan_Resp_Data_Multi_Sub_Cmd] |
LE_Multi_Advt_Command: Set_Random_Addr_Multi_Sub_Cmd
מקור מידע בסיסי: מפרט Bluetooth Core 4.1, דף 963 (פקודה להגדרת כתובת אקראית ב-LE)
Sub OCF: 0x04
פרמטר של פקודת משנה | גודל | מטרה |
---|---|---|
כתובת אקראית | לפי מפרט | לפי מפרט |
Advertising_Instance |
8 תווים | מציין את ההתאמה של הפרמטרים שלמעלה למכונה |
ייווצר אירוע Command Complete עבור הפקודה הזו.
פרמטר להחזרה | גודל | מטרה |
---|---|---|
Status |
8 תווים | סטטוס Command Complete |
Multi_advt_opcode |
8 תווים | 0x04 [Set_Random_Addr_Multi_Sub_Cmd] |
LE_Multi_Advt_Command: Set_Advt_Enable_Multi_Sub_Cmd
מקור מידע בסיסי: מפרט Bluetooth Core 4.1, דף 971 (פקודה להפעלת מודעות LE במפרט הליבה הזה)
OCF: 0x05
פרמטר של פקודת משנה | גודל | מטרה |
---|---|---|
Advertising_Enable |
8 תווים | ערך של 1 מציין הפעלה. כל ערך אחר פירושו השבתה. |
Advertising_Instance |
8 תווים | מציין את ההתאמה של הפרמטרים שלמעלה למכונה. מכונה 0 היא מכונה רגילה של HCI. |
ייווצר אירוע Command Complete עבור הפקודה הזו.
פרמטר להחזרה | גודל | מטרה |
---|---|---|
Status |
8 תווים | סטטוס Command Complete |
Multi_advt_opcode |
8 תווים | 0x05 [Set_Advt_Enable_Multi_Sub_Cmd] |
העברה של פתרון כתובת פרטית
התכונה הזו מאפשרת פתרון של כתובת פרטית בקושחה או בחומרה של הבקר, ומספקת את היתרונות הבאים:
- זמן האחזור המשויך למארח בפתרון כתובת פרטית
- חיסכון באנרגיה על ידי הימנעות מהפעלת המארח
LE_Set_RPA_Timeout
OCF: 0x15C
פרמטר של פקודה | גודל | מטרה |
---|---|---|
LE_local_IRK |
16 אוקטטים | מפתח ה-IRK המקומי של המכשיר ששימש ליצירת הכתובות הניתנות לפתרון באופן אקראי. |
tRPA_min |
2 אוקטטים |
הזמן הקצוב המינימלי ליצירת RPA בשניות. לאחר חלוף הזמן הקצוב, הבקרים חייבים ליצור כתובות חדשות שניתן למצוא אותן לכל אירוע פרסום/סריקה/קישור. טווח תקין: 300-1800 |
tRPA_max |
2 אוקטטים |
הזמן המקסימלי ליצירת RPA בשניות. עד למועד הקצוב הזה, המאגר צריך ליצור כתובות חדשות שניתן למצוא אותן לכל אירוע פרסום/סריקה/קישור. טווח תקין: tRPA_min -1800
|
פרמטר להחזרה | גודל | מטרה |
---|---|---|
Status |
8 תווים |
הסטטוס של הפקודה. הצעות לערכים של סטטוס HCI: 0x00 הצלחה 0x01 פקודה לא מוכרת (אם היא לא נתמכת) 0x12 פרמטרים לא חוקיים של פקודה (אם פרמטרים כלשהם נמצאים מחוץ למגוון הנתון) |
LE_RPA_offload_Command
OCF: 0x155
פרמטר של פקודה | גודל | מטרה |
---|---|---|
RPA_offload_opcode |
8 תווים |
0x1 – הפעלת תכונה ספציפית ללקוח 0x2 – הוספת IRK לרשימה 0x3 – הסרת IRK מהרשימה 0x4 – ניקוי רשימת ה-IRK 0x5 – קריאת רשומת IRK ברשימה |
ייווצר אירוע Command Complete עבור הפקודה הזו.
פרמטר להחזרה | גודל | מטרה |
---|---|---|
Status |
8 תווים | סטטוס Command Complete |
Event_RPA_offload_opcode |
8 תווים |
0x1 – הפעלת תכונה ספציפית ללקוח 0x2 – הוספת IRK לרשימה 0x3 – הסרת IRK מהרשימה 0x4 – ניקוי רשימת ה-IRK 0x5 – קריאת רשומת IRK ברשימה |
LE_RPA_offload: Enable_cust_specific_sub_Command
Sub OCF: 0x01
פרמטר של פקודת משנה | גודל | מטרה |
---|---|---|
enable_customer_specific_feature_set |
8 תווים |
0x01 – הפעלת תכונת RPA שהועברה לענן 0x00 – השבתת תכונת RPA שהועברה לענן |
המארח צריך להפעיל את העברת העומסים של ה-RPA על סמך יכולת הצ'יפ. מידע נוסף זמין ב-LE_Get_Vendor_Capabilities_Command
.
לכל צ'יפ יכול להיות max_irk_list_sz
משתנה בקושחה.
ייווצר אירוע Command Complete עבור הפקודה הזו.
פרמטר להחזרה | גודל | מטרה |
---|---|---|
Status |
8 תווים | סטטוס Command Complete |
Event_cust_specific_feature_opcode |
8 תווים | 0x01 [Enable customer-specific feature] |
LE_RPA_offload: Add_IRK_to_list_sub_Command
OCF משני: 0x02
פרמטר של פקודת משנה | גודל | מטרה |
---|---|---|
LE_IRK |
16 אוקטטים | LE IRK (1st byte LSB) |
Address_Type |
8 תווים |
0: כתובת ציבורית 1: כתובת אקראית |
LE_Device_Address |
6 אוקטטים | כתובת ציבורית או אקראית המשויכת ל-IRK (ה-LSB של הבית הראשון) |
ייווצר אירוע Command Complete עבור הפקודה הזו.
פרמטר להחזרה | גודל | מטרה |
---|---|---|
Status |
8 תווים | סטטוס Command Complete |
Event_cust_specific_feature_opcode |
8 תווים | 0x02 [Add IRK to the list] |
LE_IrkList_AvailableSpaces |
8 תווים | רשימת הרשומות הזמינות ב-IRL אחרי הפעולה הנוכחית |
LE_RPA_offload: Remove_IRK_to_list_sub_Command
Sub OCF: 0x03
פרמטר של פקודת משנה | גודל | מטרה |
---|---|---|
Address_Type |
8 תווים |
0: כתובת ציבורית 1: כתובת אקראית |
LE_Device_Address |
6 אוקטטים | כתובת ציבורית או אקראית שמשויכת ל-IRK |
ייווצר אירוע Command Complete עבור הפקודה הזו.
פרמטר להחזרה | גודל | מטרה |
---|---|---|
Status |
8 תווים | סטטוס Command Complete |
Event_cust_specific_feature_opcode |
8 תווים | 0x03 [הסרת IRK מהרשימה] |
LE_IrkList_AvailableSpaces |
8 תווים | רשימת הרשומות הזמינות ב-IRL אחרי הפעולה הנוכחית |
LE_RPA_offload: Clear_IRK_list_sub_Command
Sub OCF: 0x04
פרמטר של פקודת משנה | גודל | מטרה |
---|---|---|
ללא |
ייווצר אירוע Command Complete עבור הפקודה הזו.
פרמטר להחזרה | גודל | מטרה |
---|---|---|
Status |
8 תווים | סטטוס Command Complete |
Event_cust_specific_feature_opcode |
8 תווים | 0x04 [Clear IRK List] |
LE_IrkList_AvailableSpaces |
8 תווים |
רשימת הרשומות הזמינות ב-IRL אחרי הפעולה הנוכחית [max_irk_list_sz]
|
LE_RPA_offload: Read_IRK_list_sub_Command
Sub OCF: 0x05
פרמטר של פקודת משנה | גודל | מטרה |
---|---|---|
LE_read_IRK_list_entry-index |
8 תווים | אינדקס של רשימת IRK [0, max_irk_list_sz-1] |
ייווצר אירוע Command Complete עבור הפקודה הזו.
פרמטר להחזרה | גודל | מטרה |
---|---|---|
Status |
8 תווים | סטטוס Command Complete |
Event_cust_specific_feature_opcode |
8 תווים | 0x05 [קריאת רשומת IRK] |
LE_Read_IRK_List_entry |
8 תווים | האינדקס של ה-IRK שהמארח רוצה לקרוא חזרה (הגודל המקסימלי של רשימת ה-IRK הוא 32) |
LE_IRK |
16 אוקטטים | ערך IRK |
Address_Type |
8 תווים |
0: כתובת ציבורית 1: כתובת אקראית |
LE_Device_Address |
6 אוקטטים | כתובת ציבורית או אקראית שמשויכת למפתח IRK |
LE_Resolved_Private_Address |
6 אוקטטים | הכתובת הפרטית הנוכחית שניתן לפתור של ה-IRK הזה |