תצורות נכסים

כל מאפיין נתמך מצוין על ידי תצורת מאפיין שהוגדרה באמצעות מבנה VehiclePropConfig ויש לו את השדות הבאים.

שדה תיאור
prop

מזהה הנכס. זה חייב להיות אחד ממאפייני המערכת שהוגדרו ממאפייני המערכת הנתמכת או מאפיין ספק. מזהה המאפיין נבנה באמצעות סיביות או מהשדות הבאים (מימין לשמאל):

  • (0x0000 0000 ) 16 סיביות: מזהה ייחודי מטווח 0x0100 - 0xffff.
  • (0x00 00 0000) 8 סיביות: סוגי מאפיין המגדירים את הסוג של המאפיין.
  • (0x0 0 000000) 4 ביטים: סוגי שטח .
  • (0x 0 0000000) 4 ביטים: VehiclePropertyGroup > זהו SYSTEM (0x10000000) או VENDOR (0x20000000). ראה מאפייני ספק עבור נכסים שאתה יכול להתאים אישית.

לדוגמה,
INFO_VIN (0x11100100) = UniqueID (0x00000100) | VehiclePropertyType.STRING (0x00100000) | VehicleArea.GLOBAL (0x01000000) | VehiclePropertyGroup.SYSTEM (0x10000000)

access מצב הגישה לנכס. חייב להיות אחד מ- READ , WRITE או READ_WRITE . זה חייב להיות שווה למצב הגישה שהוגדר במאפייני מערכת נתמכים .
changeMode
  • שנה מצב עבור הנכס. חייב להיות אחד מבין STATIC , ON_CHANGE או CONTINUOUS . STATIC פירושו שערך המאפיין לעולם לא משתנה לאחר אתחול המערכת. ON_CHANGE פירושו שה-VHAL חייב לדווח כאשר הערך משתנה. CONTINUOUS פירושו שערך הנכס משתנה ברציפות ו-VHAL חייב לדווח על סמך קצב דגימת המנוי.
  • מצב השינוי חייב להיות שווה למצב השינוי המוגדר במאפייני מערכת נתמכים .
configArray מערך אופציונלי שיכיל תצורה ספציפית למאפיין. יכול להיות ריק.
configString מחרוזת אופציונלית להכיל תצורה ספציפית למאפיין. יכול להיות ריק.
minSampleRate ו- maxSampleRate

קצב הדגימה המינימלי והמקסימלי הנתמך עבור נכס רציף. לא בשימוש אם הנכס אינו רציף.

סוגי נכסים

מוגדר כ-enums ב- VehiclePropertyType.aidl . סוגי נכסים נתמכים מפורטים בטבלה הבאה.

סוג נכס ערך תיאור
חוּט 0x00100000 מאפיין מחרוזת, משתמש בשדה stringValue ב-Vehicle Property Value.
בולאני 0x00200000 מאפיין בוליאני, משתמש באלמנט הראשון בשדה int32Values ​​בערך מאפיין רכב . 0 פירושו false , None 0 פירושו true .
INT32 0x00400000 מאפיין מספר שלם, משתמש באלמנט הראשון בשדה int32Values ​​בערך מאפיין רכב .
INT32_VEC 0x00410000 מאפיין אינטגר[], משתמש באלמנטים בשדה int32Values ​​בערך מאפיין רכב .
INT64 0x00500000 מאפיין ארוך, משתמש באלמנט הראשון בשדה int64Values ​​בערך מאפיין רכב .
INT64_VEC 0x00510000 Long[] מאפיין, משתמש באלמנטים בשדה int64Values ​​בערך מאפיין רכב .
לָצוּף 0x00600000 מאפיין צף, משתמש ברכיב הראשון בשדה floatValues ​​בערך מאפיין רכב .
FLOAT_VEC 0x00610000 מאפיין Float[], משתמש באלמנטים בשדה floatValues ​​בערך מאפיין רכב .
בייטים 0x00700000 byte[] מאפיין, משתמש באלמנטים בשדה byteValues ​​ב- Vehicle Property value .
מעורב 0x00e00000 מאפיין סוג מעורב. כל שילוב של סוגי סקלרים או וקטורים. יש לספק את הפורמט המדויק במערך התצורה בתצורת המאפיין.

עבור מאפיינים מסוג MIXED של ספק, יש לעצב את configArray במבנה זה:

  • configArray[0], 1 מציין שלמאפיין יש ערך מחרוזת
  • configArray[1], 1 מציין שלמאפיין יש ערך בוליאני
  • configArray[2], 1 מציין שלמאפיין יש ערך שלם
  • configArray[3], המספר מציין את הגודל של Integer[] במאפיין
  • configArray[4], 1 מציין שלמאפיין יש ערך Long
  • configArray[5], המספר מציין את הגודל של Long[] במאפיין
  • configArray[6], 1 מציין שלמאפיין יש ערך Float
  • configArray[7], המספר מציין את הגודל של Float[] במאפיין
  • configArray[8], המספר מציין את הגודל של byte[] במאפיין.

לדוגמה, configArray = {1, 1, 1, 3, 0, 0, 0, 0, 0} מציין שלמאפיין יש ערך String, ערך בוליאני, ערך Integer ומערך עם שלושה מספרים שלמים.

תצורת מזהה אזור

כל תצורת נכס עשויה להכיל גם רשימה של תצורות מזהה אזור. רשימה זו היא אופציונלית עבור נכסים גלובליים ונדרשת עבור נכסים אזוריים (נכסים עם מספר אזורים נתמכים). לכל תצורת מזהה אזור יש את השדות הבאים.

שדה תיאור
areaId תעודת הזהות של האזור הזה. ראה מזהי אזור .
minInt32Value ו- maxInt32Value
  • ערך מינימום ומקסימום אופציונלי עבור מאפיינים מסוג INT32. התעלמו עבור כל שאר הסוגים. התעלם אם שניהם הם 0.
  • עבור נכס גלובלי, אם צריך להגדיר ערך מינימלי ומקסימלי, יש להשתמש בתצורת אזור אחת עם מזהה האזור 0.
minInt64Value ו- maxInt64Value
  • ערך מינימום ומקסימום אופציונלי עבור מאפיינים מסוג INT64. התעלמו עבור כל שאר הסוגים. התעלם אם שניהם הם 0.
  • עבור נכס גלובלי, אם צריך להגדיר ערך מינימלי ומקסימלי, יש להשתמש בתצורת אזור אחת עם מזהה האזור 0.
minFloatValue ו- maxFloatValue
  • ערך מינימום ומקסימום אופציונלי עבור מאפיינים מסוג Float. התעלמו עבור כל שאר הסוגים. מתעלם אם שניהם הם 0.0.
  • עבור נכס גלובלי, אם צריך להגדיר ערך מינימלי ומקסימלי, יש להשתמש בתצורת אזור אחת עם מזהה האזור 0.
( חדש באנדרואיד 14 )
supportedEnumValues
  • רשימה אופציונלית של ערכים נתמכים אם המאפיין מוגדר כמאפיין מסוג enum. אם לא צוין (ריק) או לפני אנדרואיד 14, ההנחה היא שכל ערכי ה-enum נתמכים.
  • עבור נכס גלובלי, אם צריך להגדיר ערכי enum נתמכים, יש להשתמש בתצורת אזור אחת עם מזהה האזור 0.

סוגי שטחים

מוגדרים כ-enums ב- VehicleArea.aidl . סוגי האזורים הנתמכים מפורטים להלן.

סוג אזור ערך תיאור
גלוֹבָּלִי 0x01000000 נכס זה הוא נכס גלובלי ואין לו מספר אזורים.
חַלוֹן 0x03000000 אזור המבוסס על חלונות, משתמש VehicleAreaWindow enum.
מַרְאָה 0x04000000 שטח המבוסס על מראות, משתמש VehicleAreaMirror enum.
מושב 0x05000000 שטח המבוסס על מושבים, משתמש VehicleAreaSeat enum.
דלת 0x06000000 שטח המבוסס על דלתות, משתמש VehicleAreaDoor enum.
גַלגַל 0x07000000 אזור המבוסס על גלגלים, משתמש VehicleAreaWheel enum.

כל נכס אזורי חייב להשתמש בסוג שטח מוגדר מראש. לכל סוג אזור יש קבוצה של דגלי סיביות המוגדרים ב-enum עבור סוג השטח. לדוגמה, אזור SEAT מגדיר את ספורי VehicleAreaSeat :

  • ROW_1_LEFT = 0x0001
  • ROW_1_CENTER = 0x0002
  • ROW_1_RIGHT = 0x0004
  • ROW_2_LEFT = 0x0010
  • ROW_2_CENTER = 0x0020
  • ROW_2_RIGHT = 0x0040
  • ROW_3_LEFT = 0x0100
  • ...

מזהי אזור

נכסים אזוריים מקבלים מענה באמצעות מזהי אזור. כל נכס אזורי עשוי לתמוך במזהה אזור אחד או יותר. מזהה אזור מורכב מדגל אחד או יותר מהרשימה המתאימה לו. לדוגמה, נכס המשתמש VehicleAreaSeat עשוי להשתמש במזהי האזור הבאים:

פריט תיאור
ROW_1_LEFT | ROW_1_RIGHT מזהה האזור חל על שני המושבים הקדמיים.
ROW_2_LEFT חל רק על המושב השמאלי האחורי.
ROW_2_RIGHT חל רק על המושב הימני האחורי.

למידע נוסף, ראה HVAC .