সম্পত্তি কনফিগারেশন

প্রতিটি সমর্থিত সম্পত্তি 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

অবিচ্ছিন্ন সম্পত্তির জন্য সর্বনিম্ন এবং সর্বাধিক সমর্থিত নমুনা হার। সম্পত্তি ক্রমাগত না হলে ব্যবহার করা হয় না।

সম্পত্তির ধরন

VehiclePropertyType.aidl এ enums হিসাবে সংজ্ঞায়িত করা হয়েছে। সমর্থিত সম্পত্তির প্রকারগুলি নিম্নলিখিত টেবিলে তালিকাভুক্ত করা হয়েছে।

সম্পত্তির ধরন মান বর্ণনা
STRING 0x00100000 স্ট্রিং প্রপার্টি, যানবাহন প্রপার্টি ভ্যালুতে stringValue ফিল্ড ব্যবহার করে।
বুলিয়ান 0x00200000 বুলিয়ান প্রপার্টি, যানবাহন সম্পত্তির মানের int32Values ​​ক্ষেত্রের প্রথম উপাদান ব্যবহার করে। 0 মানে false , None 0 মানে true নয়।
INT32 0x00400000 পূর্ণসংখ্যা সম্পত্তি, যানবাহন সম্পত্তি মান int32Values ​​ক্ষেত্রের প্রথম উপাদান ব্যবহার করে।
INT32_VEC 0x00410000 Integer[] সম্পত্তি, যানবাহন সম্পত্তির মানের int32Values ​​ক্ষেত্রের উপাদানগুলি ব্যবহার করে।
INT64 0x00500000 লং প্রপার্টি, গাড়ির সম্পত্তির মানের int64Values ​​ক্ষেত্রের প্রথম উপাদান ব্যবহার করে।
INT64_VEC 0x00510000 Long[] প্রপার্টি, গাড়ির সম্পত্তির মানের int64Values ​​ক্ষেত্রের উপাদান ব্যবহার করে।
ফ্লোট 0x00600000 ফ্লোট প্রপার্টি, ভেহিক্যাল প্রোপার্টি ভ্যালুতে floatValues ​​ক্ষেত্রের প্রথম উপাদান ব্যবহার করে।
FLOAT_VEC 0x00610000 ফ্লোট[] প্রপার্টি, ভেহিকল প্রপার্টি ভ্যালুতে floatValues ​​ক্ষেত্রের উপাদান ব্যবহার করে।
বাইটস 0x00700000 বাইট[] প্রপার্টি, গাড়ির সম্পত্তি মানের byteValues ক্ষেত্রের উপাদান ব্যবহার করে।
মিশ্রিত 0x00e00000 মিশ্র ধরনের সম্পত্তি। স্কেলার বা ভেক্টর প্রকারের যেকোনো সমন্বয়। প্রপার্টি কনফিগারেশনের কনফিগার অ্যারেতে সঠিক বিন্যাস অবশ্যই প্রদান করতে হবে।

বিক্রেতা মিক্সড ধরনের বৈশিষ্ট্যের জন্য, কনফিগার্যারে এই কাঠামোতে ফর্ম্যাট করা প্রয়োজন:

  • configArray[0], 1 নির্দেশ করে প্রপার্টির একটি স্ট্রিং মান আছে
  • configArray[1], 1 নির্দেশ করে যে সম্পত্তিটির একটি বুলিয়ান মান রয়েছে
  • configArray[2], 1 ইঙ্গিত করে যে সম্পত্তিটির একটি পূর্ণসংখ্যা মান রয়েছে
  • configArray[3], সংখ্যাটি বৈশিষ্ট্যে পূর্ণসংখ্যার আকার নির্দেশ করে
  • configArray[4], 1 ইঙ্গিত করে যে সম্পত্তিটির একটি দীর্ঘ মান রয়েছে
  • configArray[5], সংখ্যাটি প্রপার্টিতে লং[] এর আকার নির্দেশ করে
  • configArray[6], 1 ইঙ্গিত করে যে সম্পত্তিটির একটি ফ্লোট মান রয়েছে
  • configArray[7], সংখ্যাটি প্রপার্টিতে Float[] এর আকার নির্দেশ করে
  • configArray[8], সংখ্যাটি বৈশিষ্ট্যে বাইটের আকার নির্দেশ করে।

উদাহরণস্বরূপ, configArray = {1, 1, 1, 3, 0, 0, 0, 0, 0} নির্দেশ করে প্রপার্টির একটি স্ট্রিং মান, একটি বুলিয়ান মান, একটি পূর্ণসংখ্যা মান এবং তিনটি পূর্ণসংখ্যা সহ একটি অ্যারে রয়েছে৷

এলাকা আইডি কনফিগারেশন

প্রতিটি সম্পত্তি কনফিগারেশনে এলাকা আইডি কনফিগারেশনের একটি তালিকাও থাকতে পারে। এই তালিকাটি বৈশ্বিক বৈশিষ্ট্যগুলির জন্য ঐচ্ছিক এবং জোনযুক্ত বৈশিষ্ট্যগুলির জন্য প্রয়োজনীয় (একাধিক সমর্থিত এলাকার বৈশিষ্ট্যগুলি)৷ প্রতিটি এলাকা আইডি কনফিগারেশন নিম্নলিখিত ক্ষেত্র আছে.

মাঠ বর্ণনা
areaId এই এলাকার জন্য আইডি. এলাকা আইডি দেখুন।
minInt32Value এবং maxInt32Value
  • INT32 ধরনের বৈশিষ্ট্যের জন্য ঐচ্ছিক সর্বনিম্ন এবং সর্বোচ্চ মান। অন্য সব ধরনের জন্য উপেক্ষিত. উভয়ই 0 হলে উপেক্ষা করা হয়।
  • গ্লোবাল প্রপার্টির জন্য, যদি ন্যূনতম এবং সর্বোচ্চ মান নির্ধারণ করতে হয়, তাহলে এলাকা আইডি 0 সহ একটি এলাকা কনফিগারেশন ব্যবহার করতে হবে।
minInt64Value এবং maxInt64Value
  • INT64 ধরনের বৈশিষ্ট্যের জন্য ঐচ্ছিক সর্বনিম্ন এবং সর্বোচ্চ মান। অন্য সব ধরনের জন্য উপেক্ষিত. উভয়ই 0 হলে উপেক্ষা করা হয়।
  • গ্লোবাল প্রপার্টির জন্য, যদি ন্যূনতম এবং সর্বোচ্চ মান নির্ধারণ করতে হয়, তাহলে এলাকা আইডি 0 সহ একটি এলাকা কনফিগারেশন ব্যবহার করতে হবে।
minFloatValue এবং maxFloatValue
  • ফ্লোট ধরনের বৈশিষ্ট্যের জন্য ঐচ্ছিক সর্বনিম্ন এবং সর্বোচ্চ মান। অন্য সব ধরনের জন্য উপেক্ষিত. উভয়ই 0.0 হলে উপেক্ষা করা হয়।
  • গ্লোবাল প্রপার্টির জন্য, যদি ন্যূনতম এবং সর্বোচ্চ মান নির্ধারণ করতে হয়, তাহলে এলাকা আইডি 0 সহ একটি এলাকা কনফিগারেশন ব্যবহার করতে হবে।
( Android 14 এ নতুন )
supportedEnumValues
  • সমর্থিত মানগুলির ঐচ্ছিক তালিকা যদি সম্পত্তিটিকে একটি enum টাইপ সম্পত্তি হিসাবে সংজ্ঞায়িত করা হয়। যদি নির্দিষ্ট করা না থাকে (খালি) বা Android 14 এর আগে, এটা ধরে নেওয়া হয় যে সমস্ত enum মান সমর্থিত।
  • বৈশ্বিক সম্পত্তির জন্য, সমর্থিত enum মান সংজ্ঞায়িত করা প্রয়োজন হলে, এলাকা আইডি 0 সহ একটি এলাকা কনফিগারেশন ব্যবহার করতে হবে।

এলাকার ধরন

VehicleArea.aidl এ enums হিসাবে সংজ্ঞায়িত করা হয়েছে। সমর্থিত এলাকার প্রকারগুলি নীচে তালিকাভুক্ত করা হয়েছে৷

এলাকার ধরন মান বর্ণনা
গ্লোবাল 0x01000000 এই সম্পত্তি একটি বিশ্বব্যাপী সম্পত্তি এবং একাধিক এলাকা নেই.
উইন্ডো 0x03000000 উইন্ডোর উপর ভিত্তি করে এলাকা, VehicleAreaWindow enum ব্যবহার করে।
মিরর 0x04000000 আয়নার উপর ভিত্তি করে এলাকা, VehicleAreaMirror enum ব্যবহার করে।
আসন 0x05000000 আসন ভিত্তিক এলাকা, VehicleAreaSeat enum ব্যবহার করে।
দরজা 0x06000000 দরজার উপর ভিত্তি করে এলাকা, VehicleAreaDoor enum ব্যবহার করে।
চাকা 0x07000000 চাকার উপর ভিত্তি করে এলাকা, VehicleAreaWheel enum ব্যবহার করে।

প্রতিটি জোনযুক্ত সম্পত্তি একটি পূর্ব-সংজ্ঞায়িত এলাকার ধরন ব্যবহার করতে হবে। প্রতিটি এলাকার ধরণে এলাকার প্রকারের জন্য একটি enum-এ সংজ্ঞায়িত বিট পতাকার একটি সেট রয়েছে। উদাহরণস্বরূপ, SEAT এলাকা VehicleAreaSeat enums সংজ্ঞায়িত করে:

  • 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
  • ...

এলাকা আইডি

জোনযুক্ত বৈশিষ্ট্যগুলি এলাকা আইডির মাধ্যমে সম্বোধন করা হয়। প্রতিটি জোনযুক্ত সম্পত্তি এক বা একাধিক এলাকা আইডি সমর্থন করতে পারে। একটি এলাকা আইডি তার নিজ নিজ enum থেকে এক বা একাধিক পতাকা নিয়ে গঠিত। উদাহরণস্বরূপ, VehicleAreaSeat ব্যবহার করে একটি সম্পত্তি নিম্নলিখিত এলাকা আইডি ব্যবহার করতে পারে:

আইটেম বর্ণনা
ROW_1_LEFT | ROW_1_RIGHT এরিয়া আইডি উভয় সামনের আসনের জন্য প্রযোজ্য।
ROW_2_LEFT শুধুমাত্র পিছনের বাম আসনে প্রযোজ্য।
ROW_2_RIGHT শুধুমাত্র পিছনের ডান আসনে প্রযোজ্য।

আরও জানতে, HVAC দেখুন।